//<![CDATA[
var geocoder = new GClientGeocoder();
var status = new Array();
var key = new Array();
var title = new Array();
var map;
var addy;
var addwonum;
var ew;
var point;
var color;
var bounds;
var markers;

var icon_red = new GIcon();
icon_red.image = "gmap/images/red.png";
icon_red.shadow = "gmap/images/shadow.png";
icon_red.iconSize = new GSize(20, 34);
icon_red.shadowSize = new GSize(37, 34);
icon_red.iconAnchor = new GPoint(8, 25);
icon_red.infoWindowAnchor = new GPoint(5, 1);

var icon_green = new GIcon();
icon_green.image = "gmap/images/green.png";
icon_green.shadow = "gmap/images/shadow.png";
icon_green.iconSize = new GSize(20, 34);
icon_green.shadowSize = new GSize(37, 34);
icon_green.iconAnchor = new GPoint(8, 25);
icon_green.infoWindowAnchor = new GPoint(5, 1);

var icon_blue = new GIcon();
icon_blue.image = "gmap/images/blue.png";
icon_blue.shadow = "gmap/images/shadow.png";
icon_blue.iconSize = new GSize(20, 34);
icon_blue.shadowSize = new GSize(37, 34);
icon_blue.iconAnchor = new GPoint(8, 25);
icon_blue.infoWindowAnchor = new GPoint(5, 1);


function get_more_info(property_id) 
{
	document.getElementById("more_info_"+property_id).style['display'] = '';
	document.getElementById("more_info_link_"+property_id).style['display'] = 'none';
}

function createMarker(marker,html,point2) 
{
	// ========== Open the EWindow instead of a Google Info Window ==========
	GEvent.addListener(marker, "click", function() {
	  ew.openOnMarker(marker,html);
	  map.setCenter(point2, 13);
	  map.panDirection(-.8, +.8);
	});
	return marker;
}

function pretty(a,b,c,d) 
{
	return '<table border="0" cellpadding="0" cellspacing="0"><tr><td width="100%" class="EWTitle" nowrap style="background-color:'+b+'"><a href="address.php?property_ID='+d+'" style="color:#FFFFFF; text-decoration:none">' + a + '</a><a href="javascript:ew.hide()"><img width="14" height="13" title="Close" src="../gmap/images/eclose.gif" border=0 style="position:absolute;right:4px;top:4px"></a>' + '</td></tr>' + '<tr><td nowrap>' + c + '</td></tr></table>';
}

function load() 
{
	//alert("/mdap_images/gmap_hicentral/xml2.php?page="+page+"&prev="+prev+"&order="+order+"&type="+type+"&status="+mystatus);
	if (GBrowserIsCompatible()) 
	{
		map = new GMap2(document.getElementById("map_canvas"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		//map.addControl(new GOverviewMapControl());
		map.setCenter(new GLatLng(37.4419, -122.1419), 13);
		
		bounds = new GLatLngBounds();
		
		ew = new EWindow(map, E_STYLE_7);      
		map.addOverlay(ew);
		GDownloadUrl("gmap/xml(2).php?prev="+prev+"&page="+page, function(data, responseCode) {
			//GDownloadUrl("/mdap_images/gmap_hicentral/xml3.php?page="+page+"&prev="+prev+"&order="+order+"&type="+type+"&status="+mystatus+"&bath="+bath+"&bed="+bed+"&pricemin="+pricemin+"&pricemax="+pricemax+"&landarea="+landarea+"&propcondition="+propcondition+"&frontage="+frontage+"&interiorsqft="+interiorsqft+"&topography="+topography+"&builtype="+builtype+"&parking="+parking+"&landuses="+landuses+"&parkstalls="+parkstalls+"&bldgtype="+bldgtype+"&leasetype="+leasetype+"&units="+units+"&constype="+constype+"&extras="+extras+"&myzip="+myzip+"&mycity="+mycity+"&neighborhood="+neighborhood+"&myviews="+myviews+"&zoning="+zoning+"&duration="+duration, function(data, responseCode) {
			var xml = GXml.parse(data);
			markers = xml.documentElement.getElementsByTagName("marker");
			for (var i = 0; i < markers.length; i++) 
			{
				addy = markers[i].getAttribute("address");
				addwonum = markers[i].getAttribute("address2");
				status[addy] = markers[i].getAttribute("status");
				key[addy] = markers[i].getAttribute("key");
				title[addy] = markers[i].getAttribute("title");
				
				geocoder.getLocations(addy, addAddressToMap);
				sleep(300);
			}
		});
	}
}

function sleep(delay)
{
	var start = new Date().getTime();
	while (new Date().getTime() < start + delay);
}

function addAddressToMap(response) 
{
	if (!response || response.Status.code != 200) 
	{
		//alert("Sorry, we were unable to geocode that address");
	} 
	else 
	{
		place = response.Placemark[0];
		point = new GLatLng(place.Point.coordinates[1],	place.Point.coordinates[0]);
		
		lat = place.Point.coordinates[1];
		lng = place.Point.coordinates[0];	

		marker = new GMarker(point, icon_green);
		color = '#65e265';
  
		marker.address = response.name;
		var detail = document.getElementById("property_"+key[response.name]).innerHTML;
		var html = pretty(response.name,color,detail,key[response.name]); 
		map.addOverlay(marker);
		createMarker(marker,html,point);
		GEvent.trigger(marker,"click");
		if(markers.length > 1)
		{
			fitMap(point);
			sleep(300);
		}
		
	}
}
 
function findLocation(address,id) 
{
	geocoder.getLocations(address, addAddressToMap);
}

function fitMap( points ) 
{
   bounds.extend(points);
   map.setZoom(map.getBoundsZoomLevel(bounds));
   map.setCenter(bounds.getCenter());
}
//]]>
