	  


    //<![CDATA[

//
// Javascript Globals
//

var map;
var baseIcon;
var allMarkers = [];
var infoWindowHTML = [];

//
// Javascript Functions


// Creates a marker 
function createMarker(point, name, location, markerType, numObs, numSensors, reserveId, URL) {

	var icon = new GIcon(baseIcon);
	icon.image = "../images/gmail.marker_black.png";
	var marker = new GMarker(point, icon);

	var str = "<a href=\"map_reserve.php?id="+reserveId+"\"><b>" + name + "</b></a><br />";
	str += "in " + location + "<br /><br />";
	if (numObs + numSensors == 0)
		str += "There are no real-time observatories at this time.";
	else {
		if (numSensors == 1)
			str += numSensors+" Sensor";
		else
			str += numSensors+" Sensors";

		if (numObs == 1)
 			str += " at "+numObs+" Observatory"
		else
			str += " at "+numObs+" Observatories"
	}

	str += "<br /><br /><a href=\""+URL+"\">&raquo; Go to this reserve</a>";
	infoWindowHTML[ reserveId ] = str;

	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(str);
	});
	return marker;
}

// Main
function load() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"),{logoPassive:true});
		var mapCenter = new GLatLng(33.305282,-116.830627);	// for So Cal
		//var mapCenter = new GLatLng(50.625073,-131.484375);	// for N. Am.
		map.setCenter(mapCenter, 8);	// for So Cal
		//map.setCenter(mapCenter, 2);	// for N. Am.
		map.addMapType(G_SATELLITE_3D_MAP);
		map.setMapType(G_PHYSICAL_MAP);	
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.enableDoubleClickZoom();
		map.enableContinuousZoom();
		
		baseIcon = new GIcon();
		baseIcon.shadow = "images/marker_shadow_reserve.png";
		baseIcon.iconSize = new GSize(24, 34);
		baseIcon.shadowSize = new GSize(40, 34);
		baseIcon.iconAnchor = new GPoint(3, 33);
		baseIcon.infoWindowAnchor = new GPoint(12, 2);
		baseIcon.infoShadowAnchor = new GPoint(12, 0);

		GDownloadUrl("../xml/reserves.xml", function(data) {
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName("reserve");
			for (var i = 0; i < markers.length; i++) {
 				var name = markers[i].getAttribute("name");
 				var shortName = markers[i].getAttribute("shortName");
 				var location = markers[i].getAttribute("location");
 				var numObs = markers[i].getAttribute("numObs");
 				var numSensors = markers[i].getAttribute("numSensors");
 				var resID = markers[i].getAttribute("resID");
 				var URL = markers[i].getAttribute("URL");

				var lat = parseFloat(markers[i].getAttribute("lat"));
				var lng = parseFloat(markers[i].getAttribute("lng"));

				// If lat lng are non-zeros.
				if (lat && lng) {
					var point = new GLatLng(lat, lng);
  					var marker = createMarker(point, name, location, shortName, numObs, numSensors, resID, URL);
  					map.addOverlay(marker);
					allMarkers[ resID ] = marker;
				}
			}
		});
	}
}

    //]]>

