    // The map
    var map;
    
    // Array of Placemarks
    var myMarkers = new Array(); 

    function MyMarker(point, title, description) {
	    var marker = new GMarker(point);
	    var html = "<p><b>" + title + "</b><br/>" + description + "</p>";
	    GEvent.addListener(marker, "click", function() {
		    marker.openInfoWindowHtml(html);
            });
	    this.marker = marker;
	    this.title = title;
	    this.description = description;
    }

    // ---------------------
    // Add new markers here!
    // ---------------------
    function initMarkers() {
	    var point = new GLatLng(-37.85154344417397, 144.9697494506836);
	    myMarkers.push(new MyMarker(point, "Albert Park", "Ultimate Fields"));
	    var point = new GLatLng(-37.81195385919268, 144.98266696929932);
	    myMarkers.push(new MyMarker(point, "Fitzroy Gardens", "Disc Golf"));
		var point = new GLatLng(-37.805647,144.984126);
		myMarkers.push(new MyMarker(point, "British Crown Hotel", "Friday Social Event"));
		var point = new GLatLng(-37.817327,144.96299);
		myMarkers.push(new MyMarker(point, "Bull and Bear Hotel", "Party Venue"));
    }

    function addToList(myMarker) {
	    var markerList = document.getElementById('gselect_list');
	    var textNode = document.createTextNode(myMarker.title);
	    var linkNode = document.createElement('a');
	    var hrefText = 'javascript:panTo(' 
			    + myMarker.marker.getPoint().lat()
			    + ','
			    + myMarker.marker.getPoint().lng()
			    + ');';
	    linkNode.setAttribute('href', hrefText);
	    linkNode.appendChild(textNode);
	    var newListItem = document.createElement('li');
	    newListItem.appendChild(linkNode);
	    var brNode = document.createElement('br');
	    newListItem.appendChild(brNode);
	    var descNode = document.createTextNode(myMarker.description);
	    newListItem.appendChild(descNode);
	    markerList.appendChild(newListItem);
    }

    function panTo(lat, lon) {
    	map.panTo(new GLatLng(lat, lon));	    
    }

    function load() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("gmap"));
	map.addControl(new GMapTypeControl());
	map.addControl(new GLargeMapControl());
        map.setCenter(new GLatLng(-37.83, 144.98), 13);
	
	initMarkers();
	
	for (i = 0; i < myMarkers.length; i++) {
		map.addOverlay(myMarkers[i].marker);
		addToList(myMarkers[i]);
	}
	
//	GEvent.addListener(map, "click", function(marker, point) {
//			var pt = document.createTextNode("Point " + point);
//			document.getElementById("output").appendChild(pt);
//	});

      }
      else {
	// write incompatible message here
      }
    }

