function load() {
	var map = document.getElementById("google_map");
	if (GBrowserIsCompatible()) {
		var gmap = new GMap2(map);
		gmap.enableDoubleClickZoom();
		gmap.addControl( new GSmallMapControl() );
		gmap.addControl( new GMapTypeControl() );
		gmap.addControl( new GOverviewMapControl(new GSize(75,75) ) );
		gmap.setCenter( new GLatLng(document.getElementById('click_lat').value, document.getElementById('click_long').value), 1, G_HYBRID_TYPE );
			
		function createIcon() {
			var icon = new GIcon();
			icon.image = "http://stephentrainor.com/images/shoal/dive_site_8b.gif";
			icon.shadow = "http://stephentrainor.com/images/shoal/dive_site_shadow_24bt.png";
			icon.iconSize = new GSize(30, 35);
			icon.shadowSize = new GSize(48, 35);
			icon.iconAnchor = new GPoint(0, 30);
			icon.infoWindowAnchor = new GPoint(0, 40);
			return icon;
		}
		
		function createMarker(input) {
			var icon = createIcon();
			var marker = new GMarker(input.point, icon);
			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowHtml( formatMarker(input) );
			});
			return marker;
		}

		function parseJson(doc) {
			var jsonData = eval("(" + doc + ")");
			for (var i = 0; i < jsonData.markers.length; i++) {
				var marker = createMarker(jsonData.markers[i]);
				gmap.addOverlay(marker);
				captureMarkerClick(marker);
			}
		}

		function captureMarkerClick(marker)
		{
			GEvent.addListener(marker, 'click',
				function(overlay, point){
					gmap.panTo(this.getPoint());
				})
		}

		GDownloadUrl("script/points.json", function(data, responseCode) {
			parseJson(data);
		});
		
		GEvent.addListener(gmap, 'click', 
			function(overlay, point) {
				if (point) {
					document.getElementById('click_lat').value = point.y;
					document.getElementById('click_long').value = point.x;
				}
			})
	}
	else {
		alert("Sorry, your browser cannot handle the true power of Google Maps");
	}
}

window.onload = load;
window.onunload = GUnload;

function formatMarker (input) {
	var html = "<div class=\"bubble\" style=\"width: 250px;\">";
	html += "<h3>" + input.site_name + "</h3>";
	if (input.notes != null) {
		html += "<p>" + input.notes + "</p>";
	}
	if (input.link != null && input.link_desc != null) {
		html += "<p><a href=\"" + input.link + "\" class=\"linkin\">" + input.link_desc + "</a></p>";
	}
	html += "</div>";
	return html;
}



