    //<![CDATA[
	//var bounds = new GLatLngBounds();
	var globalMap;
	var globalAddress;
	var globalCitiesList = new Array();
	
	function showAddress(rid, street, city, state, zip) {
		var map = new GMap2(document.getElementById("map"));
		var geocoder = new GClientGeocoder();
		var address = street + ", " + city + ", " + state + ", USA";
		
		geocoder.getLatLng(
			address,
			function(point) {
				if (!point) {
					alert(address + " not found");
				} else {
					map.setCenter(point, 13);
					map.setMapType(G_HYBRID_MAP);
					var marker = new GMarker(point);
					map.addOverlay(marker);
					map.addControl(new GSmallMapControl());
					map.addControl(new GMapTypeControl());
					marker.openInfoWindowHtml("<p style='padding: 2px 0 0 0; margin: 0 0 0 0;'>" + street + "</p><p style='padding: 0; margin: 0;'>" + city + ", " + state + "&nbsp;&nbsp;" + zip + "</p><p style='padding: 0; margin: 0;'>Listing: " + rid +  "</p>");
				}
			}
		);
	}

	function showState(state, citiesList) {
		var map = new GMap2(document.getElementById("map"));
		var geocoder = new GClientGeocoder();
		var address = state + ", USA";
		
		var stateID = null;
		var stateLat = null;
		var stateLng = null;
		if (parent.stateID) {
			stateID = parent.stateID;
			stateLat = parent.stateLat;
			stateLng = parent.stateLng;
		}
		//alert(stateID);
		/*alert(stateLat);
		alert(stateLng);*/
		if (stateLat) {
			var point = new GLatLng(stateLat, stateLng);
			map.setCenter(point,6);
			map.setMapType(G_HYBRID_MAP);
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			processCities(map, citiesList)
		} else {
			geocoder.getLatLng(
				address,
				function(point) {
					if (!point) {
						alert(address + " not found");
					} else {
						var lat = point.lat();
						var lng = point.lng();
						var url = "/ajax/setlatlng/setwhat/state/recid/"+stateID+"/lat/"+lat+"/lng/"+lng;
								
						new Ajax.Request(url, {
							method: 'post',
							onSuccess: function(t) {
							}
						});
						map.setCenter(point,6);
						map.setMapType(G_HYBRID_MAP);
						map.addControl(new GSmallMapControl());
						map.addControl(new GMapTypeControl());
						processCities(map, citiesList)
					}
				}
			);
		}
	}
	
	function processCities(map,citiesList) {
		globalMap = map;
		//globalCitiesList = citiesList;
		
		// Process entire cities list, those that have Lat / Lng automatically add.
		//   Those that don't, add to an array that's processed one by one.
		for(i=0; i<citiesList.length; i++) {
			if (citiesList[i]['Lat']) {
				var markertitle = citiesList[i]['CityName'] + ', ' + parent.state;
				var numOfListings = "";
				
				if (parseInt(citiesList[i]['NumRentals']) > 1) { 
					numOfListings = citiesList[i]['NumRentals'] + " Rentals";
					viewlink = '<a href="http://rentals-mls.com/rentals/list/city/'+citiesList[i]['CityID'] +'" target="_new" >view listings</a>';
				} else {
					numOfListings = citiesList[i]['NumRentals'] + " Rental"; 
					viewlink = '<a href="http://rentals-mls.com/rentals/list/city/'+citiesList[i]['CityID'] +'" target="_new" >view listing</a>';
				}
				
				var markerdesc = '<p style="padding: 0; margin: 0;">'+citiesList[i]['CityName'] + ', ' + parent.state + '</p><p style="padding: 0; margin: 0;">' + numOfListings + '</p><p style="padding: 0; margin: 0;">'+viewlink+'</p>';
				putMarker(map, citiesList[i]['Lat'], citiesList[i]['Lng'], markertitle, markerdesc);
			} else {
				globalCitiesList.push(citiesList[i]);
			}
		}
		
		// Take first city entry
		if (globalCitiesList.length>0) {
			var cityAddr = globalCitiesList[0]['CityName'] + ', ' + parent.state + ', USA';
			setTimeout("getGeoCodeFromCitiesListCity('"+cityAddr+"', 0)", 2000);
		}
		
	}
	
	function getNextCityFromCityList(cityNum) {
		cityNum++;
		if (cityNum < globalCitiesList.length) {
			var cityAddr = globalCitiesList[cityNum]['CityName'] + ', ' + parent.state + ', USA';
			setTimeout("getGeoCodeFromCitiesListCity('"+cityAddr+"', '"+cityNum+"')", 2000);
		}
	}
	
	function getGeoCodeFromCitiesListCity(address,citynum) {
		geocoder = new GClientGeocoder();
		
  		geocoder.getLatLng(
			address,
			function(point) {
				if (!point) {
					alert(address + " not found");
				} else {
					
					var lat = point.lat()
					var lng = point.lng();
					
					var url = "/ajax/setlatlng/setwhat/city/recid/"+globalCitiesList[citynum]['CityID']+"/lat/"+lat+"/lng/"+lng;
					
					new Ajax.Request(url, {
						method: 'post',
						onSuccess: function(t) {
						}
					});
				
					var markertitle = globalCitiesList[citynum]['CityName'] + ', ' + parent.state;
				
					var markerdesc = "<p style='padding: 0; margin: 0;'>" + globalCitiesList[citynum]['CityName'] + ', ' + parent.state + '</p><p style="padding: 0; margin: 0;">' + globalCitiesList[citynum]['NumRentals']+"</p>";
					
					putMarker(globalMap, lat, lng, markertitle, markerdesc);
					getNextCityFromCityList(citynum);
				}
			}
		);
		return 1;
	}
	
	function putMarker(map, lat, lng, markertitle, markerdesc) {
		var point = new GLatLng(lat,lng);
		var marker = new GMarker(point, { title: markertitle });
		GEvent.addListener(marker, 'click',
			function() {
				moveMapto(map, lat, lng, 13);
				marker.openInfoWindowHtml(markerdesc);
				
			}
		);
		map.addOverlay(marker);
	}
	
	function moveMapto(map, lat,lng,zoom){
		map.setCenter(new GLatLng(lat,lng));
	}

	function zoomfit()
	{
		
	}
    //]]>


