
var map;var xml_markers_array=[];var qs;var default_lat=37.0625;var default_lng=-95.677068;var PMwindow;var searchFocus=false;var maploaded=false;var maxZoom=17;var closest_city="";var closest_state="";var location_link="";var userAgent=navigator.userAgent.toLowerCase();var msiePre7=userAgent.substr(userAgent.indexOf("msie")+5,2)<7;var db_selected=null;var db_selected_color=null;var markers={};var mapState={"zoom":null,"level":null,"bounds":null,"lat":null,"lng":null,"loading":false,"autoZoom":false,"userMove":false,"userPan":false,"clickZoom":false};function mapperOnLoad(){if(GBrowserIsCompatible()){G_NORMAL_MAP.getMinimumResolution=function(){return 4;};G_SATELLITE_MAP.getMinimumResolution=function(){return 4;};G_PHYSICAL_MAP.getMinimumResolution=function(){return 4;};G_HYBRID_MAP.getMinimumResolution=function(){return 4;};map=new GMap2(document.getElementById("map"));map.addControl(new GLargeMapControl());map.addControl(new GMapTypeControl());map.addControl(new GOverviewMapControl());map.addControl(new GScaleControl());map.addMapType(G_PHYSICAL_MAP);map.enableDoubleClickZoom();map.enableContinuousZoom();map.scrollWheelZoomEnabled();pt=new GLatLng(default_lat,default_lng);GEvent.addListener(map,"dragend",function(){updateMapState("userMove",true);loadLocations();});GEvent.addListener(map,"zoomend",function(){if(mapState.autoZoom){updateMapState("autoZoom",false);return false;}else{updateMapState("userMove",true);}
if(maploaded&&!mapState.autoZoom){loadLocations();}
if(!preload){updateMapState("userMove",true);loadLocations();}else{maploaded=true;}});if(preload){var pt=new GLatLng(preload_lat,preload_lng);map.setCenter(pt,(17-preload_zoom));updateList();}else{if(show_my_props){map.setCenter(pt,4);updateList();}else{document.property.q.focus();map.setCenter(pt,4);if(document.property.q.value!=""){generateQueryString();getURL("GET","/browse.searchresultsxml"+qs+"&q="+escape(document.property.q.value),true,"loadSearchXML","xml");}else{displayInstructions();}}}
if(typeof _DMCQueryControlObserver=="function"){var _2=["Parcels"];var _3=new TiledLayer(map,_2);_3.setMinZoomLevel(16);_3.setMaxZoomLevel(20);_3.initialize();}}}
function loadLocations(){updateCoreMapState();document.getElementById("dark_wrapper").style.display="none";if(!show_my_props){if(mapState.zoom>11){clearResultSet();clearDisclaimer();displayInstructions();getURL("GET","/browse.boundsxml?level=state&bounds="+mapState.bounds,true,"loadLocationMarkers","xml",false);}else{if(mapState.zoom>6){clearResultSet();clearDisclaimer();displayInstructions();if(mapState.userMove){document.property.q.value="";document.property.zip.value="";}
getURL("GET","/browse.boundsxml?level=city&bounds="+mapState.bounds,true,"loadLocationMarkers","xml",false);}else{if(mapState.userMove){updateMapState("userMove",false);document.property.page.value="1";document.property.key.value="";document.property.zip.value="";updateList();return;}}}}
updateMapState("userMove",true);}
function updateList(_4,_5,_6,_7){var _8=document.property.price_min;var _9=document.property.price_max;if(_8&&_9){if(_8.value!="min"){if(!validateCurrency(_8,"Please enter a valid minimum dollar amount!")){return false;}}
if(_9.value!="max"){if(!validateCurrency(_9,"Please enter a valid maximum dollar amount!")){return false;}}
if(_8.value!="min"&&_9.value!="max"){var _a=parseFloat(cleanCurrency(_8.value));var _b=parseFloat(cleanCurrency(_9.value));if(_a!=""&&_b!=""){if(_a>_b||_b<_a){alert("Minimum price must be below maximum price!");return false;}}}}
clearInstructions();updatePanel("<p align=\"center\" style=\"padding-top:100px;\" class=\"light\"><img src=\"/images/maptools/loading_green.gif\" width=\"32\" height=\"32\" alt=\"Loading\"></p>","prop_wrapper");if(_4){document.property.page.value="1";document.property.scount.value="50";}
for(var i=0;i<document.property.elements.length;i++){if(document.property.elements[i].type.indexOf("select")>-1){document.property.elements[i].blur();}}
if(!_5){if(!show_my_props){generateQueryString();}else{generateMiniQueryString();}}
var _d=(_5);if(!_6){_6="";}
if(!_7){_7="";}
getURL("GET","/browse.resultjson"+qs+"&show_my_props="+show_my_props+"&searchID="+_6+"&city="+_7,true,"loadProperties","text","prop_wrapper");}
function getId(id){return document.getElementById(id);}
function makeAssoc(_f,_10){var obj={},length=Math.min(_f.length,_10.length);for(var i=0;i<length;i++){obj[_10[i]]=_f[i];}
return obj;}
function expandData(_13,_14){var arr=[];var len=_13.length;var _17=_14.length;var _18=0;var _19=_17;while(_19<len){arr.push(makeAssoc(_13.slice(_18,_19),_14));_18=_19;_19+=_17;}
return arr;}
function loadProperties(_1a,id){var _1c=eval("json="+_1a);_1c.markers=expandData(_1c.markerData,_1c.markerKeys);delete _1c.markerData;delete _1c.markerKeys;var _1d=_1c.meta;var _db=_1c.db;var _1f=_1c.markers;var _20=new GLatLngBounds();for(var i=0;i<xml_markers_array.length;i++){map.removeOverlay(xml_markers_array[i]);}
markers={};var _22=_1d.result_count;if(_22==0){clearResultSet();clearInstructions();getId("instructions").style.display="block";getId("location").innerHTML="";getId("search_inner").style.display="none";if(!show_my_props){getURL("GET","/browse.noresults",true,"updatePanel","text","instructions");}else{getURL("GET","/browse.nosavedprops",true,"updatePanel","text","instructions");}
return;}
if(_22=="750"){getId("dark_wrapper").style.display="block";}
var _23=_1d.db_count;var _24=_1d.db_list;if(db_selected){if(_24.indexOf(db_selected)==-1){db_selected=null;}}
var _25=(db_selected)?db_selected:_1d.db_dominant;closest_city=_1d.city;closest_state=_1d.state;location_link=_1d.location_link;for(var i=0;i<_db.length;i++){var _26=(_db[i].db_name==_25)?"on":"off";markers[_db[i].db_name]={"name":_db[i].name,"boardID":_db[i].boardID,"color":marker_colors[i],"status":_26,"pin_status":"show","pins":[]};}
if(mapState.clickZoom){updateMapState("clickZoom",false);map.setCenter(new GLatLng(mapState.lat,mapState.lng),11);}else{xml_markers_array=new Array(_1f.length);if(_1f.length>0){var _27="<span>"+_1d.pagingTop+"<div id=\"prop_list\">"+"<table width=\"257\" cellpadding=\"0\" cellspacing=\"0\" border=\"1\" id=\"prop_table\">\n";for(var i=0;i<_1f.length;i++){var _28=_1f[i];var _29=_28.boardID;var _2a=new GLatLng(_28.lat,_28.lng);xml_markers_array[i]=createPropertyMarker(_2a,_28.boardID+"_"+_28.mlsID,_28.db,_28.my_property,i,_28.price,_28.beds,_28.baths,_28.property_type);markers[_28.db].pins.push(xml_markers_array[i]);map.addOverlay(xml_markers_array[i]);_20.extend(_2a);if(_28.db==_25){_27+="<tr>\n"+"<td id=\"prop_"+i+"\" style=\"height:98px;\" onmouseover=\"tdHover(this,'#fbf8d5',"+i+");\" onmouseout=\"tdHover(this,'#fff',"+i+");\"><div class=\"property\">"+"<a href=\""+_28.link+"\">"+"<img src=\""+_1d.IMG_ROOT+"media/"+_28.db+"/s2/"+_28.mlsID+".jpg\" width=\"70\" height=\"50\" alt=\"\" class=\"prop_img\"/></a> "+"<div class=\"prop_detail\"><strong>"+_28.property_type+"<br/>"+_28.price+"</strong>";if(_28.boardID!=815){if(_28.beds!=""||_28.baths!=""){_27+="<br/>";}
if(_28.beds!=""){_27+=_28.beds;}
if(_28.beds!=""&&_28.baths!=""){_27+=" | ";}
if(_28.baths!=""){_27+=_28.baths;}
if(_28.sq_ft){_27+="<br/>"+_28.sq_ft;}}
_27+="</div>";if(_28.agent_office){_27+="<div style=\"position:absolute;top:58px;left:4px;font-size:9px;height:13px;overflow:hidden;\">Courtesy of: <b>"+_28.agent_office+"</b></div>"+"<div class=\"prop_links\" style=\"top:71px;\">";}else{_27+="<div class=\"prop_links\" style=\"top:66px;\">";}
_27+="<div class=\""+_28.db+"_links\">";if(_1d.logged_in){if(_28.my_property){prop_color="red";prop_symbol="[-]";prop_text="Remove";}else{prop_color="green";prop_symbol="[+]";prop_text="Save";}
_27+="<span id=\"listing_"+_28.mlsID+"\">"+"<a href=\"#\" onclick=\"toggleProperty('"+_28.state+"','"+_28.county+"','"+_28.city+"','"+_28.zip+"',"+_28.boardID+",'"+_28.mlsID+"','listing',"+i+",'"+_28.property_type+"','"+_28.price+"'); return false;\" class=\"normal\"><strong class=\""+prop_color+"\">"+prop_symbol+"</strong></a> "+"<a href=\"#\" onclick=\"toggleProperty('"+_28.state+"','"+_28.county+"','"+_28.city+"','"+_28.zip+"',"+_28.boardID+",'"+_28.mlsID+"','listing',"+i+",'"+_28.property_type+"','"+_28.price+"'); return false;\">"+prop_text+"</a> | "+"</span>";}
_27+=" <a href=\"#\" onclick=\"mapLocate('"+_28.boardID+"_"+_28.mlsID+"',"+i+"); return false;\" class=\""+_28.link_type+"\">Locate</a> | ";if(_28.link_type=="mls"){_27+="<a href=\"#\" onclick=\"pop('CMA_Value','/browse.cma?boardID="+_28.boardID+"&propertyID="+_28.mlsID+"',680,380); return false;\" class=\""+_28.link_type+"\">Value</a> | ";}
_27+="<a href=\""+_28.link+"\" class=\""+_28.link_type+"\">Details</a>"+"</div>"+"</div>"+"<div class=\"prop_icons\">"+"<img src=\""+_1d.IMG_ROOT+"media/logos/"+_28.boardID+".gif\" alt=\"\"/></div>"+"<div class=\""+_28.db+"\"></div>"+"</div></td>"+"</tr>\n";}else{_27+="<td id=\"prop_"+i+"\" style=\"height:98px;\" onmouseover=\"tdHover(this,'#fbf8d5',"+i+");\" onmouseout=\"tdHover(this,'#fff',"+i+");\"><div class=\"property\">"+"<img src=\""+_1d.IMG_ROOT+"media/results_noimage.gif\" width=\"70\" height=\"50\" alt=\"\" class=\"prop_img\"/> "+"<div class=\"prop_detail\"><strong>please activate<br>to view details</strong></div>";_27+="<div class=\"prop_links\" style=\"top:66px;\">";_27+="<div class=\""+_28.db+"_links\">";_27+=" <a href=\"#\" onclick=\"mapLocate('"+_28.boardID+"_"+_28.mlsID+"',"+i+"); return false;\" class=\""+_28.link_type+"\">Locate</a> | ";_27+=" <a href=\"#\" onclick=\"switchMLS('"+_28.db+"'); return false;\" class=\""+_28.link_type+"\">Activate MLS</a> ";_27+="</div></div>";_27+="<div class=\"prop_icons\">"+"<img src=\""+_1d.IMG_ROOT+"media/logos/"+_28.boardID+".gif\" alt=\"\"/></div>"+"<div class=\""+_28.db+"\"></div>"+"</div></td></tr>\n";}}
_27+="</table>"+"</div>"+_1d.pagingBottom+"</span>";getId("prop_wrapper").innerHTML=_27;if(mapState.userMove){updateMapState("userMove",false);zoomToMarkers(_20);}
if(_1f.length==1){if(getZoom()<11){map.setZoom(11);}
var _2a=new GLatLng(_1f[0].lat,_1f[0].lng);}
if(closest_city!=""&&closest_state!=""){var _2b=(location_link!="")?"<a href=\""+location_link+"\">"+closest_city+", "+closest_state+"</a>":closest_city+", "+closest_state;getId("location").innerHTML=_2b;}
getId("search_inner").style.display="block";var _2c="";if(location_link!=""){var _2d=location_link.split("/");_2c=_2d[_2d.length-1];}
if(_23==1){clearDisclaimer();displayBoardSelection();loadBanner(_29,_2c);getURL("GET","/browse.disclaimer?boardID="+_29+"&zip="+_2c,true,"updateDisclaimer","text","disclaimer");}else{displayBoardSelection();loadBanner(markers[_25].boardID,_2c);getURL("GET","/browse.disclaimer?boardID="+markers[_25].boardID,true,"updateDisclaimer","text","disclaimer");}
updateCoreMapState();getURL("GET","/browse.savesession?zoom="+mapState.zoom+"&bounds="+mapState.bounds+"&q="+document.property.q.value+"&show_my_props="+show_my_props,true,false,"text");}}}
function loadBanner(_2e,zip){var url="/browse.banner?boardID="+_2e+"&zip="+zip;getURL("GET",url,true,"updatePanel","text","broker_banner");}
function loadLocationMarkers(_31,_32){var _33=new GLatLngBounds();for(var i=0;i<xml_markers_array.length;i++){map.removeOverlay(xml_markers_array[i]);}
var _35=_31.documentElement.getElementsByTagName("marker");xml_markers_array=new Array(_35.length);if(_35.length>0){document.getElementById("disclaimer").innerHTML="";for(var i=0;i<_35.length;i++){var id=_35[i].getAttribute("id");var lng=parseFloat(_35[i].getAttribute("lng"));var lat=parseFloat(_35[i].getAttribute("lat"));var _39=_35[i].getAttribute("level");var _3a=_35[i].getAttribute("name");var _3b=new GLatLng(lat,lng);if(_35[i].getAttribute("active")=="true"){var s=_35[i].getAttribute("s");var m=_35[i].getAttribute("m");var d=_35[i].getAttribute("d");var r=_35[i].getAttribute("r");var b=_35[i].getAttribute("b");var f=_35[i].getAttribute("f");xml_markers_array[i]=createLocationMarker(true,_3b,id,_39,_3a,s,m,d,r,b,f);}else{xml_markers_array[i]=createLocationMarker(false,_3b,id,_39,_3a);}
map.addOverlay(xml_markers_array[i]);_33.extend(_3b);}
if(_32){updateMapState("userMove",false);zoomToMarkers(_33);}
closest_city="";closest_state="";location_link="";document.getElementById("location").innerHTML="";document.getElementById("search_inner").style.display="none";}}
var baseIcon=new GIcon();baseIcon.baseColor="green";baseIcon.image="/images/pushpins/property/green_on.png";baseIcon.shadow="/images/pushpins/shadow.png";baseIcon.printShadow="/images/pushpins/shadow_print.gif";baseIcon.transparent="/images/pushpins/property/green_on_trans.png";baseIcon.iconSize=new GSize(23,36);baseIcon.shadowSize=new GSize(42,36);baseIcon.iconAnchor=new GPoint(9,39);baseIcon.infoWindowAnchor=new GPoint(9,2);baseIcon.infoShadowAnchor=new GPoint(18,25);baseIcon.imageMap=[0,0,22,0,22,22,15,22,11,35,7,22,0,22];var marker_colors=["green","blue","orange","grey"];function createLocationMarker(_42,_43,id,_45,_46,s,m,d,r,b,f){var _4d=new GIcon(baseIcon);var _4e;if(_45=="state"){_4d.image=(_42)?"/images/pushpins/location/state_on.png":"/images/pushpins/location/state_off.png";_4d.transparent=(_42)?"/images/pushpins/location/state_on_trans.png":"/images/pushpins/location/state_off_trans.png";_4e=(_42)?"/images/pushpins/location/state_on_over.png":"/images/pushpins/location/state_off_over.png";}else{_4d.image=(_42)?"/images/pushpins/location/city_on.png":"/images/pushpins/location/city_off.png";_4d.transparent=(_42)?"/images/pushpins/location/city_on_trans.png":"/images/pushpins/location/city_off_trans.png";_4e=(_42)?"/images/pushpins/location/city_on_over.png":"/images/pushpins/location/city_off_over.png";}
var _4f=new PMmarker(_43,_4d);var _50="";if(_42){_50+="<b>"+_46+"</b><br/>";if(s!="0"){_50+="Single Family: "+s+" properties<br/>";}
if(m!="0"){_50+="Condo/Town Home: "+m+" properties<br/>";}
if(d!="0"){_50+="Multi-Family: "+d+" properties<br/>";}
if(r!="0"){_50+="Rental: "+r+" properties<br/>";}
if(b!="0"){_50+="Mobile Home: "+b+" properties<br/>";}
if(f!="0"){_50+="Foreclosure: "+f+" properties<br/>";}}else{if(_45=="state"){_50+="<b>"+_46+"</b><br/>";}
_50+="Properties Coming Soon<br/>";}
_4f.setTooltip(_50);GEvent.addListener(_4f,"mouseover",function(){_4f.setImage(_4e);});GEvent.addListener(_4f,"mouseout",function(){_4f.setImage(_4d.image);});if(_45!="city"||_42){GEvent.addListener(_4f,"click",function(){updateMapState("lat",this.getPoint().lat());updateMapState("lng",this.getPoint().lng());updateMapState("clickZoom",true);document.property.q.value="";if(_45=="state"){getURL("GET","/browse.boundsxml?level=city&bounds="+mapState.bounds+"&key="+escape(id),true,"loadLocationMarkers","xml",true);}else{document.property.key.value=escape(id);updateList();}});}
return _4f;}
function createPropertyMarker(_51,_52,db,_54,_55,_56,_57,_58,_59){var _5a=new GIcon(baseIcon);_5a.image=(_54!="1")?"/images/pushpins/property/"+markers[db].color+"_"+markers[db].status+".png":"/images/pushpins/property/red_on.png";var _5b=(_54!="1")?"/images/pushpins/property/"+markers[db].color+"_"+markers[db].status+"_over.png":"/images/pushpins/property/red_on_over.png";var _5c=new PMmarker(_51,_5a);if(markers[db].status=="on"||show_my_props){var _5d=_52.split("_");var _5e="<table cellpadding=\"2\" cellspacing=\"2\" border=\"0\" class=\"sm\">";_5e+="<tr>";_5e+="<td valign=\"top\"><img src=\""+media_stem+"media/"+db+"/m/"+_5d[1]+".jpg\" height=\"91\" width=\"134\"></td>";_5e+="<td valign=\"top\">";_5e+="<strong>"+_59+"</strong>";_5e+="<br/>"+_56;_5e+="<br/>"+_57;_5e+="<br/>"+_58;_5e+="</td>";_5e+="</tr>";_5e+="</table>";_5c.setTooltip(_5e);_5c.setHoverImage(_5b);_5c.id=_55;GEvent.addListener(_5c,"click",function(){if(!_5c.detailOpen){getURL("GET","/browse.infowindow"+qs+"&propertyID="+_52+"&number="+(_55+1),true,"showLocationInfo","text",_55);}else{_5c.closeDetailWin();}});}else{var _5e=markers[db].name;_5c.setTooltip(_5e);_5c.setHoverImage(_5b);_5c.id=_55;GEvent.addListener(_5c,"click",function(){switchMLS(db);});}
return _5c;}
function mapLocate(_5f,_60){if(map.getInfoWindow().isHidden()){getURL("GET","/browse.infowindow"+qs+"&propertyID="+_5f+"&number="+(_60+1),true,"showLocationInfo","text",_60);}else{map.getInfoWindow().hide();}}
function displayBoardSelection(){var _61=document.getElementById("board_list");var _62="<p><strong>MLS data currently shown:</strong></p>";_62+="<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" id=\"boardTable\">";var _63=0;for(var _64 in markers){if(_63>3){break;}
if(markers[_64].status=="on"){var _65=(markers[_64].name.length>26)?markers[_64].name.substr(0,26)+"...":markers[_64].name;_65="<span class=\"green\">"+_65+" ("+markers[_64].pins.length+")</span>";}else{var _65=(markers[_64].name.length>26)?markers[_64].name.substr(0,26)+"...":markers[_64].name;_65="<a href=\"#\" onclick=\"switchMLS('"+_64+"');return false;\">"+_65+" ("+markers[_64].pins.length+")</a>";}
_62+="<tr>";_62+="<td width=\"23\"><input type=\"checkbox\" name=\""+_64+"\" checked=\"checked\" onclick=\"togglePins('"+_64+"')\"/></td>";_62+="<td width=\"23\"><img src=\"/images/pushpins/icon_"+markers[_64].color+".gif\" width=\"17\" height=\"17\"></td>";_62+="<td class=\"main\">"+_65+"<br/></td>";_62+="</tr>";var _66=document.getElementsByClassName(_64);for(var k=0;k<_66.length;k++){listing=k;_66[listing].style.position="absolute";_66[listing].style.bottom=(!msiePre7)?"-77px":"-37px";_66[listing].style.right="1px";_66[listing].style.height="17px";_66[listing].style.width="17px";_66[listing].style.backgroundImage="url(/images/pushpins/icon_"+markers[_64].color+".gif)";_66[listing].style.backgroundPosition="0 0";_66[listing].style.backgroundRepeat="no-repeat";}
if(!show_my_props){if(markers[_64].status!="on"){var _68=document.getElementsByClassName(_64+"_links");for(var j=0;j<_68.length;j++){link=j;_68[link].innerHTML="<a href=\"#\" onclick=\"switchMLS('"+_64+"');return false;\">Activate this Property Type</a>";}}}
_63++;}
_62+="</table>";_61.innerHTML=_62;}
function subGPoints(a,b){return new GPoint(a.x-b.x,a.y-b.y);}
function showLocationInfo(_6c,_6d){if(map.getInfoWindow().isHidden()){xml_markers_array[_6d].openInfoWindowHtml(_6c);}else{map.getInfoWindow().hide();}
var _6e=xml_markers_array[_6d].getPoint();subShowLocationInfo(_6e);}
function subShowLocationInfo(_6f){var _70=map.fromContainerPixelToLatLng(new GPoint(0,0),true);var _71=map.fromLatLngToDivPixel(_70);var _72=map.fromLatLngToDivPixel(_6f);var _73=subGPoints(_72,_71);var _74=map.getSize();var x=0;var y=0;if(parseInt(_73.x)<90){x=90-_73.x;}else{if(parseInt(_74.width)-parseInt(_73.x)<164){x=-164+(parseInt(_74.width)-parseInt(_73.x));}}
if(parseInt(_73.y)<335){y=335-_73.y;}
if(x!=0||y!=0){map.panBy(new GSize(x,y));}
var _77=new GMap2(document.getElementById("mini_zoom"));_77.setCenter(_6f,16);_77.addControl(new GMapTypeControl(true));_77.addControl(new GSmallZoomControl());var _78=new GMarker(_6f,baseIcon);_77.addOverlay(_78);}
function tdHover(obj,_7a,_7b){obj.style.backgroundColor=_7a;if(_7a=="#fff"){xml_markers_array[_7b].restoreImage();}else{xml_markers_array[_7b].setImage(xml_markers_array[_7b].hoverImage);}}
function zoomToMarkers(_7c){updateMapState("userZoom",false);updateMapState("autoZoom",true);var _7d=map.getBoundsZoomLevel(_7c);var _7e=_7c.getCenter();map.setCenter(_7e,_7d);}
function getZoom(){return map.getZoom();}
function getBounds(){return map.getBounds();}