function initialize(region, country, breed) {
	if (GBrowserIsCompatible()) {
	var om = new OverlayMessage(document.getElementById("dogmap"));      
      om.Set('<b>Loading...<\/b>');

  var mapOptions = {
						size:new GSize(800,600),
            googleBarOptions : {
              style : "new",
              adsOptions: {
                client: "partner-pub-1837936192310317",
                channel: "AdSense for Search channel",
                adsafe: "high",
                language: "en"
              }
            }
          };
		var iconRed = new GIcon(G_DEFAULT_ICON,'http://labs.google.com/ridefinder/images/mm_20_red.png' ); 
    		iconRed.image = 'http://labs.google.com/ridefinder/images/mm_20_red.png';
    		iconRed.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
    		iconRed.iconSize = new GSize(12, 20);
    		iconRed.shadowSize = new GSize(22, 20);
    		iconRed.infoWindowAnchor = new GPoint(5, 1);          
		var map = new GMap2(document.getElementById("dogmap"), mapOptions);  
				map.addControl(new GScaleControl());
				map.addControl(new GLargeMapControl());
				map.addControl(new GMapTypeControl());
				map.enableGoogleBar();
			
		function createMarker(point, breed, URL) {
			var mark = new GMarker(point,  {'title': breed, 'icon': iconRed});	
     		GDownloadUrl(URL, function(webdata){
					GEvent.addListener(mark, "click", function() {
     				mark.openInfoWindowHtml(webdata);
					});
	     });
	    return mark;
}
  	GDownloadUrl("/dogs/location_of_breeders.xml?vregion=" + region + "&vcountry=" + country + "&vbreed=" + breed ,function(data, responseCode) {
  		var mgr = new GMarkerManager(map);		
			var batch = [];
			var bounds = new GLatLngBounds();			  	
    	var xml = GXml.parse(data);
  		var markers = xml.documentElement.getElementsByTagName("marker");
	  	for (var i = 0; i < markers.length; i++) {
    		var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
        		                    parseFloat(markers[i].getAttribute("lng")));        		                    
        	bounds.extend(point);	
    			batch.push(createMarker(point, markers[i].getAttribute("breed"), markers[i].getAttribute("kennel")));
  		}  		
			map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));   		
			mgr.addMarkers(batch ,0,17);
			mgr.refresh();
			om.Clear();
		});
	}
	 else {
      alert("Sorry, the Google Maps API is not compatible with this browser");
    }
}
