/*
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.7.0
*/
YAHOO.util.History=(function(){var C=null;var K=null;var F=false;var D=[];var B=[];function I(){var M,L;L=top.location.href;M=L.indexOf("#");return M>=0?L.substr(M+1):null;}function A(){var M,N,O=[],L=[];for(M in D){if(YAHOO.lang.hasOwnProperty(D,M)){N=D[M];O.push(M+"="+N.initialState);L.push(M+"="+N.currentState);}}K.value=O.join("&")+"|"+L.join("&");if(YAHOO.env.ua.webkit){K.value+="|"+B.join(",");}}function H(L){var Q,R,M,O,P,T,S,N;if(!L){for(M in D){if(YAHOO.lang.hasOwnProperty(D,M)){O=D[M];O.currentState=O.initialState;O.onStateChange(unescape(O.currentState));}}return;}P=[];T=L.split("&");for(Q=0,R=T.length;Q<R;Q++){S=T[Q].split("=");if(S.length===2){M=S[0];N=S[1];P[M]=N;}}for(M in D){if(YAHOO.lang.hasOwnProperty(D,M)){O=D[M];N=P[M];if(!N||O.currentState!==N){O.currentState=N||O.initialState;O.onStateChange(unescape(O.currentState));}}}}function J(O){var L,N;L='<html><body><div id="state">'+O+"</div></body></html>";try{N=C.contentWindow.document;N.open();N.write(L);N.close();return true;}catch(M){return false;}}function G(){var O,L,N,M;if(!C.contentWindow||!C.contentWindow.document){setTimeout(G,10);return;}O=C.contentWindow.document;L=O.getElementById("state");N=L?L.innerText:null;M=I();setInterval(function(){var U,Q,R,S,T,P;O=C.contentWindow.document;L=O.getElementById("state");U=L?L.innerText:null;T=I();if(U!==N){N=U;H(N);if(!N){Q=[];for(R in D){if(YAHOO.lang.hasOwnProperty(D,R)){S=D[R];Q.push(R+"="+S.initialState);}}T=Q.join("&");}else{T=N;}top.location.hash=T;M=T;A();}else{if(T!==M){M=T;J(T);}}},50);F=true;YAHOO.util.History.onLoadEvent.fire();}function E(){var S,U,Q,W,M,O,V,P,T,N,L,R;Q=K.value.split("|");if(Q.length>1){V=Q[0].split("&");for(S=0,U=V.length;S<U;S++){W=V[S].split("=");if(W.length===2){M=W[0];P=W[1];O=D[M];if(O){O.initialState=P;}}}T=Q[1].split("&");for(S=0,U=T.length;S<U;S++){W=T[S].split("=");if(W.length>=2){M=W[0];N=W[1];O=D[M];if(O){O.currentState=N;}}}}if(Q.length>2){B=Q[2].split(",");}if(YAHOO.env.ua.ie){if(typeof document.documentMode==="undefined"||document.documentMode<8){G();}else{YAHOO.util.Event.on(top,"hashchange",function(){var X=I();H(X);A();});F=true;YAHOO.util.History.onLoadEvent.fire();}}else{L=history.length;R=I();setInterval(function(){var Z,X,Y;X=I();Y=history.length;if(X!==R){R=X;L=Y;H(R);A();}else{if(Y!==L&&YAHOO.env.ua.webkit){R=X;L=Y;Z=B[L-1];H(Z);A();}}},50);F=true;YAHOO.util.History.onLoadEvent.fire();}}return{onLoadEvent:new YAHOO.util.CustomEvent("onLoad"),onReady:function(M,N,L){if(F){setTimeout(function(){var O=window;if(L){if(L===true){O=N;}else{O=L;}}M.call(O,"onLoad",[],N);},0);}else{YAHOO.util.History.onLoadEvent.subscribe(M,N,L);}},register:function(O,L,Q,R,N){var P,M;if(typeof O!=="string"||YAHOO.lang.trim(O)===""||typeof L!=="string"||typeof Q!=="function"){throw new Error("Missing or invalid argument");}if(D[O]){return;}if(F){throw new Error("All modules must be registered before calling YAHOO.util.History.initialize");}O=escape(O);L=escape(L);P=null;if(N===true){P=R;}else{P=N;}M=function(S){return Q.call(P,S,R);};D[O]={name:O,initialState:L,currentState:L,onStateChange:M};},initialize:function(L,M){if(F){return;}if(YAHOO.env.ua.opera&&typeof history.navigationMode!=="undefined"){history.navigationMode="compatible";}if(typeof L==="string"){L=document.getElementById(L);}if(!L||L.tagName.toUpperCase()!=="TEXTAREA"&&(L.tagName.toUpperCase()!=="INPUT"||L.type!=="hidden"&&L.type!=="text")){throw new Error("Missing or invalid argument");}K=L;if(YAHOO.env.ua.ie&&(typeof document.documentMode==="undefined"||document.documentMode<8)){if(typeof M==="string"){M=document.getElementById(M);}if(!M||M.tagName.toUpperCase()!=="IFRAME"){throw new Error("Missing or invalid argument");}C=M;}YAHOO.util.Event.onDOMReady(E);},navigate:function(M,N){var L;if(typeof M!=="string"||typeof N!=="string"){throw new Error("Missing or invalid argument");}L={};L[M]=N;return YAHOO.util.History.multiNavigate(L);},multiNavigate:function(M){var L,N,P,O,Q;if(typeof M!=="object"){throw new Error("Missing or invalid argument");}if(!F){throw new Error("The Browser History Manager is not initialized");}for(N in M){if(!D[N]){throw new Error("The following module has not been registered: "+N);}}L=[];for(N in D){if(YAHOO.lang.hasOwnProperty(D,N)){P=D[N];if(YAHOO.lang.hasOwnProperty(M,N)){O=M[unescape(N)];}else{O=unescape(P.currentState);}N=escape(N);O=escape(O);L.push(N+"="+O);}}Q=L.join("&");if(YAHOO.env.ua.ie&&(typeof document.documentMode==="undefined"||document.documentMode<8)){return J(Q);}else{top.location.hash=Q;if(YAHOO.env.ua.webkit){B[history.length]=Q;A();}return true;}},getCurrentState:function(L){var M;if(typeof L!=="string"){throw new Error("Missing or invalid argument");}if(!F){throw new Error("The Browser History Manager is not initialized");}M=D[L];if(!M){throw new Error("No such registered module: "+L);}return unescape(M.currentState);},getBookmarkedState:function(Q){var P,M,L,S,N,R,O;if(typeof Q!=="string"){throw new Error("Missing or invalid argument");}L=top.location.href.indexOf("#");if(L>=0){S=top.location.href.substr(L+1);N=S.split("&");for(P=0,M=N.length;P<M;P++){R=N[P].split("=");if(R.length===2){O=R[0];if(O===Q){return unescape(R[1]);}}}}return null;},getQueryStringParameter:function(Q,N){var O,M,L,S,R,P;N=N||top.location.href;L=N.indexOf("?");S=L>=0?N.substr(L+1):N;L=S.lastIndexOf("#");S=L>=0?S.substr(0,L):S;R=S.split("&");for(O=0,M=R.length;O<M;O++){P=R[O].split("=");if(P.length>=2){if(P[0]===Q){return unescape(P[1]);}}}return null;}};})();YAHOO.register("history",YAHOO.util.History,{version:"2.7.0",build:"1799"});function CurrentSelection(i,a,h,f,e,c,b,j,g,d){this.regionName=a;this.selectionString=h;this.boundingRect=c;
this.naturalZoomLevel=b;this.regionId=i;this.regionType=f;this.regionSelectionString=e;this.hasChildRegions=j;
this.selectable=g;this.searchBreadcrumb=d;}CurrentSelection.prototype={getBoundingRect:function(){return this.boundingRect;
},getRegionName:function(){return this.regionName;},getSelectionString:function(){return this.selectionString;
},getRegionId:function(){return this.regionId;},getRegionType:function(){return this.regionType;},getSearchBreadcrumb:function(){return this.searchBreadcrumb;
},getRegionSelectionString:function(){return this.regionSelectionString;},getNaturalZoomLevel:function(){return this.naturalZoomLevel;
},isSelectable:function(){return this.selectable;}};function SearchBreadcrumb(b,a){this.breadcrumbHTML=b;this.baseUrlString=a;this.urlIsGeneric=(a==null);
}SearchBreadcrumb.prototype={getBreadcrumbHTML:function(){return this.breadcrumbHTML;},getCurrentBaseUrlString:function(){return this.baseUrlString;
},getUrlIsGeneric:function(){return this.urlIsGeneric;},makeGeneric:function(){if(this.urlIsGeneric==false){this.breadcrumbHTML=SearchBreadcrumb.makeBreadcrumbGeneric(this.breadcrumbHTML,this.baseUrlString);
this.baseUrlString=null;this.urlIsGeneric=true;}}};SearchBreadcrumb.makeBreadcrumbGeneric=function(b,a){if(a!=null){var c=null;
switch(a){case"for_sale":c=/for_sale\//g;break;case"make_me_move":c=/make_me_move\//g;break;case"recently_sold":c=/recently_sold\//g;
break;case"for_rent":c=/for_rent\//g;break;case"fsbo":c=/fsbo\//g;break;default:}if(c!=null){return b.replace(c,"");
}}return b;};SearchBreadcrumbManager=(function(){var c="region-breadcrumb";var a="region-state-list";
var d=true;var b=null;var e=false;return{initialize:function(){var f=$(c);if(f!=null){b=f.innerHTML;var h=top.location.pathname;
if(h!=null){var g=null;if(h.indexOf("homes/for_sale")!=-1){g=/for_sale\//g;}else{if(h.indexOf("homes/make_me_move")!=-1){g=/make_me_move\//g;
}else{if(h.indexOf("homes/recently_sold")!=-1){g=/recently_sold\//g;}else{if(h.indexOf("homes/fsbo")!=-1){g=/fsbo\//g;
}else{if(h.indexOf("homes/for_rent")!=-1){g=/for_rent\//g;}}}}}if(g!=null){b=b.replace(g,"");}}}},createBreadcrumb:function(g,f){return new SearchBreadcrumb(g,f);
},createBreadcrumbFromInitialHTML:function(f){var g=new SearchBreadcrumb(b,f);return g;},isBreadcrumbGeneric:function(){return e;
},makeBreadcrumbGeneric:function(f){if(f!=null){if(f.getUrlIsGeneric()==false){f.makeGeneric();var g=$(c);
if(g!=null){g.innerHTML=f.getBreadcrumbHTML();}}e=true;}else{if(e==false){var g=$(c);if(g!=null){g.innerHTML=b;
}e=true;}}},displayBreadcrumb:function(f,h){if(f!=null){if(d==true&&h==true){}else{var g=$(c);if(g!=null){g.innerHTML=((f.getBreadcrumbHTML()!=null)?f.getBreadcrumbHTML():"");
}e=f.getUrlIsGeneric();}d=h;}else{if(d==false){var g=$(c);if(g!=null){g.innerHTML=((b!=null)?b:"");d=true;
}}}},showStateList:function(){Element.show(a);}};})();var FilterManager=(function(){var o=false;var i=function(){var B=$("sf7-title");var C=$("soe01-select");
var A=((SearchFilters.ForSale.isChecked()||SearchFilters.MakeMeMove.isChecked()||SearchFilters.AllHomes.isChecked())?true:false);
if(SearchFilters.RecentlySold.isChecked()){B.innerHTML=(A?"Days on/Sold in last":"Sold in last");C.options[5].innerHTML=(A?"Days on/Sold on":"Sold on");
}else{B.innerHTML="Days on Zillow";C.options[5].innerHTML="Days on Zillow";}};var p=function(G,E){var B=$E.getTarget(G);
var C=B.id.split("-");C=C[0].substring(0,C[0].length-2);var F=$(C+"01-min");var D=$(C+"02-max");var A=$(C+"03-go");
if(F&&D&&A&&E){switch(E){case"hide":Element.hide(A);break;case"show":default:Element.show(A);break;}}};
var q=function(A){var C=$(A);if(C){var D=C.value;var B=Number.fromString(D);if(!isNaN(B)){if(B>=0){return B;
}}}return null;};var z=function(C){var E=$(C+"01-min");var D=$(C+"02-max");var A=$D.getElementsByClassName("input-tip","label",E.parentNode);
var B=$D.getElementsByClassName("input-tip","label",D.parentNode);Element.hide(A[0]);Element.hide(B[0]);
};var d=function(B){var A=/(\d)((\d{3},?)+)$/;B=B.split(",").join("");while(A.test(B)){B=B.replace(A,"$1,$2");
}return B;};var y=6;var k=360;var f=function(A){y=A;};var r=function(B){var C=y/1200;var A=(0.8*B)*(C*Math.pow(1+C,k))/(Math.pow(1+C,k)-1);
return d(parseInt(A)+"");};var h=function(A){var C=y/1200;var B=A/((C*Math.pow(1+C,k))/(Math.pow(1+C,k)-1));
return d(parseInt(B/0.8)+"");};var c=function(C,B){var A=$(C);if(A.enabled){A.value=B;}else{A.enabled=true;
A.value=B;A.enabled=false;}};var a=function(A){if(A==="pe"){var B=q("pe01-min");var D=q("pe02-max");if(B||D){z("me");
}if(B){c("me01-min",r(B));}else{l("me","min");}if(D){c("me02-max",r(D));}else{l("me","max");}}else{if(A==="me"){var C=q("me01-min");
var E=q("me02-max");if(C||E){z("pe");}if(C){c("pe01-min",h(C));}else{l("pe","min");}if(E){c("pe02-max",h(E));
}else{l("pe","max");}}}};var b=function(F){var B=$E.getTarget(F);var C=B.id.split("-");C=C[0].substring(0,C[0].length-2);
var E=$(C+"01-min");var D=$(C+"02-max");var A=$(C+"03-go");if(B.type==="text"){if(!q(B.id)){B.value="";
}if(E&&D&&A){if((E.value==="")&&(D.value==="")){if(!($D.hasClass(A,"hide"))){a(C);FilterManager.onFilterStateChanged.fireEvent();
o=false;Element.hide(A);}}else{if((B.id===E.id)||(B.id===D.id)||(B.id===A.id)){a(C);FilterManager.onFilterStateChanged.fireEvent();
o=false;Element.hide(A);}}}}else{a(C);FilterManager.onFilterStateChanged.fireEvent();o=false;Element.hide(A);
}};var e=function(A){$E.getTarget(A).select();p(A,"show");};var v=function(B){Element[B?"show":"hide"]("price-entries");
Element[B?"show":"hide"]("soe01-select");Element[B?"hide":"show"]("soe02-select");var A=$("sf12-title");
var C=$("monthlyPaymentTip");A.innerHTML=(B?"Monthly Payment":"Monthly Rent");if(B){Element.show(C);}else{Element.hide(C);
}};var m=function(E){var C=$E.getTarget(E);var A=C.id.split("-");var B=$(A[0]);$D[C.checked?"addClass":"removeClass"](B,"selected");
if(A[0].substring(0,A[0].length-2)==="ce"){i();if(C.id==="ce01-input"){Element[C.checked?"show":"hide"]("listing-entries");
}var D=((SearchFilters.ForSale.isChecked()||SearchFilters.MakeMeMove.isChecked()||SearchFilters.RecentlySold.isChecked())?true:false);
v(D);if(!D){s("me01-min");s("me02-max");l("pe");}}FilterManager.onFilterStateChanged.fireEvent();o=false;
};var l=function(D,C){var F=$(D+"01-min");var E=$(D+"02-max");var A=$D.getElementsByClassName("input-tip","label",F.parentNode);
var B=$D.getElementsByClassName("input-tip","label",E.parentNode);if(C){switch(C){case"min":F.value="";
Element.show(A[0]);break;case"max":default:E.value="";Element.show(B[0]);break;}}else{F.value="";E.value="";
Element.show(A[0]);Element.show(B[0]);}};var u=function(C){C+="";var B=/([\d,\.]*)\.(\d*)$/,A;if(B.test(C)){A=RegExp.$2;
return d(RegExp.$1)+"."+A;}return d(C);};var g=function(B){var A=$(B);A.disabled=true;$D.addClass(A,"disabled");
};var s=function(B){var A=$(B);A.disabled=false;$D.removeClass(A,"disabled");};var w=function(B){var A=$E.getTarget(B);
var C=A.value;A.value=u(C);o=true;};var n=["pe01-min","pe02-max","me01-min","me02-max","sfe01-min","sfe02-max","lse01-min","lse02-max"];
var j=["pe01-min","pe02-max","me01-min","me02-max","be01-min","be02-max","bae01-min","bae02-max","sfe01-min","sfe02-max","lse01-min","lse02-max","ybe01-min","ybe02-max"];
var t=["pe01-min","pe02-max"];var x=["me01-min","me02-max"];return{commaFormat:u,formattedFields:n,init:function(){var H=$("filter-pane");
if(H){$$("input.checkbox",H,false,function(J){$E.on(J,"click",m);});$$("input.text",H,false,function(J){$E.on(J,"focus",e);
});$$("input.text",H,false,function(J){$E.on(J,"change",function(){o=true;});});$$("input.text",H,false,function(J){$E.on(J,"blur",function(K){if(o){b(K);
}else{p(K,"hide");}});});for(var G=0;G<n.length;G++){var B=$(n[G]);$E.on(B,"keyup",function(J){switch(J.keyCode){case 16:case 17:case 18:case 19:case 20:case 27:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 91:case 92:case 93:case 144:case 145:break;
default:w(J);break;}});}for(var C=0;C<j.length;C++){var B=$(j[C]);$E.on(B,"keydown",function(J){if(J.keyCode===13){b(J);
}});}for(var I=0;I<t.length;I++){var A=t[I];$E.on(A,"focus",function(K){for(var J=0;J<x.length;J++){g(x[J]);
}});$E.on(A,"blur",function(K){for(var J=0;J<x.length;J++){s(x[J]);}});}for(var I=0;I<x.length;I++){var E=x[I];
$E.on(E,"focus",function(K){for(var J=0;J<t.length;J++){g(t[J]);}});$E.on(E,"blur",function(K){for(var J=0;
J<t.length;J++){s(t[J]);}});}$$("a.fakeGO",H,false,function(J){$E.on(J,"click",b);});}var F=$("d01-select");
if(F){$E.on(F,"change",b);}var D=$("soe01-select");if(D){$E.on(D,"change",b);}D=$("soe02-select");if(D){$E.on(D,"change",b);
}},applyFilterState:function(D){var E=SearchFilters;var B=D.getStatusFlagGroup();var A=FilterState.StatusFlag;
E.ForSale.setChecked(B.getValue(A.ForSale));E.MakeMeMove.setChecked(B.getValue(A.MakeMeMove));E.RecentlySold.setChecked(B.getValue(A.RecentlySold));
E.AllHomes.setChecked(B.getValue(A.AllHomes));E.ForRent.setChecked(B.getValue(A.ForRent));Element[E.ForSale.isChecked()?"show":"hide"]("listing-entries");
i();var C=D.getListingTypeGroup();A=FilterState.ListingType;E.FSBA.setChecked(C.getValue(A.FSBA));E.FSBO.setChecked(C.getValue(A.FSBO));
E.Foreclosures.setChecked(C.getValue(A.Foreclosures));E.NewConstruction.setChecked(C.getValue(A.NewConstruction));
E.OpenHouses.setChecked(C.getValue(A.OpenHouses));var G=D.getHomeTypeGroup();A=FilterState.HomeType;E.SingleFamily.setChecked(G.getValue(A.SingleFamily));
E.Condo.setChecked(G.getValue(A.Condo));E.MultiFamily.setChecked(G.getValue(A.MultiFamily));E.Manufactured.setChecked(G.getValue(A.Manufactured));
E.LotLand.setChecked(G.getValue(A.LotLand));E.Price.setMinMax(D.getPriceRange().getMinValue(),D.getPriceRange().getMaxValue());
if(D.getPriceRange().getMinValue()){z("pe","min");}if(D.getPriceRange().getMaxValue()){z("pe","max");
}E.MonthlyPayment.setMinMax(D.getMonthlyPaymentRange().getMinValue(),D.getMonthlyPaymentRange().getMaxValue());
if(D.getMonthlyPaymentRange().getMinValue()){z("me","min");}if(D.getMonthlyPaymentRange().getMaxValue()){z("me","max");
}var F=((SearchFilters.ForSale.isChecked()||SearchFilters.MakeMeMove.isChecked()||SearchFilters.RecentlySold.isChecked())?true:false);
v(F);E.Beds.setMinMax(D.getBedsRange().getMinValue(),D.getBedsRange().getMaxValue());if(D.getBedsRange().getMinValue()){z("be","min");
}if(D.getBedsRange().getMaxValue()){z("be","max");}E.Baths.setMinMax(D.getBathsRange().getMinValue(),D.getBathsRange().getMaxValue());
if(D.getBathsRange().getMinValue()){z("bae","min");}if(D.getBathsRange().getMaxValue()){z("bae","max");
}E.SqFt.setMinMax(D.getSqFtRange().getMinValue(),D.getSqFtRange().getMaxValue());if(D.getSqFtRange().getMinValue()){z("sfe","min");
}if(D.getSqFtRange().getMaxValue()){z("sfe","max");}E.LotSize.setMinMax(D.getLotSizeRange().getMinValue(),D.getLotSizeRange().getMaxValue());
if(D.getLotSizeRange().getMinValue()){z("lse","min");}if(D.getLotSizeRange().getMaxValue()){z("lse","max");
}E.YearBuilt.setMinMax(D.getYearBuiltRange().getMinValue(),D.getYearBuiltRange().getMaxValue());if(D.getYearBuiltRange().getMinValue()){z("ybe","min");
}if(D.getYearBuiltRange().getMaxValue()){z("ybe","max");}E.Photos.setChecked(D.getPhotosBoolean().getValue());
E.DaysOn.setSelectedValue(D.getDaysOnSelection().getValue());E.Sort.setSelectedValue(D.getSortSelection().getValue());
E.RentalSort.setSelectedValue(D.getRentalSortSelection().getValue());},getUserFilterState:function(){var E=SearchFilters;
var D=FilterState.createDefault();var B=D.getStatusFlagGroup();var A=FilterState.StatusFlag;B.setValue(A.ForSale,E.ForSale.isChecked());
B.setValue(A.MakeMeMove,E.MakeMeMove.isChecked());B.setValue(A.RecentlySold,E.RecentlySold.isChecked());
B.setValue(A.AllHomes,E.AllHomes.isChecked());B.setValue(A.ForRent,E.ForRent.isChecked());var C=D.getListingTypeGroup();
A=FilterState.ListingType;C.setValue(A.FSBA,E.FSBA.isChecked());C.setValue(A.FSBO,E.FSBO.isChecked());
C.setValue(A.Foreclosures,E.Foreclosures.isChecked());C.setValue(A.NewConstruction,E.NewConstruction.isChecked());
C.setValue(A.OpenHouses,E.OpenHouses.isChecked());var F=D.getHomeTypeGroup();A=FilterState.HomeType;F.setValue(A.SingleFamily,E.SingleFamily.isChecked());
F.setValue(A.Condo,E.Condo.isChecked());F.setValue(A.MultiFamily,E.MultiFamily.isChecked());F.setValue(A.Manufactured,E.Manufactured.isChecked());
F.setValue(A.LotLand,E.LotLand.isChecked());D.getPriceRange().setMinMax(E.Price.getMinValue(),E.Price.getMaxValue());
D.getMonthlyPaymentRange().setMinMax(E.MonthlyPayment.getMinValue(),E.MonthlyPayment.getMaxValue());D.getBedsRange().setMinMax(E.Beds.getMinValue(),E.Beds.getMaxValue());
D.getBathsRange().setMinMax(E.Baths.getMinValue(),E.Baths.getMaxValue());D.getSqFtRange().setMinMax(E.SqFt.getMinValue(),E.SqFt.getMaxValue());
D.getLotSizeRange().setMinMax(E.LotSize.getMinValue(),E.LotSize.getMaxValue());D.getYearBuiltRange().setMinMax(E.YearBuilt.getMinValue(),E.YearBuilt.getMaxValue());
D.getPhotosBoolean().setValue(E.Photos.isChecked());D.getDaysOnSelection().setValue(E.DaysOn.getSelectedValue());
D.getSortSelection().setValue(E.Sort.getSelectedValue());D.getRentalSortSelection().setValue(E.RentalSort.getSelectedValue());
return D;},applySearchBinCounts:function(G){if(G){SearchFilters.ForSale.setCount(G.getForSaleCount());
SearchFilters.MakeMeMove.setCount(G.getMakeMeMoveCount());SearchFilters.RecentlySold.setCount(G.getRecentlySoldCount());
SearchFilters.ForRent.setCount(G.getForRentCount());SearchFilters.FSBA.setCount(G.getFSBACount());SearchFilters.FSBO.setCount(G.getFSBOCount());
SearchFilters.Foreclosures.setCount(G.getForeclosuresCount());SearchFilters.NewConstruction.setCount(G.getNewConstructionCount());
SearchFilters.OpenHouses.setCount(G.getOpenHousesCount());SearchFilters.SingleFamily.setCount(G.getSingleFamilyCount());
SearchFilters.Condo.setCount(G.getCondoCount());SearchFilters.MultiFamily.setCount(G.getMultiFamilyCount());
SearchFilters.Manufactured.setCount(G.getManufacturedCount());SearchFilters.LotLand.setCount(G.getLandCount());
var B=$("header-num-results");if(B){var F="("+u(G.getTotalResultCount()+") Results");B.innerHTML=F;}var E=$("map-result-count-message");
var C=G.getUnmappedCount();var A=G.getTotalResultCount();if(E&&A!=null){var D="";if(A===0){D="<ul><li>"+A+" matching results</li></ul>";
}else{if(C!=null&&C!="0"){D="<ul><li>"+A+" matching results "+C+" unmapped</li></ul>";}else{D="<ul><li>"+A+" matching results</li></ul>";
}}E.innerHTML=D;}}},setRate:function(A){y=A;},onFilterStateChanged:new Subscriber("onFilterStateChanged")};
})();$E.onContentReady("content",FilterManager.init);var SearchFilters=(function(){function b(d,e){this.minElementId=d;
this.maxElementId=e;}b.prototype=(function(){function e(f){var h=$(f);if(h){var i=h.value;var g=Number.fromString(i);
if(!isNaN(g)){return g;}}return null;}function d(g,k){var j=$(g);if(j){if(k){var f=false;for(var h=0;
h<FilterManager.formattedFields.length;h++){if(g===FilterManager.formattedFields[h]){f=true;break;}}if(f){j.value=FilterManager.commaFormat(k);
}else{j.value=k;}}}}return{getMinValue:function(){var g=e(this.minElementId);var f=e(this.maxElementId);
if(g!=null&&f!=null){if(g>f){return f;}}return g;},getMaxValue:function(){var g=e(this.minElementId);
var f=e(this.maxElementId);if(g!=null&&f!=null){if(g>f){return g;}}return f;},setMinValue:function(f){var g=(f?f:"");
d(this.minElementId,g);},setMaxValue:function(f){var g=(f?f:"");d(this.maxElementId,g);},setMinMax:function(g,f){this.setMinValue(g);
this.setMaxValue(f);}};})();function c(d){this.elementId=d;}c.prototype=(function(){var d="selected";
var f="-input";var e="-resultCountWrapper";return{isChecked:function(){var g=$(this.elementId);return(g?$D.hasClass(g,d):false);
},setChecked:function(i){var h=$(this.elementId);var g=$(this.elementId+f);if(h&&g){$D[i?"addClass":"removeClass"](h,d);
g.checked=i;}},setCount:function(l){var k=$(this.elementId+e);if(k){var h="";if(l!=undefined){if(l<10000){h=""+l;
}else{if(l<1000000){var j=Math.floor(l/1000);h=""+j+"K";}else{if(l<10000000){var g=Math.floor(l/1000000);
var i=Math.floor((l-(1000000*g))/100000);h=""+g+"."+i+"M";}else{var g=Math.floor(l/1000000);h=""+g+"M";
}}}h="("+h+")";}k.innerHTML=h;}}};})();function a(d){this.elementId=d;}a.prototype=(function(){return{getSelectedValue:function(){var d=$(this.elementId);
if(d){return d.options[d.selectedIndex].value;}return null;},setSelectedValue:function(f){var e=$(this.elementId);
if(e){var g=e.options;for(var d=0;d<g.length;d++){if(g[d].value==f){e.selectedIndex=d;break;}}}}};})();
return{ForSale:new c("ce01"),MakeMeMove:new c("ce02"),RecentlySold:new c("ce03"),AllHomes:new c("ce04"),ForRent:new c("ce05"),FSBA:new c("le01"),FSBO:new c("le02"),Foreclosures:new c("le03"),NewConstruction:new c("le04"),OpenHouses:new c("le05"),SingleFamily:new c("he01"),Condo:new c("he02"),MultiFamily:new c("he03"),Manufactured:new c("he04"),LotLand:new c("he05"),Price:new b("pe01-min","pe02-max"),MonthlyPayment:new b("me01-min","me02-max"),Beds:new b("be01-min","be02-max"),Baths:new b("bae01-min","bae02-max"),SqFt:new b("sfe01-min","sfe02-max"),LotSize:new b("lse01-min","lse02-max"),YearBuilt:new b("ybe01-min","ybe02-max"),Photos:new c("phe01"),DaysOn:new a("d01-select"),Sort:new a("soe01-select"),RentalSort:new a("soe02-select")};
})();function FilterState(){}FilterState.prototype=(function(){function b(g,f){this.fieldName=g;this.array=new Array(f);
}b.prototype={getFieldName:function(){return this.fieldName;},setValue:function(f,g){this.array[f]=Boolean(g);
},getValue:function(f){return this.array[f];},toUrlString:function(){var g="";for(var f=0;f<this.array.length;
f++){g+=(this.array[f]==true?1:0);}return g;},copy:function(){var g=new b(this.fieldName,this.array.length);
for(var f=0;f<g.array.length;f++){g.array[f]=this.array[f];}return g;}};b.createFromString=function(l,k){var f=k.length;
var j=new b(l,f);for(var h=0;h<f;h++){j.setValue(h,(k.charAt(h)=="1"));}return j;};function e(f){this.fieldName=f;
this.minValue=undefined;this.maxValue=undefined;}e.prototype={getFieldName:function(){return this.fieldName;
},getMinValue:function(){return this.minValue;},getMaxValue:function(){return this.maxValue;},setMinValue:function(f){this.minValue=(isNaN(f)||f==null?undefined:Math.round(f));
},setMaxValue:function(f){this.maxValue=(isNaN(f)||f==null?undefined:Math.round(f));},setMinMax:function(g,f){this.setMinValue(g);
this.setMaxValue(f);},toUrlString:function(){return""+(isNaN(this.minValue)?"":this.minValue)+","+(isNaN(this.maxValue)?"":this.maxValue);
},copy:function(){var f=new e(this.fieldName);f.setMinValue(this.minValue);f.setMaxValue(this.maxValue);
return f;}};e.createFromString=function(i,h){var g=new e(i);if(h!=undefined){var f=h.indexOf(",");if(f!=-1){if(f>0){g.setMinValue(Number(h.substring(0,f)));
}if(h.length>(f+1)){g.setMaxValue(Number(h.substring(f+1,h.length)));}}}return g;};function c(f){this.fieldName=f;
this.minValue=undefined;this.maxValue=undefined;}c.prototype={getFieldName:function(){return this.fieldName;
},getMinValue:function(){return this.minValue;},getMaxValue:function(){return this.maxValue;},setMinValue:function(f){this.minValue=(isNaN(f)||f==null?undefined:f);
},setMaxValue:function(f){this.maxValue=(isNaN(f)||f==null?undefined:f);},setMinMax:function(g,f){this.setMinValue(g);
this.setMaxValue(f);},toUrlString:function(){return""+(isNaN(this.minValue)?"":this.minValue.toFixed(2))+","+(isNaN(this.maxValue)?"":this.maxValue.toFixed(2));
},copy:function(){var f=new c(this.fieldName);f.setMinValue(this.minValue);f.setMaxValue(this.maxValue);
return f;}};c.createFromString=function(i,h){var g=new c(i);if(h!=undefined){var f=h.indexOf(",");if(f!=-1){if(f>0){g.setMinValue(Number(h.substring(0,f)));
}if(h.length>(f+1)){g.setMaxValue(Number(h.substring(f+1,h.length)));}}}return g;};function d(f){this.fieldName=f;
this.val=false;}d.prototype={getFieldName:function(){return this.fieldName;},getValue:function(){return this.val;
},setValue:function(f){this.val=Boolean(f);},toUrlString:function(){return(this.val==true?"1":"0");},copy:function(){var f=new d(this.fieldName);
f.setValue(this.val);return f;}};d.createFromString=function(h,g){var f=new d(h);if(g&&g.length>0){f.setValue(g.charAt(0)=="1");
}return f;};function a(f){this.fieldName=f;this.val;}a.prototype={getFieldName:function(){return this.fieldName;
},getValue:function(){return this.val;},setValue:function(f){this.val=f;},toUrlString:function(){return encodeURIComponent(this.val?this.val:"");
},copy:function(){var f=new a(fieldName);f.setValue(this.val);return f;}};a.createFromString=function(h,g){var f=new a(h);
f.setValue(g);return f;};return{init:function(){var f=FilterState.FilterField;this.statusFlagGroup=new b(f.StatusFlagGroup,5);
this.listingTypeGroup=new b(f.ListingTypeGroup,5);this.homeTypeGroup=new b(f.HomeTypeGroup,5);this.priceRange=new e(f.PriceRange);
this.monthlyPaymentRange=new e(f.MonthlyPaymentRange);this.bedsRange=new e(f.BedsRange);this.bathsRange=new c(f.BathsRange);
this.sqFtRange=new e(f.SqFtRange);this.lotSizeRange=new e(f.LotSizeRange);this.yearBuiltRange=new e(f.YearBuiltRange);
this.photosField=new d(f.PhotosBoolean);this.daysOnSelection=new a(f.DaysOnSelection);this.sortSelection=new a(f.SortSelection);
this.rentalSortSelection=new a(f.RentalSortSelection);},initAsCopy:function(f){this.statusFlagGroup=f.getStatusFlagGroup().copy();
this.listingTypeGroup=f.getListingTypeGroup().copy();this.homeTypeGroup=f.getHomeTypeGroup().copy();this.priceRange=f.getPriceRange().copy();
this.monthlyPaymentRange=f.getMonthlyPaymentRange().copy();this.bedsRange=f.getBedsRange().copy();this.bathsRange=f.getBathsRange().copy();
this.sqFtRange=f.getSqFtRange().copy();this.lotSizeRange=f.getLotSizeRange().copy();this.yearBuiltRange=f.getYearBuiltRange().copy();
this.photosField=f.getPhotosBoolean().copy();this.daysOnSelection=f.getDaysOnSelection().copy();this.sortSelection=f.getSortSelection().copy();
this.rentalSortSelection=f.getRentalSortSelection().copy();},initFromObject:function(g){var f=FilterState.FilterField;
this.statusFlagGroup=b.createFromString(f.StatusFlagGroup,g[f.StatusFlagGroup]);this.listingTypeGroup=b.createFromString(f.ListingTypeGroup,g[f.ListingTypeGroup]);
this.homeTypeGroup=b.createFromString(f.HomeTypeGroup,g[f.HomeTypeGroup]);this.priceRange=e.createFromString(f.PriceRange,g[f.PriceRange]);
this.monthlyPaymentRange=e.createFromString(f.MonthlyPaymentRange,g[f.MonthlyPaymentRange]);this.bedsRange=e.createFromString(f.BedsRange,g[f.BedsRange]);
this.bathsRange=c.createFromString(f.BathsRange,g[f.BathsRange]);this.sqFtRange=e.createFromString(f.SqFtRange,g[f.SqFtRange]);
this.lotSizeRange=e.createFromString(f.LotSizeRange,g[f.LotSizeRange]);this.yearBuiltRange=e.createFromString(f.YearBuiltRange,g[f.YearBuiltRange]);
this.photosField=d.createFromString(f.PhotosBoolean,g[f.PhotosBoolean]);this.daysOnSelection=a.createFromString(f.DaysOnSelection,g[f.DaysOnSelection]);
this.sortSelection=a.createFromString(f.SortSelection,g[f.SortSelection]);this.rentalSortSelection=a.createFromString(f.RentalSortSelection,g[f.RentalSortSelection]);
},toUrlString:function(h){var f="";function g(i){return i.getFieldName()+"="+i.toUrlString();}f+=g(this.statusFlagGroup)+"&";
f+=g(this.listingTypeGroup)+"&";f+=g(this.homeTypeGroup)+"&";f+=g(this.priceRange)+"&";f+=g(this.monthlyPaymentRange)+"&";
f+=g(this.bedsRange)+"&";f+=g(this.bathsRange)+"&";f+=g(this.sqFtRange)+"&";f+=g(this.lotSizeRange)+"&";
f+=g(this.yearBuiltRange)+"&";f+=g(this.photosField)+"&";f+=g(this.daysOnSelection)+"&";f+=g(this.sortSelection)+"&";
f+=g(this.rentalSortSelection);return f;},getStatusFlagGroup:function(){return this.statusFlagGroup;},getListingTypeGroup:function(){return this.listingTypeGroup;
},getHomeTypeGroup:function(){return this.homeTypeGroup;},getPriceRange:function(){return this.priceRange;
},getMonthlyPaymentRange:function(){return this.monthlyPaymentRange;},getBedsRange:function(){return this.bedsRange;
},getBathsRange:function(){return this.bathsRange;},getSqFtRange:function(){return this.sqFtRange;},getLotSizeRange:function(){return this.lotSizeRange;
},getYearBuiltRange:function(){return this.yearBuiltRange;},getPhotosBoolean:function(){return this.photosField;
},getDaysOnSelection:function(){return this.daysOnSelection;},getSortSelection:function(){return this.sortSelection;
},getRentalSortSelection:function(){return this.rentalSortSelection;}};})();FilterState.createDefault=function(){var a=new FilterState();
a.init();return a;};FilterState.createStateCopy=function(b){var a=new FilterState();a.initAsCopy(b);return a;
};FilterState.createFromFilterStateObject=function(b){var a=new FilterState();a.initFromObject(b);return a;
};FilterState.StatusFlag={ForSale:0,MakeMeMove:1,RecentlySold:2,AllHomes:3,ForRent:4};FilterState.ListingType={FSBA:0,FSBO:1,Foreclosures:2,NewConstruction:3,OpenHouses:4};
FilterState.HomeType={SingleFamily:0,Condo:1,MultiFamily:2,Manufactured:3,LotLand:4};FilterState.FilterField={StatusFlagGroup:"status",ListingTypeGroup:"lt",HomeTypeGroup:"ht",PriceRange:"pr",MonthlyPaymentRange:"mp",BedsRange:"bd",BathsRange:"ba",SqFtRange:"sf",LotSizeRange:"lot",YearBuiltRange:"yr",PhotosBoolean:"pho",DaysOnSelection:"days",SortSelection:"sort",RentalSortSelection:"rsort"};
function SearchBinCounts(p,f,h,d,o,k,a,l,e,j,m,g,c,b,n,i){this.totalResultCount=p;this.forSaleCount=f;
this.makeMeMoveCount=h;this.recentlySoldCount=d;this.forRentCount=o;this.fsbaCount=k;this.fsboCount=a;
this.foreclosuresCount=l;this.newConstructionCount=e;this.openHousesCount=j;this.singleFamilyCount=m;
this.condoCount=g;this.multiFamilyCount=c;this.manufacturedCount=b;this.landCount=n;this.unmappedCount=i;
}SearchBinCounts.prototype=(function(){return{getForSaleCount:function(){return this.forSaleCount;},getMakeMeMoveCount:function(){return this.makeMeMoveCount;
},getRecentlySoldCount:function(){return this.recentlySoldCount;},getTotalResultCount:function(){return this.totalResultCount;
},getForRentCount:function(){return this.forRentCount;},getFSBACount:function(){return this.fsbaCount;
},getFSBOCount:function(){return this.fsboCount;},getForeclosuresCount:function(){return this.foreclosuresCount;
},getNewConstructionCount:function(){return this.newConstructionCount;},getOpenHousesCount:function(){return this.openHousesCount;
},getSingleFamilyCount:function(){return this.singleFamilyCount;},getCondoCount:function(){return this.condoCount;
},getMultiFamilyCount:function(){return this.multiFamilyCount;},getManufacturedCount:function(){return this.manufacturedCount;
},getLandCount:function(){return this.landCount;},getUnmappedCount:function(){return this.unmappedCount;
}};})();SearchBinCounts.create=function(p,f,h,d,o,k,a,l,e,j,m,g,c,b,n,i){return new SearchBinCounts(p,f,h,d,o,k,a,l,e,j,m,g,c,b,n,i);
};var HistoryManager=(function(){var a=top.location.hash;return{onHistoryEvent:function(){var c=this.getCurrentFragment();
var b=true;try{b=((c==a)||(c==decodeURIComponent(a)));}catch(d){}if(b==false){a=c;this.onNavigation.fireEvent(c);
}},onNavigation:new Subscriber("onHistoryNavigation"),getCurrentFragment:function(){var b=top.location.hash;
if(b&&b.length>0){if(b.charAt(0)=="#"){b=b.slice(1);}}else{b="";}return b;},saveFragment:function(b){if(b){b=b;
a=b;top.location.hash=b;}}};})();YAHOO.util.History.register("SearchHistory","",HistoryManager.onHistoryEvent,HistoryManager,true);
var SelectionManager=(function(){var a=null;var b=null;return{requestSelectionChange:function(e,d){var c=SearchMain.getPageState().getCurrentSelection();
if((c&&c.getRegionId()==e&&a==null)||e==a){return;}if(b){b.cancelRequest();b=null;}a=e;b=new SelectionRequest(e,d);
b.sendRequest();},clearSelection:function(){SearchMain.onRegionSelectionResponse(null,null);},onGetRegionSelectionResponse:function(d,c){if(d.getRegionId()==a){a=null;
b=null;SearchMain.onRegionSelectionResponse(d,c);}},onGetRegionSelectionFailure:function(c){if(c.getRegionId()==a){b=null;
a=null;}}};})();function SelectionRequest(b,a){this.regionId=b;this.clickLatLong=a;this.connection=undefined;
this.requestActive=false;}SelectionRequest.prototype=(function(){var b="/search/GetRegionSelection.htm";
var c=60000;function a(d){return b+"?regionId="+d;}return{getRegionId:function(){return this.regionId;
},sendRequest:function(){var d=a(this.regionId);if(d){this.connection=$C.asyncRequest("GET",d,this);this.requestActive=true;
}},success:function(e){if(this.requestActive==true){if(e.responseText&&e.responseText.length>0){var d=e.responseText.parseJSON();
SelectionManager.onGetRegionSelectionResponse(d,this.clickLatLong);}}this.requestActive=false;},failure:function(d){this.requestActive=false;
},cancelRequest:function(){if(this.connection){this.requestActive=false;if($C.isCallInProgress(this.connection)){$C.abort(this.connection,new Object(),"false");
}}},getClickLatLong:function(){return this.clickLatLong;}};})();var PageTitleManager=(function(){var d="region-header-name";var c="region-header-description";var a=null;
var b=null;function e(h,f){var g="";if(h){g+=h;}if(f){g+=((g.length>0)?" ":"")+f;}g=g.replace(/\&amp;/g,"&");
document.title=g;}return{updatePageTitle:function(i,h){if(a==null){var g=$(c);if(g){a=g.innerHTML.trim();
}else{a="";}}if(b==null){var f=$(d);if(f){b=f.innerHTML.trim();}else{b="";}}var j=false;if((i!=null&&i!=b)||(h!=null&&h!=a)){j=true;
}if(j==true){if(i==null){i=b;}if(h==null){h=a;}e(i,h);a=h;b=i;}}};})();function PageState(b,c,d,a){this.searchRectangle=b;this.currentSelection=c;this.displayMode=d;this.pageNumber=a;
}PageState.prototype={getSearchRectangle:function(){return this.searchRectangle;},setSearchRectangle:function(a){this.searchRectangle=a;
},getCurrentSelection:function(){return this.currentSelection;},setCurrentSelection:function(a){this.currentSelection=a;
},getDisplayMode:function(){return this.displayMode;},setDisplayMode:function(a){this.displayMode=a;},getPageNumber:function(){return this.pageNumber;
},setPageNumber:function(a){a=Math.round(a);if(a&&a>=1){if(a>20){this.pageNumber=20;}else{this.pageNumber=a;
}}else{this.pageNumber=1;}}};PageState.toString=function(a){if(a){var b="";b+="sr:"+BoundingRect.toString(a.getSearchRectangle());
b+="dm:"+(a.getDisplayMode()?a.getDisplayMode():"null");b+="pn:"+(a.getPageNumber()?a.getPageNumber():"null");
b+="cs:"+(a.getCurrentSelection()?a.getCurrentSelection():"null");return b;}return"null";};PageState.createBlankState=function(){return new PageState(undefined,undefined,undefined,1);
};function ResurrectionPageState(b){this.obj={};this.valid=false;try{this.obj=b.parseJSON();this.valid=true;
}catch(a){log.error(a);}}ResurrectionPageState.prototype={isValid:function(){return this.valid;},getPageStateString:function(){return this.obj.pageStateString;
},getMapState:function(){return this.obj.mapState;},getDisplayMode:function(){return this.obj.displayMode;
},getDisambigBlock:function(){return this.obj.disambig;},getError:function(){return this.obl.error;},getMapObject:function(){return this.obj.mapObject;
},getBubbleDataObject:function(){return this.obj.bubble;},getPageNumber:function(){return this.obj.pageNumber;
},getBreadcrumb:function(){return this.obj.breadcrumb;},getFilterStateObject:function(){return this.obj.filterState;
},getBinCounts:function(){return this.obj.binCounts;},getCurrentSelection:function(){return this.obj.currentSelection;
}};var ResurrectionPageStateManager=(function(){var a=undefined;var c=0;function b(){c++;return c;}return{requestPageState:function(d){if(a&&a.isRequestActive()){a.cancelRequest();
}if(typeof d=="undefined"||d.length==0){window.setTimeout(function(){ResurrectionPageStateManager.onResurrectionStateLoaded.fireEvent(ResurrectionPageStateManager.loadInitialPageState(),true);
},1);}else{a=new ResurrectionPageStateRequest(this,b(),d);a.sendRequest();}},loadInitialPageState:function(){return new ResurrectionPageState(replicate.getCDATAValue("resurrection-page-state"));
},onPageStateResponse:function(e){var d=new ResurrectionPageState(e);this.onResurrectionStateLoaded.fireEvent(d,false);
},onResurrectionStateLoaded:new Subscriber("onResurrectionStateLoaded")};})();function ResurrectionPageStateRequest(a,b,c){this.resurrectionPageStateManager=a;
this.requestId=b;this.pageStateString=c;this.connection=undefined;this.requestActive=false;}ResurrectionPageStateRequest.prototype=(function(){var a="/search/GetPageState.htm";
var b=60000;return{createRequestUrl:function(){return a+"?state="+this.pageStateString;},getRequestId:function(){return this.requestId;
},sendRequest:function(){var c=this.createRequestUrl();if(c){var d=new ResurrectionPageStateCallback(this,b);
this.connection=$C.asyncRequest("GET",c,d);this.requestActive=true;}},getConnection:function(){return this.connection;
},cancelRequest:function(){if(this.connection){this.requestActive=false;if($C.isCallInProgress(this.connection)){$C.abort(this.connection,new Object(),"false");
}}},isRequestActive:function(){return this.requestActive;},handleSuccess:function(c){if(this.requestActive==true){if(c.responseText&&c.responseText.length>0){this.resurrectionPageStateManager.onPageStateResponse(c.responseText);
}else{this.handleFailure(c);}}this.requestActive=false;},handleFailure:function(c){this.requestActive=false;
}};})();function ResurrectionPageStateCallback(a,b){this.request=a;this.timeout=b;}ResurrectionPageStateCallback.prototype={success:function(a){this.request.handleSuccess(a);
},failure:function(a){this.request.handleFailure(a);}};function SearchRequestManager(){this.requests=new Object();this.latestListRequestId=0;this.latestMapRequestId=0;
}SearchRequestManager.prototype=(function(){var b=0;function a(){b++;return b;}return{doSearch:function(c,l,j,f,i,d){var e=new SearchRequest(this,c,j,f,l,i,d);
for(var k in this.requests){var g=this.requests[k];var h=g.getRequestId();if((g.isListSearch()&&h>=this.latestListRequestId)||(g.isMapSearch()&&h>=this.latestMapRequestId)){}else{if(g.isRequestActive()){g.cancelRequest();
}delete this.requests[k];}}e.sendRequest();this.requests[c]=e;SearchMain.setPropertyInfoWidth();},doOnlyListSearch:function(f,c,d){var e=a();
this.latestListRequestId=e;this.doSearch(e,f,c,d,true,false);},doOnlyMapSearch:function(f,c,d){var e=a();
this.latestMapRequestId=e;this.doSearch(e,f,c,d,false,true);},doListAndMapSearch:function(f,c,d){var e=a();
this.latestMapRequestId=e;this.latestListRequestId=e;this.doSearch(e,f,c,d,true,true);},onListResults:function(f,e){if(f>=this.latestListRequestId&&e){var d=e.listHTML;
if(d==undefined){d="";}SearchMain.setListHTML(d);var c=e.pagination;if(c==undefined){c="";}SearchMain.setPaginationHTML(c);
var g=e.binCounts;SearchMain.setSearchBinCounts(g);SearchMain.setPropertyInfoWidth();PhotoExperience.init();
SearchMain.hideListLoadingMessage();}},onMapResults:function(z,c){if(z>=this.latestMapRequestId){var m=c.properties;
var l=c.buildings;var f=c.regions;var g=c.mapResultsMode;var y=new Array();if(m){for(var A=0;A<m.length;
A++){try{var v=m[A];var E=Number(v[0]);var w=Number(v[1]);var t=Number(v[2]);var n=v[3];var s=Number(v[4]);
var x=new SearchResultProperty(E,w,t,n,s);y.push(x);}catch(B){}}}var o=new Array();if(l){for(var A=0;
A<l.length;A++){try{var v=l[A];var w=Number(v[0]);var t=Number(v[1]);var k=Number(v[2]);var s=Number(v[3]);
var n=(k!=null&&k>0)?"("+k+")":"";var D=new SearchResultBuilding(w,t,n,k,s);o.push(D);}catch(B){}}}var q=new Array();
if(f){for(var A=0;A<f.length;A++){try{var v=f[A];var C=Number(v[0]);var w=Number(v[1]);var t=Number(v[2]);
var k=Number(v[3]);var s=Number(v[4]);var u=v[5];var j=(v[6]==1);var n=(k!=null&&k>0)?""+k:"";var h=new SearchResultRegion(C,w,t,n,s,u,j);
q.push(h);}catch(B){}}}SearchMain.setSearchResults(y,o,q,g);SearchMain.hideMapLoadingMessage();var d=$("map-result-count-message");
if(d&&d.innerHTML!=""){SearchMain.showMapResultCountMessage();}}},onMapLoadFailure:function(c){if(c>=this.latestMapRequestId){SearchMain.hideMapLoadingMessage();
}},onListLoadFailure:function(c){if(c>=this.latestListRequestId){SearchMain.hideListLoadingMessage();
}}};})();function SearchRequest(f,e,c,d,g,b,a){this.searchRequestManager=f;this.requestId=e;this.pageState=c;
this.mapState=d;this.filterState=g;this.connection=undefined;this.requestActive=false;this.listSearch=b;
this.mapSearch=a;}SearchRequest.prototype=(function(){var a="/search/GetResults.htm";var b=60000;return{createRequestUrl:function(){var c=a+"?";
c+=this.filterState.toUrlString();if(this.mapState){if(this.mapState.getZoomLevel()){c+="&zoom="+this.mapState.getZoomLevel();
}}var g=this.pageState.getCurrentSelection();var f=this.pageState.getSearchRectangle();if(f){c+="&rect="+f.getWest()+","+f.getSouth()+","+f.getEast()+","+f.getNorth();
}c+="&p="+this.pageState.getPageNumber();var e="";if(this.listSearch&&this.mapSearch){if(g!=null&&g.getBoundingRect()!=null&&BoundingRect.isIntersected(g.getBoundingRect(),f)==false&&this.mapState!=null&&this.mapState.getZoomLevel()<15){e="maplistout";
}else{e="maplist";}}else{if(this.listSearch){e="list";}else{if(this.mapSearch){e="map";}}}c+="&search="+e;
if(this.pageState.getDisplayMode()==SearchConstants.DisplayMode.Map){c+="&disp=h";}else{c+="&disp=l";
}var d=this.pageState.getCurrentSelection();if(d!=null){c+="&rid="+d.getRegionId();c+="&rt="+d.getRegionType();
}return c;},getRequestId:function(){return this.requestId;},sendRequest:function(){var c=this.createRequestUrl();
if(c){var d=new SearchCallback(this,b);this.connection=$C.asyncRequest("GET",c,d);this.requestActive=true;
}},handleSuccess:function(d){if(this.requestActive==true){if(d.responseText&&d.responseText.length>0){var c=d.responseText.parseJSON();
if(this.isListSearch()){this.searchRequestManager.onListResults(this.getRequestId(),c.list);}if(this.isMapSearch()){this.searchRequestManager.onMapResults(this.getRequestId(),c.map);
}}else{this.handleFailure(d);}}this.requestActive=false;},handleFailure:function(c){this.requestActive=false;
if(this.listSearch==true){this.searchRequestManager.onListLoadFailure(this.requestId);}if(this.mapSearch==true){this.searchRequestManager.onMapLoadFailure(this.requestId);
}},getConnection:function(){return this.connection;},cancelRequest:function(){if(this.connection){this.requestActive=false;
if($C.isCallInProgress(this.connection)){$C.abort(this.connection,new Object(),"false");}}},isRequestActive:function(){return this.requestActive;
},isMapSearch:function(){return this.mapSearch;},isListSearch:function(){return this.listSearch;}};})();
function SearchCallback(b,a){this.searchRequest=b;this.timeout=a;}SearchCallback.prototype={success:function(a){this.searchRequest.handleSuccess(a);
},failure:function(a){this.searchRequest.handleFailure(a);}};function SearchURLState(){this.modeValues={};this.locationValues={};this.filterParamValues={};}SearchURLState.prototype={getModeValue:function(a){return this.modeValues[a[0]];
},setModeValue:function(a,b){this.modeValues[a[0]]=b;},getLocationValue:function(a){return this.locationValues[a[0]];
},setLocationValue:function(a,b){this.locationValues[a[0]]=b;},getFilterParamValue:function(a){return this.filterParamValues[a[0]];
},setFilterParamValue:function(b,a){this.filterParamValues[b[0]]=a;},isShowingForSale:function(){var a=this.getFilterParamValue(SEO.ParamType.ShowForSale);
if(a){return a.getImpl().getBoolean();}return false;},isShowingMakeMeMove:function(){var a=this.getFilterParamValue(SEO.ParamType.ShowMMM);
if(a){return a.getImpl().getBoolean();}return false;},isShowingRecentlySold:function(){var a=this.getFilterParamValue(SEO.ParamType.ShowRecentlySold);
if(a){return a.getImpl().getBoolean();}return false;},isShowingAllHomes:function(){var a=this.getFilterParamValue(SEO.ParamType.ShowAllHomes);
if(a){return a.getImpl().getBoolean();}return false;},isShowingForRent:function(){var a=this.getFilterParamValue(SEO.ParamType.ShowForRent);
if(a){return a.getImpl().getBoolean();}return false;},findBaseURL:function(){var b=null;if(this.isShowingForSale()==true){b=SEO.BaseURL.ForSale;
var a=this.getFilterParamValue(SEO.ParamType.ListingType);if(a){if(a.getImpl().isFSBOOnly()==true){b=SEO.BaseURL.FSBO;
}}}else{if(this.isShowingMakeMeMove()==true){b=SEO.BaseURL.MakeMeMove;}else{if(this.isShowingRecentlySold()==true){b=SEO.BaseURL.RecentlySold;
}else{if(this.isShowingForRent()==true){b=SEO.BaseURL.ForRent;}}}}return b;},toURL:function(){var a=function(i){return i&&i.isValid()&&!i.isDefault();
};var h=function(i,k){if(i){if(k&&k.length>0){return i+k+"/";}return i;}else{if(k){return k;}}return"";
};var c="/homes/";var e=this.findBaseURL();if(e){c=h(c,e[0]);}var j=null;j=this.getLocationValue(SEO.LocationType.RegionName);
if(a(j)){c=h(c,j.encode());j=this.getLocationValue(SEO.LocationType.StreetAddress);if(a(j)){c=h(c,j.encode());
}}j=this.getModeValue(SEO.ModeType.DisplayMode);if(a(j)){var g=j.getImpl().getStringValue();if(g!=SEO.DisplayModeType.Map&&g!=SEO.DisplayModeType.Comparables){c=h(c,g);
}}j=this.getFilterParamValue(SEO.ParamType.ListingType);if(a(j)){var b=j.getImpl();if(!b.isDefault()&&!b.isFSBOOnly()){c=h(c,j.encode()+"_"+SEO.ParamType.ListingType[0]);
}}for(var d=0;d<URLParamOrder.length;d++){var f=URLParamOrder[d];j=this.getFilterParamValue(f);if(a(j)){c=h(c,j.encode()+"_"+f[0]);
}else{j=this.getModeValue(f);if(a(j)){c=h(c,j.encode()+"_"+f[0]);}else{j=this.getLocationValue(f);if(a(j)){c=h(c,j.encode()+"_"+f[0]);
}}}}if(e!=null){switch(e){case SEO.BaseURL.FSBO:case SEO.BaseURL.ForSale:if(this.isShowingMakeMeMove()==false){j=this.getFilterParamValue(SEO.ParamType.ShowMMM);
if(a(j)){c=h(c,j.encode()+"_"+SEO.ParamType.ShowMMM[0]);}}if(this.isShowingForRent()==true){j=this.getFilterParamValue(SEO.ParamType.ShowForRent);
if(a(j)){c=h(c,j.encode()+"_"+SEO.ParamType.ShowForRent[0]);}}case SEO.BaseURL.MakeMeMove:if(this.isShowingRecentlySold()==true){j=this.getFilterParamValue(SEO.ParamType.ShowRecentlySold);
if(a(j)){c=h(c,j.encode()+"_"+SEO.ParamType.ShowRecentlySold[0]);}}if(this.isShowingForRent()==true){j=this.getFilterParamValue(SEO.ParamType.ShowForRent);
if(a(j)){c=h(c,j.encode()+"_"+SEO.ParamType.ShowForRent[0]);}}case SEO.BaseURL.RecentlySold:if(this.isShowingAllHomes()==true){j=getFilterParamStateValue(SEO.ParamType.ShowAllHomes);
if(a(j)){c=h(c,j.encode()+"_"+SEO.ParamType.ShowAllHomes[0]);}}break;}}return c;}};var StateValueType={String:0,HomeTypeString:1,Integer:2,IntegerRange:3,Boolean:4,LatLong:5,BoundingRectangle:6,ListingType:7,DaysOn:8,SortParam:10,RentalSortParam:11,DecimalRange:12};
function StateValue(a){this.impl=a;}StateValue.prototype={getImpl:function(){return this.impl;},getValueType:function(){return(this.impl&&this.impl.getValueType)?this.impl.getValueType():null;
},encode:function(){return(this.impl&&this.impl.encode)?this.impl.encode():"";},isValid:function(){return(this.impl&&this.impl.isValid)?this.impl.isValid():false;
},isDefault:function(){return(this.impl&&this.impl.isDefault)?this.impl.isDefault():false;}};function BooleanStateValue(){this.val=null;
}BooleanStateValue.prototype={getValueType:function(){return StateValueType.Boolean;},encode:function(){return this.val?"1":"0";
},isValid:function(){return typeof this.val=="boolean";},isDefault:function(){return false;},getBoolean:function(){return this.val;
},setBoolean:function(a){this.val=a;}};BooleanStateValue.createFromBool=function(c){var b=new BooleanStateValue();
b.setBoolean(c);var a=new StateValue(b);return a.isValid()?a:null;};function StringStateValue(){this.str=null;
}StringStateValue.prototype={getValueType:function(){return StateValueType.String;},encode:function(){return SEO.encodeString(this.str);
},isValid:function(){return this.str!=null&&this.str!="";},isDefault:function(){return false;},getStringValue:function(){return this.str;
},setStringValue:function(a){this.str=a;}};StringStateValue.createFromStringValue=function(c){var b=new StringStateValue();
b.setStringValue(c);var a=new StateValue(b);return a.isValid()?a:null;};function HomeTypeStateValue(){this.sf=false;
this.co=false;this.mf=false;this.ma=false;this.ll=false;}HomeTypeStateValue.prototype={getValueType:function(){return StateValueType.HomeTypeString;
},encode:function(){var b="";var a=false;if(this.sf){b+=(a?",":"")+"house";a=true;}if(this.co){b+=(a?",":"")+"apartment_condo";
a=true;}if(this.mf){b+=(a?",":"")+"duplex";a=true;}if(this.ma){b+=(a?",":"")+"mobile";a=true;}if(this.ll){b+=(a?",":"")+"land";
a=true;}return b;},isValid:function(){return true;},isSingle:function(){return this.sf;},setSingle:function(a){this.sf=Boolean(a);
},isCondo:function(){return this.co;},setCondo:function(a){this.co=Boolean(a);},isMulti:function(){return this.mf;
},setMulti:function(a){this.mf=Boolean(a);},isManu:function(){return this.ma;},setManu:function(a){this.ma=Boolean(a);
},isLand:function(){return this.ll;},setLand:function(a){this.ll=Boolean(a);},isDefault:function(){return this.sf&&this.co&&this.mf&&this.ma&&this.ll;
},setDefault:function(){this.sf=this.co=this.mf=this.ma=this.ll=true;}};function IntegerStateValue(){this.val=null;
}IntegerStateValue.prototype={getValueType:function(){return StateValueType.Integer;},encode:function(){return this.val?this.val:"";
},isValid:function(){return this.val?true:false;},isDefault:function(){return false;},getInteger:function(){return this.val;
},setInteger:function(a){this.val=Number(a);}};IntegerStateValue.createFromInteger=function(c){var b=new IntegerStateValue();
b.setInteger(Math.round(Number(c)));var a=new StateValue(b);return a.isValid()?a:null;};function IntegerRangeStateValue(){this.low=null;
this.high=null;}IntegerRangeStateValue.prototype={getValueType:function(){return StateValueType.IntegerRange;
},encode:function(){return(this.low?String(this.low):"0")+"-"+(this.high?String(this.high):"");},isValid:function(){if(this.low&&this.high){return this.low<=this.high;
}if(this.low){return true;}if(this.high){return true;}return false;},isDefault:function(){return false;
},getLow:function(){return this.low;},setLow:function(a){this.low=Number(a);},getHigh:function(){return this.high;
},setHigh:function(a){this.high=Number(a);}};function DecimalRangeStateValue(){this.low=null;this.high=null;
}DecimalRangeStateValue.prototype={getValueType:function(){return StateValueType.DecimalRange;},encode:function(){return(this.low?String(this.low):"0")+"-"+(this.high?String(this.high):"");
},isValid:function(){if(this.low&&this.high){return this.low<=this.high;}if(this.low){return true;}if(this.high){return true;
}return false;},isDefault:function(){return false;},getLow:function(){return this.low;},setLow:function(a){this.low=Number(a);
},getHigh:function(){return this.high;},setHigh:function(a){this.high=Number(a);}};function LatLongStateValue(){this.lat=null;
this.lon=null;}LatLongStateValue.prototype={getValueType:function(){return StateValueType.LatLong;},encode:function(){return(this.lat?String(this.lat):"")+","+(this.lon?String(this.lon):"");
},isValid:function(){return this.lat&&this.lon&&this.lat>=-90&&this.lat<=90&&this.lon>=-180&&this.lon<=180;
},isDefault:function(){return false;},getLatitude:function(){return this.lat;},setLatitude:function(a){this.lat=Number(a);
},getLongitude:function(){return this.lon;},setLongitude:function(a){this.lon=Number(a);},getLatLong:function(){return{LAT:this.lat,LON:this.lon};
}};function BoundingRectStateValue(){this.north=null;this.east=null;this.west=null;this.south=null;}BoundingRectStateValue.prototype={getValueType:function(){return StateValueType.BoundingRectangle;
},encode:function(){return this.north+","+this.east+","+this.south+","+this.west;},isValid:function(){return this.north&&this.east&&this.south&&this.west&&this.north>=-90&&this.north<=90&&this.south>=-90&&this.south<=90&&this.east>=-180&&this.east<=180&&this.west>=-180&&this.west<=180;
},isDefault:function(){return false;},getNorth:function(){return this.north;},setNorth:function(a){this.north=Number(a);
},getEast:function(){return this.east;},setEast:function(a){this.east=Number(a);},getSouth:function(){return this.south;
},setSouth:function(a){this.south=Number(a);},getWest:function(){return this.west;},setWest:function(a){this.west=Number(a);
}};function ListingTypeStateValue(){this.fsba=true;this.fsbo=true;this.foreclosure=true;this.newConstruction=true;
}ListingTypeStateValue.prototype={getValueType:function(){return StateValueType.ListingType;},encode:function(){var a=false;
var b="";if(this.fsba){b+=(a?",":"")+"fsba";a=true;}if(this.fsbo){b+=(a?",":"")+"fsbo";a=true;}if(this.foreclosure){b+=(a?",":"")+"fore";
a=true;}if(this.newConstruction){b+=(a?",":"")+"new";a=true;}return b;},isValid:function(){return true;
},isDefault:function(){return this.isAllChecked();},isFSBA:function(){return this.fsba;},setFSBA:function(a){this.fsba=a;
},isFSBAOnly:function(){return this.fsba==true&&this.fsbo==false&&this.foreclosure==false&&this.newConstruction==false;
},setFSBAOnly:function(){this.setChecked(true,false,false,false);},isFSBOOnly:function(){return this.fsba==false&&this.fsbo==true&&this.foreclosure==false&&this.newConstruction==false;
},isFSBO:function(){return this.fsbo;},setFSBO:function(a){this.fsbo=a;},setFSBOOnly:function(){this.setChecked(false,true,false,false);
},isForeclosure:function(){return this.foreclosure;},isForeclosureOnly:function(){return this.fsba==false&&this.fsbo==false&&this.foreclosure==true&&this.newConstruction==false;
},setForeclosure:function(a){this.foreclosure=a;},setForeclosureOnly:function(){this.setChecked(false,false,true,false);
},isNewConstruction:function(){return this.newConstruction;},setNewConstruction:function(a){this.newConstruction=a;
},setNewConstructionOnly:function(){this.setChecked(false,false,false,true);},isAllChecked:function(){return this.fsba&&this.fsbo&&this.foreclosure&&this.newConstruction;
},setAllChecked:function(){this.setChecked(true,true,true,true);},setChecked:function(b,a,d,c){this.fsba=b;
this.fsbo=a;this.foreclosure=d;this.newConstruction=c;}};ListingTypeStateValue.create=function(d,a,f,e){var c=new ListingTypeStateValue();
c.setChecked(d,a,f,e);var b=new StateValue(c);return b.isValid()?b:null;};function DaysOnStateValue(){this.type=null;
}DaysOnStateValue.prototype={getValueType:function(){return StateValueType.DaysOn;},encode:function(){if(this.type){return this.type[0];
}return"";},isValid:function(){return(this.type?true:false);},isDefault:function(){return this.type==SEO.DaysOnType.Any;
},getDaysOnType:function(){return this.type;},setDaysOnType:function(a){this.type=a;}};function SortParamStateValue(){this.type=null;
}SortParamStateValue.prototype={getValueType:function(){return StateValueType.SortParam;},encode:function(){if(this.type){return this.type[0];
}return"";},isValid:function(){return(this.type?true:false);},isDefault:function(){return this.type==SEO.SortType.Featured;
},getSortType:function(){return this.type;},setSortType:function(a){this.type=a;}};var SEO=(function(){return{BaseURL:{ForSale:["for_sale"],MakeMeMove:["make_me_move"],RecentlySold:["recently_sold"],FSBO:["fsbo"],ForRent:["for_rent"]},ParamType:{Baths:["baths",StateValueType.IntegerRange],Beds:["beds",StateValueType.IntegerRange],DaysOn:["days",StateValueType.DaysOn],HomeType:["type",StateValueType.HomeTypeString],ListingType:["lt",StateValueType.ListingType],LotSize:["lot",StateValueType.IntegerRange],OpenHouse:["open",StateValueType.Boolean],PhotosOnly:["photos",StateValueType.Boolean],Price:["price",StateValueType.IntegerRange],MonthlyPayment:["mp",StateValueType.IntegerRange],ShowForSale:["fs",StateValueType.Boolean],ShowMMM:["mmm",StateValueType.Boolean],ShowRecentlySold:["rs",StateValueType.Boolean],ShowAllHomes:["ah",StateValueType.Boolean],ShowForRent:["fr",StateValueType.Boolean],Size:["size",StateValueType.IntegerRange],YearBuilt:["built",StateValueType.IntegerRange]},ModeType:{DisplayMode:["disp",StateValueType.String],Page:["p",StateValueType.Integer],Sort:["sort",StateValueType.SortParam],RentalSort:["rsort",StateValueType.RentalSortParam]},LocationType:{RegionName:["region",StateValueType.String],StreetAddress:["address",StateValueType.String],RightBox:["rb",StateValueType.String],MapRect:["rect",StateValueType.BoundingRectangle],LatLong:["latlong",StateValueType.LatLong],Zoom:["zm",StateValueType.Integer],Zpid:["zpid",StateValueType.Integer],RegionId:["rid",StateValueType.Integer]},DisplayModeType:{Map:"map",List:"list",MatchingBuilding:"building",AllUnitsBuilding:"allunits",Comparables:"comps"},ListingType:{Any:["any"],FSBA:["fsba"],FSBO:["fsbo"],New:["new"],Foreclosure:["fore"]},DaysOnType:{Any:["any"],One:["1"],Seven:["7"],Fourteen:["14"],Thirty:["30"],Ninety:["90"],SixMonths:["6m"],TwelveMonths:["12m"],TwentyFourMonths:["24m"],ThirtySixMonths:["36m"]},SortType:{Featured:["featured"],PriceHighToLow:["pricea"],PriceLowToHigh:["priced"],PaymentHighToLow:["paymenta"],PaymentLowToHigh:["paymentd"],DaysOn:["days"],Beds:["beds"],Baths:["baths"],Living:["size"],YearBuilt:["built"],LotArea:["lot"]},encodeString:function(b){var a="";
if(b){a=encodeURIComponent(b);a=a.replace(/%2C/g,",");a=a.replace(/-/g,".dash.");a=a.replace(/\+/g,"-");
a=a.replace(/%20/g,"-");a=a.replace(/%23/g,".num.");}return a;},decodeString:function(b){var a="";if(b){a=b.replace(/\-/g," ");
a=a.replace(/,/g,"%2C");a=a.replace(/.dash./g,"-");a=a.replace(/.num./g,"%23");a=decodeURIComponent(a);
}return a;}};})();var URLParamOrder=[SEO.LocationType.RightBox,SEO.ParamType.HomeType,SEO.LocationType.Zpid,SEO.LocationType.RegionId,SEO.ParamType.Beds,SEO.ParamType.Baths,SEO.ParamType.Price,SEO.ParamType.MonthlyPayment,SEO.ParamType.DaysOn,SEO.ParamType.Size,SEO.ParamType.LotSize,SEO.ParamType.YearBuilt,SEO.ParamType.PhotosOnly,SEO.ParamType.OpenHouse,SEO.ModeType.Sort,SEO.LocationType.MapRect,SEO.LocationType.LatLong,SEO.LocationType.Zoom,SEO.ModeType.Page];
var SearchConstants=(function(){return{DisplayMode:{List:0,Map:1},RegionType:{Continent:0,Country:1,State:2,County:4,City:6,Zipcode:7,Borough:17,Neighborhood:8,Place:9},MapResultsMode:{Default:1,NoChildRollups:2}};
})();var adRefresh=(function(){var a=false;var g={M_RECT:0,LDB_BOT:1,SHOWCASE:2};var i={M_RECT:"fsearch_SearchPage__ads_WideAccipiterAndEzAdBlock_thirdPartyAd",LDB_BOT:"fsearch_SearchPage__Border__ads_AccipiterAdLink_4",SHOWCASE:"fsearch_SearchPage__ads_WideAccipiterAndEzAdBlock_showcaseAds"};
var b;var h;function c(){var j=new Date();return j.getTime()/1000;}function d(l){var k=null;if(l=="M_RECT"){k=Element.select("iframe",$("medrect"),true);
}else{if(l=="LDB_BOT"){k=Element.select("#inner-container div.footerboard iframe",null,true);}else{if(l=="SHOWCASE"){var j=Element.select("iframe",$("medrect"),false);
if(j.length>1){k=Element.select("iframe",$("medrect"),false)[1];}else{k=Element.select("#"+i[l],$("medrect"),true);
}}}}log(k);return k;}function e(j){var k=j.responseText.parseJSON();for(var l in g){if(typeof k[g[l]]!="undefined"&&k[g[l]]!=""&&d(l)!=null){d(l).src=k[g[l]];
}}b=c()+h;}function f(){var r=SearchFilters.Price.getMinValue();var n=SearchFilters.Price.getMaxValue();
var p;if(r!=null||n!=null){p=0;if(r){p+=r;}if(n){p+=n;}if(r&&n){p=p/2;}}var o=SearchFilters.LotSize.getMinValue();
var t=SearchFilters.LotSize.getMaxValue();var s;if(o!=null||t!=null){s=0;if(o){s+=o;}if(t){s+=t;}if(o&&t){s=s/2;
}}var k="/ads/GetAdURLs.htm?ops=((id:"+g.M_RECT+",aamsz:M_Rectangle),(id:"+g.LDB_BOT+",aamsz:Leaderboard,slot:Bottom),(id:"+g.SHOWCASE+",aamsz:Showcase))";
var l="&tgts=(site:zillow,area:Map";l+=",zab:"+h;var q=SearchFilters.ForSale.isChecked();var j=SearchFilters.MakeMeMove.isChecked();
var m=SearchFilters.RecentlySold.isChecked();if(q==true){l+=",zmo:forsale";}else{if(j==true){l+=",zmo:makememove";
}else{if(m==true){l+=",zmo:recentlysold";}}}if(p){l+=",zest:"+p;}if(s){l+=",lotSize:"+s;}l+=")";return k+l;
}return{init:function(){h=parseInt($("ad-refresh-rate").value,10);b=c()+h;a=true;if(FilterManager){FilterManager.onFilterStateChanged.subscribe(adRefresh.refreshAds);
}},refreshAds:function(j){if((typeof b!="undefined"&&typeof h!="undefined"&&b<=c())||j){b=c()+h;var k=f();
$C.asyncRequest("get",k,{success:e});}}};})();$E.onAvailable("ad-refresh-rate",adRefresh.init);var InfoMessageBar=(function(){var a="info-message-bar";return{show:function(){Element.show($(a));},hide:function(){Element.hide($(a));
},setHTML:function(b){var c=$(a);if(c){b="<div id='info-message-wrapper' class='search-message-bar'><a class='close' onclick='$E.stopPropagation(event);return false;' onmousedown='InfoMessageBar.clearHTML();' href='#'>Close</a><h4><span class='tool-icon'>&nbsp;</span><span class='message'>"+b+"</span></h4></div>";
c.innerHTML=b;}this.show();},clearHTML:function(b){var c=$(a);if(c){c.innerHTML="";}this.hide();}};})();
var SubscriptionForm=(function(){return{el:null,requiredErrorEl:null,SubmitButton:{DUMMY:null,el:null,enable:function(){Element.hide(this.DUMMY);
Element.show(this.el);},disable:function(){Element.hide(this.el);Element.show(this.DUMMY);}},validateEmail:function(a){return/^[a-zA-Z0-9][\w\.-]*@[a-zA-Z0-9][\w\.-]*[a-zA-Z\.]*[a-zA-Z]$/.test(a);
},hideAllErrors:function(){Element.select("p.error",this.el,false).forEach(function(a){Element.hide(a);
});}};})();function TextField(c,f,a,e,b,d){this.el=c||null;this.valid=false;this.maxlength=b||null;this.defaultValue=a||"";
this.errorEl=f||null;this.required=e||false;this.CssClass={defaultText:"default-text"};$D.addClass(this.el,this.CssClass.defaultText);
}TextField.prototype={constructor:TextField.prototype.constructor,hasEmptyValue:function(){return this.el.value.trim().length===0;
},hasDefaultValue:function(){return this.el.value===this.defaultValue;},isRequired:function(){return this.required;
},checkMaxLength:function(){if(this.el.value.length>this.maxlength){Element.show(this.errorEl);return false;
}return true;},checkRequired:function(){if(this.isRequired()){if(this.hasEmptyValue()||this.hasDefaultValue()){return false;
}}return true;},checkValidEmail:function(){if(!SubscriptionForm.validateEmail(this.el.value.trim())){Element.show(this.errorEl);
return false;}return true;}};var SendSearchManager=(function(){var f=5;var e=2000;var c={To:null,Name:null,From:null,Msg:null};
function g(k){var n=k.el.value.split(/\s*,\s*|\s*;\s*/);for(var m=0;m<Math.min(n.length,f);m++){var l=n[m];
if(l.length==0){continue;}if(!SubscriptionForm.validateEmail(l)){Element.show(k.errorEl);return false;
}}if((n.length>f)){var j=n[f].trim();if(j.length==0){return true;}if(/[\w]+/.test(j)){Element.show(k.errorEl);
return false;}}return true;}function i(){SubscriptionForm.hideAllErrors();c.To.valid=c.To.checkRequired()&&g(c.To);
c.Name.valid=c.Name.checkRequired();c.From.valid=c.From.checkRequired()&&c.From.checkValidEmail();c.Msg.valid=c.Msg.checkMaxLength();
(c.To.valid&&c.Name.valid&&c.From.valid&&c.Msg.valid)?SubmitButton.enable():SubmitButton.disable();}function a(j,k){if(k.hasEmptyValue()&&k.defaultValue!=""){k.el.value=k.defaultValue;
$D.addClass(k.el,k.CssClass.defaultText);}else{if(k.hasDefaultValue()){k.el.value="";$D.removeClass(k.el,k.CssClass.defaultText);
}}}function d(j,k){a(null,k);i();}function b(j){j.forEach(function(k){$E.on(k.el,"blur",d,k);$E.on(k.el,"focus",a,k);
});}function h(j){$E.removeListener(j,"focus");$E.removeListener(j,"blur");}return{init:function(){var l=Element.select("div.lightbox",null,true);
SubscriptionForm.el=Element.select("div.subscription-lightbox",l,true);var k=SubscriptionForm.el.getElementsByTagName("input");
var j=SubscriptionForm.el.getElementsByTagName("textarea")[0];c.To=new TextField(k[0],Element.select("p.remail-error",l,true),k[0].value,true);
c.Name=new TextField(k[1],Element.select("p.sname-error",l,true),"John Doe",true);c.From=new TextField(k[2],Element.select("p.semail-error",l,true),"Your e-mail",true);
c.Msg=new TextField(j,Element.select("p.smsg-error",l,true),j.value,false,e);SubmitButton=SubscriptionForm.SubmitButton;
SubmitButton.el=SubscriptionForm.el.getElementsByTagName("button")[0];SubmitButton.DUMMY=Element.select("a.button-disabled",l,true);
b([c.To,c.Name,c.From,c.Msg]);SubscriptionForm.requiredErrorEl=$$("p.req-error",SubscriptionForm.el,true);
if(c.Name.defaultValue!=k[1].value){$D.removeClass(c.Name.el,c.Name.CssClass.defaultText);}if(c.From.defaultValue!=k[2].value){$D.removeClass(c.From.el,c.From.CssClass.defaultText);
}SubmitButton.disable();i();h([c.to,c.Name,c.From,c.Msg]);}};})();var SaveSearchManager=(function(){var d={Name:null,From:null,Freq:null};
var j;function b(k){k.forEach(function(l){$E.on(l.el,"blur",f,l);$E.on(l.el,"focus",c,l);});}function h(k){$E.removeListener(k,"focus");
$E.removeListener(k,"blur");}function c(k,l){if(l.hasEmptyValue()&&l.defaultValue!=""){l.el.value=l.defaultValue;
$D.addClass(l.el,l.CssClass.defaultText);}else{if(l.hasDefaultValue()){l.el.value="";$D.removeClass(l.el,l.CssClass.defaultText);
}}}function f(k,l){c(null,l);g();}function g(){SubscriptionForm.hideAllErrors();d.Name.valid=d.Name.checkRequired();
d.From.valid=d.From.checkRequired()&&d.From.checkValidEmail();(d.Name.valid&&d.From.valid)?j.enable():j.disable();
}function e(l,k){$D.removeClass(l.el,l.CssClass.defaultText);l.el.value=k;}function i(){var k=null;if(typeof SearchMain!="undefined"){var m=SearchMain.getPageState().getCurrentSelection();
if(m!=null){k=m.getSelectionString();}}if(k==null&&k!=""){var n=SearchBar.get();var l=n[SearchBar.rightBox]||"";
if(l!=""){k=l;}else{k="e-mail alert";}}return k;}function a(k){adActivator.activate(k.successPage);}return{init:function(m){var l=Element.select("div.lightbox",null,true);
SubscriptionForm.el=Element.select("div.subscription-lightbox",l,true);var k=SubscriptionForm.el.getElementsByTagName("input");
d.Name=new TextField(k[0],Element.select("p.save-msg-error",l,true),"Your name",true);d.From=new TextField(k[1],Element.select("p.save-email-error",l,true),"Your e-mail",true);
d.Freq=SubscriptionForm.el.getElementsByTagName("select")[0];SubscriptionForm.requiredErrorEl=$$("p.save-req-error",SubscriptionForm.el,true);
j=SubscriptionForm.SubmitButton;j.el=SubscriptionForm.el.getElementsByTagName("button")[0];j.DUMMY=Element.select("a.button-disabled",l,true);
b([d.Name,d.From]);j.disable();e(d.Name,i());if(d.Name.defaultValue!=k[0].value){$D.removeClass(d.Name.el,d.Name.CssClass.defaultText);
}if(d.From.defaultValue!=k[1].value){$D.removeClass(d.From.el,d.From.CssClass.defaultText);}g();if(m!=null){m.onSuccess.subscribe(a);
}$E.on(j.el,"click",function(){h([d.Name,d.From]);});}};})();var SubscriptionUIManager=(function(){var b={hideEntryPoint:"hideSubscriptionEntryPoints",subsUpsellDivId:"subscription-registration-upsell-2"};
var a={subsUpsell:"/search/SubscriptionUpsellManager.htm?show=0"};function c(){var d=((typeof($$A)!="undefined")&&$$A.scenario)?$$A.scenario.name:"";
switch(d){case SEARCH.SCENARIO_NAME.FS:case SEARCH.SCENARIO_NAME.MMM:case SEARCH.SCENARIO_NAME.RS:return true;
default:return false;}}return{init:function(){if(!c()||($$A.viewState==$$A.VIEW_STATES.COMPS)){$D.addClass($("wrapper"),b.hideEntryPoint);
}else{$D.removeClass($("wrapper"),b.hideEntryPoint);}},hideSubsUpsell:function(){Element.hide($(b.subsUpsellDivId));
$C.asyncRequest("GET",a.subsUpsell);}};})();var SearchMain=(function(){var c=HistoryManager;var n=FilterManager;var z=SelectionManager;var Z=PageTitleManager;
var A=PageState.createBlankState();var f=new SearchRequestManager();var U=SearchBreadcrumbManager;var L;
var p;var d;var a=false;var t=false;var e=false;var I=false;var B=null;var m="map-container";var F=0.98;
var x=0.9;var w=15;var V=0;function T(){V++;return V;}function s(af,ae){return new BoundingRect(VETiles.LongitudeToPixelX(af.getWest(),ae),VETiles.LatitudeToPixelY(af.getNorth(),ae),VETiles.LongitudeToPixelX(af.getEast(),ae),VETiles.LatitudeToPixelY(af.getSouth(),ae));
}function X(af,ag,aj){var ak=true;var ai=true;var al=A.getSearchRectangle();if(al){var ae=s(af,ag);var ao=s(al,ag);
var an=BoundingRect.calculateIntersection(ae,ao);if(an!=null){var ah=an.calculateArea();if(ah/ae.calculateArea()>aj&&ah/ao.calculateArea()>aj){ai=false;
ak=false;}}if(B!="0"&&B!=null&&A.getCurrentSelection()!=null&&A.getCurrentSelection().getBoundingRect()!=null&&ag<w){var am=A.getCurrentSelection().getBoundingRect();
if(BoundingRect.equals(BoundingRect.calculateIntersection(B,am),BoundingRect.calculateIntersection(af,am))==true){ai=false;
}}}if(a==false){ai=true;}if(t==false){ak=true;}return{initiateMapSearch:ak,initiateListSearch:ai};}function l(ae,ag){var af=X(ae,ag,x);
if(af.initiateMapSearch||af.initiateListSearch){A.setSearchRectangle(ae);G(af.initiateMapSearch,af.initiateListSearch);
}else{setTimeout(function(){L.getMapObjectManager().redrawAllMapObjects();},1);}}function q(){InfoMessageBar.clearHTML();
A.setPageNumber(1);L.getBubbleManager().closeActiveBubble();var ae=(A.getDisplayMode()==SearchConstants.DisplayMode.Map);
if(ae==false){t=false;L.clearMapObjects();}G(ae,true);}function b(ae,ag){InfoMessageBar.clearHTML();var af=X(ae,ag,F);
if(af.initiateMapSearch||af.initiateListSearch){A.setPageNumber(1);A.setSearchRectangle(ae);G(af.initiateMapSearch,af.initiateListSearch);
}}function h(ae,af){InfoMessageBar.clearHTML();A.setPageNumber(1);L.getBubbleManager().closeActiveBubble();
A.setSearchRectangle(ae);G(true,true);}function G(ah,af){var ae=((a==true&&e==false)||t==true);if(ah&&af){f.doListAndMapSearch(FilterManager.getUserFilterState(),A,L.getMapState());
Y();u();H();a=true;t=true;B=A.getSearchRectangle();}else{if(af){f.doOnlyListSearch(FilterManager.getUserFilterState(),A,L.getMapState());
H();Y();a=true;B=A.getSearchRectangle();}else{if(ah){f.doOnlyMapSearch(FilterManager.getUserFilterState(),A,L.getMapState());
u();Y();t=true;}}}if(ae==true){c.saveFragment(ad().toURL());if(U.isBreadcrumbGeneric()==false){var ag=null;
if(A!=null&&A.getCurrentSelection()!=null){ag=A.getCurrentSelection().getSearchBreadcrumb();}U.makeBreadcrumbGeneric(ag);
}}}var g=0;var N=false;function i(){Element.show($("map-result-count-message"));g++;var ae=g;setTimeout(function(){if(ae>=g){Y();
}},3000);}function Y(){Element.hide($("map-result-count-message"));N=false;}var ab=false;function u(){ab=true;
if(N==false){Y();}if(L){L.setMouseLoadingIconStatus(true);}Element.show($("map-result-loading-message"));
}function ac(){ab=false;if(L){L.setMouseLoadingIconStatus(false);}Element.hide($("map-result-loading-message"));
}function H(){Element.show($("list-loading-message"));}function r(){Element.hide($("list-loading-message"));
}function D(){var ah=$("list-container");var aj=ah.offsetWidth;var ai=$D.getElementsByClassName("property-info","div",ah);
for(var ag=0;ag<ai.length;ag++){ai[ag].style.maxWidth=(aj-121)+"px";}var ak=aa();if(ak>=1036){var af=$D.getElementsByClassName("broker","div",ah);
for(var ag=0;ag<af.length;ag++){Element.show(af[ag]);}}if(ak>=1130){var ae=$D.getElementsByClassName("prop-cold","li",ah);
for(var ag=0;ag<ae.length;ag++){Element.show(ae[ag]);}}}function ad(){var an=FilterManager.getUserFilterState();
var al=L.getMapState();var ah=new SearchURLState();var af=an.getStatusFlagGroup();ah.setFilterParamValue(SEO.ParamType.ShowForSale,BooleanStateValue.createFromBool(af.getValue(FilterState.StatusFlag.ForSale)));
ah.setFilterParamValue(SEO.ParamType.ShowMMM,BooleanStateValue.createFromBool(af.getValue(FilterState.StatusFlag.MakeMeMove)));
ah.setFilterParamValue(SEO.ParamType.ShowRecentlySold,BooleanStateValue.createFromBool(af.getValue(FilterState.StatusFlag.RecentlySold)));
ah.setFilterParamValue(SEO.ParamType.ShowAllHomes,BooleanStateValue.createFromBool(af.getValue(FilterState.StatusFlag.AllHomes)));
ah.setFilterParamValue(SEO.ParamType.ShowForRent,BooleanStateValue.createFromBool(af.getValue(FilterState.StatusFlag.ForRent)));
if(ah.isShowingForSale()){var ae=an.getListingTypeGroup();var au=ListingTypeStateValue.create(ae.getValue(FilterState.ListingType.FSBA),ae.getValue(FilterState.ListingType.FSBO),ae.getValue(FilterState.ListingType.Foreclosures),ae.getValue(FilterState.ListingType.NewConstruction));
ah.setFilterParamValue(SEO.ParamType.ListingType,au);if(ae.getValue(FilterState.ListingType.OpenHouses)==true){ah.setFilterParamValue(SEO.ParamType.OpenHouse,BooleanStateValue.createFromBool(true));
}}var at=an.getHomeTypeGroup();var ak=new HomeTypeStateValue();ak.setSingle(at.getValue(FilterState.HomeType.SingleFamily));
ak.setCondo(at.getValue(FilterState.HomeType.Condo));ak.setMulti(at.getValue(FilterState.HomeType.MultiFamily));
ak.setManu(at.getValue(FilterState.HomeType.Manufactured));ak.setLand(at.getValue(FilterState.HomeType.LotLand));
ah.setFilterParamValue(SEO.ParamType.HomeType,ak);var ap=function(aA,az){if(az.getMinValue()||az.getMaxValue()){var ay=new IntegerRangeStateValue();
ay.setLow(az.getMinValue());ay.setHigh(az.getMaxValue());if(ay.isValid()){ah.setFilterParamValue(aA,ay);
}}};var ao=function(aA,ay){if(ay.getMinValue()||ay.getMaxValue()){var az=new DecimalRangeStateValue();
az.setLow(ay.getMinValue());az.setHigh(ay.getMaxValue());if(az.isValid()){ah.setFilterParamValue(aA,az);
}}};ap(SEO.ParamType.Price,an.getPriceRange());ap(SEO.ParamType.MonthlyPayment,an.getMonthlyPaymentRange());
ap(SEO.ParamType.Beds,an.getBedsRange());ao(SEO.ParamType.Baths,an.getBathsRange());ap(SEO.ParamType.Size,an.getSqFtRange());
ap(SEO.ParamType.LotSize,an.getLotSizeRange());ap(SEO.ParamType.YearBuilt,an.getYearBuiltRange());if(an.getPhotosBoolean().getValue()==true){ah.setFilterParamValue(SEO.ParamType.PhotosOnly,BooleanStateValue.createFromBool(true));
}var am=an.getDaysOnSelection().getValue();var av=new DaysOnStateValue();for(var ax in SEO.DaysOnType){var ag=SEO.DaysOnType[ax];
if(am==ag[0]){av.setDaysOnType(ag);break;}}ah.setFilterParamValue(SEO.ParamType.DaysOn,av);var aq=an.getSortSelection().getValue();
var ai=new SortParamStateValue();for(var ax in SEO.SortType){var ag=SEO.SortType[ax];if(ag[0]==aq){ai.setSortType(ag);
break;}}ah.setModeValue(SEO.ModeType.Sort,ai);var ar=A.getSearchRectangle();var aj=new BoundingRectStateValue();
aj.setWest(ar.getWest()/1000000);aj.setSouth(ar.getSouth()/1000000);aj.setEast(ar.getEast()/1000000);
aj.setNorth(ar.getNorth()/1000000);ah.setLocationValue(SEO.LocationType.MapRect,aj);if(al){ah.setLocationValue(SEO.LocationType.Zoom,IntegerStateValue.createFromInteger(al.getZoomLevel()));
}if(A.getPageNumber()!=1){ah.setModeValue(SEO.ModeType.Page,IntegerStateValue.createFromInteger(A.getPageNumber()));
}if(A.getDisplayMode()==SearchConstants.DisplayMode.List){ah.setModeValue(SEO.ModeType.DisplayMode,StringStateValue.createFromStringValue(SEO.DisplayModeType.List));
}var aw=A.getCurrentSelection();if(aw){ah.setLocationValue(SEO.LocationType.RegionName,StringStateValue.createFromStringValue(aw.getSelectionString()));
ah.setLocationValue(SEO.LocationType.RegionId,IntegerStateValue.createFromInteger(aw.getRegionId()));
}return ah;}function y(ai,ag){var af=A.getCurrentSelection();if(af!=null&&ai==af.getRegionId()){var ah=L.getMapState().getZoomLevel();
if(ah<18&&ag!=null){var ae=ah+1;if(af.getRegionType()==SearchConstants.RegionType.County){ae=Math.max(ae,9);
}L.setMapCenterAndZoom(ag,ae);}}else{z.requestSelectionChange(ai,ag);}}function S(ai){var ah=$("map-menu-controls");
var ag=$("map-menu-action");$D[ai?"removeClass":"addClass"](ah,"list");var af=$(ai?"inner-map-container":"map-menu-container");
var ae=ah.parentNode;ae.removeChild(ah);ae.removeChild(ag);af.appendChild(ah);af.appendChild(ag);}function k(){Element.show(m);
var af=L.getMapState().getMapModeType();L.setMapModeType(MapConstants.MapModeType.Street);if(L.isShowing()==false){var ah=L.showMap();
if(ah==false){}}var ag=A.getDisplayMode();A.setDisplayMode(SearchConstants.DisplayMode.Map);S(A.getDisplayMode());
var ae=$("maptype-button-street");if(ae){ae.checked=true;}mapControlButtons.check(1);if(t==true&&ag==SearchConstants.DisplayMode.List){c.saveFragment(ad().toURL());
}PhotoExperience.init();O();}function o(){Element.show(m);var ae=L.getMapState().getMapModeType();L.setMapModeType(MapConstants.MapModeType.Aerial);
if(L.isShowing()==false){var ag=L.showMap();if(ag==false){}}var af=A.getDisplayMode();A.setDisplayMode(SearchConstants.DisplayMode.Map);
S(A.getDisplayMode());var ah=$("maptype-button-aerial");if(ah){ah.checked=true;}if(t==true&&af==SearchConstants.DisplayMode.List){c.saveFragment(ad().toURL());
}PhotoExperience.init();O();}function W(){Element.show(m);L.setMapModeType(MapConstants.MapModeType.Hybrid);
if(L.isShowing()==false){var ag=L.showMap();if(ag==false){}}var af=A.getDisplayMode();A.setDisplayMode(SearchConstants.DisplayMode.Map);
S(A.getDisplayMode());var ae=$("maptype-button-hybrid");if(ae){ae.checked=true;}mapControlButtons.check(0);
if(t==true&&af==SearchConstants.DisplayMode.List){c.saveFragment(ad().toURL());}PhotoExperience.init();
O();}function j(){Element.hide(m);if(L.isShowing()==true){L.destroyMap();}S(SearchConstants.DisplayMode.List);
A.setDisplayMode(SearchConstants.DisplayMode.List);var ae=$("maptype-button-listview");if(ae){ae.checked=true;
}mapControlButtons.check(2);if(t==true){c.saveFragment(ad().toURL());}if(a==false&&t==false){G(false,true);
}PhotoExperience.init();O();}function K(){PhotoExperience.init();O();}function M(ae){if(ae&&ae.length>=7&&ae.substring(0,7)=="/homes/"){ResurrectionPageStateManager.requestPageState(ae);
}else{ResurrectionPageStateManager.requestPageState("");}a=false;t=false;}function aa(){var ae;if(typeof window.innerWidth!="undefined"){ae=window.innerWidth;
}else{if(typeof document.documentElement!="undefined"&&typeof document.documentElement.clientWidth!="undefined"&&document.documentElement.clientWidth!=0){ae=document.documentElement.clientWidth;
ae+=20;}else{ae=document.getElementsByTagName("body")[0].clientWidth;ae+=30;}}return ae;}c.onNavigation.subscribe(M);
n.onFilterStateChanged.subscribe(q);var v=300;var R=750;var J=320;function P(){var af=$("map");if(af&&I==false){var ag=$D.getViewportHeight();
var ae=Math.max(v,Math.min(R,ag-J));af.style.height=ae+"px";}}var Q=false;function E(){if(Q==false){setTimeout(function(){P();
Q=false;},150);Q=true;}}$E.on(window,"resize",E);var C=false;function O(){if(C==false){setTimeout(function(){var ah=$D.getClientRegion(),ai=ah.top,ae=ah.bottom;
var ag=O.exposedLIs||[];var af=Element.select("#search-results li.search-result").filter(function(ak){if($D.getXY(ak)[1]<ae&&ag.indexOf(ak)===-1){var aj=Element.select("input.photo-url",ak,true),al=Element.select("div.photo img",ak,true);
if(al&&aj){al.src=aj.value;}return true;}return false;});O.exposedLIs=ag.concat(af);C=false;},50);C=true;
}}$E.on(window,"scroll",O);return{getPageState:function(){return A;},getMapManager:function(){return L;
},onResurrectionPageStateResponse:function(am,an){this.initializeToState(am);try{var ag=null;if(A.getCurrentSelection()!=null){var ai=A.getCurrentSelection().getSearchBreadcrumb();
}U.displayBreadcrumb(ai,an);}catch(aj){alert(aj);}var ak=am.getBubbleDataObject();var al=am.getPageNumber();
if(al){A.setPageNumber(al);}$E.onDOMReady(function(){L.getBubbleManager().openBubble("initial",ak,undefined);
});var af=am.getDisplayMode();A.setDisplayMode(af);A.setSearchRectangle(L.getMapState().getBoundingRect());
var ah=am.getDisambigBlock();if(ah&&ah.length>0){InfoMessageBar.setHTML(ah);}if(am.getDisplayMode()==SearchConstants.DisplayMode.Map){e=true;
var ae=am.getMapState().getMapModeType();if(ae==null){if(L.getMapState()!=null&&L.getMapState().getMapModeType()!=null){ae=L.getMapState().getMapModeType();
}else{ae=MapConstants.MapModeType.Hybrid;}}switch(ae){case MapConstants.MapModeType.Street:this.toggleStreetMap();
break;case MapConstants.MapModeType.Hybrid:this.toggleHybridMap();break;case MapConstants.MapModeType.Aerial:this.toggleAerialMap();
break;default:this.toggleListOnly();}}else{this.toggleListOnly();}},initializePage:function(ah,ae,ag){U.initialize();
var af=c.getCurrentFragment();ResurrectionPageStateManager.onResurrectionStateLoaded.subscribe(function(aj,ai){SearchMain.onResurrectionPageStateResponse(aj,ai);
});if(af&&af.length>=7&&af.substring(0,7)=="/homes/"){ResurrectionPageStateManager.requestPageState(af);
}else{if(ah==true){a=true;B=ag;}ResurrectionPageStateManager.requestPageState("");}FilterManager.setRate(ae);
},initializeToState:function(ae){var af=ae.getCurrentSelection();A.setCurrentSelection(af);Z.updatePageTitle((af!=null?af.getRegionName():""),null);
if(typeof L=="undefined"){P();L=new MapManager("map","inner-map-container","searchMap",ae.getMapState(),true);
L.setClearMapObjectsOnZoomChange(true);L.onMapZoomChanged.subscribe(h);L.onMapLoad.subscribe(l);L.onMapPan.subscribe(b);
L.onMapModeTypeSwitchStreet.subscribe(k);L.onRegionClick.subscribe(y);}else{L.reinitializeMap(ae.getMapState());
}var ag=FilterState.createFromFilterStateObject(ae.getFilterStateObject());FilterManager.applyFilterState(ag);
FilterManager.applySearchBinCounts(ae.getBinCounts());},toggleStreetMap:function(){k();},toggleHybridMap:function(){W();
},toggleAerialMap:function(){o();},toggleListOnly:function(){j();},changePage:function(ae){ae=Math.round(ae);
if(ae>=1&&ae<=20){var af=this.getPageState().getPageNumber();if(af!=ae){this.getPageState().setPageNumber(ae);
G(false,true);}}},setListHTML:function(ae){$("list-container").innerHTML=ae;O();},setPaginationHTML:function(ae){var af=$("pagination-wrapper-1");
if(af){af.innerHTML=ae;}af=$("pagination-wrapper-2");if(af){af.innerHTML=ae;}},setSearchResults:function(ah,ag,af,ae){if(L){if(ae==MapConstants.MapResultsMode.NoChildRollups){L.setNoChildRollups(true);
}else{L.setNoChildRollups(false);}L.getMapState().setMapResultsMode(ae);L.getMapObjectManager().getSearchResultsManager().setSearchResults(ah,ag,af);
}},setSearchBinCounts:function(ae){FilterManager.applySearchBinCounts(ae);},provideUserLink:function(){var ae=window.location.protocol+"//"+window.location.host+ad().toURL();
prompt("You can use the URL below to return to this page",ae);},hideListLoadingMessage:function(){r();
},setPropertyInfoWidth:function(){D();},hideMapLoadingMessage:function(){ac();},showMapResultCountMessage:function(){i();
},openBubble:function(ah,ae,ag,af){if(ah&&ae&&ag&&af&&A.getDisplayMode()!=SearchConstants.DisplayMode.List){L.getBubbleManager().requestPropertyBubble(ah,ae,new LatLong(ag,af));
}},closeBubble:function(){if(L&&L.getBubbleManager()){L.getBubbleManager().closeActiveBubble();}},onRegionSelectionResponse:function(ax,ah){A.setCurrentSelection(ax);
var ak=this.getMapManager();ak.changeRegionSelection(ax);var am=ak.getMapState();if(ax!=null){var aw=ax.getBoundingRect();
var ae=aw.getCenter();var ai=ax.getNaturalZoomLevel();var av=3;if(am!=null&&am.getBoundingRect()!=null&&am.getZoomLevel()!=null){av=MapState.calculateZoomForBounds(aw,am.getBoundingRect(),am.getZoomLevel());
}ai=Math.min(Math.max(ai,av),14);var at=ak.getMapState().getZoomLevel();Z.updatePageTitle(ax.getRegionName(),null);
U.displayBreadcrumb(ax.getSearchBreadcrumb(),false);if(ai>at||ah==null){ak.setMapCenterAndZoom(ae,ai);
}else{ak.setMapCenter(ah);var ap=ak.getMapState().getBoundingRect();if(ap){var al=VETiles.LongitudeToPixelX(ap.getWest(),at);
var aj=VETiles.LatitudeToPixelY(ap.getSouth(),at);var an=VETiles.LongitudeToPixelX(ap.getEast(),at);var ar=VETiles.LatitudeToPixelY(ap.getNorth(),at);
var ao=an-al;var au=aj-ar;var ag=VETiles.LongitudeToPixelX(ah.getLongitude(),at);var af=VETiles.LatitudeToPixelY(ah.getLatitude(),at);
al=ag-Math.ceil(ao/2);aj=af+Math.floor(au/2);an=ag+Math.floor(ao/2);ar=af-Math.ceil(au/2);var aq=BoundingRect.createFromMillionths(VETiles.PixelXToLongitude(al,at),VETiles.PixelYToLatitude(aj,at),VETiles.PixelXToLongitude(an,at),VETiles.PixelYToLatitude(ar,at));
A.setSearchRectangle(aq);A.setPageNumber(1);G(true,true);}}}else{G(true,true);ak.refreshJCMTiles();}},loadBuildingPage:function(){K();
},setNoFlashMode:function(af){I=af;if(I==true){var ae=$("map");if(ae!=null){ae.style.height="auto";}}}};
})();var LeadFormManager=function(){var b={box:null,clickOrigin:"",clickTrack:"",inline:{confirmPage:"lead-form-confirm",successPage:"lead-form-success",failurePage:"lead-form-failure",form:null,_hide:function(h,i){$E.stopEvent(h);
Element.hide(i);}}};var a={success:function(i,j){try{var h=i.responseText.parseJSON();if(typeof(h.error)==="object"){log("[Contact Form] Error",h,j);
f(h.error.errorMessage,"failurePage",j);}else{log("[Contact Form] Success",h,j);f(h.response,"successPage",j);
trackCPL(null,h.brokerid,h.formid);}}catch(k){log("Exception Caught",k);a.failure(h,j);}},failure:function(h,i){log("[Contact Form] Failure",h,i);
var j="There was a problem, please refresh box page and try again.";f(j,"failurePage",i);}};var c={success:function(h){a.success(h,b.box);
},failure:function(h){a.failure(h,b.box);}};var f=function(m,k,l,j){log("[Contact Form] setMessage",m,k,l,j);
var n=l||b.inline;var i=$(n[k]);var h=$$(".close",i,true);Element.setText(i.getElementsByTagName("P")[0],m);
if(n.lightbox){$E.on(h,"click",n._hide,n,true);n._show(i);}else{$E.on(h,"click",n._hide,i);if(!j){Element.hide(n.confirmPage);
Element.hide(n.failurePage);}Element.show(i);}};var e=function(l,k){var h=["firstName","lastName","email","purpose","phoneAreaCode","phonePrefix","phoneNumber"];
for(var j=0,m;m=l[h[j]];j++){if(!m.value||m.value.trim()===""){f("Please fill in all required fields and try again.","failurePage",k,true);
setTimeout(function(){m.focus();},10);return false;}}return true;};function g(j){$E.stopEvent(j);var i=$E.getTarget(j);
if(e(i)){var h=i.action+"?"+Form.toURLString(i,null,true);$C.asyncRequest(i.method,h,a);}return false;
}function d(h){$E.stopEvent(h);b.clickOrigin=$E.getTarget(h).href.split("#").pop();b.box.confirm();}return{init:function(){var j=$(b.inline.confirmPage);
var i=Element.select(".lead-form select",document);log("lead form selects",i);if(j){b.inline.form=j.getElementsByTagName("FORM")[0];
b.box=new LightboxAjaxDialog("lead-form",null,c);$D.addClass(b.box.lightbox.dialog,"lead-form");$E.on(b.inline.form,"submit",g);
b.box.onShow.subscribe(function(){var k=b.clickOrigin.indexOf("?");if(k!==-1){var l="/trk/ClkTrk.htm?";
b.clickTrack=b.clickOrigin.substring(k+1,b.clickOrigin.length);b.clickOrigin=b.clickOrigin.substring(0,k);
l+=b.clickTrack;log("ClkTrk: "+l);$C.asyncRequest("get",l);}this.form.formLocationType.value=b.clickOrigin;
},b.box);var h=Element.select("a.lead-form-launch","container",false,function(k){$E.on(k,"click",d);});
}else{$$("a.lead-form-launch","container",false,function(k){Element.hide($D.hasClass(k,"external")&&k||k.parentNode);
});}}};}();$E.onDOMReady(LeadFormManager.init);var adActivator={};(function(){var b="lightbox-ad-link";var d="_iframe_src";function a(f){var e=$(f+d).value;
if($(f).src!=e){$(f).src=e;}}function c(e){var g=[];var f=$$("div."+b,e,false);if(f!=null){for(var i=0;
i<f.length;i++){var h=$$("iframe",f[i],true);if(h!=null){g.push(h.id);}}}return g;}adActivator.activate=function(f){var g=c(f);
for(var e=0;e<g.length;e++){a(g[e]);}};})();var PropertyLightboxSubscription=(function(){var a={logged_in:false,multi:false,validEmail:false,hrDescListening:false,hrChecked:false,slChecked:false,slAsyncSuccess:false,hrAsyncSuccess:false,hrAsyncSubmit:false,tapSubmit:false,tryOnSubmit:false};
var h=null;var g={form:null,freq:null};var b=7;var e=null;var j={listingSuccess:new Subscriber("PLS.listingSuccess"),reportSuccess:new Subscriber("PLS.reportSuccess")};
var d={toggleElement:function(o,n,p,l){var k=$D.getElementsByClassName(o,n,l);for(var m=0;m<k.length;
m++){switch(p){case"show":Element.show(k[m]);break;case"hide":Element.hide(k[m]);break;case"toggle":default:Element.toggle(k[m]);
break;}}},submitButton:function(k){switch(k){case"enable":d.toggleElement("button-disabled","a","hide",h.form);
d.toggleElement("primary","a","show",h.form);break;case"disable":default:d.toggleElement("button-disabled","a","show",h.form);
d.toggleElement("primary","a","hide",h.form);break;}},validateEmail:function(k){return(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/).test(k);
},checkValidEmail:function(k){if(!d.validateEmail(k.value.trim())){return false;}return true;},checkActivateSubmit:function(){if(a.validEmail&&(a.hrChecked||a.slChecked)){d.submitButton("enable");
}else{d.submitButton("disable");}}};var f={tipId:function(n,m){var k=$D.getElementsByClassName(n,m,h.form);
var l=$D.getElementsByClassName("input-tip","label",h.form);var o=k[0].id.substr(k[0].id.length-3);if(o!=="-lb"){k[0].id=k[0].id+"-lb";
k[0].name=k[0].id;l[0].htmlFor=k[0].id;}InputTip.init(l[0]);$E.on(k[0],"blur",function(p){if(d.checkValidEmail(k[0])){d.toggleElement("save-email-error","p","hide",h.form);
a.validEmail=true;d.checkActivateSubmit();}else{d.toggleElement("save-email-error","p","show",h.form);
a.validEmail=false;d.checkActivateSubmit();}});}};var c={subInit:function(){if(h.form.homeReportSubCheckbox){a.hrChecked=(h.form.homeReportSubCheckbox.checked?true:false);
}a.slChecked=(h.form.searchSubCheckbox.checked?true:false);for(var k=0;k<h.form.frequency.length;k++){if(h.form.frequency[k].checked){b=h.form.frequency[k].value;
}}e=$("emailField-lb").value;c.submitRequests();},submitRequests:function(){var k=function(r){a.hrAsyncSuccess=(r.responseText.substr(0,1)==1?true:false);
if(!a.slChecked){j.reportSuccess.fireEvent();}};var p=function(r){a.hrAsyncSuccess=false;if(!a.slChecked){j.reportSuccess.fireEvent();
}};var n=function(r){a.slAsyncSuccess=(r.responseText.substr(0,1)==1?true:false);j.listingSuccess.fireEvent();
};var q=function(r){a.slAsyncSuccess=false;j.listingSuccess.fireEvent();};a.hrAsyncSubmit=(a.logged_in&&a.hrChecked?true:false);
a.tapSubmit=(!a.logged_in&&a.hrChecked?true:false);if(a.hrAsyncSubmit){try{var m=(h.form.homeReportSubmitURL.value.charAt(0)==="S"?h.form.homeReportSubmitURL.value.substr(1):h.form.homeReportSubmitURL.value);
if(a.multi){m=m+"&zpid="+i.propertyId;}$C.asyncRequest("GET",m,{success:k,failure:p});}catch(l){log(l);
}}if(a.slChecked){var o=(h.form.searchSubmitURL.value.charAt(0)==="S"?h.form.searchSubmitURL.value.substr(1):h.form.searchSubmitURL.value);
o+="&email="+e+"&freq="+b;if(a.multi){o=o+"&zpid="+i.propertyId;}o=encodeURI(o);try{$C.asyncRequest("GET",o,{success:n,failure:q});
}catch(l){log(l);}}if(a.tapSubmit&&!a.slChecked){c.showSuccessPage();}},alertInit:function(){var l=new Array("success-thanks","hr-and-simlist","hr-only","daily-simlist-only","weekly-simlist-only","default-alerts","must-login","signin-error");
for(var k=0;k<l.length;k++){d.toggleElement(l[k],"span","hide");}},showSuccessPage:function(){h.showPage("success");
c.alertInit();var l=true;if(a.hrAsyncSubmit){l=(a.hrAsyncSuccess?true:false);}if(a.slChecked){l=(a.slAsyncSuccess?true:false);
}if(!l){d.toggleElement("signin-error","span","show");}else{if(a.tapSubmit){var m=$D.getElementsByClassName("continue","button");
for(var k=0;k<m.length;k++){$E.on(m[k],"click",function(n){Tapestry.submit_form("baseSearchForm","linkSubmit");
});}d.toggleElement("must-login","span","show");}else{d.toggleElement("success-thanks","span","show");
if(a.hrChecked&&a.slChecked){d.toggleElement("hr-and-simlist","span","show");}else{if(a.hrChecked){d.toggleElement("hr-only","span","show");
}else{if(a.slChecked&&(b==1)){d.toggleElement("daily-simlist-only","span","show");}else{if(a.slChecked&&(b==7)){d.toggleElement("weekly-simlist-only","span","show");
}else{d.toggleElement("default-alerts","span","show");}}}}adActivator.activate(h.successPage);}}}};var i={name:"property-subscription",propertyId:null,callbacks:{onShow:function(){a.tryOnSubmit=true;
h=this;var o=h.form.frequency;h.form.submitname.value="linkSubmit";a.logged_in=($("asyncSubmit").value==="T"?true:false);
h.form.id=h.form.name="lb_propertyAlertForm";g.form=Tapestry.find("baseSearchForm");g.freq=g.form.Hidden_2;
g.freq.value="1";$E.on(o,"click",function(p){g.freq.value=$E.getTarget(p).value;});if(YAHOO.env.ua.ie&&YAHOO.env.ua.ie==6){var m=$D.generateId(o,"freq-");
m.forEach(function(q,p){o[p].parentNode.htmlFor=q;});}if($("property-subscription-multiEntry")){a.multi=true;
g.form.Hidden_3.value=i.propertyId;}var k=h.form.homeReportSubCheckbox;if(k){a.hrChecked=(k.checked?true:false);
$E.on(k,"click",function(q){a.hrChecked=(k.checked?true:false);var p=(k.checked?"show":"hide");d.toggleElement("sign-in-alert","div",p);
d.checkActivateSubmit();});}if(a.logged_in){a.validEmail=true;d.checkActivateSubmit();}var n=$D.getElementsByClassName("hrex","a",h.form);
d.toggleElement("hr_desc_text","div","hide",h.form);if(!a.hrDescListening){$E.on(n[0],"click",function(p){d.toggleElement("hr_desc_text","div","toggle",h.form);
a.hrDescListening=true;$E.stopEvent(p);});}var l=h.form.searchSubCheckbox;a.slChecked=(l.checked?true:false);
$E.on(l,"click",function(p){a.slChecked=(l.checked?true:false);d.checkActivateSubmit();});f.tipId("emailField","input");
d.checkActivateSubmit();},onSubmit:function(k){if(a.tryOnSubmit){h=this;j.listingSuccess.subscribe(c.showSuccessPage);
j.reportSuccess.subscribe(c.showSuccessPage);c.subInit();a.tryOnSubmit=false;}$E.stopEvent(k);}}};return{load:function(){$E.onContentReady("content",function(){log("initializing PropertyLightboxSubscription");
LightboxSubscription.init(i);});}};})();
