var hash=new Hash();function Hash(){var a=this;this.groupIndex=-1;this.typeId=-1;this.keywords="";this.categories=[];this.ranges=[];this.showGroups=false;this.deserialise=function(){var b=deserialiseHash(window.location.hash);a.groupIndex=b.groupIndex;a.typeId=b.vehicleTypeId;a.keywords=b.keyword;a.categories=b.categories;a.ranges=b.ranges;return a};this.serialise=function(){window.location.hash=serialiseHash({groupIndex:a.groupIndex,vehicleTypeId:a.typeId,keyword:a.keywords,categories:a.categories,ranges:a.ranges,showGroups:a.showGroups});return a};this.getSerialisedHash=function(){var b=serialiseHash({groupIndex:a.groupIndex,vehicleTypeId:a.typeId,keyword:a.keywords,categories:a.categories,ranges:a.ranges,showGroups:a.showGroups});window.location.hash=b;return b};this.reset=function(){var b=window.location;window.location=b.href.substring(0,b.href.indexOf("#"))};this.resetFilters=function(){a.keywords="";a.categories=[];a.ranges=[];a.serialise()}}function SearchForm(d){var b=this;var j=$("#aForm");hash=new Hash();var c=new VehicleGroups();var e=new VehicleTypes(d);var l=new SearchFormLoader();var f=new Keywords(d);var g=new Categories(d);var a=new Ranges(d);var i=new SubmitForm(d);var d=d;this.shouldShowAllByDefault=false;this.shouldClearCookies=false;this.init=function(m){c.init(function(){h()});e.init(function(){k()});hash.deserialise();c.load(m);var o=$("#welcomemsg");if(o){if(hash.groupIndex&&hash.typeId){o.hide()}else{o.show()}}if(c.display){e.showControl();f.showControl();b.shouldShowAllByDefault=true;hash.showGroups=true;if(hash.groupIndex>0){h();e.load(m,c.setValue(hash.groupIndex).text(),true);if(hash.typeId>0){e.setValue(hash.typeId);e.loadTypeForm(hash.typeId,l,f,g,a,i)}e.setupSelect(l,f,g,a,i)}c.setupSelect(e,m,l,f,g,a,i)}else{var n=$('vehicleGroup[name="'+c.singleGroup+'"] vehicleType',m);if(n.length>1){e.showControl(true);f.showControl();b.shouldShowAllByDefault=true;hash.showGroups=true;hash.groupIndex=1;if(hash.groupIndex>0){h(true);e.load(m,c.singleGroup,true);if(hash.typeId>0){e.setValue(hash.typeId);e.loadTypeForm(hash.typeId,l,f,g,a,i)}e.setupSelect(l,f,g,a,i)}c.setupSelect(e,m,l,f,g,a,i)}else{if(n.length==1){f.showControl();b.shouldShowAllByDefault=false;hash.showGroups=true;hash.groupIndex=1;if(hash.groupIndex>0){e.load(m,c.singleGroup,false);hash.typeId=e.singleTypeId;if(e.singleTypeId>0){e.setValue(e.singleTypeId);e.loadTypeForm(e.singleTypeId,l,f,g,a,i,true)}}}}}return b};this.getSelectedKeywords=function(){return f.selectedKeywords};this.getSelectedCategories=function(){return g.selectedCategories};this.getSelectedRanges=function(){return a.selectedRanges};var h=function(m){k();e.empty();e.showControl(m)};var k=function(){f.empty();g.empty();a.empty();f.showControl()}}function VehicleGroups(){var c=this;var b=$("#vehicleGroup");var a=$("<select />");var d=null;this.display=false;this.singleGroup="";this.init=function(e){d=e};this.load=function(f){var e=$("searchDataMaster vehicleGroup",f);if(e.length>1){c.display=true;b.append("<h3>Select Type</h3>");e.sort(function(h,g){return $(h).attr("name")>$(g).attr("name")});a.append($("<option/>").val("0").text("-- Click to view types --"));e.each(function(){var g=$(this);a.append($("<option/>").val(g.attr("name")).text(g.attr("name")))});b.append(a).css({display:"block"})}else{if(e.length==1){c.display=false;c.singleGroup=e.attr("name");hash.groupIndex=1}}return c};this.setValue=function(e){return $(a.children()[e]).attr({selected:"selected"})};this.setupSelect=function(j,i,e,k,h,f,g){a.change(function(){d();searchForm.shouldClearCookies=true;hash.groupIndex=this.options.selectedIndex;hash.resetFilters();j.load(i,a.val(),true);j.setupSelect(e,k,h,f,g)})}}function VehicleTypes(e){var d=this;var c=$("#vehicleType");var b=$("<select />");var f=null;var e=e;var a=null;this.display=false;this.singleTypeId=-1;this.init=function(g){f=g};this.showControl=function(g){d.display=true;a=g;if(a){c.append("<h3>Select Type</h3>")}else{c.append("<h3>Select Sub-Type</h3>")}b.empty().attr("disabled","disabled");c.append(b).css({display:"block"})};this.empty=function(){c.empty()};this.load=function(h,j,g){var i=$('vehicleGroup[name="'+j+'"] vehicleType',h);if(g){d.display=true;b.empty().removeAttr("disabled");if(a){b.append($("<option/>").val("0").text("-- Click to view types --"))}else{b.append($("<option/>").val("0").text("-- Click to view sub-types --"))}i.each(function(){var k=$(this);b.append($("<option/>").val(k.attr("id")).text(k.attr("name")))});c.append(b).css({display:"block"})}else{d.singleTypeId=i.attr("id")}};this.setValue=function(k){var l=null;var g=b.children();for(var h=0;h<g.length;h++){var j=$(g[h]);if(j.attr("value")==k){j.attr({selected:"selected"})}}return l};this.setupSelect=function(g,k,j,h,i){b.change(function(){f();searchForm.shouldClearCookies=true;var l=b.val();hash.typeId=l==0?-1:l;hash.resetFilters();if(l>0){d.setValue(l);d.loadTypeForm(l,g,k,j,h,i)}else{searchResults.renderNodes([],true)}})};this.loadTypeForm=function(g,o,m,n,h,i,k){var j=xmlPath+g+"/SearchData.xml";var l=(k==null)?false:k;o.show();searchData=null;m.selectedKeywords="";n.selectedCategories=[];h.selectedRanges=[];$.ajax({type:"GET",url:j,dataType:"xml",success:function(p){if(!e){searchData=$(p);searchResults.empty();searchResults.load(g,xmlPath+g+imagesPath,searchData)}var q=xmlPath+g+"/SuggestionData.xml";$.ajax({type:"GET",url:q,dataType:"xml",success:function(r){o.hide();suggestionData=$(r);m.load(r);n.load($("Category",suggestionData));h.load($("Range",suggestionData));if(!e){var s=hash.keywords.length>0||hash.categories.length>0||hash.ranges.length>0;if((s||searchForm.shouldShowAllByDefault)&&!(s&&searchForm.shouldShowAllByDefault)){if(!l){doSearch(g)}}else{if(s&&searchForm.shouldShowAllByDefault){doSearch(g)}}}}})}})}}function SearchFormLoader(){var b=this;var a=$("#searchFormLoader");this.show=function(){a.fadeIn(250);return b};this.hide=function(){a.fadeOut(250);return b}}function Keywords(f){var d=this;var b=$("#keywordInput");var e=$('<input type="text" autocomplete="off" id="keywords" />');var a=new SuggestionData(f);var c=null;var f=f;this.selectedKeywords="";this.showControl=function(){b.append("<h3>Make, Model</h3>");c=e.clone();c.attr("disabled","disabled");b.append(c);b.css({display:"block"})};this.load=function(g){c.removeAttr("disabled");if(hash.keywords.length!=""){c.val(hash.keywords)}d.selectedKeywords=c.val();a.init(g,d,c);a.load();return d};this.empty=function(){b.empty();return d}}function SuggestionData(e){var j=this;var a=$("#keywordSuggestions");var b=null;var i=null;var k=[];var h=null;var g=false;var l="";var e=e;this.init=function(q,r,p){j.data=q;j.keywordContainer=r;j.keywords=p};this.load=function(){c(j.keywords);j.keywords.keypress(function(p){var q=p.charCode||p.keyCode;if(q==KeyConstants.Enter){p.preventDefault()}});j.keywords.keyup(function(s){s.stopImmediatePropagation();s.cancelBubble=true;s.returnValue=false;var r=$(this);var q=r.val().replace(/^\s+|\s+$/g,"");if(q.length>0){var t=s.charCode||s.keyCode;if(q.lastIndexOf(",")!=q.length-1){var p=q.split(",");l=p[p.length-1].replace(/^\s+|\s+$/g,"");if(t==KeyConstants.Enter||t==KeyConstants.Tab){d(r,true)}else{if(t==KeyConstants.Escape){a.find(".selected").removeClass("selected");n(false,"")}else{if(!(t<=40&&t>=33)&&!(t<=18&&t>=16)&&t!=20&&t!=45&&t!=144&&t!=145){n(true,l)}}}}}else{d(r,false)}if(e){hash.keywords=r.val()}})};function o(p){var r="";var q=p.val().replace(/^\s+|\s+$/g,"");if(q.length>0){if(q.indexOf(",")>-1){r=q.substring(q.lastIndexOf(",")+1,q.length-1).replace(/^\s+|\s+$/g,"")}else{r=q}}return r}function d(q,t){if(t){var s=a.find(".selected");var v=q.val().replace(/^\s+|\s+$/g,"");var w=v.lastIndexOf(",")==v.length-1;var r="";if(s&&s.length!=0){var u=w?v:(v.indexOf(",")>0?v.substring(0,v.lastIndexOf(","))+",":"");var p=s.find("a").text();p=p.indexOf("(")>0?p.substring(0,p.indexOf("(")).replace(/^\s+|\s+$/g,""):p;r=u+" "+p+", "}else{r=v+(w?" ":", ")}q.val(r.replace(/^\s+/,"").replace(/\s+$/," "))}n(false,"");j.keywordContainer.selectedKeywords=q.val();hash.keywords=q.val();if(!e){hash.serialise();performSearch()}}function c(p){if(!p||!a){return}p.keydown(function(u){u.stopImmediatePropagation();u.cancelBubble=true;u.returnValue=false;var w=u.keyCode||u.which;var v=$("[class=selected]",a);var r=null;if(a.css("display")=="block"){if(w==KeyConstants.DownArrow){r=(v.next().length)?v.next():$("li:first",a)}else{if(w==KeyConstants.UpArrow){r=(v.prev().length)?v.prev():$("li:last",a)}}}if(w==KeyConstants.Tab){var t=$(this);var y=t.val().replace(/^\s+|\s+$/g,"");if(y.length>0&&y.lastIndexOf(",")!=y.length-1){d(t,true)}else{d(t,false)}if(e){hash.keywords=t.val()}}if(r){var x=r.offset().top-a.offset().top;var q=x+r.height();var z=a[0].scrollTop;var s=a.height();if(x<0){a[0].scrollTop=x+z}if(q>s){a[0].scrollTop=q-s+z+2}r.addClass("selected");v.removeClass("selected")}})}function n(t,q){var p=0;var u=$("#vehicleGroup:visible").length;var s=$("#vehicleType:visible").length;if(t&&j.data){var r=m(j.data,q);p=r.length>8?160:(r.length*20);a.css({height:p+"px"});f(r)}if(t!=g){a.css({display:g?"none":"block"});g=!g}}function m(q,p){var s=[];if(p&&p.length>0){var r=p.split(" ");var v=$("Make",q).filter(function(x){var w=new RegExp("\\b"+p,"i");return $(this).attr("name").match(w)});v.each(function(){var w=$(this).attr("name");s.push(w);$("Model",this).each(function(){s.push(w+" "+$(this).attr("name"))})});var u=$("Model",q).filter(function(x){var w=new RegExp("\\b"+p,"i");return $(this).attr("name").match(w)});u.each(function(){var w=$(this).attr("name");var x=$(this).parent().attr("name");s.push(w+" ("+x+")")})}var t=p[0];return s.sort(function(x,w){x=x.toLowerCase();w=w.toLowerCase();if(x[0]!=w[0]){if(x[0]==t){return -1}else{if(w[0]==t){return 1}else{return x.toLowerCase()>w.toLowerCase()}}}else{return x.toLowerCase()>w.toLowerCase()}})}function f(t){var p=$("<ul />");for(var r=0;r<t.length;r++){var q=t[r];var s=$("<a></a>").click(function(){var w=$(this);var u=a;u[0].scrollTop=0;u.css("display","none");var v=w.parent().siblings();v.removeClass("selected");w.parent().addClass("selected");d($("#keywords"),true);return false}).append(q).attr("href","#"+q);p.append($("<li></li>").append(s))}a.empty();a.append(p)}}function Categories(f){var d=this;var c=$("#categories");var f=f;this.selectedCategories=[];this.load=function(i){if(i&&i.length>0){c.append($("<h3>Categories</h3>"));var g=0;var h=false;i.each(function(){var m=$(this).attr("name");var p="cat_"+m.replace(" ","");var j=$('<input type="checkbox"></input>').attr({id:p});var l=false;var o=hash.categories;if(o&&o.length>0){for(var n=0;n<o.length;n++){if(m==o[n]){j=$('<input type="checkbox" checked="true"></input>').attr({id:p});h=true;l=true;break}}}j.click(function(){b($(this))});var k=$("<label />").attr({"for":p}).text(m);d.selectedCategories[g]=[p,m,l];c.append(j).append(k);g++});c.css({display:"block"});if(!f&&h){performSearch()}}return d};this.empty=function(){c.empty();return d};function b(g){d.selectedCategories=e(g);hash.categories=a(d.selectedCategories);if(!f){hash.serialise();performSearch()}}function a(k){var g=[];if(k&&k.length>0){var h=0;for(var j=0;j<k.length;j++){if(k[j][2]){g[h]=k[j][1];h++}}}return g}function e(j){var g=d.selectedCategories;for(var h=0;h<g.length;h++){if(j.attr("id")==g[h][0]){g[h][2]=j.attr("checked")}}return g}}function Ranges(f){var b=this;var a=$("#ranges");var f=f;this.selectedRanges=[];this.load=function(i){if(!f){b.selectedRanges=[i.length];var h=0;i.each(function(){var k=e($(this));var j=h;g(k);var n=$("<h3 />").text(k.name.replace(/([A-Z]+)/g," $1").replace(/^,/,""));var l=$("<label />").text(d(k.name,k.selectedMin,k.selectedMax,k.min,k.max,k.scale,k.singleFormatString,k.formatString));var m=$('<div class=".ui-slider" />').slider({range:true,min:k.min,max:k.max,values:[k.selectedMin,k.selectedMax],change:function(q,p){var o=m.slider("option","values");k.selectedMin=o[0];k.selectedMax=o[1];k.isModified=k.selectedMin!=k.min||k.selectedMax!=k.max;b.selectedRanges[j]=k;c(b.selectedRanges);hash.serialise();performSearch()},slide:function(q,p){var o=m.slider("option","values");l.text(d(k.name,o[0],o[1],k.min,k.max,k.scale,k.singleFormatString,k.formatString))}});a.append(n).append(l).append(m).css({display:"block"});b.selectedRanges[h]=k;h++})}return b};this.empty=function(){a.empty();return b};this.rangeItems=function(){return rangeItems};function e(h){return{name:h.attr("name"),min:h.attr("min")*1,max:h.attr("max")*1,selectedMin:h.attr("min")*1,selectedMax:h.attr("max")*1,formatString:h.attr("formatString"),singleFormatString:h.attr("singleFormatString"),ticksRequired:h.attr("ticksRequired"),tickStepSize:h.attr("tickSize"),scale:(h.attr("scale")&&h.attr("scale")!=NaN)?h.attr("scale"):1,defaultRange:h.attr("default"),isModified:false}}function g(j){if(hash.ranges.length>0){for(var k=0;k<hash.ranges.length;k++){if(hash.ranges[k][0].indexOf(j.name.toLowerCase())>0){var h=hash.ranges[k][0];var l=hash.ranges[k][1];if(h.indexOf("min_")>-1){j.selectedMin=l;j.isModified=true;continue}else{if(h.indexOf("max_")>-1){j.selectedMax=l;j.isModified=true;continue}}}}}else{j.selectedMin=j.min;j.selectedMax=j.max}}function c(l){hash.ranges=[];var h=0;for(var k=0;k<l.length;k++){var j=l[k];if(j.isModified){if(j.selectedMin!=j.min){hash.ranges[h]=["min_"+j.name.toLowerCase(),j.selectedMin];h++}if(j.selectedMax!=j.max){hash.ranges[h]=["max_"+j.name.toLowerCase(),j.selectedMax];h++}}}}function d(p,s,j,l,n,i,k,q){var o=null;if(s||j){var h=(i&&i!=NaN)?(s-s%i)/i:s;var r=(i&&i!=NaN)?(j-j%i)/i:j;var m=p.toLowerCase()=="price";if(m){h=formatPrice(h+"");r=formatPrice(r+"");if(j==n){r=r+"+"}}if(h==r||!r){o=k.replace("{0}",h)}else{if(!h){o=k.replace("{0}",r)}else{o=q.replace("{0}",h).replace("{1}",r)}}}return o}}function SubmitForm(d){var c=this;var a=$("#searchSubmit");$("#submitSearch").click(function(){window.location.href=b(window.location.href)+"Search/"+hash.getSerialisedHash();return false});var d=d;function b(e){return e.indexOf("#")>-1?e.substring(0,e.indexOf("#")):e}}function WelcomeMessage(e){var g=this;var d=e.find(".showInfo").clone();var c=null;var b=false;this.show=function(){var h=d;if(g.exists()){f()}else{a();f()}return g};this.hide=function(){if(g.exists()&&b){c.fadeOut(500);b=false}return g};this.remove=function(){if(g.exists()){c.remove();c=null;b=false}return g};this.exists=function(){var h=false;if(c){h=true}return h};function a(){c=d.clone();e.append(c.hide())}function f(){if(c&&!b){c.fadeIn(500);b=true}}}function SearchResults(){var f=this;var c=$("#resSet");var g=new WelcomeMessage(c);var d=false;this.hasLoaded=function(){return d};this.empty=function(){c.find(".result").remove()};this.load=function(m,n,o){d=false;var p=$("Model",o);$(".pageNav .end",c.parent()).empty().append($("<h2></h2>"));p.sort(function(r,q){return $(r).attr("id")>$(q).attr("id")});p.each(function(){var u=$(this);var r=u.attr("dcat")?u.attr("dcat"):u.attr("name");var t=u.parent().attr("name")+" "+u.attr("name")+" "+r;var s=n+u.attr("id")+"t.jpg";var q=$("<div></div>").attr("id","res_"+u.attr("refId")).addClass("result").append($("<h5></h5>").append($("<a></a>").attr("href",(rootUrl||"")+"/"+u.attr("urlmake")+"/"+u.attr("urlmodel")+"/"+u.attr("urlbodytype")+"/"+u.attr("refId")).text(t)).css({display:"none"})).append($("<h4></h4>").text(t)).append($("<img />").attr("src",s).attr("alt",t)).css({display:"none"}).click(function(){$("#selResult",c).remove();var w=j(m,u,$(this).clone(),t,s).css("top",($(this).parent()[0].scrollTop+50)+"px");c.append(w);w.fadeIn(500);createPageImpression("ajax",u.parent().attr("name"),u.attr("name"),r);var v=servicesPath+"/LogDataService.svc/SaveStatistic?statType='SearchViewed'&vehicleDetailId="+u.attr("refId");$.ajax({type:"POST",url:v,dataType:"json",contentType:"application/json",success:function(x){}})});c.append(q)});setTimeout(function(){$("#resLoad",c).fadeOut(1000)},2000);h(m);d=true};this.init=function(){d=false;c.empty();g.show()};this.renderNodes=function(n,m){if(!m&&n.length>0){$(".pageNav .end h2",c.parent()).text(n.length+" results")}else{$(".pageNav .end h2",c.parent()).text("")}$("#aResults .noResult").remove();g.hide();var o=$("#resSet .result");o.each(function(){var q=$(this);if(m){q.fadeOut(600);return}var s=q.attr("id").replace("res_","");var p=n.contains(s);var r=q.css("display").indexOf("none")==-1;if(!p&&r){q.fadeOut(600)}if(p&&!r){q.fadeIn(1500)}});if(m){g.show();if($("#aForm .searchReset").length>0){$("#aForm .searchReset").remove();$("#aForm h2").append($("<span></span>").text("Begin your search"))}}else{if(!m&&$("#aForm h2 a").length==0){$("#aForm h2 span").remove();i($("#aForm h2"));i($("#aForm"))}if(n.length==0){c.append($("<div></div>").addClass("noResult").append($("<h4></h4>").text("Search criteria returned no results!")))}}};this.loadCompareItemsFromCookie=function(m){a(m)};function l(){}function j(n,p,u,w,z){var q=$("<div></div>").addClass("selImg").append($("<img />").attr("src",z.replace("t.jpg","f.jpg")).attr("alt",w));var v=$("<a></a>").text("close").attr("href","#").addClass("close").click(function(){$("#selResult",c).fadeOut(200);return false});var r="";if(p.attr("minprice")||p.attr("maxprice")){r+=" - ";if(p.attr("minprice")=="0"&&p.attr("maxprice")=="0"){r+="POA"}else{r+=(p.attr("minprice")!=p.attr("maxprice"))?formatPrice(p.attr("minprice"))+" to "+formatPrice(p.attr("maxprice")):formatPrice(p.attr("minprice"))}}var o=$("<h4></h4>").text(w+r);var y=$("<a></a>").text("Full Details").attr("href",(rootUrl||"")+"/"+p.attr("urlmake")+"/"+p.attr("urlmodel")+"/"+p.attr("urlbodytype")+"/"+p.attr("refId")).addClass("detLink");if(showMoreInfoButton=="True"){y=$("<a></a>").text("Request Info").attr("href",(rootUrl||"")+"/"+p.attr("urlmake")+"/"+p.attr("urlmodel")+"/"+p.attr("urlbodytype")+"/"+p.attr("refId")).addClass("detLink")}var x="";if(Boolean.parse(showModelEmailButton)){x=$("<a></a>").text(modelEmailButtonText).attr("href","#").addClass("expertLink");x.click(function(){setupAskAnExpertEmailModal((rootUrl||"")+"/Email/RequestInfo/"+p.attr("refId")+"/-1")})}var t=$("<a></a>").text("Add To Compare").attr("href","#").addClass("comLink").click(function(){k(n,u,p.attr("refId"));v.click();return false});var s=$("<div></div>").addClass("desc").append(o);var m=y.clone().text("View Full Details");return $("<div></div>").attr("id","selResult").append(q).append(s).append(m).append($("<div></div>").addClass("links").append(y).append(x).append(t).append(v))}function b(p){var o=p.attr("id").replace("res_","ci_");var n=function(){p.fadeOut(300,function(){$(this).remove();if($("#aCompare .citem").length<=1){$("#aCompare .content h3").show();$("a.startCompare").hide();$("#aCompare h2 span").show()}removeCompareItem(o.replace("ci_",""))});return false};p.find("h4").css("display","none");p.find("h5").css("display","block");var m=p.find("a").clone();m.text("").append(p.find("img"));return p.attr("id",o).removeClass("result").addClass("citem").css({display:"block"}).append($(m)).append($("<div></div>").append($(p.find(":first").html()).text("View").css("float","left").css("margin-left","30px")).append($("<a>Remove</a>").attr("href","#").click(n)))}function k(n,p,o){if($("#aCompare .citem").length!=0){$("#aCompare .content h3").hide();$("a.startCompare").css({display:"block"});$("#aCompare h2 span").hide()}if($("#ci_"+o).length==0){$("#aCompare .content").append(b(p));storeCompareItem(n,o)}var m=servicesPath+"/LogDataService.svc/SaveStatistic?statType='Compared'&vehicleDetailId="+o;$.ajax({type:"POST",url:m,dataType:"json",contentType:"application/json",success:function(q){}})}function h(o){var n=$("#aCompare .citem");var m=$("a.startCompare");if(searchForm.shouldClearCookies){searchForm.shouldClearCookies=false;n.remove();e(false,m)}else{if(n.length==0){e(false,m);$("#aCompare .content h3").show()}else{if(n.length==1){e(false,m)}else{if(n.length>1){e(true,m);m.css({display:"block"})}}}m.click(function(){var p="";n.each(function(){p=p+$(this).attr("id").replace("ci_","")+","});window.location.href=sitePath+"Compare/?vids="+p;return false});a(o)}}function a(p){var q=getCompareItems();if(q){var r=q.split(":");if(r.length>0&&r[0]!=p){return}var m=q.split(",");for(var o=0;o<m.length;o++){var s=m[o];if(s.indexOf(":")!=-1){s=s.split(":")[1]}var n=c.find("#res_"+s);if(n.length>0){k(p,n.clone(),s)}}}}function e(o){var m="none";var n="block";if(o){m="block";n="none"}$("a.startCompare").css({display:m});$("#aCompare h2 span").css({display:n})}function i(m){m.append($("<a></a>").attr("href","#").addClass("searchReset").text("Reset search").click(function(){hash.reset();return false}))}}function performSearch(){var f=this;var e=servicesPath+"/LogDataService.svc/SaveSearch?criteria=";if(!searchData){setTimeout(function(){performSearch()},500);return}var c=searchForm.getSelectedKeywords();var g=c.toLowerCase().trim().replace(/\s*,\s*/gi,",").replace(/\s+/gi," ").split(",");if(g[0]==""){g=[]}if(g.contains("holden")){g.push("hsv")}if(g.contains("ford")){g.push("fpv")}if(g.contains("vw")){g.push("volkswagen")}g.has=function(w,y){for(var v=0;v<this.length;v++){var u=this[v];if(!u||u==""){continue}var x=new RegExp("\\b"+u,"i");if(x.test(w)||x.test(y)||x.test(y+" "+w)){return true}}return false};var m=searchForm.getSelectedCategories();var l=[];var j=0;for(var q=0;q<m.length;q++){if(m[q][2]){l.push(m[q][1]);j++}}function a(u){var t=false;for(var v=0;v<u.length;v++){if(u[v].isModified){t=true;break}}return t}var b=searchForm.getSelectedRanges();var r=false;var p=a(b);if(g.length==0&&l.length==0&&!p){r=true}var k=function(i,z,x){var C=x.selectedMax==x.max;var w=x.selectedMin==x.min;var v=x.selectedMin;var B=x.selectedMax;var u=i.attr("min"+z)-0;var A=i.attr("max"+z)-0;var y=(x.defaultRange=="min")?true:false;var t=false;if(C&&w||(!y&&((!u&&C)||(!A&&C)))||(y&&((!u&&w)||(!A&&w)))||(u<=B&&A>=v)||(C&&u>=B&&A>=B)||(w&&u<=v&&A<=v)){t=true}return t};var o=function(t){var v=true;for(var u=0;u<t.length;u++){if(t[u].isModified){v=false;break}}return v};if(l.length==0){for(var q=0;q<m.length;q++){var h=m[q][1];l.push(h)}}var s=$("Model",searchData);var n=[];var d=0;if(searchForm.shouldShowAllByDefault&&g.length==0&&(l.length==0||l.length==m.length)&&o(b)){r=false;s.each(function(){var i=$(this);n.push(i.attr("refId"))})}else{s.each(function(){var C=$(this);var B=C.parent();var D=C.attr("name").toLowerCase();var w=B.attr("name").toLowerCase();var u=","+C.attr("cat")+",";var v=false;for(var y=0;y<l.length;y++){var A=","+l[y]+",";if(u.indexOf(A,0)>-1){v=true;break}}if((v||m.length==0)&&(g.length==0||g.has(D,w))){var x=true;for(var z=0;z<b.length;z++){if(b[z].name!=null&&!k(C,b[z].name.toLowerCase(),b[z])){x=false;break}}if(x){n.push(C.attr("refId"))}}})}if(n.length>0&&!r){$.ajax({type:"POST",url:e+"'"+escape(window.location.hash)+"'",dataType:"json",contentType:"application/json",success:function(i){}})}if(searchResults.hasLoaded()){searchResults.renderNodes(n,r)}}function deserialiseHash(a){var f=a.replace("#","")+"&";if(f.indexOf("vehicleGroupIndex")>-1){var j=(f.indexOf("=")>-1)?(f.substring(f.indexOf("=")+1,f.indexOf("&"))*1):-1;f=f.replace("vehicleGroupIndex="+j+"&","")}if(f.indexOf("vehicleTypeId")>-1){var l=f.substring(f.indexOf("=")+1,f.indexOf("&"))*1;f=f.replace("vehicleTypeId="+l+"&","")}var c=f.substring(f.indexOf("=")+1,f.indexOf("&"));var h=unescape(c);f=f.replace(c,"");f=f.replace("keywords=&","");var g=f.substring(f.indexOf("=")+1,f.indexOf("&"));cats=g.length>0?g.split(","):[];f=f.replace("categories="+cats+"&","");var k=f.split("&");var b=[];var d=0;for(var e=0;e<k.length;e++){if(k[e]&&k[e].indexOf("=")!=-1){b[e]=k[e].split("=");d++}}return{groupIndex:j,vehicleTypeId:l,keyword:h,categories:cats,ranges:b}}function serialiseHash(a){var b="";if(a.showGroups){if(a.groupIndex&&a.groupIndex>0){b+="#vehicleGroupIndex="+a.groupIndex;if(a.vehicleTypeId&&a.vehicleTypeId>0){b+="&vehicleTypeId="+a.vehicleTypeId+"&";b=serialiseFilterParameters(a,b)}}}else{b+=serialiseFilterParameters(a,"#")}return b}function serialiseFilterParameters(c,f){var e=f+"keywords="+(c.keyword?escape(c.keyword.replace(/^\s+|\s+$/g,"")):"");var b="";if(c.categories&&c.categories.length>0){for(var d=0;d<c.categories.length;d++){if(b!=""){b+=","}b+=c.categories[d]}}e+="&categories="+b;if(c.ranges.length>0){var a="";for(var d=0;d<c.ranges.length;d++){a+="&"+c.ranges[d][0]+"="+c.ranges[d][1]}e+=a}return e}function formatPrice(c){var b=c;var a=(c.length>3);if(a){b=c.substr(0,c.length-3)+","+c.substr(c.length-3,c.length)}return"$"+b}function doSearch(a){performSearch();searchResults.loadCompareItemsFromCookie(a);$(".content .citem").removeAttr("style")};