    //<![CDATA[




    
	
	  
    function load() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
      	map.addControl(new GMapTypeControl());
        // ==== It is necessary to make a setCenter call of some description before adding markers ====
      // ==== At this point we dont know the real values ====
      map.setCenter(new GLatLng(0,0),0);
	  map.setMapType(G_HYBRID_MAP);
	 
	  
	    
      


        GDownloadUrl("../../location-xml.php", function(data) {
          
		  // ===== Start with an empty GLatLngBounds object =====   
		  var bounds = new GLatLngBounds();
		  
		  var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
		  
		 
		  
		  
          for (var i = 0; i < markers.length; i++) {
            var name = markers[i].getAttribute("name");
		

            var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                    parseFloat(markers[i].getAttribute("lng")));
									
									
									
									
            var marker = createMarker(point, name);
            map.addOverlay(marker);
			
			 // ==== Each time a point is found, extent the bounds ato include it =====
				bounds.extend(point);

			
			
          }
		  
		            // ===== determine the zoom level from the bounds =====
          map.setZoom(map.getBoundsZoomLevel(bounds));

          // ===== determine the centre from the bounds ======
          map.setCenter(bounds.getCenter());
		  
        });
      }
    }

    function createMarker(point, name) {
      var marker = new GMarker(point);
      var html = "<b>" + name + "</b> <br/>";
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }
	  


    //]]>