function inverseOrder (marker, b) {
	return -GOverlay.getZIndex(marker.getPoint().lat());
}

function load() {
	if (GBrowserIsCompatible()) {
		// Set up map
		var map = new GMap2(document.getElementById("map"));
		map.addControl(new GSmallMapControl());

		// Set up blue marker
		var blueIcon = new GIcon(G_DEFAULT_ICON);
		blueIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";
		
		// Query the points
		$.get ('/map-points/',  function(data) {
			var json = eval('('+data+')');
			$.each(json, function(i, mappoint) {
				var point = new GLatLng(mappoint.fields.latitude, mappoint.fields.longitude);
				if (mappoint.fields.us == 1) {
					map.setCenter(point, 11);
					marker = new GMarker(point,{zIndexProcess:inverseOrder,icon:blueIcon});
				}
				else {
					marker = new GMarker(point,{zIndexProcess:inverseOrder});
				}
				GEvent.addListener(marker,"click", function() {
					map.openInfoWindowHtml(point, mappoint.fields.description);
				});
				map.addOverlay(marker);
			});
		});
	}
}
