
	
	var map;
   	var gmarkers = [];
   	var htmls = [];
	var side_bar_html = "";
	var i = 0;
	
	function myzoom(a) {
      map.setZoom(map.getZoom() + a);
    }
	
	
	
	// === Custiom Icons: Create an associative array of GIcons() ===
	var gicons = [];
	gicons["customicon"] = new GIcon(G_DEFAULT_ICON, "/images/pointer.png");
	gicons["customicon"].shadow = "/images/pointer_shadow.png";
	gicons["customicon"].iconSize = new GSize(12, 28);
	gicons["customicon"].shadowSize = new GSize(23, 28);
	
    function loadmaps(querystring) {
      if (GBrowserIsCompatible()) {
        //var map = new GMap2(document.getElementById("map"));
        map = new GMap(document.getElementById("map"));
	    map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        
		map.setCenter(new GLatLng(37.969144, -122.510502), 8);
		//map.setCenter(new GLatLng(0,0),0);
		
		// A function to create the marker and set up the event window
      	function createMarker(point,name,html,thelink,icontype) {
	        //var ZoomLevel = 6
			//map.setCenter(point, ZoomLevel);
			
			//var marker = new GMarker(point);
			var marker = new GMarker(point, gicons[icontype]);
	       	GEvent.addListener(marker, "click", function() {
	          marker.openInfoWindowHtml('<span class="text1">' + html + '</span>');
	        });
			
	        // save the info we need to use later for the side_bar
	        gmarkers[i] = marker;
	        htmls[i] = html;
			thelink[i] = thelink;
			
			// add a line to the side_bar html
	        side_bar_html += '<tr><td valign=top><img src="../images/bullet.gif" width="16" height="12"></td><td valign=top><a class="text1" href="' + thelink + '">' + name + '</a><br /><a class="smalltext3" href="javascript:myzoom(8);myclick(' + i + ')">map</a></td></tr>';
	       
		    i++;
	        return marker;
      	}
      	
			
		var bounds = new GLatLngBounds();
		  
		  
		var qstr
		if(querystring != ''){
			//if(querystring.indexOf('id=')==-1){
			//var thevalue = document.getElementById(querystring).value
			//qstr = querystring + "=" + thevalue
			//}
			//else {
			qstr = querystring
			//}
		}
		  
          GDownloadUrl("/maps/create_xml.asp?" + qstr, function(data) {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
          for (var gi = 0; gi < markers.length; gi++) {
            var point = new GLatLng(parseFloat(markers[gi].getAttribute("lat")),
                                    parseFloat(markers[gi].getAttribute("lng")));
            
			var html = markers[gi].getAttribute("html");
            var label = markers[gi].getAttribute("label");
            var thelink = markers[gi].getAttribute("thelink");
			var icontype = markers[gi].getAttribute("icontype");
			var marker = createMarker(point,label,html,thelink,icontype);
			
			
			//map.addOverlay(createMarker(point,label,html,thelink,icontype));
			map.addOverlay(marker);
			bounds.extend(point);		  
		  }
		  // put the assembled side_bar_html contents into the side_bar div
          if (side_bar_html == '') {
		  side_bar_html = 'No properties found.'} //DEALS WITH EOF
		  
		  var fianl_side_bar_html = '<table cellpadding="2" cellspacing="0">'+side_bar_html+'</table>'
		  document.getElementById("side_bar").innerHTML = fianl_side_bar_html;
		  
		  // ===== determine the zoom level from the bounds =====
          map.setZoom(map.getBoundsZoomLevel(bounds));

          // ===== determine the centre from the bounds ======
          //var clat = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) /2;
          //var clng = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) /2;
         
		 
		  //if (clat != 0) { map.setCenter(new GLatLng(clat,clng));
		  //}
		  //else //if no records then show specific map (rather than world map)
		  //{ map.setCenter(new GLatLng(37.969144, -122.510502), 8);}
		  
		  
        });
      }
    }
	
	//This function picks up the click and opens the corresponding info window
    function myclick(i) {
    	gmarkers[i].openInfoWindowHtml(htmls[i]);
     }
	
