/* This file was compressed using MbCompression library. http://blog.mironabramson.com */ 
var CitiesXhr={oACDS:null,oAutoComp:null,res:null,getCities:function(){return CitiesXhr.res.Utility.Cities;},handleSuccess:function(o){CitiesXhr.res=YAHOO.lang.JSON.parse(o.responseText);var recentSearches=YAHOO.util.Cookie.get("RS");if(recentSearches){var rs=recentSearches.split('|');CitiesXhr.res.Utility.Cities=CitiesXhr.res.Utility.Cities.concat(rs);}
CitiesXhr.buildAutoComplete();},buildAutoComplete:function(){CitiesXhr.oACDS=new YAHOO.widget.DS_JSArray(CitiesXhr.res.Utility.Cities);CitiesXhr.oACDS.queryMatchContains=true;CitiesXhr.oACDS.queryMatchSubset=true;CitiesXhr.oAutoComp=new YAHOO.widget.AutoComplete('search-main','searchListingQueryContainer',CitiesXhr.oACDS);CitiesXhr.oAutoComp.minQueryLength=1;CitiesXhr.oAutoComp.typeAhead=false;CitiesXhr.oAutoComp.formatResult=function(aResultItem,sQuery){var sKey=aResultItem[0];var mKey=aResultItem[0].toLowerCase();var mQuery=sQuery.toLowerCase();var begin=mKey.indexOf(mQuery)+0;var end=mKey.indexOf(mQuery)+mQuery.length;var sKeyPre=(begin==0)?"":sKey.substring(0,begin);var sKeyQuery=sKey.substring(begin,(end));var sKeyPost=sKey.substr(end);var aMarkup=["<div>",sKeyPre,"<span style='font-weight:bold'>",sKeyQuery,"</span>",sKeyPost,"</div>"];return(aMarkup.join(""));};},handleFailure:function(o){},startRequest:function(){YAHOO.util.Connect.asyncRequest('POST',CONST_XHR_PATH+"cities.utility",citiesAsync,"");},rebuildCities:function(newVal){CitiesXhr.res.Utility.Cities=CitiesXhr.res.Utility.Cities.concat(newVal);CitiesXhr.buildAutoComplete();}};var citiesAsync={success:CitiesXhr.handleSuccess,failure:CitiesXhr.handleFailure,scope:CitiesXhr};var optionsOpen=null;var optionsClose=null;var errorOpen=null;var errorClose=null;YAHOO.util.Event.onContentReady("search-options",function(){optionsOpen=new YAHOO.util.Anim('search-options');optionsOpen.attributes.height={to:149};optionsOpen.duration=0.5;optionsOpen.method=YAHOO.util.Easing.easeOut;optionsClose=new YAHOO.util.Anim('search-options');optionsClose.attributes.height={to:1};optionsClose.duration=0.5;optionsClose.method=YAHOO.util.Easing.easeOut;},this);YAHOO.util.Event.onContentReady("search-error",function(){errorOpen=new YAHOO.util.Anim('search-error');errorOpen.attributes.height={to:66};errorOpen.duration=0.5;errorOpen.method=YAHOO.util.Easing.easeOut;errorClose=new YAHOO.util.Anim('search-error');errorClose.attributes.height={to:1};errorClose.duration=0.5;errorClose.method=YAHOO.util.Easing.easeOut;},this);var isHomePage;var isSearchPage;var mlsChecked;var searchObj;function validateSearchListingQuery(){isHomePage=(location.pathname=='/'||location.pathname.toLowerCase()=='/default.aspx')?true:false;isSearchPage=(location.pathname.toLowerCase()=='/views/listings/'||location.pathname.toLowerCase()=='/views/listings/default.aspx')?true:false;mlsChecked=(jQuery('#options-mls-checkbox').val()=='1')?true:false;var v=jQuery('#search-main').val();if(!isHomePage)jQuery('#search-listings-btn').removeClass('btn-search').addClass('btn-search-loading');if(v==defaultSearchText)
return false;else if(mlsChecked)
MLSCall(v);else{searchObj=(isHomePage)?BuildSearchFromHome(v):BuildSearchFromOther(v);if(isSearchPage)IDXCall(searchObj,function(){RedoSearch(v);});else IDXCall(searchObj,function(){ListingRedirect(v);});}}
function BuildSearchFromHome(inputField){var address=processAddressInput(inputField);var SearchParms={City:address.city,Zipcode:address.postalCode,State:address.state,MinPrice:getNum('input-price-from'),MaxPrice:getNum('input-price-to'),MinBedrooms:getSel('input-button-beds-button'),MinBathrooms:getSel('input-button-baths-button')}
switch(jQuery('#input-button-property-type-button').text()){case'Single-Family':SearchParms.SingleFamily=true;break;case'Multi-Family':SearchParms.MultiFamily=true;break;case'Townhouse':SearchParms.TownHouse=true;break;case'Condo':SearchParms.Condo=true;break;case'Co-op':SearchParms.Coop=true;break;case'Farm':SearchParms.Farm=true;break;case'Land':SearchParms.Land=true;break;}
return SearchParms;function getNum(id){val=Number(jQuery('#'+id).val().replace(/\D/g,''));if(!isNaN(val)&&val!=0)return String(val);else return null;}
function getSel(id){val=jQuery('#'+id).text();if(val=='Any')return null;else return val.charAt(0);}}
function BuildSearchFromOther(inputField){var address=processAddressInput(inputField);var SearchParms={City:address.city,Zipcode:address.postalCode,State:address.state}
jQuery('#searchListingForm input:hidden').each(function(){var obj=jQuery(this);if(obj.val()!=null&&obj.val()!='')
switch(obj.attr('id')){case'type-single':SearchParms.SingleFamily=true;break;case'type-multi':SearchParms.MultiFamily=true;break;case'type-townhouse':SearchParms.TownHouse=true;break;case'type-condo':SearchParms.Condo=true;break;case'type-coop':SearchParms.Coop=true;break;case'type-farm':SearchParms.Farm=true;break;case'type-land':SearchParms.Land=true;break;case'bed-count':SearchParms.MinBedrooms=obj.val();break;case'bath-count':SearchParms.MinBathrooms=obj.val();break;case'options-open':SearchParms.OpenHousesOnly=true;break;case'options-just':SearchParms.JustListedOnly=true;break;case'form-home-age-max':SearchParms.MaxAge=obj.val();break;case'form-home-age-min':SearchParms.MinAge=obj.val();break;case'search-min-price':SearchParms.MinPrice=obj.val();break;case'search-max-price':SearchParms.MaxPrice=obj.val();break;case'search-min-lot':SearchParms.MinFootage=obj.val();break;case'search-max-lot':SearchParms.MaxFootage=obj.val();break;}});return SearchParms;}
function ListingRedirect(inputField){var loc=CONST_BASE_PATH+'Views/Listings/Default.aspx#s=';loc+="search-main="+inputField;if(searchObj.MinPrice!=null)loc+='|search-min-price='+searchObj.MinPrice;if(searchObj.MaxPrice!=null)loc+='|search-max-price='+searchObj.MaxPrice;if(searchObj.MinBedrooms!=null)loc+='|bed-count='+searchObj.MinBedrooms;if(searchObj.MinBathrooms!=null)loc+='|bath-count='+searchObj.MinBathrooms;if(searchObj.SingleFamily)loc+='|type-single=1';if(searchObj.MultiFamily)loc+='|type-multi=1';if(searchObj.TownHouse)loc+='|type-townhouse=1';if(searchObj.Condo)loc+='|type-condo=1';if(searchObj.Coop)loc+='|type-coop=1';if(searchObj.Farm)loc+='|type-farm=1';if(searchObj.Land)loc+='|type-land=1';if(searchObj.OpenHousesOnly)loc+='|options-open=1';if(searchObj.JustListedOnly)loc+='|options-just=1';if(searchObj.MaxAge)loc+='|form-home-age-max='+searchObj.MaxAge;if(searchObj.MinAge)loc+='|form-home-age-min='+searchObj.MinAge;if(searchObj.MinFootage)loc+='|search-min-lot='+searchObj.MinFootage;if(searchObj.MaxFootage)loc+='|search-max-lot='+searchObj.MaxFootage;window.location=loc;}
function DetailRedirect(listingID){window.location=CONST_BASE_PATH+'Views/Listings/Detail.aspx?listingId='+listingID;}
function MLSCall(mlsID){var jParms=jQuery.toJSON({'MlsId':mlsID});jQuery.getJSON(CONST_XHR_PATH+"search.mls",{'mls_json':jParms},function(jsonBack){if(jsonBack.Results.length==0){if(isSearchPage)badMLS();else window.location=CONST_BASE_PATH+"Views/Listings/Default.aspx#s=search-main="+String(mlsID)+"|mls-error=1";}
else if(jsonBack.Results.length>1){var modalBody=[];modalBody[0]='<div class="mls-message">The MLS # provided is shared with multiple listings. Please select the listing you are searching for below.</div>';modalBody[modalBody.length]='<ul class="bhg-dotted-border-list">';for(var i=0;i<jsonBack.Results.length;i++){var listing=jsonBack.Results[i];var addy=listing.City+', '+listing.State+' '+listing.PostalCode;var buildMLS='<li><div class="mls-list-item container">';buildMLS+='<a href="#" id="mlsLink'+String(i)+'">';if(listing.DoNotDisplayAddress!=true)buildMLS+=listing.Street1+', ';buildMLS+=addy+'</a></div></li>';modalBody[modalBody.length]=buildMLS;}
modalBody[modalBody.length]='</ul>';var modalSettings={header:'Multiple Listings Found',body:modalBody.join(''),createHandler:function(modal){for(var i=0;i<jsonBack.Results.length;i++){var listing=jsonBack.Results[i];var idxParms={MlsId:listing.MLSId,ListingOfficeID:listing.ListingOfficeID}
jQuery('#mlsLink'+String(i)).bind('click',{id:listing.ListingId,parms:idxParms},function(e){IDXCall(e.data.parms,function(){DetailRedirect(e.data.id);});});}}};BHG.ModalFactory.create(modalSettings);}
else{var listing=jsonBack.Results[0];var idxParms={MlsId:listing.MLSId,ListingOfficeID:listing.ListingOfficeID}
IDXCall(idxParms,function(){DetailRedirect(listing.ListingId);});}});}
function IDXCall(idxParms,callBack){if(idxParms.City!=null)idxParms.City=idxParms.City.toLowerCase();var jParms=jQuery.toJSON(idxParms);jQuery.getJSON(CONST_XHR_PATH+"search.idx",{'idx_json':jParms},function(jsonBack){if(jsonBack.IdxUrl!=null){jQuery('#conv-frame').attr('src','/Views/Listings/Tracking.htm');pageTracker._trackPageview('search_redirect.html');showGoogleAdwords();window.location=jsonBack.IdxUrl;}
else
callBack();});}
function showGoogleAdwords(){var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1036314621/?label=c9CNCOmdigEQ_c-T7gM&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1036623118/?label=n0UXCKzqfRCOuqbuAw&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1050073483/?label=52BZCNeNbRCLs9v0Aw&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1033998639/?label=Qr02CK-7dhCvoobtAw&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1036963444/?label=8hOnCMyOfxD0nLvuAw&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1035735903/?label=fGyWCIfOgQEQ36bw7QM&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1037263978/?label=8zjLCKqoggEQ6sjN7gM&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1038151687/?label=YCOmCJXaexCH4IPvAw&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1049147956/?label=WQIwCPLmfhC09KL0Aw&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1036354921/?label=KQewCMWXdxDpipbuAw&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1036314261/?label=ra3fCI-digEQlc2T7gM&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1051541295/?label=WAZgCMuMeRCv_rT1Aw&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1037246464/?label=H31dCND5axCAwMzuAw&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1036627730/?label=GuMRCM7QhQEQkt6m7gM&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1051541205/?label=XbN1CKWNeRDV_bT1Aw&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1035746237/?label=jER1CLHvfBC99_DtAw&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1052679278/?label=6hLgCPzLcBDuuPr1Aw&amp;script=0";var googleImage=new Image(1,1);googleImage.src="http://www.googleadservices.com/pagead/conversion/1039544930/?label=1eyXCKagdxDi5NjvAw&amp;script=0";}
jQuery(function(){CitiesXhr.startRequest();if(jQuery('#options-mls-checkbox').val()=='1')
jQuery('#check-mls-checkbox').removeClass('unchecked').addClass('checked');;});

var dom=YAHOO.util.Dom;function ValidateUserInput()
{var addressDefault='Enter Address';var cityDefault='Enter City & State or Zip';var address=dom.get('input-zillow-address');var city=dom.get('input-zillow-city-state-zip');if(address.value==addressDefault||city.value==cityDefault||(city.value)==''||trimAll(address.value)==''){address.value=addressDefault;city.value=cityDefault;dom.setStyle('input-header','color','red');return false;}
else{dom.setStyle('input-header','color','');return true;}}
function FlipZillow(act){var input=document.getElementById("zillow-input");var output=document.getElementById("zillow-output");if(act=="input"){dom.setStyle(input,'display','block');dom.setStyle(output,'display','none');}
else{dom.setStyle(input,'display','none');dom.setStyle(output,'display','block');}
return false;}
var ZillowXhr={handleSuccess:function(o){FlipZillow("output");var cmd=YAHOO.lang.JSON.parse(o.responseText);if(cmd.Estimate!="0"){dom.get("zilOutAddress1").innerHTML=cmd.Address.Street1;if(dom.get("zilOutAddress2").innerHTML!=""){dom.setStyle("zilOutAddress2","display","block");dom.get("zilOutAddress2").innerHTML=cmd.Address.Street2;}
else dom.setStyle("zilOutAddress2","display","none");var addrLine=cmd.Address.City+", "+cmd.Address.State.Name+" "+cmd.Address.PostalCode;dom.get("zilOutCityInfo").innerHTML=addrLine;dom.get("zilOutEstimate").innerHTML=formatCurrency(cmd.Estimate);dom.get("input-zillow-address").value=cmd.Address.Street1;dom.get("input-zillow-city-state-zip").value=addrLine;}
else{FlipZillow("output");dom.get("zilOutAddress1").innerHTML=dom.get("input-zillow-address").value;dom.get("zilOutAddress2").innerHTML="";dom.get("zilOutCityInfo").innerHTML=dom.get("input-zillow-city-state-zip").value;dom.get("zilOutEstimate").innerHTML="Not Available";}},handleFailure:function(o){dom.get("zilOutAddress1").innerHTML=dom.get("input-zillow-address").value;dom.get("zilOutAddress2").innerHTML="";dom.get("zilOutCityInfo").innerHTML=dom.get("input-zillow-city-state-zip").value;dom.get("zilOutEstimate").innerHTML="Not Available";},startRequest:function(){if(ValidateUserInput()){var cmd={Address:dom.get("input-zillow-address").value,CityInfo:dom.get("input-zillow-city-state-zip").value};var jsonStr=YAHOO.lang.JSON.stringify(cmd);YAHOO.util.Connect.asyncRequest('POST',CONST_XHR_PATH+"search.zillow",ZillowAsync,"json="+jsonStr);}
return false;}};var ZillowAsync={success:ZillowXhr.handleSuccess,failure:ZillowXhr.handleFailure,scope:ZillowXhr};jQuery(document).ready(function(){jQuery('#submit-zillow-go').click(function(){ZillowXhr.startRequest()});jQuery('#zilOutAgain').click(function(){FlipZillow('input')});jQuery('#zillow-form').find("input[type='text']").bind("keypress",function(e){if(13==e.keyCode)
ZillowXhr.startRequest();});})
function formatCurrency(num){var numArr=num.toString().split('');var outNum="";var len=numArr.length
for(i=len-1;i>=0;i--)
{if((len-i)%3==1&&i<len-1)
outNum=","+outNum;outNum=numArr[i]+outNum;}
return"$"+outNum;}
