function gMapLoad(selectedID) {
	if (GBrowserIsCompatible()) {

		function createMarker(id, colour, lat, lng) {

			var icon = new GIcon();
			icon.iconAnchor = new GPoint(1, 1);
			icon.image = "/weather/buoyReports/buoyBlob.php?stn=" + id + "&colour=" + colour;
			icon.iconSize = new GSize(300, 15);

			var tooltip = "Latest wave readings from station " + id;
			var point = new GLatLng(lat, lng);
			var marker = new GMarker(point, {icon:icon, title:tooltip});
			GEvent.addListener(marker, "click", function() {
				window.open('/weather/buoyReports/' + id + '/', '_self');
			});
			return marker;
		}

		var map = new GMap2(document.getElementById("buoyReportsMap"));
		map.addControl(new GSmallMapControl());
		map.setCenter(new GLatLng(20.8, -156.33), 6);

		var request = GXmlHttp.create();
		request.open("GET", "/weather/buoyReports/buoyLocations.xml", true);
		request.onreadystatechange = function() {
			if (request.readyState == 4) {
				var xmlDoc = request.responseXML;
				var markers = xmlDoc.documentElement.getElementsByTagName("marker");
				for (var i = 0; i < markers.length; i++) {
					var id = GXml.value(markers[i].getElementsByTagName("id")[0]);
					var lat = parseFloat(GXml.value(markers[i].getElementsByTagName("lat")[0]));
					var lng = parseFloat(GXml.value(markers[i].getElementsByTagName("lng")[0]));
					if (id == selectedID) {
						var colour = "green";
					} else {
						var colour = "red";
					}
					if (!isNaN(lat) && !isNaN(lng)) {
						var marker = createMarker(id, colour, lat, lng);
						map.addOverlay(marker);
					}
				}
			}
		}
		request.send(null);

	}
}

