/****************** Google Map extra functions *******************/

var gmtype;

function createStView(pn, pt) {
  var node = pn;
  var latlng = pt;
  if (!node.panoView) {
    var panoView = new GStreetviewPanorama(node);
    GEvent.addListener(panoView, 'error', function(errorCode) {
      if (errorCode == 603) {
        node.innerHTML = '<div style="font-size: 16px;text-align: center">StreetView requires flash plugin. Click <a href="http://get.adobe.com/flashplayer/" target="_blank"> here</a> to download</div>';
      } else
      if (errorCode == 600) {
        node.innerHTML = '<div style="font-size: 18px;text-align: center">No StreetView is yet available for this location</div>';
      }
    });
    panoView.setLocationAndPOV(latlng);
    node.panoView = panoView;
  }
  return panoView;
}

function fullView() {
    var Width = xnode.parentNode.offsetWidth - 15;
    xnode.style.width = Width + 'px';
    var Height = xnode.parentNode.offsetHeight - 10;
    xnode.style.height = Height + 'px';
    pano.checkResize();
}

function saveGMCookie(name, obj) {
  var mtype;
  var types = obj.getMapTypes();
  var curtype = obj.getCurrentMapType();
  for (var i=0; i<types.length; i++) {
    if (curtype == types[i]) {mtype = i; break;}
  }
  var val = obj.getZoom() + "," + mtype;
  var time = new Date(Date.parse(Date()) + 86400000*365);
  document.cookie = name + "=" + escape(val) + "; expires=" + time.toUTCString();
  alert("Zoom = " + obj.getZoom() + "\nMap Type = " + curtype.getName() + "\nSaved!");
}

function getGMCookie(name) {
  var retVal = "";
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg) {
      var endstr = document.cookie.indexOf(";", j);
      if (endstr == -1) endstr = document.cookie.length;
      retVal = unescape(document.cookie.substring(j, endstr));
    }
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  }
  return retVal;
}

function getGMConf(name) {
  if (name && getGMCookie(name) != "") {
    var params = getGMCookie(name).split(",");
    mzoom = parseInt(params[0]);
    GMzoom = parseInt(params[0]);
    gmtype = parseInt(params[1]);
  }
}

function registerGMConf(obj) {
  var mtype;
  var types = obj.getMapTypes();
  var curtype = obj.getCurrentMapType();
  for (var i=0; i<types.length; i++) {
    if (curtype == types[i]) {mtype = i; break;}
  }
  document.getElementById(mctype).value = mtype;
  document.getElementById(mzlevel).value = obj.getZoom();
  alert("Zoom = " + obj.getZoom() + "\nMap Type = " + curtype.getName() + "\nRegistered!");
}


