YAHOO.namespace("ps.Realestate.address");(function(){var Dom=YAHOO.util.Dom,Ev=YAHOO.util.Event,Addr=YAHOO.ps.Realestate.address,Pop=false;var config={latLngDiff:0,swBoundary:[0,0],neBoundary:[0,0],zoom:0,detailsPage:"",resultsPage:"",results:false};var setConfig=function(keys){for(var i in keys){if(YAHOO.lang.hasOwnProperty(keys,i)){config[i]=keys[i]}}};var geo;var successSearch=function(o){var response=YAHOO.ps.Ajax.eval(o);if(response!==false){var matchCount=0,nearbyCount=0;if(YAHOO.lang.isArray(response.matches)){var matchCount=response.matches.length;if(matchCount>5){matchCount=5}}if(YAHOO.lang.isArray(response.nearby)){var nearbyCount=response.nearby.length;if(nearbyCount>5){nearbyCount=5}}var click="YAHOO.ps.Realestate.address.centerMap("+response.lat+", "+response.lng+")";if(matchCount==1){loadListing(response.matches[0]["listing_key"])}else{if(matchCount>0){Pop.setHeader("Multiple Matches");var html="";for(var i=0;i<matchCount;i++){html+=buildListing(response.matches[i])}html+='<div class="centerMap"><span onClick="'+click+'"><em>Click here to center map on address</em></span></div>';var hgt=40+(44*matchCount);Pop.setContent(html);Pop.setFooter("");Pop.showSize(405,hgt)}else{if(nearbyCount>0){Pop.setHeader("Listings Nearby");var html="";for(var i=0;i<nearbyCount;i++){html+=buildListing(response.nearby[i])}html+='<div class="centerMap"><span onClick="'+click+'"><em>Click here to center map on address</em></span></div>';var hgt=40+(44*nearbyCount);Pop.setContent(html);Pop.setFooter("");Pop.showSize(405,hgt)}else{Pop.setHeader("Listing Not Found");var html='<div class="addressNote">There are no active listings for sale or rent near the address: <b>'+response.address+'</b></div><div class="centerMap"><span onClick="'+click+'"><em>Click here to center map on address</em></span></div>';Pop.setContent(html);Pop.setFooter("");Pop.showSize(300,85)}}}}};var centerMap=function(lat,lng){YAHOO.ps.Realestate.criteria.updateValues({search:"",lat:lat,lng:lng,zoom:config.zoom,view:1});if(config.results){YAHOO.ps.Realestate.criteria.recordHistory();Pop.hide()}else{var link=config.resultsPage+"#criteria="+escape(YAHOO.ps.Realestate.criteria.stringifyValues());location.href=link}};var loadListing=function(key){if(config.results){YAHOO.ps.Realestate.criteria.updateValues({key:key});YAHOO.ps.Realestate.criteria.recordHistory();Pop.hide()}else{var link=config.detailsPage+"/key/"+key;location.href=link}};var buildListing=function(listing){var html="";html+='<div class="address" onclick="YAHOO.ps.Realestate.address.loadListing('+listing.listing_key+');"><div class="title">'+listing.street_address+", "+listing.city+", "+listing.state+", "+listing.zip+'</div><div class="price">';if(listing.for_sale=="Y"){html+="For Sale: "}else{html+="For Rent: "}html+="$"+addCommas(listing.list_price)+"</div></div>";return html};var addCommas=function(nStr){nStr+="";x=nStr.split(".");x1=x[0];x2=x.length>1?"."+x[1]:"";var rgx=/(\d+)(\d{3})/;while(rgx.test(x1)){x1=x1.replace(rgx,"$1,$2")}return x1+x2};var failureSearch=function(o){if(o.responseText!==undefined){}};var callbackSearch={success:successSearch,failure:failureSearch,timeout:5000};var search=function(address){if(!YAHOO.lang.isObject(geo)){geo=new GClientGeocoder()}geo.getLatLng(address,function(point){if(point){if(point.lat()<config.swBoundary[0]||point.lat()>config.neBoundary[0]||point.lng()<config.swBoundary[1]||point.lng()>config.neBoundary[1]){}else{var lat=point.lat().toFixed(7);var lng=point.lng().toFixed(7);var postData="address="+address+"&lng="+lng+"&lat="+lat;YAHOO.util.Connect.asyncRequest("POST","/server/realestate/find-address",callbackSearch,postData)}}})};Ev.onDOMReady(function(){Pop=YAHOO.ps.Popup});Addr.search=search;Addr.setConfig=setConfig;Addr.loadListing=loadListing;Addr.centerMap=centerMap})();YAHOO.widget.DualSlider.prototype.updateValue=function(g){var b=this.minSlider.getValue(),h=this.maxSlider.getValue(),c=false;if(b!=this.minVal||h!=this.maxVal){c=true;var a=this.minSlider.thumb,j=this.maxSlider.thumb,d=this.isHoriz?"x":"y";var e=this.minSlider.thumbCenterPoint[d]+this.maxSlider.thumbCenterPoint[d];var f=Math.max(h-e-this.minRange,0);var i=Math.min(-b-e-this.minRange,0);if(this.isHoriz){f=Math.min(f,j.rightConstraint);a.setXConstraint(a.leftConstraint,f,a.tickSize);j.setXConstraint(i,j.rightConstraint,j.tickSize)}else{f=Math.min(f,j.bottomConstraint);a.setYConstraint(a.leftConstraint,f,a.tickSize);j.setYConstraint(i,j.bottomConstraint,j.tickSize)}}this.minVal=b;this.maxVal=h;if(c&&!g){this.fireEvent("change",this)}};YAHOO.widget.DualSlider.prototype.selectActiveSlider=function(f){var b=this.minSlider,a=this.maxSlider,h=b.isLocked(),c=a.isLocked(),g;if(h&&!c){this.activeSlider=a}else{if(!h&&c){this.activeSlider=b}else{if(this.isHoriz){g=YAHOO.util.Event.getPageX(f)-b.thumb.initPageX-b.thumbCenterPoint.x}else{g=YAHOO.util.Event.getPageY(f)-b.thumb.initPageY-b.thumbCenterPoint.y}this.activeSlider=g*2>a.getValue()+b.getValue()?a:b}}};YAHOO.widget.DualSlider.prototype.updateHighlight=function(){var b=this.activeSlider.id;var a=YAHOO.util.Dom.getElementsByClassName("sliderHighlight","span",b);if(this.activeSlider===this.minSlider){YAHOO.util.Dom.setStyle(a[0],"left",(this.minVal+9)+"px")}YAHOO.util.Dom.setStyle(a[0],"width",Math.max((this.maxVal-this.minVal),0)+"px")};YAHOO.widget.DualSlider.prototype.updateTextValues=function(d,g,e){var a=YAHOO.util.Dom.getElementsByClassName("first-child","span",d);var f=YAHOO.util.Dom.getElementsByClassName("first-child","span",g);a[0].innerHTML=e(this.minVal,"display");f[0].innerHTML=e(this.maxVal,"display");var i=this.maxVal-this.minVal;var c=0;if(i<=10){c=15}else{if(i<=20){c=10}else{if(i<=30){c=5}}}var b=this.minVal-((d.offsetWidth-21)/2)-c;var h=this.maxVal-((g.offsetWidth-21)/2)+c;YAHOO.util.Dom.setStyle(d,"left",b+"px");YAHOO.util.Dom.setStyle(g,"left",h+"px")};YAHOO.widget.Slider.prototype.updateTextValue=function(b,d){var a=YAHOO.util.Dom.getElementsByClassName("first-child","span",b);var c=this.getValue();a[0].innerHTML=d(c,"display");YAHOO.util.Dom.setStyle(b,"left",c+"px")};(function(){var Dom=YAHOO.util.Dom,Ev=YAHOO.util.Event,Hist=YAHOO.util.History,Crt=YAHOO.ps.Realestate.criteria,Addr=YAHOO.ps.Realestate.address,Rs=false,Bc=false;var animateSpeed=0.4,newListDays=7,soldListMon=6,hgtType=84,hgtStatus=21,hgtSub=50,easing=YAHOO.util.Easing.easeOut,defaultSearch=false,defaultValues,previousState,currentState;var rangeLg=200,rangeSm=80;var tickSizeSalePrice=10,tickSizeRentPrice=20,tickSizeLandPrice=20,tickSizeLandSize=20,tickSizeBedBath=16;var salePriceSliderValues={0:{display:"No Min",actual:0},10:{display:"$200k",actual:200000},20:{display:"$250k",actual:250000},30:{display:"$300k",actual:300000},40:{display:"$350k",actual:350000},50:{display:"$400k",actual:400000},60:{display:"$450k",actual:450000},70:{display:"$500k",actual:500000},80:{display:"$550k",actual:550000},90:{display:"$600k",actual:600000},100:{display:"$650k",actual:650000},110:{display:"$700k",actual:700000},120:{display:"$800k",actual:800000},130:{display:"$900k",actual:900000},140:{display:"$1M",actual:1000000},150:{display:"$1.25M",actual:1250000},160:{display:"$1.5M",actual:1500000},170:{display:"$1.75M",actual:1750000},180:{display:"$2M",actual:2000000},190:{display:"$2.5M",actual:2500000},200:{display:"No Max",actual:20000000}};var rentPriceSliderValues={0:{display:"No Min",actual:0},20:{display:"$1,000",actual:1000},40:{display:"$1,250",actual:1250},60:{display:"$1,500",actual:1500},80:{display:"$2,000",actual:2000},100:{display:"$2,500",actual:2500},120:{display:"$3,000",actual:3000},140:{display:"$3,500",actual:3500},160:{display:"$4,000",actual:4000},180:{display:"$5,000",actual:5000},200:{display:"No Max",actual:50000}};var landPriceSliderValues={0:{display:"No Min",actual:0},20:{display:"$200k",actual:200000},40:{display:"$400k",actual:400000},60:{display:"$600k",actual:600000},80:{display:"$800k",actual:800000},100:{display:"$1M",actual:1000000},120:{display:"$1.25M",actual:1250000},140:{display:"$1.5M",actual:1500000},160:{display:"$2M",actual:2000000},180:{display:"$2.5M",actual:2500000},200:{display:"No Max",actual:20000000}};var landSizeSliderValues={0:{display:"No Min",actual:0},20:{display:"1/4 Acre",actual:10890},40:{display:"1/2 Acre",actual:21780},60:{display:"3/4 Acre",actual:32670},80:{display:"1 Acres",actual:43560},100:{display:"2 Acres",actual:87120},120:{display:"4 Acres",actual:174240},140:{display:"6 Acres",actual:261360},160:{display:"8 Acres",actual:348480},180:{display:"10 Acres",actual:435600},200:{display:"No Max",actual:8388607}};var bedBathSliderValues={0:{display:"All",actual:0},16:{display:"1",actual:1},32:{display:"2",actual:2},48:{display:"3",actual:3},64:{display:"4",actual:4},80:{display:"5",actual:5}};var convertSalePrice=function(val,type){return salePriceSliderValues[val][type]};var getSalePrice=function(val){var tick=null;for(var i in salePriceSliderValues){if(YAHOO.lang.hasOwnProperty(salePriceSliderValues,i)){if(salePriceSliderValues[i]["actual"]==val){tick=parseInt(i,10);break}}}return tick};var convertRentPrice=function(val,type){return rentPriceSliderValues[val][type]};var getRentPrice=function(val){var tick=null;for(var i in rentPriceSliderValues){if(YAHOO.lang.hasOwnProperty(rentPriceSliderValues,i)){if(rentPriceSliderValues[i]["actual"]==val){tick=parseInt(i,10);break}}}return tick};var convertLandPrice=function(val,type){return landPriceSliderValues[val][type]};var getLandPrice=function(val){var tick=null;for(var i in landPriceSliderValues){if(YAHOO.lang.hasOwnProperty(landPriceSliderValues,i)){if(landPriceSliderValues[i]["actual"]==val){tick=parseInt(i,10);break}}}return tick};var convertLandSize=function(val,type){return landSizeSliderValues[val][type]};var getLandSize=function(val){var tick=null;for(var i in landSizeSliderValues){if(YAHOO.lang.hasOwnProperty(landSizeSliderValues,i)){if(landSizeSliderValues[i]["actual"]==val){tick=parseInt(i,10);break}}}return tick};var convertBedBath=function(val,type){var actualVal=0;val=parseInt(val,10);if(val<tickSizeBedBath){actualVal=0}else{if(val<(tickSizeBedBath*2)){actualVal=tickSizeBedBath}else{if(val<(tickSizeBedBath*3)){actualVal=tickSizeBedBath*2}else{if(val<(tickSizeBedBath*4)){actualVal=tickSizeBedBath*3}else{if(val<(tickSizeBedBath*5)){actualVal=tickSizeBedBath*4}else{actualVal=tickSizeBedBath*5}}}}}return bedBathSliderValues[actualVal][type]};var getBedBath=function(val){var tick=null;for(var i in bedBathSliderValues){if(YAHOO.lang.hasOwnProperty(bedBathSliderValues,i)){if(bedBathSliderValues[i]["actual"]==val){tick=parseInt(i,10);break}}}return tick};var config={results:false,breadcrumb:false,defaultZoom:0,acValues:"",resultsPage:"",detailsPage:""};var setConfig=function(keys){for(var i in keys){if(YAHOO.lang.hasOwnProperty(keys,i)){config[i]=keys[i]}}};var values={option:"sale",search:"",type:"",adv:0,bed:0,bath:0,minsp:0,maxsp:0,minrp:0,maxrp:0,minlp:0,maxlp:0,minls:0,maxls:0,subkey:0,subval:"",oh:0,pet:0,comp:0,newl:0,sold:0,lat:0,lng:0,zoom:0,page:1,limit:20,order:"",view:0,key:""};var updateValues=function(keys){for(var i in keys){if(YAHOO.lang.hasOwnProperty(keys,i)){values[i]=keys[i]}}};var getValues=function(returnDefault){if(returnDefault){return defaultValues}else{return values}};var parseValues=function(strValues){var tmpValues={};var aPairs=strValues.split("&");for(var i=0;i<aPairs.length;i++){var sPair=aPairs[i];if(sPair.indexOf("=")>0){var n=sPair.indexOf("=");var sParam=aPairs[i].substring(0,n);var sValue=aPairs[i].substring(n+1);tmpValues[sParam]=sValue}}updateValues(tmpValues)};var stringifyValues=function(){var strValues="";for(var i in values){if(YAHOO.lang.hasOwnProperty(values,i)){strValues+="&"+i+"="+values[i]}}strValues=strValues.substring(1);return strValues};var isDefault=function(){return defaultSearch};var changeSinceLastUpdate=function(advChange){var change=false;var option=getOption();if(option=="sale"){if(convertSalePrice(sliderSalePrice.minVal,"actual")!=values.minsp){change=true}if(convertSalePrice(sliderSalePrice.maxVal,"actual")!=values.maxsp){change=true}if(convertBedBath(sliderBed.getValue(),"actual")!=values.bed){change=true}if(convertBedBath(sliderBath.getValue(),"actual")!=values.bath){change=true}if(YAHOO.ps.Form.getCheckboxBool("oh","ohBox")==false&&values.oh==1){change=true}if(YAHOO.ps.Form.getCheckboxBool("oh","ohBox")==true&&values.oh==0){change=true}}else{if(option=="rent"){if(convertRentPrice(sliderRentPrice.minVal,"actual")!=values.minrp){change=true}if(convertRentPrice(sliderRentPrice.maxVal,"actual")!=values.maxrp){change=true}if(convertBedBath(sliderBed.getValue(),"actual")!=values.bed){change=true}if(convertBedBath(sliderBath.getValue(),"actual")!=values.bath){change=true}if(YAHOO.ps.Form.getCheckboxBool("pet","petBox")==false&&values.pet==1){change=true}if(YAHOO.ps.Form.getCheckboxBool("pet","petBox")==true&&values.pet==0){change=true}}else{if(option=="land"){if(convertLandPrice(sliderLandPrice.minVal,"actual")!=values.minlp){change=true}if(convertLandPrice(sliderLandPrice.maxVal,"actual")!=values.maxlp){change=true}if(convertLandSize(sliderLandSize.minVal,"actual")!=values.minls){change=true}if(convertLandSize(sliderLandSize.maxVal,"actual")!=values.maxls){change=true}}}}if(values.adv==1){var currComp=YAHOO.ps.Form.getCheckboxBool("comp","advCompanyBox");var currNew=YAHOO.ps.Form.getCheckboxBool("newl","advStatusNewBox");var currSold=YAHOO.ps.Form.getCheckboxBool("sold","advStatusSoldBox");var currType=YAHOO.ps.Form.getCheckboxCsv(false,4,"advTypeBox");if(currComp==false&&values.comp==1){change=true}if(currComp==true&&values.comp==0){change=true}if(currNew==false&&values.newl==1){change=true}if(currNew==true&&values.newl==0){change=true}if(currSold==false&&values.sold==1){change=true}if(currSold==true&&values.sold==0){change=true}if(values.subval!=subval.value){change=true}var subMenuItem=subButton.getMenu().activeItem;if(subMenuItem!=null){if(values.subkey!=subMenuItem.value&&subval.value!=""){change=true}}if(option=="sale"||option=="rent"){if(currType!=values.type){change=true}}}if(advChange){if(currComp==1||currNew==1||currSold==1){change=true}if(currType!=""){change=true}}if(values.option!=option){change=true}if(values.search!=search.value){change=true}if(change||config.results==false){showButton()}else{hideButton()}};var updateValuesFromForm=function(){values.option=getOption();values.search=search.value;if(values.option=="sale"){values.minsp=convertSalePrice(sliderSalePrice.minVal,"actual");values.maxsp=convertSalePrice(sliderSalePrice.maxVal,"actual");values.bed=convertBedBath(sliderBed.getValue(),"actual");values.bath=convertBedBath(sliderBath.getValue(),"actual");values.oh=(oh.checked)?1:0}else{if(values.option=="rent"){values.minrp=convertRentPrice(sliderRentPrice.minVal,"actual");values.maxrp=convertRentPrice(sliderRentPrice.maxVal,"actual");values.bed=convertBedBath(sliderBed.getValue(),"actual");values.bath=convertBedBath(sliderBath.getValue(),"actual");values.pet=(pet.checked)?1:0}else{if(values.option=="land"){values.minlp=convertLandPrice(sliderLandPrice.minVal,"actual");values.maxlp=convertLandPrice(sliderLandPrice.maxVal,"actual");values.minls=convertLandSize(sliderLandSize.minVal,"actual");values.maxls=convertLandSize(sliderLandSize.maxVal,"actual")}}}if(values.adv==1){values.comp=(YAHOO.ps.Form.getCheckboxBool("comp","advCompanyBox"))?1:0;values.sold=(YAHOO.ps.Form.getCheckboxBool("sold","advStatusSoldBox"))?1:0;values.newl=(YAHOO.ps.Form.getCheckboxBool("newl","advStatusNewBox"))?1:0;values.subval=subval.value;if(subButton.getMenu().activeItem!=null){values.subkey=subButton.getMenu().activeItem.value}if(values.option=="sale"||values.option=="rent"){values.type=YAHOO.ps.Form.getCheckboxCsv(false,4,"advTypeBox")}}hideButton()};var comparePrevious=function(part,removeKey){var histString=getPrevState();var currValues=getValues();var currString="";for(var i in currValues){if(YAHOO.lang.hasOwnProperty(currValues,i)){if(i!="key"&&removeKey){currString+="&"+i+"="+currValues[i]}}}currString=currString.substring(1);if(YAHOO.lang.isString(histString)&&removeKey){var n=histString.indexOf("&key=");histString=histString.substring(0,n)}if(part=="criteria"){if(YAHOO.lang.isString(histString)){histString=histString.substring(0,histString.indexOf("&lat="))}if(YAHOO.lang.isString(currString)){currString=currString.substring(0,currString.indexOf("&lat="))}}else{if(part=="results"){if(YAHOO.lang.isString(histString)){histString=histString.substring(histString.indexOf("&lat=")+1)}if(YAHOO.lang.isString(currString)){currString=currString.substring(currString.indexOf("&lat=")+1)}}}var diff=(histString==currString)?false:true;return diff};var updateFormFromValues=function(){var diff=comparePrevious("criteria",true);if(diff){search.value=values.search;if(values.option=="sale"){if(!document.getElementById("option-sale").checked){document.getElementById("option-sale").checked=true;showSale()}var activePriceMin=convertSalePrice(sliderSalePrice.minVal,"actual");if(activePriceMin!=values.minsp){sliderSalePrice.setMinValue(getSalePrice(values.minsp),true,false,true)}var activePriceMax=convertSalePrice(sliderSalePrice.maxVal,"actual");if(activePriceMax!=values.maxsp){sliderSalePrice.setMaxValue(getSalePrice(values.maxsp),true,false,true)}var activeBed=convertBedBath(sliderBed.getValue(),"actual");if(activeBed!=values.bed){sliderBed.setValue(getBedBath(values.bed),true,false,false)}var activeBath=convertBedBath(sliderBath.getValue(),"actual");if(activeBath!=values.bath){sliderBath.setValue(getBedBath(values.bath),true,false,false)}oh.checked=(values.oh==1)?true:false}else{if(values.option=="rent"){if(!document.getElementById("option-rent").checked){document.getElementById("option-rent").checked=true;showRent()}var activePriceMin=convertRentPrice(sliderRentPrice.minVal,"actual");if(activePriceMin!=values.minrp){sliderRentPrice.setMinValue(getRentPrice(values.minrp),true,false,true)}var activePriceMax=convertRentPrice(sliderRentPrice.maxVal,"actual");if(activePriceMax!=values.maxrp){sliderRentPrice.setMaxValue(getRentPrice(values.maxrp),true,false,true)}var activeBed=convertBedBath(sliderBed.getValue(),"actual");if(activeBed!=values.bed){sliderBed.setValue(getBedBath(values.bed),true,false,false)}var activeBath=convertBedBath(sliderBath.getValue(),"actual");if(activeBath!=values.bath){sliderBath.setValue(getBedBath(values.bath),true,false,false)}pet.checked=(values.pet==1)?true:false}else{if(values.option=="land"){if(!document.getElementById("option-land").checked){document.getElementById("option-land").checked=true;showLand()}var activePriceMin=convertLandPrice(sliderLandPrice.minVal,"actual");if(activePriceMin!=values.minlp){sliderLandPrice.setMinValue(getLandPrice(values.minlp),true,false,true)}var activePriceMax=convertLandPrice(sliderLandPrice.maxVal,"actual");if(activePriceMax!=values.maxlp){sliderLandPrice.setMaxValue(getLandPrice(values.maxlp),true,false,true)}var activeLandMin=convertLandSize(sliderLandSize.minVal,"actual");if(activeLandMin!=values.minls){sliderLandSize.setMinValue(getLandSize(values.minls),true,false,true)}var activeLandMax=convertLandSize(sliderLandSize.maxVal,"actual");if(activeLandMax!=values.maxls){sliderLandSize.setMaxValue(getLandSize(values.maxls),true,false,true)}}}}if(values.adv==1){if(!Dom.hasClass("advOptionBox","advHide")){showAdvanced()}comp.checked=(values.comp==1)?true:false;newl.checked=(values.newl==1)?true:false;sold.checked=(values.sold==1)?true:false;YAHOO.ps.Form.setCheckboxCsv(false,values.type,"advTypeBox");subval.value=values.subval;subButton.set("selectedMenuItem",values.subkey,true);subButton.set("label",('<em class="yui-button-label">'+aSub[values.subkey].text+"</em>"));$("label#subvalLabel").html(aSub[values.subkey].label)}else{if(Dom.hasClass("advOptionBox","advHide")){hideAdvanced()}}hideButton()}};var onInitRentPrice=new YAHOO.util.CustomEvent("onInitRentPrice"),onInitSalePrice=new YAHOO.util.CustomEvent("onInitSalePrice"),onInitLandPrice=new YAHOO.util.CustomEvent("onInitLandPrice"),onInitLandSize=new YAHOO.util.CustomEvent("onInitLandSize"),onInitBed=new YAHOO.util.CustomEvent("onInitBed"),onInitBath=new YAHOO.util.CustomEvent("onInitBath"),onValueChange=new YAHOO.util.CustomEvent("onValueChange");var updateButton,subButton,sliderSalePrice,sliderRentPrice,sliderLandPrice,sliderLandSize,sliderBed,sliderBath,oh,pet,search,subval,comp,newl,sold,detached,attached,garden,midhigh,fadeRed1st,fadeGry1st,fadeRed2nd,fadeGry2nd;var aSub=[{text:"Narrow Results By Street Name",value:0,label:"Enter part of a street name"},{text:"Narrow Results By Subdivision",value:1,label:"Enter a subdivision"},{text:"Narrow Results By School",value:2,label:"Enter a school name"}];var initSalePrice=function(){var spsBg=Dom.get("spSliderBg"),spsMin=Dom.get("spSliderMin"),spsMax=Dom.get("spSliderMax");var min=getSalePrice(values.minsp),max=getSalePrice(values.maxsp);sliderSalePrice=YAHOO.widget.Slider.getHorizDualSlider(spsBg,"spSliderMinThumb","spSliderMaxThumb",rangeLg,tickSizeSalePrice,[min,max]);sliderSalePrice.subscribe("ready",sliderSalePrice.updateHighlight,sliderSalePrice,true);sliderSalePrice.subscribe("change",sliderSalePrice.updateHighlight,sliderSalePrice,true);sliderSalePrice.subscribe("ready",function(){changeSinceLastUpdate(false)});sliderSalePrice.subscribe("change",function(){changeSinceLastUpdate(false)});sliderSalePrice.subscribe("ready",function(){sliderSalePrice.updateTextValues(spsMin,spsMax,convertSalePrice)});sliderSalePrice.subscribe("change",function(){sliderSalePrice.updateTextValues(spsMin,spsMax,convertSalePrice)});onInitSalePrice.unsubscribe(initSalePrice);Ev.addListener("option-sale","click",function(){changeSinceLastUpdate(false)})};var initRentPrice=function(){var rpsBg=Dom.get("rpSliderBg"),rpsMin=Dom.get("rpSliderMin"),rpsMax=Dom.get("rpSliderMax");var min=getRentPrice(values.minrp),max=getRentPrice(values.maxrp);sliderRentPrice=YAHOO.widget.Slider.getHorizDualSlider(rpsBg,"rpSliderMinThumb","rpSliderMaxThumb",rangeLg,tickSizeRentPrice,[min,max]);sliderRentPrice.subscribe("ready",sliderRentPrice.updateHighlight,sliderRentPrice,true);sliderRentPrice.subscribe("change",sliderRentPrice.updateHighlight,sliderRentPrice,true);sliderRentPrice.subscribe("ready",function(){changeSinceLastUpdate(false)});sliderRentPrice.subscribe("change",function(){changeSinceLastUpdate(false)});sliderRentPrice.subscribe("ready",function(){sliderRentPrice.updateTextValues(rpsMin,rpsMax,convertRentPrice)});sliderRentPrice.subscribe("change",function(){sliderRentPrice.updateTextValues(rpsMin,rpsMax,convertRentPrice)});onInitRentPrice.unsubscribe(initRentPrice);Ev.addListener("option-rent","click",function(){changeSinceLastUpdate(false)})};var initLandPrice=function(){var lpsBg=Dom.get("lpSliderBg"),lpsMin=Dom.get("lpSliderMin"),lpsMax=Dom.get("lpSliderMax");var min=getLandPrice(values.minlp),max=getLandPrice(values.maxlp);sliderLandPrice=YAHOO.widget.Slider.getHorizDualSlider(lpsBg,"lpSliderMinThumb","lpSliderMaxThumb",rangeLg,tickSizeLandPrice,[min,max]);sliderLandPrice.subscribe("ready",sliderLandPrice.updateHighlight,sliderLandPrice,true);sliderLandPrice.subscribe("change",sliderLandPrice.updateHighlight,sliderLandPrice,true);sliderLandPrice.subscribe("ready",function(){changeSinceLastUpdate(false)});sliderLandPrice.subscribe("change",function(){changeSinceLastUpdate(false)});sliderLandPrice.subscribe("ready",function(){sliderLandPrice.updateTextValues(lpsMin,lpsMax,convertLandPrice)});sliderLandPrice.subscribe("change",function(){sliderLandPrice.updateTextValues(lpsMin,lpsMax,convertLandPrice)});onInitLandPrice.unsubscribe(initLandPrice);Ev.addListener("option-land","click",function(){changeSinceLastUpdate(false)})};var initLandSize=function(){var lssBg=Dom.get("lsSliderBg"),lssMin=Dom.get("lsSliderMin"),lssMax=Dom.get("lsSliderMax");var min=getLandSize(values.minls),max=getLandSize(values.maxls);sliderLandSize=YAHOO.widget.Slider.getHorizDualSlider(lssBg,"lsSliderMinThumb","lsSliderMaxThumb",rangeLg,tickSizeLandSize,[min,max]);sliderLandSize.subscribe("ready",sliderLandSize.updateHighlight,sliderLandSize,true);sliderLandSize.subscribe("change",sliderLandSize.updateHighlight,sliderLandSize,true);sliderLandSize.subscribe("ready",function(){changeSinceLastUpdate(false)});sliderLandSize.subscribe("change",function(){changeSinceLastUpdate(false)});sliderLandSize.subscribe("ready",function(){sliderLandSize.updateTextValues(lssMin,lssMax,convertLandSize)});sliderLandSize.subscribe("change",function(){sliderLandSize.updateTextValues(lssMin,lssMax,convertLandSize)});onInitLandSize.unsubscribe(initLandSize)};var initBed=function(){var bdsBg=Dom.get("bedSliderBg"),bds=Dom.get("bedSlider");sliderBed=YAHOO.widget.Slider.getHorizSlider(bdsBg,"bedSliderThumb",0,rangeSm,tickSizeBedBath);sliderBed.setValue(getBedBath(values.bed),true,false,false);sliderBed.subscribe("ready",function(){changeSinceLastUpdate(false)});sliderBed.subscribe("change",function(){changeSinceLastUpdate(false)});sliderBed.subscribe("ready",function(){sliderBed.updateTextValue(bds,convertBedBath)});sliderBed.subscribe("change",function(){sliderBed.updateTextValue(bds,convertBedBath)});onInitBed.unsubscribe(initBed)};var initBath=function(){var bhsBg=Dom.get("bathSliderBg"),bhs=Dom.get("bathSlider");sliderBath=YAHOO.widget.Slider.getHorizSlider(bhsBg,"bathSliderThumb",0,rangeSm,tickSizeBedBath);sliderBath.setValue(getBedBath(values.bath),true,false,false);sliderBath.subscribe("ready",function(){changeSinceLastUpdate(false)});sliderBath.subscribe("change",function(){changeSinceLastUpdate(false)});sliderBath.subscribe("ready",function(){sliderBath.updateTextValue(bhs,convertBedBath)});sliderBath.subscribe("change",function(){sliderBath.updateTextValue(bhs,convertBedBath)});onInitBath.unsubscribe(initBath)};var initAutoComplete=function(){$("#search").autocomplete(config.acValues.split("|"));$("#search").result(function(event,item){changeSinceLastUpdate(false);$("#search").unbind("keydown");setTimeout(function(){$("#search").bind("keydown",function(e){var dis=updateButton.get("disabled");if(e.keyCode==13&&dis==false){activateButton()}})},250)});$("#search").bind("blur",function(e){changeSinceLastUpdate(false)});$("#search").bind("keydown",function(e){var dis=updateButton.get("disabled");if(e.keyCode==13&&dis==false){activateButton()}});$("#search").bind("keyup",function(e){var checkSearch=$("#search").val();var matches=checkSearch.match(/^[a-zA-Z]{2,2}[5-9]{1,1}[0-9]{6,6}$/);if(YAHOO.lang.isArray(matches)||checkSearch.length>10){changeSinceLastUpdate(false)}});$("label#searchLabel").labelOver("over");if(config.results){search.value=values.search;if(values.search!=""){$("label#searchLabel").css({textIndent:-10000})}}fadeRed1st=new YAHOO.util.ColorAnim("searchLabel",{color:{to:"#c01b2d"}},0.6);fadeGry1st=new YAHOO.util.ColorAnim("searchLabel",{color:{to:"#a9a9a9"}},0.6);fadeRed2nd=new YAHOO.util.ColorAnim("searchLabel",{color:{to:"#c01b2d"}},0.6);fadeGry2nd=new YAHOO.util.ColorAnim("searchLabel",{color:{to:"#a9a9a9"}},0.6);fadeRed1st.onComplete.subscribe(function(){fadeGry1st.animate()});fadeGry1st.onComplete.subscribe(function(){fadeRed2nd.animate()});fadeRed2nd.onComplete.subscribe(function(){fadeGry2nd.animate()})};var flashSearchLabel=function(){fadeRed1st.animate()};var handleGetKeySuccess=function(o){var response=YAHOO.ps.Ajax.eval(o);if(response!==false){if(response.success<=0){Rs.updateMessage(response.error,"message",true)}else{if(config.results){updateValues({key:response.key});recordHistory()}else{var link=config.detailsPage+"/key/"+response.key;location.href=link}}}};var handleGetKeyFailure=function(o){if(Dom.inDocument("wait")){YAHOO.ps.container.wait.hide()}if(o.responseText!==undefined&&config.results){Rs.updateMessage("Error: Unable to transmit update request.","message",true)}};var getKeyCallback={success:handleGetKeySuccess,failure:handleGetKeyFailure,timeout:4000};var initSub=function(){subButton=new YAHOO.widget.Button({id:"subkey",name:"subkey",type:"menu",lazyloadmenu:false,label:"<em>"+aSub[values.subkey].text+"</em>",menu:aSub,container:"subkeyBox"});subButton.on("selectedMenuItemChange",function(e){var oMenuItem=e.newValue;this.set("label",('<em class="yui-button-label">'+oMenuItem.cfg.getProperty("text")+"</em>"));$("label#subvalLabel").html(aSub[oMenuItem.value].label);changeSinceLastUpdate(false)});subval.value=values.subval;subButton.set("selectedMenuItem",values.subkey,true);$("label#subvalLabel").html(aSub[values.subkey].label);$("label#subvalLabel").labelOver("over");$("#subval").bind("keydown",function(e){var dis=updateButton.get("disabled");if(e.keyCode==13&&dis==false){activateButton()}});$("#subval").bind("blur",function(e){changeSinceLastUpdate(false)});$("#subval").bind("keyup",function(e){changeSinceLastUpdate(false)})};var initOption=function(){var obj="option-"+values.option;document.getElementById(obj).checked=true;changeOption(values.option)};var initCheckbox=function(){oh.checked=(values.oh==1)?true:false;pet.checked=(values.pet==1)?true:false;comp.checked=(values.comp==1)?true:false;newl.checked=(values.newl==1)?true:false;sold.checked=(values.sold==1)?true:false;YAHOO.ps.Form.setCheckboxCsv(false,values.type,"advTypeBox")};var initButton=function(){var labelName="Update Results";if(config.results==false){labelName="Search"}updateButton=new YAHOO.widget.Button({label:labelName,id:"updateButton",container:"buttonBox"});updateButton.addListener("click",function(){activateButton()})};var activateButton=function(){if(config.results){Rs.closeInfoWindow()}updateValuesFromForm();var searchBox=values.search.replace(/^\s*/,"").replace(/\s*$/,"");var searchReg=searchBox.replace(/\(/,"\\(").replace(/\)/,"\\)");var searchVal=config.acValues;var sMatch=searchVal.search(searchReg);if(searchBox.match(/[a-zA-Z]{2}\d{7}/)||(searchBox.length>10&&sMatch==-1)){var oldSearch="";if(values.view==0&&config.results){var state=getCurrState();var tmpValues={};var aPairs=state.split("&");for(var i=0;i<aPairs.length;i++){var sPair=aPairs[i];if(sPair.indexOf("=")>0){var n=sPair.indexOf("=");var sParam=aPairs[i].substring(0,n);var sValue=aPairs[i].substring(n+1);tmpValues[sParam]=sValue}}oldSearch=tmpValues.search}Dom.get("search").value=oldSearch;values.search=oldSearch;if(oldSearch==""){$("label#searchLabel").css({textIndent:0})}if(searchBox.match(/[a-zA-Z]{2}\d{7}/)){var postValues="mls_id="+searchBox;YAHOO.util.Connect.asyncRequest("POST","/server/realestate/get-key",getKeyCallback,postValues)}else{YAHOO.ps.Realestate.address.search(searchBox)}}else{if(config.results){if(searchBox==""){if(values.view==0&&values.comp==0){flashSearchLabel()}else{if(values.view==1&&config.defaultZoom==values.zoom){flashSearchLabel()}}}if(sMatch>-1&&searchBox!=""&&values.view==1){Rs.getMapLocation(searchBox)}else{values.page=1;recordHistory()}}else{var link=config.resultsPage+"#criteria="+escape(stringifyValues());location.href=link}}};var showButton=function(){updateButton.set("disabled",false)};var hideButton=function(){updateButton.set("disabled",true)};var initResetLink=function(){Ev.addListener("searchReset","click",function(){updateValues(defaultValues);YAHOO.util.Cookie.remove("criteria");location.href=config.resultsPage})};var initAdvanced=function(){var adv=parseInt(values.adv,10);if(adv==1&&config.results){Dom.addClass("advOptionBox","advHide");Dom.setStyle("advSubBox","height",hgtSub+"px");Dom.removeClass("advSubBox","advHide");Dom.setStyle("advCompanyBox","height",hgtStatus+"px");Dom.removeClass("advCompanyBox","advHide");Dom.setStyle("advStatusNewBox","height",hgtStatus+"px");Dom.removeClass("advStatusNewBox","advHide");Dom.setStyle("advStatusSoldBox","height",hgtStatus+"px");Dom.removeClass("advStatusSoldBox","advHide");Dom.setStyle("advTypeBox","height",hgtType+"px");Dom.removeClass("advTypeBox","advHide")}else{Dom.removeClass("advOptionBox","advHide");Dom.setStyle("advSubBox","height","0");Dom.addClass("advSubBox","advHide");Dom.setStyle("advCompanyBox","height","0");Dom.addClass("advCompanyBox","advHide");Dom.setStyle("advStatusNewBox","height","0");Dom.addClass("advStatusNewBox","advHide");Dom.setStyle("advStatusSoldBox","height","0");Dom.addClass("advStatusSoldBox","advHide");Dom.setStyle("advTypeBox","height","0");Dom.addClass("advTypeBox","advHide")}};var toggleAdvanced=function(){if(config.results){var adv=parseInt(values.adv,10);if(adv==1){hideAdvanced();values.adv=0}else{showAdvanced();values.adv=1}changeSinceLastUpdate(true)}else{updateValuesFromForm();values.adv=1;var link=config.resultsPage+"#criteria="+escape(stringifyValues());location.href=link}};var showAdvanced=function(){var option=getOption();showAdvStatusNew();showAdvCompany();showAdvSub();if(option!="rent"){showAdvStatusSold()}if(option!="land"){showAdvType()}Dom.addClass("advOptionBox","advHide")};var hideAdvanced=function(){var option=getOption();hideAdvStatusNew();hideAdvCompany();hideAdvSub();if(option!="rent"){hideAdvStatusSold()}if(option!="land"){hideAdvType()}Dom.removeClass("advOptionBox","advHide")};var showAdvSub=function(){var animSub=new YAHOO.util.Anim("advSubBox",{height:{from:0,to:hgtSub}},animateSpeed,easing);animSub.onComplete.subscribe(function(){Dom.removeClass("advSubBox","advHide")});animSub.animate()};var hideAdvSub=function(){Dom.addClass("advSubBox","advHide");var animSub=new YAHOO.util.Anim("advSubBox",{height:{from:hgtSub,to:0}},animateSpeed,easing);animSub.animate()};var showAdvCompany=function(){var animCompany=new YAHOO.util.Anim("advCompanyBox",{height:{from:0,to:hgtStatus}},animateSpeed,easing);animCompany.onComplete.subscribe(function(){Dom.removeClass("advCompanyBox","advHide")});animCompany.animate()};var hideAdvCompany=function(){Dom.addClass("advCompanyBox","advHide");var animCompany=new YAHOO.util.Anim("advCompanyBox",{height:{from:hgtStatus,to:0}},animateSpeed,easing);animCompany.animate()};var showAdvStatusNew=function(){var animStatus=new YAHOO.util.Anim("advStatusNewBox",{height:{from:0,to:hgtStatus}},animateSpeed,easing);animStatus.onComplete.subscribe(function(){Dom.removeClass("advStatusNewBox","advHide")});animStatus.animate()};var hideAdvStatusNew=function(){Dom.addClass("advStatusNewBox","advHide");var animStatus=new YAHOO.util.Anim("advStatusNewBox",{height:{from:hgtStatus,to:0}},animateSpeed,easing);animStatus.animate()};var showAdvStatusSold=function(){var animStatus=new YAHOO.util.Anim("advStatusSoldBox",{height:{from:0,to:hgtStatus}},animateSpeed,easing);animStatus.onComplete.subscribe(function(){Dom.removeClass("advStatusSoldBox","advHide")});animStatus.animate()};var hideAdvStatusSold=function(){Dom.addClass("advStatusSoldBox","advHide");var animStatus=new YAHOO.util.Anim("advStatusSoldBox",{height:{from:hgtStatus,to:0}},animateSpeed,easing);animStatus.animate()};var showAdvType=function(){var animType=new YAHOO.util.Anim("advTypeBox",{height:{from:0,to:hgtType}},animateSpeed,easing);animType.onComplete.subscribe(function(){Dom.removeClass("advTypeBox","advHide")});animType.onTween.subscribe(function(){ajustMainHgt()});animType.animate()};var hideAdvType=function(){Dom.addClass("advTypeBox","advHide");var animType=new YAHOO.util.Anim("advTypeBox",{height:{from:hgtType,to:0}},animateSpeed,easing);animType.onTween.subscribe(function(){ajustMainHgt()});animType.animate()};var ajustMainHgt=function(){var defHgt=450;var minHgt=30;var mainHgt=Dom.get("mn").offsetHeight;minHgt+=Dom.get("breadcrumb").offsetHeight;minHgt+=Dom.get("boxSearch").offsetHeight;if(defHgt<minHgt){if(YAHOO.env.ua.ie!=6){Dom.setStyle("mn","min-height",minHgt+"px")}}else{}};var showSale=function(){Dom.removeClass("salePriceBox","hide");Dom.removeClass("bedBox","hide");Dom.removeClass("bathBox","hide");Dom.removeClass("ohBox","hide");Dom.addClass("rentPriceBox","hide");Dom.addClass("landPriceBox","hide");Dom.addClass("landSizeBox","hide");Dom.addClass("petBox","hide");onInitSalePrice.fire();onInitBed.fire();onInitBath.fire();var adv=parseInt(values.adv,10);if(adv==1&&config.results&&Dom.hasClass("advStatusSoldBox","advHide")){showAdvStatusSold()}if(adv==1&&config.results&&Dom.hasClass("advTypeBox","advHide")){showAdvType()}};var showRent=function(){Dom.removeClass("rentPriceBox","hide");Dom.removeClass("bedBox","hide");Dom.removeClass("bathBox","hide");Dom.removeClass("petBox","hide");Dom.addClass("salePriceBox","hide");Dom.addClass("landPriceBox","hide");Dom.addClass("landSizeBox","hide");Dom.addClass("ohBox","hide");onInitRentPrice.fire();onInitBed.fire();onInitBath.fire();var adv=parseInt(values.adv,10);if(adv==1&&config.results){hideAdvStatusSold()}if(adv==1&&config.results&&Dom.hasClass("advTypeBox","advHide")){showAdvType()}};var showLand=function(){Dom.removeClass("landPriceBox","hide");Dom.removeClass("landSizeBox","hide");Dom.addClass("rentPriceBox","hide");Dom.addClass("salePriceBox","hide");Dom.addClass("bedBox","hide");Dom.addClass("bathBox","hide");Dom.addClass("petBox","hide");Dom.addClass("ohBox","hide");onInitLandPrice.fire();onInitLandSize.fire();var adv=parseInt(values.adv,10);if(adv==1&&config.results&&Dom.hasClass("advStatusSoldBox","advHide")){showAdvStatusSold()}if(adv==1&&config.results){hideAdvType()}};var getOption=function(){if(document.getElementById("option-sale").checked){return"sale"}else{if(document.getElementById("option-rent").checked){return"rent"}else{if(document.getElementById("option-land").checked){return"land"}}}};var changeOption=function(value){if(value=="sale"){showSale()}else{if(value=="rent"){showRent()}else{if(value=="land"){showLand()}}}};var listener=function(){changeOption(this.value)};var getCurrState=function(){var currState;if(YAHOO.env.ua.ie==6){currState=currentState}else{currState=Hist.getCurrentState("criteria")}return currState};var getPrevState=function(){return previousState};var recordHistory=function(){var newState=stringifyValues();var currState=getCurrState();if(YAHOO.env.ua.ie==6){if(newState!==currState){previousState=currState;currentState=newState;setupPage(newState)}}else{if(newState!==currState){previousState=currState;try{Hist.navigate("criteria",newState)}catch(e){setupPage(newState)}}}};var removeLastCrumb=function(){if(config.breadcrumb){Bc.removeItem()}};var getCrumbItems=function(){var items=Bc.getItems();return items};var addCrumb=function(id,node,text,click,margin){if(config.breadcrumb){Bc.addItem(id,node,text,click,margin)}};var setupPage=function(strValues){parseValues(strValues);if(config.results&&values.key!=""){YAHOO.ps.details.show(values.key)}else{updateFormFromValues();if(config.results){YAHOO.ps.details.clear();Rs.updateFromValues()}setCookie()}};var setCookie=function(){var cookieValues=$.extend({},values);cookieValues.subkey=0;cookieValues.subval="";cookieValues.oh=0;cookieValues.newl=0;cookieValues.pet=0;cookieValues.sold=0;cookieValues.comp=0;cookieValues.page=1;var strValues="";for(var i in cookieValues){if(YAHOO.lang.hasOwnProperty(cookieValues,i)){strValues+="&"+i+"="+cookieValues[i]}}strValues=strValues.substring(1);var currDate=new Date();var expYear=currDate.getFullYear()+2;YAHOO.util.Cookie.set("criteria",strValues,{expires:new Date("January 1, "+expYear)})};Ev.onDOMReady(function(){var ohBox=YAHOO.util.Dom.getElementsByClassName("check","input","ohBox");var petBox=YAHOO.util.Dom.getElementsByClassName("check","input","petBox");var compBox=YAHOO.util.Dom.getElementsByClassName("check","input","advCompanyBox");var newBox=YAHOO.util.Dom.getElementsByClassName("check","input","advStatusNewBox");var soldBox=YAHOO.util.Dom.getElementsByClassName("check","input","advStatusSoldBox");var typeBox=YAHOO.util.Dom.getElementsByClassName("check","input","advTypeBox");oh=ohBox[0];pet=petBox[0];newl=newBox[0];comp=compBox[0];sold=soldBox[0];detached=typeBox[0];attached=typeBox[1];garden=typeBox[2];midhigh=typeBox[3];search=Dom.get("search");subval=Dom.get("subval");defaultValues=$.extend({},values);if(config.results){Rs=YAHOO.ps.Realestate.results}if(config.breadcrumb){Bc=YAHOO.ps.Breadcrumb}var hasCookie=false,hasHistory=false;var cookieValues=YAHOO.util.Cookie.get("criteria");if(!YAHOO.lang.isNull(cookieValues)){parseValues(cookieValues);hasCookie=true}var histValues=Hist.getBookmarkedState("criteria");if(!YAHOO.lang.isNull(histValues)){parseValues(histValues);hasHistory=true}var initValues=stringifyValues();Hist.register("criteria",initValues,function(strValues){setupPage(strValues)});Hist.onReady(function(){initResetLink();initAutoComplete();initButton();initSub();initAdvanced();initCheckbox();Ev.addListener("advOptionBox","click",toggleAdvanced);Ev.addListener(["option-sale","option-rent","option-land"],"click",listener);Ev.addListener([oh,pet,comp,newl,sold,detached,attached,garden,midhigh],"click",function(){changeSinceLastUpdate(false)});onInitRentPrice.subscribe(initRentPrice);onInitSalePrice.subscribe(initSalePrice);onInitLandPrice.subscribe(initLandPrice);onInitLandSize.subscribe(initLandSize);onInitBed.subscribe(initBed);onInitBath.subscribe(initBath);initOption();if(config.results){Rs.initPaginator();Rs.initTabs();Dom.removeClass("linkBox","hide");if(hasHistory==false&&hasCookie==false){defaultSearch=true}}ajustMainHgt()});try{Hist.initialize("yui-history-field","yui-history-iframe")}catch(e){setupPage(initValues)}});Crt.updateValues=updateValues;Crt.recordHistory=recordHistory;Crt.comparePrevious=comparePrevious;Crt.setupPage=setupPage;Crt.getValues=getValues;Crt.setCookie=setCookie;Crt.setConfig=setConfig;Crt.stringifyValues=stringifyValues;Crt.removeLastCrumb=removeLastCrumb;Crt.getCrumbItems=getCrumbItems;Crt.addCrumb=addCrumb;Crt.isDefault=isDefault})();