/* JSCmprsd Hash:4dbac627cb3a07006a0baf29df9064b1 */
var SearchResultPage=new Class({Implements:[Options,Events],options:{},initialize:function(a){this.setOptions(a);this.uiComponent.SF_SearchCriteria=$("SF_SearchCriteria");this.uiComponent.elementary=$("elementary");this.uiComponent.middleschool=$("middleschool");this.uiComponent.highschool=$("highschool");this.uiComponent.schoolProfileTableRows=$("schoolProfileTableRows");this.uiComponent.schoolProfilePagination=$("schoolProfilePagination");this.uiComponent.moreCitiesLink=$("moreCitiesLink");this.uiComponent.moreDistrictsLink=$("moreDistrictsLink");this.uiComponent.morecities_container=$("morecities-container");this.uiComponent.moreschooldistricts_container=$("moreschooldistricts-container");this.uiComponent.lessCitiesLink=$("lessCitiesLink");this.uiComponent.lessDistrictsLink=$("lessDistrictsLink");this.uiComponent.lessCitiesLinkContainer=$("lessCitiesLinkContainer");this.uiComponent.lessDistrictsLinkContainer=$("lessDistrictsLinkContainer");this.uiComponent.searchHeading=$("search-heading");this.uiComponent.paginationDescriptionBottom=$("paginationDescriptionBottom");this.uiComponent.paginationDescription=$("paginationDescription");this.uiComponent.elementarySchoolsListContainer=$("elementary-schoolprofiles");this.uiComponent.middleSchoolsListContainer=$("middle-schoolprofiles");this.uiComponent.highSchoolsListContainer=$("high-schoolprofiles");this.uiComponent.elementarySchoolsPaginationContainer=$("elementary-pagination");this.uiComponent.middleSchoolsPaginationContainer=$("middle-pagination");this.uiComponent.highSchoolsPaginationContainer=$("high-pagination");this.uiComponent.elementaryPageDescContainer=$("elementary-desc");this.uiComponent.middleSchoolsPageDescContainer=$("middle-desc");this.uiComponent.highSchoolsPageDescContainer=$("high-desc");this.uiComponent.showMsg=$("showMsg");this.uiComponent.messageBox=$("messageBox");this.map=new GoogleMap();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,map:null,dirname:null,totalSchools:0,elementaryResults:{pagedescription:null,schoolprofiles:null,pagination:null},middleSchoolResults:{pagedescription:null,schoolprofiles:null,pagination:null},highSchoolResults:{pagedescription:null,schoolprofiles:null,pagination:null},uiComponent:{search_results:null,map:null,elementary:null,middleschool:null,highschool:null,schoolIdArray:null,moreCitiesLink:null,moreDistrictsLink:null,lessCitiesLink:null,lessDistrictsLink:null,searchHeading:null,paginationDescriptionBottom:null,elementarySchoolsPaginationContainer:null,middleSchoolsPaginationContainer:null,highSchoolsPaginationContainer:null,elementaryPageDescContainer:null,middleSchoolsPageDescContainer:null,highSchoolsPageDescContainer:null,elementarySchoolsListContainer:null,middleSchoolsListContainer:null,highSchoolsListContainer: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},schoolLevel: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=GoogleMapWithSearchResults";this.setLoadingEffects();this.xhr.send(JSON.encode(a))}},setupEventHandlers:function(){if(this.uiComponent.elementary!=null){this.uiComponent.elementary.addEvent("click",function(a){a.stop();this.saveCurrentTab();this.uiComponent.elementary.className="active";if(this.uiComponent.middleschool.className=="active"){this.uiComponent.middleschool.className=""}if(this.uiComponent.highschool.className=="active"){this.uiComponent.highschool.className=""}this.searchCriteria.GradeLevelFilter.elementary=true;this.searchCriteria.GradeLevelFilter.middleschool=false;this.searchCriteria.GradeLevelFilter.highschool=false;this.searchCriteria.page=1;this.searchCriteria.limit=0;this.setupSearchResultUi("elementary")}.bind(this))}if(this.uiComponent.middleschool!=null){this.uiComponent.middleschool.addEvent("click",function(a){a.stop();this.saveCurrentTab();this.uiComponent.middleschool.className="active";if(this.uiComponent.elementary.className=="active"){this.uiComponent.elementary.className=""}if(this.uiComponent.highschool.className=="active"){this.uiComponent.highschool.className=""}this.searchCriteria.GradeLevelFilter.elementary=false;this.searchCriteria.GradeLevelFilter.middleschool=true;this.searchCriteria.GradeLevelFilter.highschool=false;this.searchCriteria.page=1;this.searchCriteria.limit=0;this.setupSearchResultUi("middle")}.bind(this))}if(this.uiComponent.highschool!=null){this.uiComponent.highschool.addEvent("click",function(a){a.stop();this.saveCurrentTab();this.uiComponent.highschool.className="active";if(this.uiComponent.elementary.className=="active"){this.uiComponent.elementary.className=""}if(this.uiComponent.middleschool.className=="active"){this.uiComponent.middleschool.className=""}this.searchCriteria.GradeLevelFilter.elementary=false;this.searchCriteria.GradeLevelFilter.middleschool=false;this.searchCriteria.GradeLevelFilter.highschool=true;this.searchCriteria.page=1;this.searchCriteria.limit=0;this.setupSearchResultUi("high")}.bind(this))}if(this.uiComponent.moreCitiesLink!=null){this.uiComponent.moreCitiesLink.addEvent("click",function(){this.uiComponent.moreCitiesLink.className="hideContent";this.uiComponent.morecities_container.className="doNothing";this.uiComponent.lessCitiesLinkContainer.className="doNothing"}.bind(this))}if(this.uiComponent.moreDistrictsLink!=null){this.uiComponent.moreDistrictsLink.addEvent("click",function(){this.uiComponent.moreDistrictsLink.className="hideContent";this.uiComponent.moreschooldistricts_container.className="doNothing";this.uiComponent.lessDistrictsLinkContainer.className="doNothing"}.bind(this))}if(this.uiComponent.lessCitiesLink!=null){this.uiComponent.lessCitiesLink.addEvent("click",function(){this.uiComponent.moreCitiesLink.className="doNothing";this.uiComponent.morecities_container.className="hideContent";this.uiComponent.lessCitiesLinkContainer.className="hideContent"}.bind(this))}if(this.uiComponent.lessDistrictsLink!=null){this.uiComponent.lessDistrictsLink.addEvent("click",function(){this.uiComponent.moreDistrictsLink.className="doNothing";this.uiComponent.moreschooldistricts_container.className="hideContent";this.uiComponent.lessDistrictsLinkContainer.className="hideContent"}.bind(this))}if(this.uiComponent.schoolProfilePagination!=null&&this.uiComponent.schoolProfilePagination.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.totalSchools=c.total;this.searchCriteria=c.searchCriteria;this.updateSchoolProfileTable(c.SchoolProfileModel);this.updateSchoolProfilePaginationTable(c.SchoolProfilePagination)},handleSearchFailure:function(a){this.showMessage("An error occurred while processing your request. Please try again")},updatePaginationDescription:function(){if(this.totalSchools>0){var a=(this.searchCriteria.page-1)*Number(this.searchCriteria.limit)+1;var c=(((this.searchCriteria.page-1)*Number(this.searchCriteria.limit))+Number(this.searchCriteria.limit));if(c>this.totalSchools){c=this.totalSchools}var b=this.getActiveTab();if(this.uiComponent.paginationDescription!=null){this.uiComponent.paginationDescription.innerHTML="Showing "+a+"-"+c+" of "+this.totalSchools+" "+b+" schools"}if(this.uiComponent.paginationDescriptionBottom!=null){this.uiComponent.paginationDescriptionBottom.innerHTML="Showing "+a+"-"+c+" of "+this.totalSchools+" "+b+" schools"}}else{if(this.uiComponent.paginationDescription!=null){this.uiComponent.paginationDescription.innerHTML=""}if(this.uiComponent.paginationDescriptionBottom!=null){this.uiComponent.paginationDescriptionBottom.innerHTML=""}}},updateMap:function(a){this.map.clear();if(a!=null){$each(a,function(d){if(d!=null){var c="<div class='googlemap-infowrap'><p class='googlemap-schoolname'><a href='"+d.schoolprofileurl+"'>"+d.schoolname+"</a></p><p class='googlemap-schooladdress1'>"+d.address+"</p><p class='googlemap-schooladdress2'>"+d.city+", "+d.state+" "+d.postalcode+"</p><p class='googlemap-grade'>Grades: "+d.gradespan+"</p></div><br />";var e=$("row"+d.schoolid);var b=this.map.addInfoMarker(parseFloat(d.latitude),parseFloat(d.longitude));this.map.addInfoMarkerHtmlWindow(b,c,e,"click",this.changeCssClass);$each(this.map.markerEvents,function(f){this.map.addInfoMarkerEvent(b,e,f,this.changeCssClass)},this)}},this)}this.map.refreshMap()},changeCssClass:function(a){if(a.className=="checked"){a.className=""}else{a.className="checked"}},updateSchoolProfilePaginationTable:function(a){if(this.uiComponent.schoolProfilePagination!=null){this.uiComponent.schoolProfilePagination.innerHTML='<div class="create-spacing"></div>';if(a!=null){this.uiComponent.schoolProfilePagination.innerHTML=a;this.createAjaxPagination()}}},createAjaxPagination:function(){if(this.uiComponent.schoolProfilePagination.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){this.saveCurrentTab();var c=parseInt(f[f.length-2]);if(isNaN(c)==false){this.setPage(c)}else{this.setFirstPageSearchResult()}}}}.bind(this))},this)}},updateSchoolProfileTable:function(b){this.uiComponent.schoolProfileTableRows.innerHTML="";html='<ul id="module-table">';html+='<li class="title">';html+='<div class="bg">';html+='<div class="bot-b">';html+='<div class="name"><p>Name</p></div>';html+='<div class="type"><p>Type</p></div>';html+='<div class="grade"><p>Grade<br/>Level</p></div>';html+='<div class="enrollment"><p>Enrollment</p></div>';html+='<div class="stud-per-t"><p>Students/<br/>Teacher</p></div>';html+="</div>";html+="</div>";html+="</li>";if(b!=null){$each(b,function(d){if(d!=null){var c=(Math.round(d.studentteacherratio)>0)?Math.round(d.studentteacherratio):"-";var e=(d.enrollment>0)?d.enrollment:"-";html+='<li id="row'+d.schoolid+'"><div class="bg"><div class="bot-b">';html+='<div class="name"><a href="'+d.schoolprofileurl+'" title="'+d.schoolname+'">'+d.schoolname+"</a>";html+="<p>"+d.address+"<br />"+d.city+", "+d.state+" "+d.postalcode+"</p></div>";html+='<div class="type"><p>'+d.type+"</p></div>";html+='<div class="grade"><p>'+d.gradespan+"</p></div>";html+='<div class="enrollment"><p>'+e+"</p></div>";html+='<div class="stud-per-t"><p>'+c+"</p></div>";html+="</div></div></li>"}},this)}else{var a="elementary";if(this.uiComponent.highschool.className=="active"){a="high"}if(this.uiComponent.middleschool.className=="active"){a="middle"}html+='<li><div class="bg"><div class="bot-b">';html+='<div class="no-results-msg">There are no '+a+" schools in this district.</div>";html+="</div></div></li>"}html+="</ul>";this.uiComponent.schoolProfileTableRows.innerHTML=html;this.updatePaginationDescription();this.updateMap(b)},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"},saveCurrentTab:function(){if(this.searchCriteria.page==1){var a=this.getActiveTab();switch(a){case"elementary":if(this.uiComponent.elementarySchoolsListContainer.innerHTML==""){this.uiComponent.elementarySchoolsListContainer.innerHTML=this.uiComponent.schoolProfileTableRows.innerHTML;this.uiComponent.elementarySchoolsPaginationContainer.innerHTML=this.uiComponent.schoolProfilePagination.innerHTML;this.uiComponent.elementaryPageDescContainer.innerHTML=this.uiComponent.paginationDescription.innerHTML}break;case"middle":if(this.uiComponent.middleSchoolsListContainer.innerHTML==""){this.uiComponent.middleSchoolsListContainer.innerHTML=this.uiComponent.schoolProfileTableRows.innerHTML;this.uiComponent.middleSchoolsPageDescContainer.innerHTML=this.uiComponent.paginationDescription.innerHTML;this.uiComponent.middleSchoolsPaginationContainer.innerHTML=this.uiComponent.schoolProfilePagination.innerHTML}break;case"high":if(this.uiComponent.highSchoolsListContainer.innerHTML==""){this.uiComponent.highSchoolsListContainer.innerHTML=this.uiComponent.schoolProfileTableRows.innerHTML;this.uiComponent.highSchoolsPageDescContainer.innerHTML=this.uiComponent.paginationDescription.innerHTML;this.uiComponent.highSchoolsPaginationContainer.innerHTML=this.uiComponent.schoolProfilePagination.innerHTML}break}}},setupSearchResultUi:function(a){switch(a){case"elementary":this.uiComponent.schoolProfileTableRows.innerHTML=this.uiComponent.elementarySchoolsListContainer.innerHTML;this.uiComponent.paginationDescription.innerHTML=this.uiComponent.elementaryPageDescContainer.innerHTML;this.uiComponent.paginationDescriptionBottom.innerHTML=this.uiComponent.elementaryPageDescContainer.innerHTML;this.uiComponent.schoolProfilePagination.innerHTML=this.uiComponent.elementarySchoolsPaginationContainer.innerHTML;this.updateMap(this.elementaryResults.schoolprofiles);this.createAjaxPagination();break;case"middle":this.uiComponent.schoolProfileTableRows.innerHTML=this.uiComponent.middleSchoolsListContainer.innerHTML;this.uiComponent.paginationDescription.innerHTML=this.uiComponent.middleSchoolsPageDescContainer.innerHTML;this.uiComponent.paginationDescriptionBottom.innerHTML=this.uiComponent.middleSchoolsPageDescContainer.innerHTML;this.uiComponent.schoolProfilePagination.innerHTML=this.uiComponent.middleSchoolsPaginationContainer.innerHTML;this.updateMap(this.middleSchoolResults.schoolprofiles);this.createAjaxPagination();break;case"high":this.uiComponent.schoolProfileTableRows.innerHTML=this.uiComponent.highSchoolsListContainer.innerHTML;this.uiComponent.paginationDescription.innerHTML=this.uiComponent.highSchoolsPageDescContainer.innerHTML;this.uiComponent.paginationDescriptionBottom.innerHTML=this.uiComponent.highSchoolsPageDescContainer.innerHTML;this.uiComponent.schoolProfilePagination.innerHTML=this.uiComponent.highSchoolsPaginationContainer.innerHTML;this.updateMap(this.highSchoolResults.schoolprofiles);this.createAjaxPagination();break}},setFirstPageSearchResult:function(){this.setLoadingEffects();var a=this.getActiveTab();this.setupSearchResultUi(a)},getActiveTab:function(){var a=this.schoolLevel;if(this.uiComponent.elementary.className=="active"){a="elementary"}if(this.uiComponent.highschool.className=="active"){a="high"}if(this.uiComponent.middleschool.className=="active"){a="middle"}return a},setLoadingEffects:function(){this.uiComponent.schoolProfileTableRows.innerHTML='<div class="loading-effect-container"><div class="module-loading-effect"></div></div>';if(this.uiComponent.paginationDescription!=null){this.uiComponent.paginationDescription.innerHTML=""}if(this.uiComponent.paginationDescriptionBottom!=null){this.uiComponent.paginationDescriptionBottom.innerHTML=""}if(this.uiComponent.schoolProfilePagination!=null){this.uiComponent.schoolProfilePagination.innerHTML='<div class="create-spacing"></div>'}}});