var valueLow='';
var valueHigh='';
var propInfo='';
var latitude='';
var longitude='';
var addr=''
var resultArray='';
var tooltip="";
var showtip="";
var map="";
var posArray=[];
var gicons = [];
gicons[0] = "home.png";
gicons[1] = "marker1.png";
gicons[2] = "marker2.png";
gicons[3] = "marker3.png";
gicons[4] = "marker4.png";
gicons[5] = "marker5.png";
gicons[6] = "marker6.png";
gicons[7] = "marker7.png";
gicons[8] = "marker8.png";
gicons[9] = "marker9.png";
gicons[10]= "marker10.png";
google.load("maps", "2.x");
function $_(o){ return document.getElementById(o); }
function createMarker(point,html,t,rate,icon,lat_,lng_) {
    var myicon = new GIcon(G_DEFAULT_ICON);
    myicon.sprite = {image:"images/"+gicons[icon], width:22, height:28, top:0}
    var marker = new GMarker(point,{icon:myicon});
    if(t){
        if(t.length<1){ t='NA'; }
		marker.tooltip = '<div class="tooltip_new" ><table cellspacing="0" cellpadding="0" border="0"><tbody><tr style="line-height: 6px;"><td style="background: transparent url(images/org_nw.png) no-repeat scroll center bottom; line-height: 6px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">&nbsp;</td><td style="background: transparent url(images/org_n.png) repeat-x scroll center bottom; line-height: 6px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"/><td style="background: transparent url(images/org_ne.png) no-repeat scroll left bottom; line-height: 6px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"/></tr><tr><td style="background: transparent url(images/org_w.png) repeat-y scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"/> <td valign="top" bgcolor="#ffffff" align="right"><img height="12" width="12" 0="" alt="" src="images/x.gif" onclick="hideTooltip();" style="border: medium none ; position: relative; top: 0.05em; right: 0.05em; cursor: pointer;" id="clwysmwymarkeryid05978495741213389"/><div style="text-align: left; margin-top: -1em; margin-right: 1em; cursor: pointer;" id="ysaeid"><div class="yreMapPopupL">'+t+'</div></div></td><td style="background: transparent url(images/org_e.png) repeat-y scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">&nbsp;</td></tr><tr style="height: 16px;"><td style="background: transparent url(images/org_sw.png) repeat scroll 0% 0%; height: 16px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"/><td style="background: transparent url(images/org_s.png) repeat-x scroll 0% 0%; height: 16px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"/><td style="background: transparent url(images/org_se.png) no-repeat scroll 0% 0%; height: 16px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"/></tr></tbody></table></div>';

	    marker.showtip ='<div class="showtip">Last Sold Prize: $ '+rate+'<\/div>';
        GEvent.addListener(marker, "click", function() {
            hideRatetip();
            showTooltip(marker,lat_,lng_);
        });
        GEvent.addListener(marker,"mouseover", function() {
            showRatetip(marker);            
        });
        GEvent.addListener(marker,"mouseout", function() {
            hideRatetip();            
        });
    }
    return marker;
}
function hideRatetip() {
    showtip.style.visibility="hidden"
}
function showRatetip(marker) {
    showtip.innerHTML = marker.showtip;
    var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.fromDivPixelToLatLng(new GPoint(0,0),true),map.getZoom());
    var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
    var anchor=marker.getIcon().iconAnchor;
    var width=marker.getIcon().iconSize.width;
    var height=showtip.clientHeight;
    var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(offset.x - point.x - anchor.x + width-5, offset.y - point.y -anchor.y -height));
    pos.apply(showtip);
    showtip.style.marginTop="20px";
    showtip.style.visibility="visible";
}
function hideTooltip() {
    tooltip.style.visibility="hidden";
}
function showTooltip(marker,lat_,lng_) {
    tooltip.innerHTML = marker.tooltip;
    var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.fromDivPixelToLatLng(new GPoint(0,0),true),map.getZoom());
    var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
    var anchor=marker.getIcon().iconAnchor;
    var width=marker.getIcon().iconSize.width;
    var height=tooltip.clientHeight;
    var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(offset.x - point.x - anchor.x + width-10, offset.y - point.y -anchor.y -height-10));
    pos.apply(tooltip);
	if(lat_) { map.panTo(new GLatLng(lat_,lng_)); }
    tooltip.style.marginTop="20px";
    tooltip.style.visibility="visible";
}
function reverse(n){
    var i=n.length;
    var r="";
    for(var j=i;j>=0;j--){
        r+=n.charAt(j);
    }
    return r;
}
function formatCurrency(number){
    var i=number.length;
    var num="";
    number=reverse(number);
    for(var j=i;j>=0;j--) {
        if(j==2 || j==7) {
            num+=","+number.charAt(j);
        }
        else{
            num+=number.charAt(j);
        }
    }
    return num;
}
function setLatLong(address) {
	var ret=false;
	var geocoder = new GClientGeocoder();
	geocoder.getLatLng(
		address,
		function(point) {
			if (point) {
				var lat=point.lat().toFixed(5);
				lat_=lat;
				var lng=point.lng();
				lng_=lng;
				ret=new Array(lat, lng);
				map.setCenter(point, 14);
				map.setCenter(new GLatLng(lat,lng), 14);
				var marker = createMarker(point,addr2,label2,rate,0,lat,lng);
				map.addOverlay(marker);
				
				tooltip = document.createElement("div");
				map.getPane(G_MAP_FLOAT_PANE).appendChild(tooltip);
				tooltip.style.visibility="hidden";

				showtip = document.createElement("div");
				map.getPane(G_MAP_FLOAT_PANE).appendChild(showtip);
				showtip.style.visibility="hidden";

				showTooltip(marker);
			}
		}
	 );
}
function initialize() {
    if((document.getElementById("map_canvas"))) {
        var mapobject=document.getElementById("map_canvas");
        mapobject.style.display="block";
		map = new GMap2(mapobject,{ size: new GSize(550,320) } );

		var url=document.URL;
		var pos1=url.indexOf("?sa=");
		var pos2=url.indexOf("&csz=");
		var end2=url.indexOf('&submit=');
		if( (pos1 != -1)  && (pos2 != -1) ){
			var add_=url.substring( (pos1+4),pos2);
			var city_=url.substring( (pos2+5), end2);
			setLatLong(add_+", "+city_);
		}
		else{
			lat_=latitude2;
			lng_=longitude2;
			map.setCenter(new GLatLng(latitude2,longitude2), 14);
			var point = new GLatLng(latitude2,longitude2);
			var marker = createMarker(point,addr2,label2,rate,0,latitude2,longitude2);
			map.addOverlay(marker);
		
			tooltip = document.createElement("div");
			map.getPane(G_MAP_FLOAT_PANE).appendChild(tooltip);
			tooltip.style.visibility="hidden";
			
			showtip = document.createElement("div");
			map.getPane(G_MAP_FLOAT_PANE).appendChild(showtip);
			showtip.style.visibility="hidden";

			showTooltip(marker);
		}

        if(resultArray){
            c=resultArray.length;
            var tmp= new Array();
            if(c>0){
                for(j=0;j<10;j++){
                    tmp[j]=new Array();
                    var street=resultArray[j][0]['street'];
                    var zipcode=resultArray[j][0]['zipcode'];
                    var state=resultArray[j][0]['state'];
                    var latitude=resultArray[j][0]['latitude'];
                    var longitude=resultArray[j][0]['longitude'];
                    
                    var amt=resultArray[j][1];
                    var lastSoldPrice=resultArray[j][2];
                    var valueLow=resultArray[j][3];
                    var valueHigh=resultArray[j][4];                    
                    
                    var add="<div>"+street+"</div><div>"+state+", "+zipcode+"</div>";
                    var label="<b>Value Range:</b><br /><b><span class=\'value\'>$"+formatCurrency(valueLow)+"	- $"+formatCurrency(valueLow)+"</span></b><br />"+add;

                    var icon=(j+1);
                    tmp[j]['point'] = new GLatLng(latitude, longitude);
                    tmp[j]['marker'] = createMarker(tmp[j]['point'],add,label,lastSoldPrice,icon,latitude, longitude);
                    map.addOverlay(tmp[j]['marker']);
                }
            }
            map.addControl(new GLargeMapControl());
            map.addControl(new GHierarchicalMapTypeControl());
            map.addControl(new GMapTypeControl());
        }
    }
}
google.setOnLoadCallback(initialize);