    //<![CDATA[

var baseIcon = new GIcon();
baseIcon.shadow = "http://www.northalsted.com/filebin/icons/shadow.png";
baseIcon.iconSize = new GSize(20, 20);
baseIcon.shadowSize = new GSize(46, 41);
baseIcon.iconAnchor = new GPoint(9, 9);
baseIcon.infoWindowAnchor = new GPoint(9, 9);
baseIcon.infoShadowAnchor = new GPoint(48, 52);
geocoder = new GClientGeocoder();
var global_markers = new Array();

function createMarker(point, index, html) {
	var letter = String.fromCharCode("a".charCodeAt(0) + index);
	var icon = new GIcon(baseIcon);
	icon.image = "http://www.northalsted.com/filebin/icons/" + (index+1) + ".png";
	
	var marker = new GMarker(point, icon);
	global_markers[index] = marker;
	//var marker = new GMarker(point);
	GEvent.addListener(marker, "click", function(){
    	marker.openInfoWindowHtml(html);
  	});
  	return marker;
}

function trigger_click(show_marker) {
	GEvent.trigger(global_markers[show_marker], "click");
}

function load() {
	//alert("yes");
	//document.getElementById("desc_hold").innerHTML = document.getElementById("map").innerHTML;
	//document.getElementById("map").style.height='300px';
	var map = new GMap2(document.getElementById("map"));
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	map.setCenter(new GLatLng(38.479395, -90.703125), 3);
	var bounds = new GLatLngBounds();


//map.enableContinuousZoom();
// Download the data in data.xml and load it on the map. The format we
// expect is:
// <markers>
//   <marker lat="37.441" lng="-122.141"/>
//   <marker lat="37.322" lng="-121.213"/>
// </markers>
var keywords = document.getElementById("skeywords").value;
keywords = keywords.replace(/&/g,"*@@@*");
var types = document.getElementById("types").value;
var page = document.getElementById("page").value;
list_show(keywords, types, page);
//alert(zip);
GDownloadUrl("http://www.northalsted.com/map_xml.php?keywords="+keywords+"&types="+types+"&page="+page+"&dummy=2", function(data, responseCode) {
  var xml = GXml.parse(data);
  //alert(GXml.parse(data));
  var markers = xml.documentElement.getElementsByTagName("marker");
  var centroid_lat = 0;
  var centroid_lng = 0;
  var oops = 0;
  for (var i = 0; i < markers.length; i++) {
	 var html_out="<div style='color: #3E3D3D; font-size: 11px; line-height: 1.5em;'>"+markers[i].getAttribute("html")+"</div>";
	 if(parseFloat(markers[i].getAttribute("lat")) != "" && parseFloat(markers[i].getAttribute("lng")) != ""){ //USE LAT AND LNG
    	var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                            parseFloat(markers[i].getAttribute("lng")));
		map.addOverlay(createMarker(point, i, html_out));
	 }else{ //ELSE GEOCODE
		 address = markers[i].getAttribute("address");		
			if (geocoder) {
						geocoder.getLatLng(address,
						  function(point) {
							if (!point) {
							  alert(address + " not found");
							} else {
								  //var marker = new GMarker(point, {draggable: false});
								  //map.addOverlay(marker);
								  //var point = point;
								 
								  //var geopoint = new GLatLng(point);
								  //alert(point);
								  map.addOverlay(createMarker(point, i, html_out));
						  		//GEvent.trigger(marker, "click");
							}
						  }
						);
					  }				
	 }
	
	centroid_lat += parseFloat(markers[i].getAttribute("lat"));
	centroid_lng += parseFloat(markers[i].getAttribute("lng"));
    //map.addOverlay(new GMarker(point));//createMarker(point, html)
	
	if (markers[i].getAttribute("empty")==0) {	
		
		//map.addOverlay(createMarker(point, html_out));
		bounds.extend(point);
	}
	else {
		var oops = 1;
		//if (document.getElementById("spry_li")) document.getElementById("spry_li").innerHTML = "No result found";
	}
	//alert(i);
  }
 
  //alert(centroid_lat);
  if (oops == 0) {
	  if (i>0) {
		centroid_lat = centroid_lat/i;
		centroid_lng = centroid_lng/i;
	  }
	  var zoom = 0;
	  if (i == 1) zoom=15;
	  else zoom=9;
	  if (centroid_lat!=0 && centroid_lng!=0) {
		  map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
		  //alert(bounds.getCenter())
	  }
	  map.savePosition();
  }
});
	map.enableContinuousZoom();
	//document.getElementById("desc_back").style.display = "block";
	//return false;
}



var ds1 = new Spry.Data.XMLDataSet("http://www.northalsted.com/map_xml.php", "/markers/marker");
function list_show(keywords, types, page) {
	//alert(zip);
	ds1.setURL("http://www.northalsted.com/map_xml.php?keywords="+keywords+"&types="+types+"&page="+page+"&dummy=2", "/markers/marker");
	ds1.loadData()
	//alert(ds1);
}

    //]]>
function addOnloadEvent(fnc){
  if ( typeof window.addEventListener != "undefined" )
    window.addEventListener( "load", fnc, false );
  else if ( typeof window.attachEvent != "undefined" ) {
    window.attachEvent( "onload", fnc );
  }
  else {
    if ( window.onload != null ) {
      var oldOnload = window.onload;
      window.onload = function ( e ) {
        oldOnload( e );
        window[fnc]();
      };
    }
    else
      window.onload = fnc;
  }
}
