
function load()
{	if (GBrowserIsCompatible())
	{	var map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GOverviewMapControl());
		map.enableDoubleClickZoom();
//		map.enableContinuousZoom();
		map.enableScrollWheelZoom();
		map.setCenter(new GLatLng(37.6819, -95.4518), 4);
		
		var baseIcon = new GIcon();
		baseIcon.iconSize = new GSize(32, 32);
		baseIcon.iconAnchor = new GPoint(9, 30);
		baseIcon.infoWindowAnchor = new GPoint(9, 2);
		baseIcon.infoShadowAnchor = new GPoint(18, 25);

		function createMarker(point,im,wd,ht,lc)
		{	var icon = new GIcon(baseIcon);
		
			var dirpath = "http://images.snapfish.com/dm345/hr/aao/img/usa/"+ im.substr(0,3) +"/"+ im.substr(3,3) +"/"+ im.substr(6,3) +"/";
			icon.image = dirpath +"ico_" + im + ".jpg";
		
			var marker = new GMarker(point, icon);
		
			GEvent.addListener(marker, "click",
				function()
				{	inner_txt = "<img style=\"width:"+ wd +"px;height:"+ ht +"px;\" src=\""+ dirpath +"lrg_" + im + ".jpg\" />";
					inner_txt +="<br /><br /><div style=\"font-size:12px;width:"+ wd +"px;\">"+ lc +"</div>";
					marker.openInfoWindowHtml(inner_txt);
				}
			);
			return marker;
		}

		var rld = function() {
			
			var mapBounds = map.getBounds();
			var southWest = mapBounds.getSouthWest();
			var northEast = mapBounds.getNorthEast();

			var url = "map/data.php?n="+ 100 +"&minLat="+ southWest.lat() +"&maxLat="+ northEast.lat() +"&minLng="+ southWest.lng() +"&maxLng="+ northEast.lng() +"&key="+ Math.random();


		GDownloadUrl( url,
				function(data, responseCode)
				{	map.clearOverlays();
					var xml = GXml.parse(data);
					var markers = xml.documentElement.getElementsByTagName("ico");
			
					for (var i = 0; i <= markers.length; i++)
					{	var lat = parseFloat(markers[i].getAttribute("lat")) + (Math.random()-Math.random())/8;
						var lng = parseFloat(markers[i].getAttribute("lng")) + (Math.random()-Math.random())/8;
						var point = new GLatLng(lat,lng);
						var loc = markers[i].getAttribute("lc");
						map.addOverlay(new createMarker(point,markers[i].getAttribute("im"),markers[i].getAttribute("wd"),markers[i].getAttribute("ht"),loc));
					}
				}
			);
		}
		
		GEvent.addListener(map, "zoomend", rld);		
		GEvent.addListener(map, "dragend", rld);		
		
		
		var mapBounds = map.getBounds();
		var southWest = mapBounds.getSouthWest();
		var northEast = mapBounds.getNorthEast();

		var url = "map/data.php?n="+ 250 +"&minLat="+ southWest.lat() +"&maxLat="+ northEast.lat() +"&minLng="+ southWest.lng() +"&maxLng="+ northEast.lng() +"&key="+ Math.random();


		GDownloadUrl( url,
				function(data, responseCode)
				{	map.clearOverlays();
					var xml = GXml.parse(data);
					var markers = xml.documentElement.getElementsByTagName("ico");
			
					for (var i = 0; i <= markers.length; i++)
					{	var lat = parseFloat(markers[i].getAttribute("lat")) + (Math.random()-Math.random())/4;
						var lng = parseFloat(markers[i].getAttribute("lng")) + (Math.random()-Math.random())/4;
						var point = new GLatLng(lat,lng);
						var loc = markers[i].getAttribute("lc");
						map.addOverlay(new createMarker(point,markers[i].getAttribute("im"),markers[i].getAttribute("wd"),markers[i].getAttribute("ht"),loc));
					}
				}
			);
	}
}