var Search={_filters:{},init:function(){Search.$intro=$("page-intro");Search.$map=$("search-map");Search.$filters=$("filters");Search.$overview=$("overview");Search.$results=$("results");Search.$activity=$("activity");Search.$ads=$("ads");Search.initData();if(Search._page&&Search.$filters){Search.initFilters()}if(Search.Map&&Search.$map&&Search.$results){Search.Map.init()}},initData:function(){var a=$("page-data");if(a){Search._page=a.getDataFromComment()}var b=$("param-data");if(b){Search._params=b.getDataFromComment();Object.append(Search._filters,Search._params)}var c=$("region-data");if(c){Search._region=c.getDataFromComment()}},initFilters:function(){Search.initPlace();Search.initStyle();switch(Search._page.key){case"Events":Search.initType();Search.initDuration();Search.initResidential();Search.initLoading();break}Search.initSections()},initPlace:function(){var d=Search.$filters;var c=Search._page,a=Search._params,g=Search._region;var e=d.getElement(".place-filter");if(!e){return}var h=d.getElement("[name=place]"),f=d.getElement(".trigger-button");var i=$("place-results");var b=e.retrieve("suggest");h.addEvents({click:function(j){h.value="";i.getElement(".results").hide();if(!g){return}b.position();if(!e.hasClass("minimal")){i.show()}},blur:function(j){if(!g){return}if(!h.value){h.value=g.name+" ("+g.state+", "+g.postcode+")"}}});if(!f){return}f.addEvents({click:function(j){h.value="";h.focus();i.getElement(".results").hide();b.position();i.show()}})},initStyle:function(){var a=Search.$filters;var c=Search._page,e=Search._params;var d=a.getElement(".style-filter"),b=a.getElement("[name=style]");if(!d){return}b.addEvent("change",function(){var f="";switch(Search._page.key){case"YogaIn":case"Classes":f="/"+c.key+"/"+e.place+(b.value!="All"||e.distance!=25?"/"+(b.value||"All")+(e.distance!=25?"/"+e.distance:""):"");break;case"Events":f="/"+c.key+(e.place||e.type!="All"||b.value!="All"?"/"+e.place+(e.type!="All"||b.value!="All"?"/"+e.type+(b.value!="All"?"/"+b.value:""):""):"");break;default:return}top.location.href=f+Search.buildSecondaryParams()})},buildSecondaryParams:function(){var b=Search._page,d=Search._params,c=Search._region;var a="";switch(Search._page.key){case"YogaIn":break;case"Events":if(d.duration||d.time||d.residential||d.month){a="?";if(d.duration){a+="duration="+d.duration}(d.duration&&d.time?a+="&":"");if(d.time){a+="time="+d.time}(d.time&&d.residential?a+="&":"");if(d.residential){a+="residential="+d.residential}(d.residential&&d.month?a+="&":"");if(d.month){a+="month="+d.month}}break;case"Classes":if(d.day||d.time){a="?";if(d.day){a+="day="+d.day}(d.day&&d.time?a+="&":"");if(d.time){a+="time="+d.time}}break}return a},initSections:function(){var a=Search.$results;if(!a){return}var b=a.getElements(".section");b.each(function(c){Search.initNameField(c);Search.initYogaPass(c)})},initNameField:function(d){var e=d.getElement(".name-filter"),c=d.getElement("[name=name]");if(!e){return}var a="";var b=e.getElement(".clear");b.addEvent("click",function(){a="";c.value="";Search.sendFilters(d);c.retrieve("placeholder").updatePlaceholder();b.hide()});c.addEvents({keyup:function(f){if(!this.value){a="";Search.sendFilters(d);b.hide();return}if(a==this.value){return}b.show();if(Search._searchTimer){$clear(Search._searchTimer)}Search._searchTimer=(function(){Search.sendFilters(d)}).delay(1000)}})},initYogaPass:function(b){var a=b.getElement("[name=yogapass]");if(!a){return}a.addEvent("change",function(){Search.sendFilters(b)})},sendFilters:function(d){var c=d.getDataFromComment();var e=d.getElement("[name=name]"),a=d.getElement("[name=yogapass]");var b={section:c.section};if(e){b.name=e.value}if(a){b.yogapass=a.checked}Search.loadResults(b,d)},loadResults:function(e,d){var c=d.getElement(".listings");var b=Search._page,h=Search._params,a=Search._filters;if(e){Object.append(a,e)}var g=new Fx.Morph(c,{duration:250,transition:"linear"}).start({opacity:0.25});$log("calling search");var f={path:"/Search/"+b.key,data:a};UI.loadSparkle(f).then((function(i){c.set("html",i);UI.initClasses(c);g.cancel();c.setOpacity(1);Search.updateCount(d)}.bind(this)))},updateCount:function(a){var d=a.getElement("h2"),b=d.getElement("strong"),c=a.getElement(".loaded-section");if(!b){return}var e=c.getDataFromComment();b.set("text","("+(e.count||0)+")")},renderPlaces:function(d){var e=d.suggest,c=d.results;var a=e.$results.getElement(".results"),b=e.$activity;b.hide();a.show();a.set("html",c)},clearPlaces:function(b){var a=b.$results.getElement(".results");a.empty()}};window.addEvent("domready",Search.init);
