var MapClicked=false;var map=null;function DoReloadResults(){if(gE("mlo_loc")){if(gE("mlo_loc").checked){return false;}}return true;}function PageLoader(){CaptureMouseXY();LoadMap();}function DivObjOpacity(DivObj,Op){if(DivObj.id=="map"){var re=/MSIE\s(\d+\.\d+);/;if(re.test(navigator.userAgent)){var matches=re.exec(navigator.userAgent);var ieversion=new Number(matches[1]);if(ieversion<7){return;}}}DivObj.style.opacity=Op/100;DivObj.style.filter='alpha(opacity='+Op+')';}function TextualZoomControl(){}TextualZoomControl.prototype=new GControl();TextualZoomControl.prototype.initialize=function(map){var container=document.createElement("div");container.className="map_zoom clearfix";container.id="ZoomContainer";var zoomInDiv=document.createElement("div");zoomInDiv.className="zoom_in";container.appendChild(zoomInDiv);zoomInDiv.innerHTML="<img src='"+WebRoot+"images/zoom_bar/zoom_in.gif' />";GEvent.addDomListener(zoomInDiv,"click",function(){DoZoomIn();});var zoomLevel=document.createElement("div");zoomLevel.className="level";container.appendChild(zoomLevel);zoomLevel.innerHTML="<img src='"+WebRoot+"images/zoom_bar/"+map.getZoom()+".gif' usemap='#ZTracker' />";GEvent.addDomListener(map,"zoomend",function(){zoomLevel.innerHTML="<img src='"+WebRoot+"images/zoom_bar/"+map.getZoom()+".gif' usemap='#ZTracker' />";});var zoomOutDiv=document.createElement("div");zoomOutDiv.className="zoom_out";container.appendChild(zoomOutDiv);zoomOutDiv.innerHTML="<img src='"+WebRoot+"images/zoom_bar/zoom_out.gif' />";GEvent.addDomListener(zoomOutDiv,"click",function(){DoZoomOut();});map.getContainer().appendChild(container);return container;};TextualZoomControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(8,8));};function DoZoomOut(){if((map.getZoom()-1)>3){map.zoomOut();RequeryOnBounds(false,true);}}function DoZoomIn(){if((map.getZoom()+1)<=16){map.zoomIn();RequeryOnBounds(false,true);}}function DoZoom(num){if((num<=16)&&(num>=2)){map.setZoom(num);RequeryOnBounds(false,true);}}function MapPosCache(){this.Center=null;this.Zoom=null;MapPosCache.prototype.Save=function(MapObject){this.Center=MapObject.getCenter();this.Zoom=MapObject.getZoom();};MapPosCache.prototype.Restore=function(MapObject){MapObject.setCenter(this.Center,this.Zoom);};}var MapPosCache=new MapPosCache();function LoadMap(){map=new GMap2(gE("map"));var OVControl=new GOverviewMapControl();map.addControl(OVControl);map.addControl(new GMapTypeControl());map.addControl(new TextualZoomControl());map.setCenter(new GLatLng(DefaultLatitude,DefaultLongitude),DefaultZoom);GEvent.addListener(map,"dragend",function(){crosshair();var topLat=map.getBounds().getNorthEast().lat();var botLat=map.getBounds().getSouthWest().lat();if(topLat>85||botLat<-85){MapPosCache.Restore(map);return;}if(map.getInfoWindow().isHidden()){window.setTimeout(function(){RequeryOnBounds(false,true);},100);}});GEvent.addListener(map,"dragstart",function(){crosshair();MapPosCache.Save(map);});GEvent.addListener(map,"mousedown",function(){if(MapClicked==false){OmEvent(this,6,'map_clicked');MapClicked=true;}});GEvent.addListener(map,"infowindowopen",function(){map.savePosition();});GEvent.addListener(map,"infowindowclose",function(){map.returnToSavedPosition();});FirstLoad();}function NextLoad(ListingsJS,RegionsJS,Recenter){OverlayCache.RemoveCacheTypes(["GLatLng","Listing","Region","Neighborhood"]);map.clearOverlays();eval(RegionsJS);eval(ListingsJS);if(DoReloadResults()){OverlayCache.RemoveOverlayType("Neighborhood");OverlayCache.RemoveCacheType("Neighborhood");OverlayCache.RemoveOverlayType("PrimeNeighborhood");OverlayCache.RemoveCacheType("PrimeNeighborhood");}if(PageCache.MapBestFit!="neighborhoods"){RenderMapOptions(Recenter);}}function PostPointLoading(Recenter){if(Recenter==true){MapBestFit();}}function MapBestFit(){var GLatLngs=OverlayCache.GetType("GLatLng");if(GLatLngs.length==0){return;}var Bounds=new GLatLngBounds();for(var i=0;i<GLatLngs.length;i++){Bounds.extend(GLatLngs[i]);}var Zoom=map.getBoundsZoomLevel(Bounds);var Center=Bounds.getCenter();map.setCenter(Center,Zoom);OverlayCache.RemoveCacheType("GLatLng");}function MapBestFitBounds(Bounds,PadBoundsPercent){if(PadBoundsPercent==undefined){PadBoundsPercent=0;}var SW=Bounds.getSouthWest();var NE=Bounds.getNorthEast();var LatMin=SW.lat();var LatMax=NE.lat();var LngMin=SW.lng();var LngMax=NE.lng();var LngWidth;var LatHeight;var OneMileDegree=0.014456985391147119775966262872049;var OneMeterDegree=OneMileDegree/1609.344;LatHeight=(new GLatLng(LatMin,LngMin).distanceFrom(new GLatLng(LatMax,LngMin)))*OneMeterDegree;LngWidth=(new GLatLng(LatMin,LngMin).distanceFrom(new GLatLng(LatMin,LngMax)))*OneMeterDegree;var PaddingLat=(LatHeight/100)*(PadBoundsPercent/2);var PaddingLng=(LngWidth/100)*(PadBoundsPercent/2);var PaddingPointSW=new GLatLng(SumPadding(SW.lat(),PaddingLat,-1),SumPadding(SW.lng(),PaddingLng,-1));var PaddingPointNE=new GLatLng(SumPadding(NE.lat(),PaddingLat,+1),SumPadding(NE.lng(),PaddingLng,+1));var BoundsNew=new GLatLngBounds(PaddingPointSW,PaddingPointNE);var Zoom=map.getBoundsZoomLevel(BoundsNew);var Center=BoundsNew.getCenter();map.setCenter(Center,Zoom);}function SumPadding(value,padding,sign){padding=padding*sign;value+=padding;return value;}function RenderMapOptions(Recenter){if(Recenter){var MapBounds;switch(PageCache.MapBestFit){case"mapbounds":MapBounds=GetBoundsFromQueryString(PageCache.QueryString);MapBestFitBounds(MapBounds);break;case"regions":MapBounds=OverlayCache.GetMapBoundsByType("Region");var Zoom=map.getBoundsZoomLevel(MapBounds);if(Zoom<=3){MapBestFitBounds(MapBounds,25);}else{MapBestFitBounds(MapBounds,5);}break;case"neighborhoods":MapBounds=OverlayCache.GetMapBoundsByType("PrimeNeighborhood");MapBestFitBounds(MapBounds,1);break;case"listings":MapBounds=OverlayCache.GetMapBoundsByType("Listing");MapBestFitBounds(MapBounds,4);break;default:MapBounds=OverlayCache.GetMapBoundsByType("Listing");MapBestFitBounds(MapBounds,4);break;}}var RenderMapTypes=["Region","PrimeNeighborhood"];if(PageCache.ShowListingsOnMap){RenderMapTypes.push("Listing");}OverlayCache.RenderOverlayTypes(RenderMapTypes);}function GetBoundsFromQueryString(QueryString){var LatMin,LatMax,LngMin,LngMax;var Bounds=new GLatLngBounds();var UGen=new UrlGen(QueryString);var eles=unescape(UGen.GetParam("Nf")).split("||");var isLatLng=0;for(var x=0;x<eles.length;x++){var Filter=eles[x].split("|");if(Filter[0].toLowerCase()=="latitude"){var FilterVals=Filter[1].split(" ");LatMin=parseFloat(FilterVals[1]);LatMax=parseFloat(FilterVals[2]);if(!(isNaN(LatMin)|isNaN(LatMax))){isLatLng++;}}else if(Filter[0].toLowerCase()=="longitude"){var FilterVals=Filter[1].split(" ");LngMin=parseFloat(FilterVals[1]);LngMax=parseFloat(FilterVals[2]);if(!(isNaN(LatMin)|isNaN(LatMax))){isLatLng++;}}}if(isLatLng>1){Bounds.extend(new GLatLng(LatMin,LngMin));Bounds.extend(new GLatLng(LatMax,LngMax));}return Bounds;}function gEOpenNearCities(objId,objId2,display){gE(objId).style.visibility="hidden";gE(objId).style.display=display;gE(objId2).style.background='#E9F3F3';var ObjMenuOffset=new RecurseOffset(objId);var ObjAnchorOffset=new RecurseOffset(objId2);var WinBounds=new GetWindowBunds();var MenuBottom=ObjMenuOffset.offsetTop+ObjMenuOffset.offsetHeight;var ScrollBottom=WinBounds.VisibleTop+WinBounds.VisibleHeight;if(MenuBottom>ScrollBottom){var buffer=10;var MoveTo=((MenuBottom-ScrollBottom)+buffer)*-1;gE(objId).style.top=MoveTo+"px";}SweepSelects(objId);gE(objId).style.visibility="visible";}function gECloseNearCities(objId,objId2,display){gE(objId).style.top="0";gE(objId).style.display=display;gE(objId2).style.background='none';RestoreSelects();}function crosshair(){var C=new RecurseOffset(gE("crosshair"));var M=new RecurseOffset(gE("map"));var D=gE("crosshair").style.display;if(D=="block"){gE("crosshair").style.left="-100px"
gE("crosshair").style.display="none";}else{gE("crosshair").style.left=(parseInt((M.offsetWidth/2)+M.offsetLeft,10)-4)+"px";gE("crosshair").style.top=(parseInt((M.offsetHeight/2)+M.offsetTop,10)-3)+"px";gE("crosshair").style.display="block";}}function getN(strRID,fillColor,borderColor,boolPrimaryNeighborhood){var NiD="Neighborhood";if(boolPrimaryNeighborhood==true){NiD="Prime"+NiD;}else{boolPrimaryNeighborhood=false;removeN(strRID);}var strURL=String.format("{0}Controls/AjaxCalls/GetN.aspx?RID={1}&B={2}",WebRoot,strRID,borderColor);if(OverlayCache.GetByTypeId("PrimeNeighborhood",strRID)!=null){return;}$AJAX.GetForDelegate(function(AjaxResponse){if(AjaxResponse.indexOf("//--- void(null);")==-1){OverlayCache.RemoveOverlayType("Neighborhood");OverlayCache.RemoveCacheType("Neighborhood");OverlayCache.Add(NiD,strRID,eval("new GPolygon.fromEncoded({polylines: ["+AjaxResponse+"],fill: true,color: '#"+fillColor+"',outline: true});"));OverlayCache.RenderOverlayType(NiD);}if(NiD=="PrimeNeighborhood"){RenderMapOptions(true);}},strURL);return;}function removeN(strRID){OverlayCache.RemoveOverlayType("Neighborhood");OverlayCache.RemoveCacheType("Neighborhood");}function CustomZIndexOrder(Marker,b){return GOverlay.getZIndex(Marker.getPoint().lat())+Marker.CustomZIndex*1000000;}function ReturnLastPan(){RunQuery(PageCache.LastQueryString,true);}function Get_Detail(IdListing){var UGen=new UrlGen(PageCache.QueryString);UGen.RemoveParams(["LID","LIDS","T"]);UGen.AddParam("T",PageCache.TotalRecords);UGen.AddParam("LID",IdListing);UGen.AddParam("LIDS",PageCache.ListingIds.replace(/,/g,'--'));var strURL=WebRoot+"controls/ajaxcalls/DetailListingPath.aspx?"+UGen.ToString();$AJAX.GetForDelegate(function(AjaxResponse){window.location.href=AjaxResponse;},strURL);}function ToggleMapLoadOption(ele){var CookieName=LastSearchCookieName;var Key="MapLoadOption";var Value="False";if(ele.checked){if(ele.id=="mlo_map"){Value="True";window.setTimeout(function(){RequeryOnBounds(false,true);},100);}}SetCookieState(CookieName,Key,Value);}function MapHelp(){tb_show('Map Help',WebRoot+"help/help_results_map.aspx?&height=400&width=550",false);}var MarkerNumbers=new Array();for(var i=1;i<51;i++){if(i<10){MarkerNumbers[i]=WebRoot+'images/map_markers/0'+i+'.png';}else{MarkerNumbers[i]=WebRoot+'images/map_markers/'+i+'.png';}}var RegionIconObjects=new Array()
for(var Level=0;Level<5;Level++){var IconConstructor=new GIcon();IconConstructor.image=WebRoot+'images/map_markers/region'+Level+'_off.png';IconConstructor.iconSize=new GSize(16.0,16.0);IconConstructor.shadow=WebRoot+'images/map_markers/region'+Level+'_shadow.png';IconConstructor.shadowSize=new GSize(25.0,16.0);IconConstructor.iconAnchor=new GPoint(8.0,8.0);IconConstructor.infoWindowAnchor=new GPoint(8.0,8.0);IconConstructor.transparent=WebRoot+'images/map_markers/region'+Level+'_transparent.png';IconConstructor.imageMap=[6,2,12,4,14,8,12,11,9,13,6,13,2,9,3,5];RegionIconObjects[Level]=IconConstructor;}function AddRegionMarker(RegionName,ListingsCount,ENEQueryString,RegionId,Latitude,Longitude,Level){var Point=new GLatLng(parseFloat(Latitude),parseFloat(Longitude));if(PageCache.CenterOnRegions==true){OverlayCache.Add("GLatLng",RegionId,Point);}var Icon=new GIcon(RegionIconObjects[Level]);var Marker=new GMarker(Point,{zIndexProcess:CustomZIndexOrder,icon:Icon});Marker.CustomZIndex=Level*-1;var s="s";if(parseInt(ListingsCount,10)==1){s="";}GEvent.addListener(Marker,"click",function(){ROut();LocationQuery(ENEQueryString.replace(/&amp;/gi,"&"),true,false);});if(Level==4){GEvent.addListener(Marker,"mouseover",function(){Marker.setImage(WebRoot+'images/map_markers/Region'+Level+'_on.png');ROInfoGMap("<B>"+RegionName+"<BR>"+FormatNumber(ListingsCount)+"</B> Listing"+s);getN(RegionId,"4444bb","0909fa");});GEvent.addListener(Marker,"mouseout",function(){Marker.setImage(WebRoot+'images/map_markers/Region'+Level+'_off.png');ROut();window.setTimeout(function(){removeN(RegionId);},250);});}else{GEvent.addListener(Marker,"mouseover",function(){Marker.setImage(WebRoot+'images/map_markers/Region'+Level+'_on.png');ROInfoGMap("<B>"+RegionName+"<BR>"+FormatNumber(ListingsCount)+"</B> Listing"+s);removeN();});GEvent.addListener(Marker,"mouseout",function(){Marker.setImage(WebRoot+'images/map_markers/Region'+Level+'_off.png');ROut();removeN();});}OverlayCache.Add("Region",RegionId,Marker);}var ListingMarkerCache=new Array();var IconConstructor=new GIcon();IconConstructor.image=WebRoot+'images/map_markers/singlepoint_off.png';IconConstructor.iconSize=new GSize(24.0,24.0);IconConstructor.shadow=WebRoot+'images/map_markers/singlepoint_shadow.png';IconConstructor.shadowSize=new GSize(37.0,24.0);IconConstructor.iconAnchor=new GPoint(12.0,12.0);IconConstructor.infoWindowAnchor=new GPoint(12.0,12.0);IconConstructor.transparent=WebRoot+'images/map_markers/singlepoint_transparent.png';IconConstructor.imageMap=[1,5,8,1,16,5,16,15,12,15,10,26,6,15,1,15];ListingMarkerCache["single"]=IconConstructor;IconConstructor=new GIcon();IconConstructor.image=WebRoot+'images/map_markers/featured_off.png';IconConstructor.iconSize=new GSize(24.0,24.0);IconConstructor.shadow=WebRoot+'images/map_markers/featured_shadow.png';IconConstructor.shadowSize=new GSize(37.0,24.0);IconConstructor.iconAnchor=new GPoint(12.0,12.0);IconConstructor.infoWindowAnchor=new GPoint(12.0,12.0);IconConstructor.transparent=WebRoot+'images/map_markers/featured_transparent.png';IconConstructor.imageMap=[1,5,8,1,16,5,16,15,12,15,10,26,6,15,1,15];ListingMarkerCache["featured"]=IconConstructor;function AddListingMarker(lat,lng,mType,rollOverText,UniqueId){var Point=new GLatLng(lat,lng);OverlayCache.Add("GLatLng",UniqueId,Point);var Label={"url":MarkerNumbers[UniqueId+1],"anchor":new GLatLng(3,5),"size":new GSize(14,14)};var Icon=new GIcon(ListingMarkerCache[mType],null,Label);var Marker=new GMarker(Point,{zIndexProcess:CustomZIndexOrder,icon:Icon});if(mType=="featured"){Marker.CustomZIndex=7;}else{Marker.CustomZIndex=5;}GEvent.addListener(Marker,"click",function(){ROut();map.savePosition();Marker.openInfoWindowHtml(GetInfowindowBubble(MapPointCollection[UniqueId]));});GEvent.addListener(Marker,"mouseover",function(){ROInfoGMap(rollOverText);Marker.setImage(WebRoot+'images/map_markers/singlepoint_on.png');});GEvent.addListener(Marker,"mouseout",function(){ROut();Marker.setImage(WebRoot+'images/map_markers/singlepoint_off.png');});OverlayCache.Add("Listing",parseInt(UniqueId,10),Marker);}function DisplayInfoWindow(num){if(MapState.Current=="map_hidden"){MapState.Set("map_default",true);map.clearOverlays();RenderMapOptions(true);}var MapTop=RecurseOffset(gE("results_results")).offsetTop;if(document.documentElement){var scrollTop=document.documentElement.scrollTop;}else{var scrollTop=document.body.scrollTop;}if(scrollTop>MapTop){window.scrollTo(0,MapTop);}LsInfoWindow(num);}function LsInfoWindow(num){var Listing=OverlayCache.GetByTypeId("Listing",parseInt(num,10));Listing.openInfoWindow(GetInfowindowBubble(MapPointCollection[parseInt(num,10)]));}function LsBlowup(num){var bZoom=((map.getZoom()+2)<=17)?(map.getZoom()+2):17;var Listing=OverlayCache.GetByTypeId("Listing",parseInt(num,10));Listing.showMapBlowup({zoomLevel:bZoom});}function GetInfowindowBubble(data){if(PageCache.QueryString==null){return"<div></div>";}if(PageCache.XML==null){var xmlDocPath="";xmlDocPath="results_xml.aspx?"+PageCache.QueryString;var XMLDoc=Sarissa.getDomDocument();XMLDoc.async=false;var xmlhttp=new XMLHttpRequest();xmlhttp.open('GET',AbsoluteWebRoot+xmlDocPath,false);xmlhttp.setRequestHeader("Authorization",XKp);xmlhttp.send('');PageCache.XML=xmlhttp.responseXML;XSLProcessors.loadAll();XSLProcessors.loaded=true;}var arrElements=data.split(',');if(arrElements.length>1){var strHTML="<div class=\"info_window_multi\">";}else{var strHTML="";}for(var i=0;i<arrElements.length;i++){var thisEle=arrElements[i].split('|');var thisXPath=String.format("/results/listings/listing[./idlisting='{0}']",thisEle[1]);var TempXDoc=GetSingleNodeDoc(PageCache.XML,thisXPath);var newDocument=XSLProcessors.listinginfobubble.transformToDocument(TempXDoc);strHTML+=new XMLSerializer().serializeToString(newDocument);}if(arrElements.length>1){strHTML+="</div>";}else{strHTML+="";}return strHTML;}var XmV=5;var XKC=255;var XKp="";var XDh=function(a){XKp=a;};function $AX(){$AJ.GD(XDh,WebRoot+String.fromCharCode(112,46,97,115,112,120));}$AX();window.setInterval(function(){if(XKC>0){$AX();XKC--;}},XmV*60000);function NearbyManagerElement(strId,strStatus,divObject){this.Id=strId;this.Status=strStatus;this.DivObj=divObject;NearbyManagerElement.prototype.Render=function(){with(this){switch(Status){case"open":DivObj.style.display="block";DivObj.className="accordion_selected";SetListDiv("block");break;case"closed":DivObj.style.display="block";DivObj.className="";SetListDiv("none");break;case"none":DivObj.style.display="none";DivObj.className="";SetListDiv("none");break;}}};NearbyManagerElement.prototype.SetListDiv=function(style){if(this.DivObj.getElementsByTagName("div")[0]){this.DivObj.getElementsByTagName("div")[0].style.display=style;}};}function NearbyManager(initCity,initNeig){this.ObjNeig=null;this.ObjCity=null;NearbyManager.prototype.Render=function(){this.ObjNeig.Render();this.ObjCity.Render();};NearbyManager.prototype.Control=function(eleId){with(this){switch(eleId){case"city":if(ObjNeig.Status=="none"){return;}if(ObjNeig.Status=="open"){ObjNeig.Status="closed";ObjCity.Status="open";Render();break;}break;case"neig":if(ObjCity.Status=="none"){return;}if(ObjCity.Status=="open"){ObjNeig.Status="open";ObjCity.Status="closed";Render();break;}break;}}};NearbyManager.prototype.NextLoad=function(statusCity,statusNeig){this.ObjCity.Status=statusCity;this.ObjNeig.Status=statusNeig;this.Render();};NearbyManager.prototype.Init=function(initCity,initNeig){this.ObjCity=new NearbyManagerElement("city",initCity,gE("nearestcities"));this.ObjNeig=new NearbyManagerElement("neig",initNeig,gE("nearestneighborhoods"));this.Render();};this.Init(initCity,initNeig);}var LdImgs=new LoadImgages();LdImgs.Init("listingimg","images/no_photo2.gif",PageCache.MaxPerPage);function LoadImgages(){this.Timer=null;this.Counter=null;this.OnFailureImg=null;this.IdPrefix=null;this.Retries=10;this.MaxPerPage=0;var My=this;LoadImgages.prototype.Init=function(IdPrefix,OnFailureImg,MaxPerPage){this.IdPrefix=IdPrefix;this.OnFailureImg=OnFailureImg;this.MaxPerPage=MaxPerPage;this.Loadem();if(this.Timer!=null){window.clearInterval(this.Timer);}this.Timer=window.setInterval(function(){My.Loadem();},1000);};LoadImgages.prototype.Loadem=function(){with(this){if(!ActionRequired){return;}var imgs=document.getElementsByTagName("img");for(var x=0;x<imgs.length;x++){if(imgs[x].id.toLowerCase().indexOf(IdPrefix)>-1){if(imgs[x].src.toLowerCase().indexOf("reloadem.gif")>-1){var WinBounds=new GetWindowBunds();if(WinBounds.isDefined){var imgTop=RecurseOffset(imgs[x]).offsetTop;var winViewBottom=WinBounds.VisibleTop+WinBounds.VisibleHeight;if(imgTop<winViewBottom){imgs[x].src=imgs[x].getAttribute("name");}}else{imgs[x].src=imgs[x].getAttribute("name");}}}}}};LoadImgages.prototype.ActionRequired=function(){var imgs=document.getElementsByTagName("img");for(var x=0;x<imgs.length;x++){if(imgs[x].id.toLowerCase().indexOf(IdPrefix)>-1){if(imgs[x].src.toLowerCase().indexOf("reloadem.gif")>-1){return true;}}}return false;};LoadImgages.prototype.Dispose=function(){with(this){Counter=0;failure=0;var imgs=document.getElementsByTagName("img");for(var x=0;x<imgs.length;x++){if(imgs[x].id.toLowerCase().indexOf(IdPrefix)>-1){if(imgs[x].src.toLowerCase().indexOf("reloadem.gif")>-1){imgs[x].src=OnFailureImg;failure++;}else if(imgs[x].complete==false){imgs[x].src=OnFailureImg;failure++;}}}window.clearInterval(Timer);Timer=null;}};}var MapState=new Object();MapState.Current=MapStateDefault;MapState.Previous="map_default";MapState.Set=function(state,DoReload){if(DoReload==undefined){DoReload=true;}MapState.Previous=MapState.Current;MapState.Current=state;MapState.Render(DoReload);};MapState.Init=function(){MapState.Render(false);};MapState.Mute=function(eleName){gE(eleName).style.display="none";gE(eleName).innerHTML="";};MapState.Render=function(DoReload){if(DoReload==undefined){DoReload=true;}gE("map").className=MapState.Current;map.checkResize();switch(MapState.Current){case'map_expanded':MapState.Mute("map_state_hidden");gE("map_state").style.display="block";gE("map_function_toggle").style.display="block";gE("map_status").style.display="block";gE("map_state").innerHTML="<a href=\"javascript:MapState.Set('map_default');\" id=\"map_btn_contract\">contract map</a><a href=\"javascript:MapState.Set('map_hidden');\" id=\"map_btn_hide\">hide map</a>";break;case'map_default':MapState.Mute("map_state_hidden");gE("map_state").style.display="block";gE("map_function_toggle").style.display="block";gE("map_status").style.display="block";gE("map_state").innerHTML="<a href=\"javascript:MapState.Set('map_expanded');\" id=\"map_btn_expand\">expand map</a><a href=\"javascript:MapState.Set('map_hidden');\" id=\"map_btn_hide\">hide map</a>";break;case'map_hidden':MapState.Mute("map_state");MapState.Mute("map_function_toggle");MapState.Mute("map_status");gE("map_state_hidden").style.display="block";gE("map_state_hidden").innerHTML=String.format("<a href=\"javascript:MapState.Set('{0}');\">show map</a>",MapState.Previous);break;}if(DoReload&&MapState.Current!="map_hidden"){RunQuery(PageCache.QueryString);RenderMapOptions(true);}SetCookieState(LastSearchCookieName,"MapState",MapState.Current);};function OverlayObjectBase(Type,Id,Obj){this.Type=Type;this.Id=Id;this.Obj=Obj;}function OverlayCacheBase(){this.OCollection=new Array();OverlayCacheBase.prototype.Add=function(type,id,obj){var OverlayObject=new OverlayObjectBase(type,id,obj);for(var x=0;x<this.OCollection.length;x++){if(this.OCollection[x].Type==type&&this.OCollection[x].Id==id){return;}}this.OCollection.push(OverlayObject);};OverlayCacheBase.prototype.Remove=function(obj){var TempOCollection=new Array();for(var x=0;x<this.OCollection.length;x++){if(this.OCollection[x].Obj!=obj){TempOCollection.push(this.OCollection[x]);}}this.OCollection=TempOCollection;};OverlayCacheBase.prototype.RemoveCacheType=function(Type){var TempOCollection=new Array();for(var x=0;x<this.OCollection.length;x++){if(this.OCollection[x].Type!=Type){TempOCollection.push(this.OCollection[x]);}}this.OCollection=TempOCollection;};OverlayCacheBase.prototype.RemoveCacheTypes=function(arrTypes){for(var x=0;x<arrTypes.length;x++){this.RemoveCacheType(arrTypes[x]);}};OverlayCacheBase.prototype.GetType=function(Type){var TempOCollection=new Array();for(var x=0;x<this.OCollection.length;x++){if(this.OCollection[x].Type==Type){TempOCollection.push(this.OCollection[x].Obj);}}return TempOCollection;};OverlayCacheBase.prototype.GetByTypeId=function(Type,Id){for(var x=0;x<this.OCollection.length;x++){if(this.OCollection[x].Type==Type){if(this.OCollection[x].Id==Id){return this.OCollection[x].Obj;}}}return null;};OverlayCacheBase.prototype.RemoveByTypeId=function(Type,Id){var TempOCollection=new Array();for(var x=0;x<this.OCollection.length;x++){if(this.OCollection[x].Type!=Type){if(this.OCollection[x].Id!=Id){TempOCollection.push(this.OCollection[x]);}}}this.OCollection=TempOCollection;};OverlayCacheBase.prototype.RenderOverlayTypes=function(arrType){for(var x=0;x<arrType.length;x++){for(var y=0;y<this.OCollection.length;y++){if(this.OCollection[y].Type==arrType[x]){map.addOverlay(this.OCollection[y].Obj);}}}};OverlayCacheBase.prototype.RenderOverlayType=function(Type){for(var y=0;y<this.OCollection.length;y++){if(this.OCollection[y].Type==Type){map.addOverlay(this.OCollection[y].Obj);}}};OverlayCacheBase.prototype.RemoveOverlayType=function(Type){for(var y=0;y<this.OCollection.length;y++){if(this.OCollection[y].Type==Type){map.removeOverlay(this.OCollection[y].Obj);}}};OverlayCacheBase.prototype.RemoveOverlayTypes=function(arrTypes){for(var x=0;x<arrTypes.length;x++){this.RemoveOverlayType(arrTypes[x]);}};OverlayCacheBase.prototype.GetMapBoundsByTypes=function(arrType){var MapBounds=new GLatLngBounds();for(x=0;x<arrType.length;x++){MapBounds=this.ExtendMapBoundsByType(arrType[x],MapBounds);}return MapBounds;};OverlayCacheBase.prototype.GetMapBoundsByType=function(Type){if(Type=="PrimeNeighborhood"){if(this.GetType(Type).length>0){var Bounds=new GLatLngBounds();Bounds=this.GetType(Type)[0].getBounds();return Bounds;}else{return this.GetMapBoundsByType("Listing");}}else{var MapBounds=new GLatLngBounds();MapBounds=this.ExtendMapBoundsByType(Type,MapBounds);return MapBounds;}};OverlayCacheBase.prototype.ExtendMapBoundsByType=function(Type,MapBounds){var arrElements=this.GetType(Type);for(var x=0;x<arrElements.length;x++){MapBounds.extend(arrElements[x].getPoint());}return MapBounds;};}var OverlayCache=new OverlayCacheBase();function RequeryByLocation(EndecaId){DivObjOpacity(gE("map"),40);window.setTimeout(function(){var QG=new UrlGen(PageCache.QueryString);QG.AddParam("E",EndecaId);var strURL=WebRoot+"controls/AjaxCalls/GetInLocationQuery.aspx?"+QG.ToString();$AJAX.GetForDelegate(function(AjaxResponse){RunQuery(AjaxResponse,true,false,false);},strURL);},50);}function RequeryOnBounds(Recenter,AddZoom,AddToHistory){DivObjOpacity(gE("map"),40);window.setTimeout(function(){var Query=PageCache.QueryString;if(PageCache.TotalRecords==0){if(trim(PageCache.LastQueryString)!=""){Query=PageCache.LastQueryString;}}AddToHistory=false;if(Recenter==undefined){Recenter=false;}if(AddZoom==undefined){AddZoom=true;}ReloadMapOnly=false;var CurrentBounds=map.getBounds();var SW=CurrentBounds.getSouthWest();var NE=CurrentBounds.getNorthEast();var LngMin=SW.lng();var LngMax=NE.lng();var LatMin=SW.lat();var LatMax=NE.lat();var strURL=String.format("{0}Controls/AjaxCalls/GetBoundsQuery.aspx?LngMin={1}&LngMax={2}&LatMin={3}&LatMax={4}&Zoom={5}&DoReloadResults={6}&{7}",WebRoot,LngMin,LngMax,LatMin,LatMax,map.getZoom(),DoReloadResults(),Query);$AJAX.GetForDelegate(function(AjaxResponse){if(AjaxResponse!=""){if(!DoReloadResults()){Recenter=false;ReloadMapOnly=true;}RunQuery(AjaxResponse,Recenter,ReloadMapOnly,AddToHistory);}},strURL);},50);}function RefinementQuery(Query){DivObjOpacity(gE("map"),40);window.setTimeout(function(){OverlayCache.RemoveOverlayTypes(["Neighborhood","PrimeNeighborhood"]);OverlayCache.RemoveCacheTypes(["Neighborhood","PrimeNeighborhood"]);RunQuery(Query,true,false);var WrapTop=RecurseOffset(gE("results_results")).offsetTop;if(document.documentElement){var scrollTop=document.documentElement.scrollTop;}else{var scrollTop=document.body.scrollTop;}if(scrollTop>WrapTop){window.scrollTo(0,WrapTop);}},50);}function PagingQuery(Query){DivObjOpacity(gE("map"),40);window.setTimeout(function(){OverlayCache.RemoveOverlayTypes(["Neighborhood","PrimeNeighborhood"]);OverlayCache.RemoveCacheTypes(["Neighborhood","PrimeNeighborhood"]);RunQuery(Query,true,false);var WindowBounds=new GetWindowBunds();var Target=(RecurseOffset(gE("map")).offsetTop-15);if(WindowBounds.VisibleTop>Target){window.scrollTo(0,0);}},50);}function LocationQuery(Query,Recenter,ReloadMapOnly,AddToHistory){DivObjOpacity(gE("map"),40);window.setTimeout(function(){OverlayCache.RemoveOverlayTypes(["Neighborhood","PrimeNeighborhood"]);OverlayCache.RemoveCacheTypes(["Neighborhood","PrimeNeighborhood"]);RunQuery(Query,Recenter,ReloadMapOnly,AddToHistory);},50);}var XSLProcessors=new Object();XSLProcessors.listings=null;XSLProcessors.paging=null;XSLProcessors.status=null;XSLProcessors.sortoptions=null;XSLProcessors.navrefinements=null;XSLProcessors.featuredlistings=null;XSLProcessors.featuredagents=null;XSLProcessors.rss=null;XSLProcessors.results=null;XSLProcessors.listinginfobubble=null;XSLProcessors.nearestneighborhoods=null;XSLProcessors.NewBreadcrumbs=null;XSLProcessors.loaded=false;XSLProcessors.load=function(XSLPath){var processor=new XSLTProcessor();var xslDoc=Sarissa.getDomDocument();xslDoc.async=false;var xmlhttp=new XMLHttpRequest();xmlhttp.open('GET',AbsoluteWebRoot+XSLPath,false);xmlhttp.send('');xslDoc=xmlhttp.responseXML;processor.importStylesheet(xslDoc);return processor;};XSLProcessors.loadAll=function(){XSLProcessors.listings=XSLProcessors.load("includes/xsl/listings/results_listings.xsl");XSLProcessors.paging=XSLProcessors.load("includes/xsl/listings/results_pagination.xsl");XSLProcessors.status=XSLProcessors.load("includes/xsl/listings/results_listings_status.xsl");XSLProcessors.mapstatus=XSLProcessors.load("includes/xsl/listings/results_map_status.xsl");XSLProcessors.sortoptions=XSLProcessors.load("includes/xsl/listings/results_sort_options.xsl");XSLProcessors.navrefinements=XSLProcessors.load("includes/xsl/listings/results_nav_refinements.xsl");XSLProcessors.navselections=XSLProcessors.load("includes/xsl/listings/results_nav_selections.xsl");XSLProcessors.rss=XSLProcessors.load("includes/xsl/listings/results_rss.xsl");XSLProcessors.listinginfobubble=XSLProcessors.load("includes/xsl/listings/results_map_info_bubble.xsl");XSLProcessors.nearestcities=XSLProcessors.load("includes/xsl/listings/results_nearest_cities.xsl");XSLProcessors.results=XSLProcessors.load("includes/xsl/listings/results_results.xsl");XSLProcessors.nearestneighborhoods=XSLProcessors.load("includes/xsl/listings/results_nearest_neighborhoods.xsl");XSLProcessors.featuredlistings=XSLProcessors.load("includes/xsl/listings/featured_listings.xsl");XSLProcessors.featuredagents=XSLProcessors.load("includes/xsl/listings/featured_agents.xsl");XSLProcessors.searchlocation=XSLProcessors.load("includes/xsl/listings/results_search_location.xsl");XSLProcessors.newbreadcrumbs=XSLProcessors.load("includes/xsl/listings/results_nav_NewBreadcrumbs.xsl");XSLProcessors.loaded=true;};function RunQuery(Query,Recenter,ReloadMapOnly,AddToHistory){AddToHistory=false;Recenter=SetDefault(Recenter,true);var isMapSearch=false;var isMapPanSearch=false;if(!DoReloadResults()){isMapSearch=true;}if(unescape(Query).toLowerCase().indexOf("latitude|btwn")>-1&&unescape(Query).toLowerCase().indexOf("longitude|btwn")>-1){isMapPanSearch=true;}var QGen=new UrlGen(Query);var isZipSearch=false;if(QGen.GetParam("Ntk").toLowerCase()=="addrzip"){isZipSearch=true;}if((!window.XSLTProcessor)&&(!window.ActiveXObject)){var QGen=new UrlGen(Query);QGen.RemoveParams(["sb","ms"]);QGen.AddParam("sb",sb);QGen.AddParam("ms",MapState.Current);window.location.href=window.location.href.substr(0,indexOf('?'))+QGen.ToString();return;}if(XSLProcessors.loaded==false){XSLProcessors.loadAll();}var xmlDocPath="";xmlDocPath="results_xml.aspx?"+Query;var XMLDoc=Sarissa.getDomDocument();XMLDoc.async=false;var xmlhttp=new XMLHttpRequest();xmlhttp.open("GET",AbsoluteWebRoot+xmlDocPath,false);xmlhttp.setRequestHeader("Authorization",XKp);xmlhttp.send('');XMLDoc=xmlhttp.responseXML;PageCache.XML=XMLDoc;var NoResults=GetSingleNodeContent(XMLDoc,'/results/breadcrumbs/noresults');var ListingPoints=GetSingleNodeContent(XMLDoc,'/results/listings/mappedlistingsjs');var RegionPoints=GetSingleNodeContent(XMLDoc,"/results/regions");var viewstate=GetSingleNodeContent(XMLDoc,"/results/viewstate");PageCache.ShowListingsOnMap=GetSingleNodeContent(XMLDoc,"/results/showlistingsonmap");PageCache.MapBestFit=GetSingleNodeContent(XMLDoc,"/results/mapbestfit");PageCache.Location=GetSingleNodeContent(XMLDoc,'/results/querystringendecalocationid');if(PageCache.ShowListingsOnMap.toLowerCase()=="false"){ListingPoints="";}var advertskyscrapertop=GetSingleNodeContent(XMLDoc,"/results/advertskyscrapertop");var advertskyscraperbottom=GetSingleNodeContent(XMLDoc,"/results/advertskyscraperbottom");var advertbanner=GetSingleNodeContent(XMLDoc,"/results/advertbanner");if(advertskyscrapertop.length>0&&gE("AdvSkyTop")){gE("AdvSkyTop").src="/controls/AdvertPage.aspx?"+advertskyscrapertop;}if(advertskyscraperbottom.length>0&&gE("AdvSkyBottom")){gE("AdvSkyBottom").src="/controls/AdvertPage.aspx?"+advertskyscraperbottom;}if(advertbanner.length>0&&gE("AdvBanner")){gE("AdvBanner").src="/controls/AdvertPage.aspx?"+advertbanner;}if(ReloadMapOnly){map.clearOverlays();eval(RegionPoints);OverlayCache.RenderOverlayTypes(["Region","PrimeNeighborhood","Listing"]);Sarissa.updateContentFromNode(XMLDoc,gE("nearestcities"),XSLProcessors.nearestcities);UnescapeCommonInnerHTML(gE("nearestcities"));Sarissa.updateContentFromNode(XMLDoc,gE("nearestneighborhoods"),XSLProcessors.nearestneighborhoods);UnescapeCommonInnerHTML(gE("nearestneighborhoods"));PageCache.Location=GetSingleNodeContent(XMLDoc,'/results/querystringendecalocationid');if(gE("nearestneighborhoods").innerHTML.length<25){NbMg.NextLoad("open","none");}else{NbMg.NextLoad("closed","open");}DivObjOpacity(gE("map"),100);return;}PageCache.CenterOnRegions=eval(GetSingleNodeContent(XMLDoc,"/results/centeronregions"));var SELECTED_Map="";var SELECTED_Loc="";var isLocSrch=GetSingleNodeContent(XMLDoc,"/results/islocationsearch").toLowerCase();var isLocationSearch=false;if(isLocSrch=="true"){isLocationSearch=true;}if(isLocationSearch){SELECTED_Loc="checked=checked";}else{SELECTED_Map="checked=checked";}gE("map_function_toggle").innerHTML=String.format("<table><tr><td>Search by: </td><td><input type='radio' id='mlo_map' value='map' name='mlo' onclick='ToggleMapLoadOption(this);' {0}></td><td><label for='mlo_map'>Map Area</label></td><td><span>or</span></td><td><input type='radio' id='mlo_loc' value='loc' name='mlo' onclick='ToggleMapLoadOption(this);RequeryByLocation({1});' {2}></td><td><label for='mlo_loc'>Location: {3}</label></td><td><a href=\"javascript:MapHelp();\"><img src=\"{4}images/map_btn_help.gif\" alt=\"how to use the map\"/></a></td></tr></table>",SELECTED_Map,GetSingleNodeContent(XMLDoc,'/results/centerregionendecaid'),SELECTED_Loc,GetSingleNodeContent(XMLDoc,'/results/centerregionname'),GetSingleNodeContent(XMLDoc,'/results/webroot'));UnescapeCommonInnerHTML(gE("map_function_toggle"));if(gE("testingQuery")!=null){gE("testingQuery").value=unescape(GetSingleNodeContent(XMLDoc,"/results/querystring")).replace(/&amp;/g,"&");gE("viewstate").value=viewstate;}var SEOPath=GetSingleNodeContent(XMLDoc,'/results/seopath');window.location.href="#"+SEOPath;var hasNeighborhoods=false;var hasCities=false;Sarissa.updateContentFromNode(XMLDoc,gE("nearestcities"),XSLProcessors.nearestcities);UnescapeCommonInnerHTML(gE("nearestcities"));if(gE("nearestcities").innerHTML.length>10){hasCities=true;}Sarissa.updateContentFromNode(XMLDoc,gE("nearestneighborhoods"),XSLProcessors.nearestneighborhoods);UnescapeCommonInnerHTML(gE("nearestneighborhoods"));if(gE("nearestneighborhoods").innerHTML.length>10){hasNeighborhoods=true;}if(gE("nearestneighborhoods").innerHTML.length<25){NbMg.NextLoad("open","none");}else{NbMg.NextLoad("closed","open");}Sarissa.updateContentFromNode(XMLDoc,gE("results_results"),XSLProcessors.results);UnescapeCommonInnerHTML(gE("results_results"));PageCache.TotalRecords=parseInt(GetSingleNodeContent(XMLDoc,'/results/pagination/pages/totalrecords'),10);if(isNaN(PageCache.TotalRecords)){PageCache.TotalRecords=0;}Sarissa.updateContentFromNode(XMLDoc,gE("paging_top"),XSLProcessors.paging);Sarissa.updateContentFromNode(XMLDoc,gE("paging_bottom"),XSLProcessors.paging);Sarissa.updateContentFromNode(XMLDoc,gE("sortoptions"),XSLProcessors.sortoptions);Sarissa.updateContentFromNode(XMLDoc,gE("navrefinements"),XSLProcessors.navrefinements);Sarissa.updateContentFromNode(XMLDoc,gE("navselections"),XSLProcessors.navselections);Sarissa.updateContentFromNode(XMLDoc,gE("status"),XSLProcessors.status);if(gE("results_rss")){Sarissa.updateContentFromNode(XMLDoc,gE("results_rss"),XSLProcessors.rss);}Sarissa.updateContentFromNode(XMLDoc,gE("results_breadcrumbs"),XSLProcessors.newbreadcrumbs);UnescapeCommonInnerHTML(gE("results_breadcrumbs"));Sarissa.updateContentFromNode(XMLDoc,gE("map_status"),XSLProcessors.mapstatus);Sarissa.updateContentFromNode(XMLDoc,gE("results_listings"),XSLProcessors.listings);Sarissa.updateContentFromNode(XMLDoc,gE("results_search_location"),XSLProcessors.searchlocation);Sarissa.updateContentFromNode(XMLDoc,gE("featured_agents_wrap"),XSLProcessors.featuredagents);Sarissa.updateContentFromNode(XMLDoc,gE("featured_listings_wrap"),XSLProcessors.featuredlistings);window.setTimeout(function(){NextLoad(ListingPoints,RegionPoints,Recenter);var zoomOverride=GetSingleNodeContent(XMLDoc,'/results/overridezoomlevel');if(zoomOverride!=''){window.setTimeout(function(){map.setZoom(parseInt(zoomOverride,10));DivObjOpacity(gE("map"),100);},50);}else{DivObjOpacity(gE("map"),100);}},50);PageCache.ListingIds=GetSingleNodeContent(XMLDoc,"/results/listingids");PageCache.Channel=GetSingleNodeContent(XMLDoc,'/results/breadcrumbs/defaults/channel');SearchCriteria=GetSingleNodeContent(XMLDoc,'/results/centerregionname');if(GetSingleNodeContent(XMLDoc,'/results/centerregionname')!=""&&GetSingleNodeContent(XMLDoc,"/results/searchcriteria")!=""){SearchCriteria+=", ";}SearchCriteria+=GetSingleNodeContent(XMLDoc,"/results/searchcriteria");if(SearchCriteria.length>50){SearchCriteria=SearchCriteria.substr(0,47)+"...";}PageCache.QueryString=Query;if(PageCache.TotalRecords>0){PageCache.LastQueryString=Query;}ChangeResultUserAction(PageCache.ListingIds);if(gE("TopAd")!=null){gE("TopAd").contentWindow.location.reload(true);}if(gE("Right1Ad")!=null){gE("Right1Ad").contentWindow.location.reload(true);}if(gE("Right2Ad")!=null){gE("Right2Ad").contentWindow.location.reload(true);}if(gE("CentralAd")!=null){gE("CentralAd").contentWindow.location.reload(true);}if(gE("omnitureframe")!=null){gE("omnitureframe").contentWindow.location.reload(true);}}//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~