<!-- hide script from old browsers

function googleMap(divID, addrCount, addrSet){
	
	this.initMap = initMap;
	this.ShowMap = ShowMap;
	this.addMarkers = addMarkers;
	this.addMarker = addMarker;
	
	this.divID = divID;
	
	this.locCount = addrCount;
	this.locInfo = addrSet;

	this.counter = 0;
	
	function initMap(){
		
	}

	function ShowMap() {
		if(GBrowserIsCompatible()) {
			//Google callback doesn't like objects? give 'em locals
			var tgtName = this.locInfo[0][0];
			var tgtAddr = this.locInfo[0][1];
			var tgtID = this.divID;
			var tgtCount = this.locCount;
			var tgtAddrSet = this.locInfo;
			
			this.map = new GMap2(document.getElementById(tgtID));

			//Get bounds for the map
			var minLat = 90.0;
			var maxLat = -90.0;
			var minLon = 180.0;
			var maxLon = -180.0;
			
			for(var i=0; i < tgtCount; i++){
				if(parseFloat(tgtAddrSet[i][2]) < minLat)
					minLat = parseFloat(tgtAddrSet[i][2]);
				
				if(parseFloat(tgtAddrSet[i][2]) > maxLat)
					maxLat = parseFloat(tgtAddrSet[i][2]);

				if(parseFloat(tgtAddrSet[i][3]) < minLon)
					minLon = parseFloat(tgtAddrSet[i][3]);
				
				if(parseFloat(tgtAddrSet[i][3]) > maxLon)
					maxLon = parseFloat(tgtAddrSet[i][3]);
			}
			
			// Create and Center a Map
			var point = new GLatLng(tgtAddrSet[0][2], tgtAddrSet[0][3]);
			if(!point){
    			document.getElementById(tgtID).innerHTML = 
    				"<div style='color: black; font-size: 10pt; font-family: Tahoma; font-weight: normal;'><br/><br/>Address not found:<br/></div>"
    				+ "<div style='color: black; font-size: 10pt; font-family: Tahoma; font-weight: normal;'>" + tgtAddr + "</div>";
			} 
			else{ 
				//TODO: this might need some work if we go outside the north/western hemisphere!
    			if(tgtCount == 1)	//Map for one location?
    				this.map.setCenter(point, 13);
    			else{				//Set up bounds to include all locations
    				var pointSW = new GLatLng(minLat, minLon);
    				var pointNE = new GLatLng(maxLat, maxLon);
        			var bounds = new GLatLngBounds(pointSW, pointNE);
        			var pointC = bounds.getCenter();
        			//Set zoom level to include all, then subtract one for some margin
        			var zoom = this.map.getBoundsZoomLevel(bounds) - 1;
    				this.map.setCenter(pointC, zoom);	
    			}
    			
    			this.map.addControl(new GLargeMapControl());
    			this.map.addControl(new GMapTypeControl());
			}

			if(tgtCount)
				this.addMarkers(this.map, tgtCount, tgtAddrSet);
		  	
//			alert("map created");
//			GEvent.bind(this.map, "click", this, this.onMapClick);
			
//          map.setCenter(new GLatLng(37.4419, -122.1419), 13);

          // bind a search control to the map, suppress result list
//          map.addControl(new google.maps.LocalSearch(), new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,20)));
		}	//END: if(GBrowserIsCompatible())
	}	//END: ShowMap()
	
	function addMarkers(map, mCount, addrSet){
		var markerSet = new Array();

		if(GBrowserIsCompatible()) {
			//Mapiconmaker
		    var newIcon = MapIconMaker.createMarkerIcon({width: 48, height: 48, primaryColor: "#00ff00"});
			
			// Create a base icon for all of our markers that specifies the
			// shadow, icon dimensions, etc.
			var baseIcon = new GIcon(G_DEFAULT_ICON);
			baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
			baseIcon.iconSize = new GSize(20, 34);
			baseIcon.shadowSize = new GSize(37, 34);
			baseIcon.iconAnchor = new GPoint(9, 34);
			baseIcon.infoWindowAnchor = new GPoint(9, 2);
//			baseIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
			
			//Place the markers at specified lat/long's
			for(var i = 0; i < mCount; i++){
//			for(var i = 0; i < 5; i++){
/*				addrSet[i][2] = parseFloat(addrSet[i][2]) + i;
				addrSet[i][3] = parseFloat(addrSet[i][3]) + i;
*/				var point = new GLatLng(addrSet[i][2], addrSet[i][3]);
	    		if(point){
	    			// Create a lettered icon for this point using our icon class
//	    			var letter = String.fromCharCode("A".charCodeAt(0) + i);
//	    			var letteredIcon = new GIcon(baseIcon);
//	    			letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
	    			
	    			// Set up our GMarkerOptions object
//	    			markerOptions = { icon:letteredIcon };
//	    			markerSet[i] = new GMarker(point, markerOptions);
	    			markerSet[i] = new GMarker(point, {icon: newIcon});
	    			this.addMarker(map, markerSet[i], addrSet[i][0], addrSet[i][1]);
	    		}	//END: if (point)
//		  	break;
			}	//END: for loop 
		}	//END: if(GBrowserIsCompatible())
	}	//END: addMarkers

	function addMarker(map, marker, name, addr){
		GEvent.addListener(marker, "click", function() {
//			marker.openInfoWindowHtml("Marker <b>" + letter + "</b>");
			marker.openInfoWindowHtml(
					"<div style='position: absolute; left: 0px; top: 0px;'><div style='color: blue; font-size: 10pt; font-family: Tahoma; font-weight:bold; text-decoration:blink;'>"
					+ name + 
					"</div>" + 
					"<div style='color: black; font-size: 10pt; font-family: Tahoma; font-weight: normal;'>" + addr + "</div></div>");
		});
		
		map.addOverlay(marker);	//Place the marker
	}
	
/*		
 		var marker = new GMarker(point);
		map.addOverlay(marker);
		marker.openInfoWindowHtml(
				"<br/><span style='color: blue; font-size: 10pt; font-family: Tahoma; font-weight:bold; text-decoration:blink;'>"
				+ tgtName + 
				"</span><br/>" + 
				"<span style='color: black; font-size: 10pt; font-family: Tahoma; font-weight: normal;'>" + tgtAddr + "</span>");

*/		
	
//	GSearch.setOnLoadCallback(initialize);
}	//END: googleMap Class


googleMap.prototype.onMapClick = function() {
	this.counter++;
	alert("You have clicked the map " + this.counter + " " +
	(this.counter == 1 ? "time" : "times"));
}

//end hiding script from old browsers -->