angular.module("rankingList.module",["lta.services"]).controller("rankingListCtrl",["$scope","$rootScope","helper","data","$window",function(n,t,i,r,u){"use strict";n.storedSearch=JSON.parse(sessionStorage.getItem("RankingSearch")),n.noFiltersSet=!n.storedSearch,n.loadingResults=n.storedSearch!=null,setTimeout(function(){n.searchParameter=n.storedSearch||{name:"",rankingListId:"",gender:"",ageGroup:"",county:"",resultsPerPage:null,pageNumber:null}},0),n.getRankings=function(){r.post(n.setRankings,"/api/Rankings/",null,n.searchParameter,"object")},n.getFilters=function(){r.get(n.setFilters,"/api/RankingFilters/",null,"object")},n.setRankings=function(t){n.rankings=t,n.resultsPerPage=t.resultsPerPage,n.pageNumber=t.pageNumber,t.pageNumber===1&&(n.searchParameter.totalNumberOfPages=t.numberOfPages),sessionStorage.setItem("RankingSearch",JSON.stringify(n.searchParameter)),n.building=!1,n.loadingResults=!1,n.isOpenGB=n.searchParameter.county=="Great Britain"&&n.searchParameter.ageGroup=="Open"?!0:!1},n.setFilters=function(t){var r;for(n.filters={dates:[],genders:[],ageGroups:[],counties:[]},r=0;r<t.dates.length;r++)n.filters.dates.push({id:t.dates[r].id,value:i.convertToReadableDate(t.dates[r].value)});for(r=0;r<t.genders.length;r++)n.filters.genders.push({gender:t.genders[r]});for(r=0;r<t.ageGroups.length;r++)n.filters.ageGroups.push({ageGroup:t.ageGroups[r]});for(r=0;r<t.counties.length;r++)n.filters.counties.push({county:t.counties[r]});n.datesFilter=i.convertToReadableDate(t.dates[0].value),n.datesFilterSelected=t.dates[0].id,n.filtersLoaded=!0,n.storedSearch&&(n.getRankings(),setTimeout(function(){var i=$(".rankingFilterOptions option").removeAttr("disabled").filter(function(){return $(this).html().indexOf("----")!=-1}).attr("disabled","disabled"),t=$(".rankingFilterOptions option").filter(function(){return $(this).html()==n.storedSearch.gender||$(this).html()==n.storedSearch.ageGroup||$(this).html()==n.storedSearch.county});t.each(function(){$(this).prop("selected",!0),$(this).parents("select").next("span").text($(this).text())}),$(".paginationResults .selectbox span").text(n.storedSearch.resultsPerPage||"10")},0))},n.filterSearch=function(){var t=!0;$(".rankingFilterOptions select").each(function(){var n=$("option:first-child",$(this)).text(),i=$("option:selected",$(this)).text();n==i&&($(this).parents(".selectbox").addClass("invalid"),t=!1)}),$(".rankingFilterOptions select").change(function(){$(this).parents(".selectbox").hasClass("invalid")&&$(this).parents(".selectbox").removeClass("invalid")}),t&&n.buildSearchParameter(!0)},n.buildSearchParameter=function(t){n.building||($(f).scrollTop()>$(".secondaryTable").offset().top&&$("html, body").animate({scrollTop:$(".rankingFilterOptions").offset().top-20+"px"}),n.loadingResults=!0,n.totalPages=n.searchParameter.totalNumberOfPages,n.searchParameter=n.storedSearch||{name:"",rankingListId:"",gender:"",ageGroup:"",county:"",resultsPerPage:null,pageNumber:null},n.nameSearch&&(n.searchParameter.name=n.nameSearch),n.datesFilter&&(n.searchParameter.rankingListId=n.datesFilterSelected),n.gendersFilter&&(n.searchParameter.gender=n.gendersFilter.gender),n.ageGroupsFilter&&(n.searchParameter.ageGroup=n.ageGroupsFilter.ageGroup),n.countiesFilter&&(n.searchParameter.county=n.countiesFilter.county),n.resultsPerPage&&(n.searchParameter.resultsPerPage=parseInt(n.resultsPerPage)),n.pageNumber&&(n.searchParameter.pageNumber=parseInt(n.pageNumber)),t&&(n.searchParameter.pageNumber=1),n.searchParameter.totalNumberOfPages=n.totalPages,n.getRankings(),n.noFiltersSet=!1,n.building=!0)},n.nextButton=function(){n.building||n.pageNumber<=n.searchParameter.totalNumberOfPages&&(n.pageNumber=n.pageNumber+1,n.buildSearchParameter(),n.building=!0)},n.previousButton=function(){n.building||n.pageNumber>1&&(n.pageNumber=n.pageNumber-1,n.buildSearchParameter(),n.building=!0)},n.pageJumpButton=function(){n.building||(n.pageNumber>1&&n.pageNumber<n.searchParameter.totalNumberOfPages?n.buildSearchParameter():n.pageNumber<=1?(n.pageNumber=1,n.buildSearchParameter()):(n.pageNumber=n.searchParameter.totalNumberOfPages,n.buildSearchParameter()),n.building=!0)},n.columnToggleClicked=!1,n.responsiveTableCheck=function(){n.windowWidth=angular.element(u).width(),parseInt(n.windowWidth)>1200?(n.columnPriority1=!0,n.columnPriority2=!0,n.columnPriority3=!0,n.columnPriority4=!0,n.columnPriority5=!0,n.columnPriority6=!0):(n.columnPriority1=parseInt(n.windowWidth)<320?!1:!0,n.columnPriority2=parseInt(n.windowWidth)<480?!1:!0,n.columnPriority3=parseInt(n.windowWidth)<640?!1:!0,n.columnPriority4=parseInt(n.windowWidth)<800?!1:!0,n.columnPriority5=parseInt(n.windowWidth)<980?!1:!0,n.columnPriority6=parseInt(n.windowWidth)<1200?!1:!0)},n.responsiveTableCheck();var f=angular.element(u);f.bind("resize",function(){n.responsiveTableCheck(),n.$apply()})}])