/* JSCmprsd Hash:b9fd639fa1e99e9aeba3273a13b666ab */
var SearchResultPage=new Class({Implements:[Options,Events],options:{},initialize:function(a){this.setOptions(a);this.uiComponent.schoolDistrictList=$("school-district-list");this.uiComponent.schoolDistrictPagination=$("schoolDistrictPagination");this.uiComponent.showMsg=$("showMsg");this.uiComponent.messageBox=$("messageBox");this.setupEventHandlers();this.xhr=new Request({method:"post",url:"/",onSuccess:function(b){this.handleSearchResults(b)}.bind(this),onRequest:function(){}.bind(this),onStateChange:function(b){}.bind(this),onFailure:function(b){this.handleSearchFailure(b)}.bind(this)})},xhr:null,uiComponent:{search_results:null,showMsg:null,messageBox:null},searchCriteria:{searchTerms:null,schoolid:null,street:null,city:null,districtname:null,state:null,zip:null,stateid:null,districtid:null,schoollevel:null,schoolname:null,radius:null,searchType:"simple",GradeLevelFilter:{elementary:false,highschool:false,middleschool:false},limit:0,offset:null,getcount:false,page:null,orderBy:null,orderDir:null,maintainOrder:null},setPage:function(a){this.searchCriteria.page=a;this.executeSearch(this.searchCriteria)},executeSearch:function(a){if(this.xhr.xhr.readyState==0||this.xhr.xhr.readyState==4){this.xhr.options.url="/schoolfinder/?__ajax=CitySchoolDistricts";this.setLoadingEffects();this.xhr.send(JSON.encode(a))}},setupEventHandlers:function(){if(this.uiComponent.schoolDistrictPagination!=null&&this.uiComponent.schoolDistrictPagination.innerHTML!=""){this.createAjaxPagination()}},handleSearchResults:function(a){try{var c=JSON.decode(a);if(c.faultCode){this.handleSearchFailure(c);return}}catch(b){this.handleSearchFailure(a);return}this.searchCriteria=c.searchCriteria;this.updateSchoolProfileTable(c.districtProfiles);this.updateschoolDistrictPaginationTable(c.schoolDistrictPagination)},handleSearchFailure:function(a){this.showMessage("An error occurred while processing your request. Please try again")},updateschoolDistrictPaginationTable:function(a){if(this.uiComponent.schoolDistrictPagination!=null){this.uiComponent.schoolDistrictPagination.innerHTML='<div class="create-spacing"></div>';if(a!=null){this.uiComponent.schoolDistrictPagination.innerHTML=a;this.createAjaxPagination()}}},createAjaxPagination:function(){if(this.uiComponent.schoolDistrictPagination.innerHTML!=""){this.uiComponent.paginationBoxed=$$(".pagination-boxed");$each(this.uiComponent.paginationBoxed,function(a){a.addEvent("click",function(d){d.stop();if(a.href!=null){var b=a.href;var f=b.split("/");if(f.length>1){var c=parseInt(f[f.length-2]);if(isNaN(c)==false){this.setPage(c)}}}}.bind(this))},this)}},updateSchoolProfileTable:function(a){this.uiComponent.schoolDistrictList.innerHTML="";this.uiComponent.schoolDistrictList.innerHTML=a},showMessage:function(a){if(a){this.uiComponent.showMsg.innerHTML=a;this.uiComponent.messageBox.className="message-box showContent";this.clearMsgDiv.delay(10000);this.clearMsgDiv.bind(this)}},clearMsgDiv:function(){$("showMsg").innerHTML="";$("messageBox").className="hideContent borderNone"},setLoadingEffects:function(){this.uiComponent.schoolDistrictList.innerHTML='<div class="loading-effect-container"><div class="module-loading-effect"></div></div>'}});