var url = "/getCensusPolygon.cgi?id=";
var map;
var http = getHTTPObject(); // We create the HTTP Object
function handleMapResponse() {
	 var point = [];
	 var bounds = new GLatLngBounds();
	 if (http.readyState == 4 && http.responseXML) {
		var i;
		var j;
		var myPolygons = http.responseXML.getElementsByTagName("polygon"); // there's only the one polygon, actually
		var myPolygon = myPolygons[0]; // that's the one.
		var polyPointLats = myPolygon.getElementsByTagName("polygonpointlat");			
		var polyPointLongs = myPolygon.getElementsByTagName("polygonpointlong");						
		for (i = 0; i < polyPointLats.length; i++) {
			var Lat = polyPointLats[i].firstChild.nodeValue;
			var Long = polyPointLongs[i].firstChild.nodeValue;
			point.push(new GLatLng(Lat, Long));
			bounds.extend(new GLatLng(Lat, Long));
		}
		var lngCenter = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) / 2;
		var latCenter = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) / 2;
		var center = new GLatLng(latCenter,lngCenter);
		map.setCenter(center, map.getBoundsZoomLevel(bounds));
		var box = new GPolygon(point,'#FF0000', 3, 1,'#0000FF',0.2);
		map.addOverlay(box);
		point = [];
		var markers = http.responseXML.getElementsByTagName("marker"); // only one marker.
		var listingid = markers[0].firstChild.nodeValue;
		var longi = parseFloat(markers[0].getAttribute("long"));
		var lati = parseFloat(markers[0].getAttribute("lat"));
		var clientid = markers[0].getAttribute("client_id");
		var point = new GLatLng(lati,longi);
		if (clientid > 1) {
			map.addOverlay(new GMarker(point));
		}
	 }
}
function updateMap(polyid) {
	// the poly id is logrecno:ListingID.
	map = new GMap2(document.getElementById("map"));	 
//	map.addControl(new GSmallMapControl());
	map.disableDragging();
	http.open("GET", url + polyid, true);	 
	http.onreadystatechange = handleMapResponse;
	http.send(null); 
	
}
function getHTTPObject() {
	 var xmlhttp = null;
	 var success = false;
	 // List of MS XMLHTTP versions - newest first
	 var MSXML_XMLHTTP_PROGIDS = new Array(
						   'MSXML2.XMLHTTP.5.0',
						   'MSXML2.XMLHTTP.4.0',
						   'MSXML2.XMLHTTP.3.0',
						   'MSXML2.XMLHTTP',
						   'Microsoft.XMLHTTP'
						   );
	 // test for IE implementations first
		 for (var i = 0; i < MSXML_XMLHTTP_PROGIDS.length &&
		  !success; i++) {
		 try  {
			 xmlhttp = new ActiveXObject(MSXML_XMLHTTP_PROGIDS[i]);
			 success = true;
			 return xmlhttp;
		 }
		 catch (e) {
			 xmlhttp = false;
		 }
		 }
	 
	 // Now test for non-IE implementations
	 if (!xmlhttp &&
		 typeof XMLHttpRequest != 'undefined')  {
		 try {
			 xmlhttp = new XMLHttpRequest();
		 }
		 catch (e) {
			 xmlhttp = false;
		 }
	 }
	 return xmlhttp;
}
