var listingSearch={requireAllFeatures:false,displayStart:false,deleteIconUrl:"",compare:function(){listingSearchInterface.getComparisonCount(function(a){if(a>1){window.location=listingSearchInterface.comparisonUrl}else{alert("Please select at lest two listings to compare.")}})},compareCheckClick:function(a){listingSearchInterface.toggleComparison(a,function(){})},toggleMoreOptions:function(){var a=$("#search a.moreOptionsLink").html();$("#moreOptions").slideToggle(250);$("#search a.moreOptionsLink").html(a=="more options"?"hide options":"more options")},showSaveSearch:function(){globalInterface.isLoggedIn(function(a){if(a){$("#saveSearch").dialog({autoOpen:false,bgiframe:true,width:350,modal:true,title:"Save this search..."});$("#saveSearch").dialog("open");$("#saveSearchComplete").hide();$("#saveSearchForm").show();$("#saveSearchName").focus()}else{showLogin(listingSearch.showSaveSearch,"saveSearch")}})},saveSearch:function(a){listingSearchInterface.saveSearch(a.getValues(),function(){$("#saveSearchComplete").show();$("#saveSearchForm").hide();$("#myAccount div.tabContainer").tabs("select",1);$("#myAccount div.tabContainer").tabs("load",1)})},toggleOption:function(a){if(a.checked){var b=$(a).nextAll("label").html();listingSearch.addOption(b.substring(0,b.indexOf("&nbsp;")),a.id,a,function(){this._optionElement.checked=false;listingSearch.displayOptions()})}else{$("#option_"+a.id).remove()}},addOption:function(e,f,d,c){var a=document.createElement("span");a.id="option_"+f;a.className="option";a.innerHTML=e;var b=document.createElement("img");b.src=listingSearch.deleteIconUrl;b.alt="remove";b._optionElement=d;b.title="Remove feature";b.onclick=c;a.appendChild(b);$("#searchOptionsSummary").append(a)},displayOptions:function(){if($("#searchOptionsSummary").length>0){$("#searchOptionsSummary").empty();$("#moreOptions input.checkBox").each(function(){listingSearch.toggleOption(this)})}var a=0;$("#currentTowns div.currentTownList span").each(function(){if(!$(this.parentNode).hasClass("deleted")&&$("#searchOptionsSummary").length>0){listingSearch.addOption($(this).html(),this.parentNode.className,this.parentNode,function(){listingSearch.removeTown(this._optionElement,false)})}a++});if(a>0){$("#currentTowns").show()}else{$("#currentTowns").hide()}},removeTown:function(b,a){$(b).hide();setTimeout(function(){$(b).remove();listingSearch.displayOptions()},100);var c=$("#searchText").val();c=c.replace(new RegExp($(b).find("span").html().replace(" ","\\s?")+";?","g"),"");$("#searchText").val(c);if(a){$("#searchText").focus()}},compareSelectAll:function(){$("#searchResults div.listingResult input[type=checkbox]").click()},removeComparison:function(b,a){listingSearchInterface.removeComparison(b,function(){$("#comparisonTable tr").each(function(){$(this).find("td:eq("+a+")").remove()});var c=$("#comparisonTable tr:first td").length;$("#comparisonTable").width(c*150);if(c-1<3){$("#comparisonTable td.remove").html("&nbsp;")}})},saveListing:function(a,b){globalInterface.isLoggedIn(function(c){if(c){listingSearchInterface.saveListing(a,function(){$(b).replaceWith('<span class="check">Favorite</span>');$("#myAccount div.tabContainer").tabs("select",2);$("#myAccount div.tabContainer").tabs("load",2)})}else{showLogin(function(){listingSearch.saveListing(a,b)},"saveListing:"+a)}})},showStart:function(){$("#search div.start").fadeIn(400);$("#homeTop a.searchHelp").hide();$("#search div.start").click(function(){$("#searchText").focus()})},showMap:function(){var a=function(){$("#search div.locationAssistant a.showMap span").html($(this).is(":visible")?"Hide Map":"Show Map")};if($("#search div.map").length==0){listingSearchInterface.getMiniMap(function(b){$("#search div.locationAssistant div.body").append(b);$("#search div.map").slideToggle("normal",a)})}else{$("#search div.map").slideToggle("normal",a)}},showLocationAssistant:function(){clearTimeout(listingSearch.startTimeout);$("#search div.start").hide();$("#homeTop a.searchHelp").hide();$("#search div.locationAssistant").show();$("#search div.descriptionAssistant").hide();$("#search div.bedsBathsAssistant").hide();$("#search div.locationAssistant div.description").hide();$("#search div.locationAssistant div.introduction").show();$("#search div.locationAssistant div.towns").hide();if($("#currentTowns div.currentTownList div").length>0){$("#currentTowns").show()}else{$("#currentTowns").hide()}},addLocation:function(a,c){var b=$("#searchText").val();if(b.indexOf(";")>0){b=b.substring(0,b.lastIndexOf(";"))}else{b=""}if(b==""){$("#searchText").val(a+";")}else{$("#searchText").val(b+";"+a+";")}$("#search div.locationAssistant div.towns").hide();$("#search div.locationAssistant div.currentTowns").show();executeSearch();listingSearchInterface.resultCount(listingSearch.getCriteria(),function(d){$("#search div.locationAssistant div.introduction").hide();$("#search div.locationAssistant div.addedTown").show();$("#search div.locationAssistant div.addedTown strong.resultCount").html(d+((d>1||d==0)?" results":" result"));if(d>0){$("#search div.locationAssistant a.viewResults").show()}else{$("#search div.locationAssistant a.viewResults").hide()}});$("#searchText").focus();$("#search div.locationAssistant div.currentTownList").append('<div class="town'+c+'"><span>'+a+'</span><a href="javascript:void(0);" onclick="listingSearch.removeTown(this.parentNode, true);"><img src="'+listingSearch.deleteIconUrl+'" /></a></div>');listingSearch.displayOptions()},searchTowns:function(){var b=$("#searchText").val();if(b.match(/\d{5,}/)){listingSearch.searchMls()}else{if(b.match(/[A-Za-z,\s]+/)){var a=b.split(";");b=a[a.length-1];if(b.length>0){listingSearchInterface.searchTowns(b,function(c){$("#search div.locationAssistant div.towns").html(c);$("#search div.locationAssistant div.towns").show();$("#search div.locationAssistant div.towns a:first").addClass("selected");$("#search div.locationAssistant div.towns a").hover(function(){$(this).addClass("selected")},function(){$("#search div.locationAssistant div.towns a").removeClass("selected")})})}}else{$("#search div.locationAssistant div.towns").hide();$("#search div.locationAssistant div.introduction").show()}}},searchMls:function(){listingSearchInterface.getByMlsNumber($("#searchText").val(),function(a){$("#search div.locationAssistant div.description").hide();if(a){$("#search div.locationAssistant div.searchMls").html(a);$("#search div.locationAssistant div.searchMls").show()}else{$("#search div.locationAssistant div.noMlsFound").show()}})},showDescriptionAssistant:function(){clearTimeout(listingSearch.startTimeout);listingSearch.requireAllFeatures=$("#search input.description").val().indexOf("+")>=0;if(listingSearch.requireAllFeatures){$("#searchTermAll").attr("checked","checked")}else{$("#searchTermAny").attr("checked","checked")}$("#search div.start").hide();$("#homeTop a.searchHelp").hide();$("#search div.locationAssistant").hide();$("#search div.bedsBathsAssistant").hide();$("#search div.descriptionAssistant").show();$("#search div.descriptionAssistant div.description").hide();$("#search div.descriptionAssistant div.introduction").show();$("#search div.descriptionAssistant div.termOptions").show()},searchDescription:function(){executeSearch();if(listingSearch.requireAllFeatures){listingSearch.setSearchTermAll()}else{listingSearch.setSearchTermAny()}listingSearchInterface.resultCount(listingSearch.getCriteria(),function(a){$("#search div.descriptionAssistant div.introduction").hide();if(a>0){$("#search div.descriptionAssistant a.viewResults").show();$("#search div.descriptionAssistant div.noResults").hide();$("#search div.descriptionAssistant div.resultsSuccess").show();$("#search div.descriptionAssistant div.resultsSuccess strong.resultCount").html(a+((a>1||a==0)?" results":" result"))}else{$("#search div.descriptionAssistant a.viewResults").hide();$("#search div.descriptionAssistant div.resultsSuccess").hide();$("#search div.descriptionAssistant div.noResults").show()}})},setSearchTermAll:function(){executeSearch();var c=listingSearch.cleanSearchTerm($("#search input.description").val());if(c!=""){var b=c.split(/[\s,;]/);var a="";for(var d=0;d<b.length;d++){a+="+"+b[d]+" "}$("#search input.description").val(a)}},setSearchTermAny:function(){executeSearch();$("#search input.description").val(listingSearch.cleanSearchTerm($("#search input.description").val()))},cleanSearchTerm:function(a){return a.replace(/[\+\:]/g,"").replace(/^\s+|\s+$/g,"")},showBedsBathsAssistant:function(){clearTimeout(listingSearch.hideTimeout);if(!$("#search div.bedsBathsAssistant").is(":visible")){clearTimeout(listingSearch.startTimeout);$("#search div.start").hide();$("#homeTop a.searchHelp").hide();$("#search div.locationAssistant").hide();$("#search div.descriptionAssistant").hide();$("#search div.bedsBathsAssistant").show();$("#search div.bedsBathsAssistant div.description").hide();$("#search div.bedsBathsAssistant div.introduction").show()}},searchBedsBaths:function(){executeSearch();listingSearchInterface.resultCount(listingSearch.getCriteria(),function(a){$("#search div.bedsBathsAssistant div.introduction").hide();if(a>0){$("#search div.bedsBathsAssistant a.viewResults").show();$("#search div.bedsBathsAssistant div.results strong.resultCount").html(a+((a>1||a==0)?" results":" result"));$("#search div.bedsBathsAssistant div.results").show();$("#search div.bedsBathsAssistant div.noResults").hide()}else{$("#search div.bedsBathsAssistant a.viewResults").hide();$("#search div.bedsBathsAssistant div.noResults").show();$("#search div.bedsBathsAssistant div.results").hide()}})},getCriteria:function(){var a={searchText:$("#searchText").val(),description:$("#search input.description").val(),minPrice:$("#minPrice").val(),maxPrice:$("#maxPrice").val(),beds:$("#beds").val(),baths:$("#baths").val()};if($("#type").length>0){a.type=$("#type").val()}return a},disableSearchAssistant:function(){$("#searchText").unbind("focus",listingSearch.showLocationAssistant);$("#search input.description").unbind("focus",listingSearch.showDescriptionAssistant);$("#search div.options input").unbind("focus");$("#search div.options select").unbind("focus");$("#search div.options input").unbind("keyup");$("#search div.options select").unbind("change");$("#search input.description").unbind("keyup");$("#searchText").unbind("keyup");globalInterface.saveAccountSetting("disableSearchAssistant","true",function(){});$("#search div.assistant").hide();$("#homeTop a.searchHelp").show()},enableSearchAssistant:function(){globalInterface.saveAccountSetting("disableSearchAssistant","",function(){});listingSearch.initSearchAssistant();$("#searchText").focus()},initSearchAssistant:function(){$("#searchText").focus(listingSearch.showLocationAssistant);$("#search input.description").focus(listingSearch.showDescriptionAssistant);$("#search div.beds input").focus(listingSearch.showBedsBathsAssistant);$("#search div.price input").focus(listingSearch.showBedsBathsAssistant);$("#search div.baths input").focus(listingSearch.showBedsBathsAssistant);$("#search div.options select").focus(listingSearch.showBedsBathsAssistant);var a=function(){clearTimeout(listingSearch.bedsBathsTimeout);listingSearch.bedsBathsTimeout=setTimeout(listingSearch.searchBedsBaths,500)};$("#search div.beds input").keyup(a);$("#search div.baths input").keyup(a);$("#search div.price input").keyup(a);$("#search div.options select").change(a);$("#search input.description").keyup(function(){clearTimeout(listingSearch.descriptionTimeout);listingSearch.descriptionTimeout=setTimeout(listingSearch.searchDescription,1000)});$("#searchText").keydown(function(c){if(c.keyCode==40){var b=$("#search div.locationAssistant div.towns a.selected").next();if(b.length>0){$("#search div.locationAssistant div.towns a.selected").removeClass("selected");b.addClass("selected")}}else{if(c.keyCode==38){var b=$("#search div.locationAssistant div.towns a.selected").prev();if(b.length>0){$("#search div.locationAssistant div.towns a.selected").removeClass("selected");b.addClass("selected")}}else{if(c.keyCode==13){if($("#search div.locationAssistant div.towns:visible").length>0){$("#search div.locationAssistant div.towns a.selected").click();return false}else{executeSearch();$("#searchForm").submit();return false}}else{clearTimeout(listingSearch.locationSearchTimeout);listingSearch.locationSearchTimeout=setTimeout(listingSearch.searchTowns,500)}}}$("#search div.locationAssistant div.currentTownList div").each(function(){if($("#searchText").val().replace(/\s/g,"").indexOf($(this).find("span").html().replace(/\s/g,""))==-1){listingSearch.removeTown(this)}})});$(document).click(function(b){if($(b.target).parents("div.assistant").length==0&&$(b.target).parents("div.start").length==0&&!$(b.target).hasClass("assistantTrigger")&&!$(b.target).hasClass("start")&&!$(b.target).hasClass("assistant")&&!$(b.target).hasClass("searchHelp")){$("#search div.assistant").hide();$("#homeTop a.searchHelp").show()}});if(listingSearch.displayStart){listingSearch.startTimeout=setTimeout(function(){listingSearch.showStart()},5000)}}};$(document).ready(function(){globalInterface.getAccountSetting("disableSearchAssistant",function(b){$("#moreOptions input.checkBox").click(function(){listingSearch.displayOptions()});listingSearch.displayOptions();if(b!="true"){listingSearch.initSearchAssistant()}});var a=function(b){if(b.keyCode==13){executeSearch();$("#searchForm").submit();return false}};$("#search input.description").keydown(a);$("#search div.options input").keydown(a)});
