// JavaScript Document
//<![CDATA[
var map;
var geocoder;
var gmarkers = new Array();
var bubble = new Array();
var bubble_from = new Array();
var bubble_to = new Array();

for(i=0; i<property.length; i++){
	if (property[i].bubble != "direction"){
		bubble[i] = create_info(property[i]);
	}
}

function create_bubble(point, i){
	if (property[i].bubble == "direction"){
		bubble[i] = create_direction(property[i], i);
		bubble_from[i] = create_from(point, property[i], i);
		bubble_to[i] = create_to(point, property[i], i);
	}
/*
	else{
		bubble[i] = create_info(property[i]);
	}
*/
	return bubble[i];
}

function create_info(prObj){
	infotxt  = '<table width=220 cellpadding=0 cellspacing=0 border=0 style="font-size:10px">'+"\n";
	infotxt += '<tr><td><b>'+prObj.name+'</b><br />'+prObj.addr1+'<br />'+prObj.addr2+'<br />'+"\n";
	infotxt += '<img src="'+homeurl+'images/web/icons/time.png"> '+prObj.officehr+'<br />'+"\n";
	infotxt += '<img src="'+homeurl+'images/web/icons/telephone.png"> '+prObj.phone+'</td>'+"\n";
	infotxt += '<td valign="top" width=55>'+"\n";
	infotxt += '<img src="'+prObj.image+'" style="border:2px solid #706053;"><br /><br />'+"\n";
	infotxt += '<a href="'+prObj.url+'" style="text-decoration:none;color:#706053">view '+"\n";
	infotxt += '<img src="'+homeurl+'images/web/icons/house_go.png" class="none" border=0 /></a></td></tr></table>'+"\n";
	return infotxt;
}

function create_from(point, prObj, index){
	fromtxt  = '<div style="margin:0; padding:0; font-size:smaller">'+"\n";
	fromtxt += '<b>'+prObj.name+'</b><br />'+prObj.addr1+'<br />'+prObj.addr2+'<br /><br />'+"\n";
	fromtxt += '<form style="padding:0; margin:0" class="gmapDir" id="gmapDirFrom" style="white-space: nowrap;" ';
	fromtxt += 'action="http://maps.google.com/maps" method="get" target="_blank">' + "\n";
	fromtxt += '<span class="gmapDirHead" id="gmapDirHeadFrom">Get directions: '+"\n";
	fromtxt += '<a href="javascript:tohere(' + index + ')">To here</a> - <strong>From here</strong></span>' + "\n";
	fromtxt += '<p style="padding:0; margin:0" class="gmapDirItem" id="gmapDirItemFrom"><label for="gmapDirSaddr" class="gmapDirLabel" ';
	fromtxt += 'id="gmapDirLabelFrom">End Address<br /></label>' + "\n";
	fromtxt += '<input type="text" size="25" maxlength="40" name="daddr" class="gmapTextBox" id="gmapDirSaddr" value=""';
	fromtxt += 'onfocus="this.style.backgroundColor = \'#e0e0e0\';" onblur="this.style.backgroundColor = \'#ffffff\';" />' +"\n";
	fromtxt += '<span class="gmapDirBtns" id="gmapDirBtnsFrom">';
	fromtxt += '<input value="Go" type="submit" class="gmapDirButton" id="gmapDirButtonFrom" /></span></p>' +"\n";
	fromtxt += '<input type="hidden" name="saddr" value="' + point.y + ',' + point.x + "(" + (prObj.name).replace(new RegExp(/"/g),'&quot;') + ")" + '" /></form>';
	return fromtxt;
}

function create_to(point, prObj, index){
	totxt  = '<div style="margin:0; padding:0; font-size:smaller">'+"\n";
	totxt += '<b>'+prObj.name+'</b><br />'+prObj.addr1+'<br />'+prObj.addr2+'<br /><br />'+"\n";
	totxt += '<form style="padding:0; margin:0" class="gmapDir" id="gmapDirTo" style="white-space: nowrap;" ';
	totxt += 'action="http://maps.google.com/maps" method="get" target="_blank">' + "\n";
	totxt += '<span class="gmapDirHead" id="gmapDirHeadTo">Get directions: <strong>To here</strong> - ';
	totxt += '<a href="javascript:fromhere(' + index + ')">From here</a></span>' +"\n";
	totxt += '<p style="padding:0; margin:0" class="gmapDirItem" id="gmapDirItemTo"><label for="gmapDirSaddr" class="gmapDirLabel"';
	totxt += 'id="gmapDirLabelTo">Start Address<br /></label>' +"\n";
	totxt += '<input type="text" size="25" maxlength="40" name="saddr" class="gmapTextBox" id="gmapDirSaddr" value="" ';
	totxt += 'onfocus="this.style.backgroundColor = \'#e0e0e0\';" onblur="this.style.backgroundColor = \'#ffffff\';" />' +"\n";
	totxt += '<span class="gmapDirBtns" id="gmapDirBtnsTo">';
	totxt += '<input value="Go" type="submit" class="gmapDirButton" id="gmapDirButtonTo" /></span></p>' + "\n";
	totxt += '<input type="hidden" name="daddr" value="' + point.y + ',' + point.x + "(" + (prObj.name).replace(new RegExp(/"/g),'&quot;') + ")" + '" /></form></div>';
	return totxt;
}

function create_direction(prObj, index){
	dirtxt  = '<div style="margin:0; padding:0; font-size:smaller">'+"\n";
	dirtxt += '<b>'+prObj.name+'</b><br />'+prObj.addr1+'<br />'+prObj.addr2+'<br /><br />'+"\n";
	dirtxt += '<div id="gmapDirHead" class="gmapDir" style="white-space: nowrap;"><strong>Get directions:</strong> '+"\n";
	dirtxt += '<a href="javascript:tohere(' + index + ')">To here</a> - '+"\n";
	dirtxt += '<a href="javascript:fromhere(' + index + ')">From here</a></div></div>'+"\n";
	return dirtxt;
}

function initialize() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(37.804581, -122.256355), 12);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		GDownloadUrl(xmlpath, draw);
	}
}

function draw(data){
	var xml = GXml.parse(data);
	var markers = xml.documentElement.getElementsByTagName("marker");
	for (var i = 0; i < markers.length; i++) {
		
		var latlng = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
							parseFloat(markers[i].getAttribute("lng")));
		marker = createmarker(latlng, gmarkers.length);
		gmarkers[gmarkers.length] = marker;
	}
}


function load() {
	map = new GMap2(document.getElementById("map"));
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	map.setCenter(new GLatLng(37.804581, -122.256355), 11);
  	geocoder = new GClientGeocoder();
  	for (i=0; i<property.length; i++){
		address = property[i].addr1+property[i].addr2;
		geocoder.getLocations(address, draw);
  	}
}

function load2() {
 	map = new GMap2(document.getElementById("map"));
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
    geocoder = new GClientGeocoder();
	address = property[0].addr1+property[0].addr2;
	geocoder.getLocations(address, draw2);
}

function draw2(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]);
		map.setCenter(new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]), 13);
		marker = createmarker(point, gmarkers.length);
		gmarkers[gmarkers.length] = marker;
	}
}

function createmarker(point,length){
 	 var marker= new GMarker(point);
   	 map.addOverlay(marker);
	 GEvent.addListener(marker, "mouseover", 
		function() {
	 		//marker.openInfoWindowHtml(bubble[length]);
	 		marker.openInfoWindowHtml(create_bubble(point, length));
	  	}
	 );    
	 return marker;
}

function tohere(i){//display "To here" bubble
	gmarkers[i].openInfoWindowHtml(bubble_to[i]);
}

function fromhere(i){//display "From here" bubble
	gmarkers[i].openInfoWindowHtml(bubble_from[i]);
}
//]]>