function load() {
  if (GBrowserIsCompatible()) {

 		function createMarker(point,icon,label,html) {
   		var marker = new LabeledMarker(point,{"icon": greenicon,
																						"clickable": true,
																						"labelText": label,
																						"labelOffset": new GSize(-16,-8)});
    	GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(html);
    	});

			GEvent.addListener(marker, "mouseover", function() {
				marker.setImage('/_pics/yellowcirclemarker.png');
			});

			GEvent.addListener(marker, "mouseout", function() {
				marker.setImage('/_pics/greencirclemarker.png');
			});

			GEvent.addListener(marker, "infowindowclose", function() {
				marker.setImage('/_pics/greencirclemarker.png');
  		});

    	return marker;
  	}

		// Icons
		var baseIcon = new GIcon();
		baseIcon.iconSize=new GSize(32,32);
		baseIcon.shadowSize=new GSize(56,32);
		baseIcon.iconAnchor=new GPoint(16,16);
		baseIcon.infoWindowAnchor=new GPoint(16,0);

		var icon = new Array();
		icon['C'] = new GIcon(baseIcon, "http://maps.google.com/mapfiles/kml/pal4/icon35.png",
															null, "http://maps.google.com/mapfiles/kml/pal4/icon35s.png");

		var greenicon = new GIcon();
		greenicon.image = '/_pics/greencirclemarker.png';
		greenicon.iconSize = new GSize(32, 32);
		greenicon.iconAnchor = new GPoint(16, 16);
		greenicon.infoWindowAnchor = new GPoint(25, 7);

		// Map
		var map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(-32.9785, 151.1635), 18);
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setMapType(G_SATELLITE_MAP);

		GDownloadUrl("/stations/stations.xml", function(data, responseCode) {
			if(responseCode == 200) {
				var xml = GXml.parse(data);

	   		var stations = xml.documentElement.getElementsByTagName("station");
				for (var i=0; i<stations.length; i++) {
					var station = stations[i].getAttribute("station");
					var lat = parseFloat(stations[i].getAttribute("lat"));
					var lon = parseFloat(stations[i].getAttribute("lon"));
					var name = stations[i].getAttribute("name");
					var label = stations[i].getAttribute("label");
					var point = new GLatLng(lat,lon);
//					var marker = createMarker(point,icon['C'],label,"<a href='/station/"+station+"'><img src='/_pics/graph.php?station="+station+"&period=3&size=small' width=350 height=200 border=0></a>")
					var marker = createMarker(point,icon['C'],label,"<a href='/station/"+station+"'>" + name + "</a>")
					map.addOverlay(marker);
				}
			} else if(responseCode == -1) {
				alert("Data request timed out. Please try later.");
			} else { 
				alert("Request resulted in error. Check XML file is retrievable.");
			}
		});
	}
}
