function GeoLookup() {
  var loc = document.getElementById('geolookup').value;
  var jsurl = '/geo/?loc=' + escape(loc) + '&s=1';
  var s = document.createElement( "script" );
  s.src = jsurl;
  s.type = "text/javascript";
  document.getElementsByTagName( "head" )[0].appendChild( s );
}
function IpLookup() {
  var jsurl = '/geo/?by_ip=1';
  var s = document.createElement( "script" );
  s.src = jsurl;
  s.type = "text/javascript";
  document.getElementsByTagName( "head" )[0].appendChild( s );
}
function goToVEMap(url) {
    var pOffset = document.location.search.indexOf("p=") + "p=".length;
    var pURL = '';
    if (document.location.search.substring(pOffset).length > 0) {

	pURL = document.location.search.substring(pOffset);
	url.href=url.href + '?p=' + pURL;
    }
    if (!pURL) {
	var new_center = map.getCenterLatLng();
	url.href=url.href + '?lat=' + new_center.y + '&long=' + new_center.x;
    }
    url.onmousedown="";return true;
}

var URL_GETFILE_CGI = "/cgi-bin/proxy.pl?p=";
function createMarker(point, html, icon) {

  var marker = '';
  if (icon) {
    marker = new GMarker(point,icon);
  }
  else {
    marker = new GMarker(point);
  }
  // Show this marker's index in the info window when it is clicked
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(html);
  });
                                                                                
  return marker;
}
function _getInitialUrl(moved) {
  var newurl = URL_GETFILE_CGI;
//  var distOffset = document.location.search.indexOf("dist=") + "dist=".length;
//  alert(distOffset);
//  if (distOffset > 0) {
//     newurl = newurl + '&dist=' + document.location.search.substring(distOffset);
//  }
  var pOffset = document.location.search.indexOf("p=") + "p=".length;
  if (!moved && (pOffset < 1 || document.location.search.substring(pOffset).length < 1)) {
     return;
  }
  newurl = newurl + unescape(document.location.search.substring(pOffset));
  if (map) {
    var new_center = map.getCenterLatLng();
    if (moved && new_center) {
	newurl = newurl + '&lat=' + new_center.y + '&long=' + new_center.x
	_by_point = 1;
    }
  }
  newurl = newurl + '&start=' + c_start + '&r=' + Math.random();
  _Loaded = 1;
  return newurl; 
}
function NextSet(moved) {
  var pOffset = document.location.search.indexOf("p=") + "p=".length;
  if (!moved && (pOffset < 1 || document.location.search.substring(pOffset).length < 1)) {
     return;
  }
  parse_page(_getInitialUrl(moved));
}

function parse_page(url) {
  if (!url) {
    return;
  }
  var xmlhttp = false;
  var use_msie = 0;
  if (window.XMLHttpRequest) {
    xmlhttp = new XMLHttpRequest();
    xmlhttp.overrideMimeType('text/xml');
  }
  else if (window.ActiveXObject) {
    use_msie = 1;
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.open('GET', url, true);
  xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
       var response = '';
       var items = '';
       var xmlDoc = '';
       if (use_msie) {
         xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
         xmlDoc.async = false;
         xmlDoc.loadXML(xmlhttp.responseText);
         items = xmlDoc.getElementsByTagName("item");
       }
       else {
	 response = xmlhttp.responseXML.documentElement;
         items = response.getElementsByTagName("item");
       }
       if (!items.length) {
          alert("Not found in GeoURL.org DB!\nTry adding it at http://geourl.org/add.html");
	  return;
       }
       if (use_msie) {
	 if (!_by_point) {
            map.centerAndZoom(new GPoint(items.item(0).getElementsByTagName("geourl:longitude").item(0).text,items.item(0).getElementsByTagName("geourl:latitude").item(0).text), 4);
	 }
         document.title = xmlDoc.getElementsByTagName("channel").item(0).getElementsByTagName("title").item(0).text;
       }
       else {
         if (!_by_point) {
	    map.centerAndZoom(new GPoint(items.item(0).getElementsByTagName("longitude").item(0).firstChild.data,items.item(0).getElementsByTagName("latitude").item(0).firstChild.data), 4);
	 }
         document.title = response.getElementsByTagName("title").item(0).firstChild.data;
       }
       for (var i = 0; i < items.length; i++) {
          var mylink = '';
	  var mydesc = '';
	  var mylat = '';
  	  var mylong = '';
          if (use_msie) {
	    mylink = items.item(i).getElementsByTagName("link").item(0).text;
	    mydesc = items.item(i).getElementsByTagName("description").item(0).text;
	    mylat =  items.item(i).getElementsByTagName("geourl:latitude").item(0).text;
	    mylong = items.item(i).getElementsByTagName("geourl:longitude").item(0).text;
	  }
	  else {
            mylink = items.item(i).getElementsByTagName("link").item(0).firstChild.data;
	    mydesc = items.item(i).getElementsByTagName("description").item(0).firstChild.data;
	    mylat =  items.item(i).getElementsByTagName("latitude").item(0).firstChild.data;
	    mylong = items.item(i).getElementsByTagName("longitude").item(0).firstChild.data;
          }
	  var point = new GPoint(mylong, mylat);
          var myhtml = '';
	  if (_UseSmall) {
		myhtml = '<table border="0"><tr><td><font style="font-size: 8pt;"><a href="' + mylink + '">' + mylink + '</a></font>' + '<br /><font style="font-size: 8pt;">' + mydesc + '</font></td></tr></table>';
	  }
	  else {
		myhtml = '<table border="0"><tr valign="middle"><td>' + 
                        '<font style="font-size: 10pt;"><a href="' + mylink +
                        '">' + mylink + '</a></font>' +
                        '<br /><font style="font-size: 10pt;">' + mydesc +
                        '</font><br />' + 
			'<img src="http://open.thumbshots.org/image.pxf?url=' + mylink +
			'" border="0" height="60" width="80">' + 
			'</td></tr></table>';
	  }
	  var icon_to_use = '';
	  if (!_by_point) {
	    if (i == 0) {
	      if (_UseSmall) {
	        icon_to_use = sblueicon;
	      }
	      else {
	        icon_to_use = lblueicon;
	      }
            }
	    else if (_UseSmall) {
 	      icon_to_use = sredicon;
	    }
            var marker = createMarker(new GPoint(mylong, mylat),myhtml,icon_to_use);
            if (marker) {
              map.addOverlay(marker);
	    }
	  }
	  else {
	    var marker = createMarker(new GPoint(mylong, mylat),myhtml);
	    map.addOverlay(marker);
	  }
       }
       c_start = c_start + items.length;
    }
  };
  xmlhttp.send(null);
}
var sredicon = new GIcon();
sredicon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
sredicon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
sredicon.iconSize = new GSize(12, 20);
sredicon.shadowSize = new GSize(22, 20);
sredicon.iconAnchor = new GPoint(6, 20);
sredicon.infoWindowAnchor = new GPoint(5, 1);
var sblueicon = new GIcon();
sblueicon.image = "http://labs.google.com/ridefinder/images/mm_20_blue.png";
sblueicon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
sblueicon.iconSize = new GSize(12, 20);
sblueicon.shadowSize = new GSize(22, 20);
sblueicon.iconAnchor = new GPoint(6, 20);
sblueicon.infoWindowAnchor = new GPoint(5, 1);
var lblueicon = new GIcon();
lblueicon.image = 'http://www.burbankmaps.com/bluemarker.png';
lblueicon.iconSize = new GSize(20,34);
lblueicon.shadow = 'http://www.burbankmaps.com/shadow50.png';
lblueicon.shadowSize = new GSize(37,34);
lblueicon.iconAnchor = new GPoint(0,0);
lblueicon.infoWindowAnchor = new GPoint(10,10);
NextSet();
