//<![CDATA[
if (GBrowserIsCompatible()) {
	var side_bar_html = "";
	var gmarkers = [];
	var htmls = [];
	var i = 0;
	var map;
	var bounds = new GLatLngBounds();

	// A function to create the marker and set up the event window
	function createMarker(point,name,html) {
		var marker = new GMarker(point);
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(html);
		});
		gmarkers[i] = marker;
		htmls[i] = html;
		side_bar_html += '<a href="javascript:myclick(' + i + ')">' + name + '<\/a><br>'; 
		i++;
		return marker;
	}
	  
	// This function picks up the click and opens the corresponding info window
	function myclick(i) {
		gmarkers[i].openInfoWindowHtml(htmls[i]);
	}

	// A function to read the data
	function readMap(id,lt) {
		// create the map
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(0,0),0);
		bounds = new GLatLngBounds();
		
		var url="/ajax/summary-locations.php?id="+id+"&lt="+lt;
		var request = GXmlHttp.create();
		request.open("GET", url, true);
		request.onreadystatechange = function() {
			if (request.readyState == 4) {
				var xmlDoc = request.responseXML;
				// obtain the array of markers and loop through it
				var markers = xmlDoc.documentElement.getElementsByTagName("marker");
	
				// hide the info window, otherwise it still stays open where the removed marker used to be
				map.getInfoWindow().hide();
	
				map.clearOverlays();
	
				// empty the array
				gmarkers = [];
		
				// reset the side_bar
				side_bar_html="";
	
				for (var i = 0; i < markers.length; i++) {
					// obtain the attribues of each marker
					var lat = parseFloat(markers[i].getAttribute("lat"));
					var lng = parseFloat(markers[i].getAttribute("lng"));
					var point = new GLatLng(lat,lng);
					var html = markers[i].getAttribute("html");
					var label = markers[i].getAttribute("label");
					// create the marker
					var marker = createMarker(point,label,html);
					map.addOverlay(marker);
					bounds.extend(point);
				}
				// put the assembled side_bar_html contents into the side_bar div
				//document.getElementById("side_bar").innerHTML = side_bar_html;
				map.enableScrollWheelZoom(); 
				map.setZoom(map.getBoundsZoomLevel(bounds));
				map.setCenter(bounds.getCenter());
			}
		};
		request.send(null);
	}
} else {
	alert("Sorry, the Google Maps API is not compatible with this browser");
}
// This Javascript is based on code provided by the
    // Blackpool Community Church Javascript Team
    // http://www.commchurch.freeserve.co.uk/   
    // http://www.econym.demon.co.uk/googlemaps/

		   
function showAddress(address) {
	var map = new GMap2(document.getElementById("google_map"));
	var geocoder = new GClientGeocoder();
	geocoder.getLatLng(
    address,
    function(point) {
      if (!point) {
        alert("The location address " + address + " could not be found.  Please try again later.");
      } else {
        map.setCenter(point, 13);
        var marker = new GMarker(point);
        map.addOverlay(marker);
        marker.openInfoWindowHtml(address);
      }
    }
  );
}

function loadMap(latitude,longitude,address) {
  if (GBrowserIsCompatible()) {
	var map = new GMap2(document.getElementById("google_map"));
	
	if(latitude == 0 && longitude == 0){
		showAddress(address);	
	} else {
		map.setCenter(new GLatLng(latitude, longitude), 13);
	}
	
	var point = new GLatLng(latitude, longitude);
	map.addOverlay(new GMarker(point));
	map.addControl(new GLargeMapControl());
	map.enableScrollWheelZoom(); 
  }
}

//]]>


