(function(){var n=nspace("kidscount.dataTables");n.DataTablesApp=function(){this.router=new n.DataTablesRouter},function(n){n.start=function(){Backbone.history.start()}}(n.DataTablesApp.prototype)})(jQuery),function(){var n=nspace("kidscount.dataTables"),t=nspace("velir.util"),i=nspace("kidscount.vizUtil");n.DataTablesDetailedModel=Backbone.Model.extend({initialize:function(){this.isActive=!1},defaults:{locationTypeId:null,locationIds:null,isCompared:!0,allTimeFrameIds:null,timeFrameIds:null,characteristicIds:null,dataTypeIds:null,indicatorId:null,currentLocationId:null,currentLocationTypeId:null,comparisonLocationId:null,comparisonLocationName:null,allDataTypeIds:null,allCharacteristicIds:null,allLocationIds:null,isGranteeIndicator:null},getDetailedTableResponse:_.debounce(function(n){var r=t.Packer.pack(this.get("locationIds").sort()),u,f;return r||(r=this.get("currentLocationId")),this.trigger("busy"),u=this,f={ind:this.get("indicatorId"),loc:r,loct:this.get("locationTypeId"),tf:this.get("timeFrameIds").join(","),fmt:this.get("dataTypeIds").join(","),ch:this.get("characteristicIds").join(","),cmploc:this.get("currentLocationId"),inccmploc:this.get("isCompared")},i.fetchDetailedTable(f,function(){u.trigger("idle")},function(t){n&&n(t)})},25)})}(jQuery),function(n,t){var i=nspace("kidscount.dataTables");i.DataTablesDetailedResultsView=Backbone.View.extend({initialize:function(){t.bindAll(this,"renderDetailedTable");this.model.on("change",this.renderDetailedTable);var i=this;this.model.on("busy",function(){i.model.isActive&&(n("#ind_tab_cont_1").hide(),n(".loading-indicators").show())});this.model.on("idle",function(){i.model.isActive&&(n("#ind_tab_cont_1").show(),n(".loading-indicators").hide(),kidscount.vizUtil.stickifyTableHeaders(n("#detailed-table").find("table:visible"),"detailed-table",!0))})},renderDetailedTable:function(){var t=this,i=kidscount.vizUtil;this.model.get("currentLocationTypeId")==this.model.get("locationTypeId")||i.getArrayValue(this.model.get("locationIds"))!==i.nullUrlValue||this.model.get("isCompared")?i.getArrayValue(this.model.get("timeFrameIds"))===i.nullUrlValue?this.showSelectionError("year"):this.model.getDetailedTableResponse(function(i){var u,r;for(document.getElementById("detailed-table").innerHTML='<div class="responsive-table"><div class="responsive-table__pinned">'+i.html+'<\/div><div class="responsive-table__scrollable">'+i.html+"<\/div><\/div>",u=0,r=0;r<t.model.get("characteristicIds").length;r++)u+=t.model.get("characteristicIds")[r].length;kidscount.vizUtil.styleDetailedTable(n("#detailed-table table"),t.model.get("currentLocationId"),u,t.model.get("dataTypeIds").length)}):this.showSelectionError("location")},showSelectionError:function(t){var i=kidscount.vizUtil.generateSelectionError(t);n("#detailed-table").empty(),n("#detailed-table").append(i)}})}(jQuery,_),function(n){var t=nspace("kidscount.dataTables");t.DataTablesDetailedSelectorsView=Backbone.View.extend({initialize:function(){function f(){var n,f;r(),t.$rankOptionsContainer.find('input:radio[name="loct"]:checked').val()!=t.model.get("locationTypeId")&&(n=i(t.$rankOptionsContainer),n&&n.length>0&&triggerRadioButtonClick(i(t.$rankOptionsContainer))),f=u(t.$rankOptionsContainer),t.timeFramesSelector.resetYears(f),t.timeFramesSelector.showYears(f),kidscount.vizControls.util.updateLocationTypeUrls(t.model.get("locationTypeId"))}var t=this;this.$optionsContainer=n("#detailed_table_options"),this.$rankOptionsContainer=n("#ranking_table_options"),this.constants=new kidscount.vizControls.ConstantsControl({el:this.$optionsContainer,model:this.model}),this.constants.setUp(),this.locationSelector=new kidscount.vizControls.LocationControl({el:n(".viz-locations-selector",this.$optionsContainer),model:this.model});var r=function(){n(".refine_search div.comparison_checkbox",this.$optionsContainer).toggle(!!t.model.get("comparisonLocationName")),n("div.comparison_checkbox span.comparison_location",this.$optionsContainer).text(t.model.get("comparisonLocationName"))},i=function(i){return n("input:radio[name='loct'][value='"+t.model.get("locationTypeId")+"']",i?i:t.$optionsContainer)},u=function(n){return i(n).attr("data-years")};n(this.locationSelector).on("changed:after",function(){r(),t.$rankOptionsContainer.find('input:radio[name="loct"]:checked').val()!=t.model.get("locationTypeId")&&triggerRadioButtonClick(i(t.$rankOptionsContainer));var n=u(t.$rankOptionsContainer);t.timeFramesSelector.resetYears(n),t.timeFramesSelector.showYears(n),kidscount.vizControls.util.updateLocationTypeUrls(t.model.get("locationTypeId"))});n(this.locationSelector).on("initialize:after",function(){r(),kidscount.vizControls.util.updateLocationTypeUrls(t.model.get("locationTypeId")),this.setControlFromModel()});this.locationSelector.setUp(),this.compareSelector=new kidscount.vizControls.CompareLocationControl({el:n(".viz-compare-location-selector",this.$optionsContainer),model:this.model}),this.compareSelector.setUp(),this.timeFramesSelector=new kidscount.vizControls.TimeFrameMultipleControl({el:n(".viz-timeframe-cb-selector",this.$optionsContainer),model:this.model,maxSelected:10,yearsToShow:u()}),this.timeFramesSelector.setUp(),this.characteristicsSelector=new kidscount.vizControls.CharacteristicMultipleControl({el:n(".viz-characteristic-all",this.$optionsContainer),model:this.model}),this.characteristicsSelector.setUp(),this.dataTypesSelector=new kidscount.vizControls.DataTypeMultipleControl({el:n(".viz-datatype-cb-selector",this.$optionsContainer),model:this.model}),this.dataTypesSelector.setUp();this.model.on("change:locationTypeId",f);f()},getDataSummary:function(){var n=[],t,i;for(n.push(this.timeFramesSelector.getDataSummary()),n.push(this.characteristicsSelector.getDataSummary()),n.push(this.dataTypesSelector.getDataSummary()),t=[],i=0;i<n.length;i++)t[t.length]='<li class="selections__item">'+n[i]+"<\/li>";return t}})}(jQuery,_),function(){var n=nspace("kidscount.dataTables"),t=nspace("kidscount.vizUtil");n.DataTablesRankModel=Backbone.Model.extend({initialize:function(){this.isActive=!1},defaults:{locationTypeId:null,locationIds:null,isCompared:!0,timeFrameId:null,characteristicIds:null,dataTypeId:null,indicatorId:null,currentLocationId:null,currentLocationName:null,currentLocationTypeId:null,comparisonLocationId:null,comparisonLocationName:null,allDataTypeIds:null,allCharacteristicIds:null,allLocationIds:null,isRanking:!1,sortOrder:null,isGranteeIndicator:null},getRankingTableResponse:_.debounce(function(n){this.trigger("busy");var i=this,r={ind:this.get("indicatorId"),loc:this.get("currentLocationId"),loct:this.get("locationTypeId"),tf:this.get("timeFrameId"),fmt:this.get("dataTypeId"),ch:this.get("characteristicIds").join(","),cmploc:this.get("currentLocationId"),inccmploc:this.get("isCompared")};return t.fetchRankingTable(r,function(){i.trigger("idle")},function(t){n&&n(t)})},25)})}(jQuery),function(n,t){var i=nspace("kidscount.dataTables");i.DataTablesRankResultsView=Backbone.View.extend({initialize:function(){t.bindAll(this,"renderRankingTable");this.model.on("change",this.renderRankingTable);var i=this;this.model.on("busy",function(){i.model.isActive&&(n("#ind_tab_cont_2").hide(),n(".loading-indicators").show())});this.model.on("idle",function(){i.model.isActive&&(n("#ind_tab_cont_2").show(),n(".loading-indicators").hide(),n("#rankings-table table").length>0&&(i.styleSortRankTable(),kidscount.vizUtil.stickifyTableHeaders(n("#rankings-table table"),"rankings-table",!0)))})},renderRankingTable:function(){var t=this;this.model.getRankingTableResponse(function(i){if(n("#rankings-table").empty(),!i.dataRows||i.dataRows.length==0){n("#rankings-table").html('<div class="selection-error"><p>There is no data available for the selected criteria.<\/p><\/div>');return}var u=n("#rankingsTableTpl").html(),r=Mustache.to_html(u,i),f='<div class="responsive-table"><div class="responsive-table__pinned">'+r+'<\/div><div class="responsive-table__scrollable">'+r+"<\/div><\/div>";n("#rankings-table").html(r),t.model.get("sortOrder")==="Descending"?n("#default-sort-header").addClass("headerSortUp"):n("#default-sort-header").addClass("headerSortDown")})},styleSortRankTable:function(){var t=null;this.model.get("locationTypeId")===n("#ranking_table_options input:radio").first().val()&&(t=this.model.get("currentLocationName")),kidscount.vizUtil.styleSortRankTable(n("#rankings-table table"),t),n("table.tablesorter .ranking_cell").toggle(!this.model.get("isRanking"))}})}(jQuery,_),function(n,t){var i=nspace("kidscount.dataTables");i.DataTablesRankSelectorsView=Backbone.View.extend({initialize:function(){function u(){var u,t,f;r(),u="input:radio[name='loct'][value='"+i.model.get("locationTypeId")+"']",t=n(u,i.$detailedOptionsContainer),t.length||(t=n(u,n(".viz-location-type-selector"))),f=t.attr("data-years"),i.timeFrameSelector.resetYears(f),i.timeFrameSelector.showYears(f),i.$detailedOptionsContainer.find('input:radio[name="loct"]:checked').val()!=i.model.get("locationTypeId")&&triggerRadioButtonClick(t)}var i,r;t.bindAll(this,"render"),i=this,this.$optionsContainer=n("#ranking_table_options"),this.$detailedOptionsContainer=n("#detailed_table_options"),this.constants=new kidscount.vizControls.ConstantsControl({el:this.$optionsContainer,model:this.model}),this.constants.setUp(),this.locationTypeSelector=new kidscount.vizControls.LocationTypeControl({el:n(".viz-location-type-selector",this.$optionsContainer),model:this.model}),r=function(){n(".refine_search div.comparison_checkbox",this.$optionsContainer).toggle(!!i.model.get("comparisonLocationName")),n("div.comparison_checkbox span.comparison_location",this.$optionsContainer).text(i.model.get("comparisonLocationName"))},this.locationTypeSelector.setUp(),this.compareSelector=new kidscount.vizControls.CompareLocationControl({el:n(".viz-compare-location-selector",this.$optionsContainer),model:this.model}),this.compareSelector.setUp(),this.timeFrameSelector=new kidscount.vizControls.TimeFrameSingleControl({el:n(".viz-timeframe-rb-selector",this.$optionsContainer),model:this.model}),this.timeFrameSelector.setUp(),this.characteristicSelector=new kidscount.vizControls.CharacteristicSingleControl({el:n(".viz-characteristic-rb-selector",this.$optionsContainer),model:this.model}),this.characteristicSelector.setUp(),this.dataTypeSelector=new kidscount.vizControls.DataTypeSingleControl({el:n(".viz-datatype-rb-selector",this.$optionsContainer),model:this.model}),this.dataTypeSelector.setUp();this.model.on("change:locationTypeId",u);u()},getDataSummary:function(){var n=[],t,i;for(n.push(this.timeFrameSelector.getDataSummary()),n.push(this.characteristicSelector.getDataSummary()),n.push(this.dataTypeSelector.getDataSummary()),t=[],i=0;i<n.length;i++)t[t.length]='<li class="selections__item">'+n[i]+"<\/li>";return t}})}(jQuery,_),function(n,t){var r=nspace("kidscount.dataTables"),i=nspace("kidscount");r.DataTablesRouter=Backbone.Router.extend({initialize:function(){t.bindAll(this,"updateUrl")},routes:{"":"setDefaults",":currentSection/:locationTypeId/:locationsIds/:isCompared/:timeFrameIds/:characteristicIds/:dataTypeIds":"initializeViews"},setDefaults:function(n,t,i,r,u,f,e){this.initializeViews(n,t,i,r,u,f,e)},initializeViews:function(t,u,f,e,o,s,h){var l=this,a,c;this.detailedTableExists=n("#detailed_tab").length>0,this.rankingTableExists=n("#ranking_tab").length>0,typeof t=="undefined"&&(t=this.detailedTableExists?"detailed":"ranking"),t==="detailed"&&this.rankingTableExists?c="ranking":t==="ranking"&&this.detailedTableExists&&(c="detailed"),f&&f!==i.vizUtil.nullUrlValue&&(f=velir.util.Packer.unpack(f)),this.sections={},this.detailedTableExists&&(this.sections.detailed={},this.sections.detailed.model=new r.DataTablesDetailedModel),this.rankingTableExists&&(this.sections.ranking={},this.sections.ranking.model=new r.DataTablesRankModel),this.setCurrentSection(t),u=u||i.vizUtil.getParam("loct"),this.currentSection=="ranking"?this.sections[this.currentSection].model.set({locationTypeId:u,locationIds:i.vizUtil.parseArrayValue(f),isCompared:e?e==="true":undefined,timeFrameId:o,allTimeFrameIds:a,characteristicIds:i.vizUtil.parseChIds(s),dataTypeId:h},{silent:!0}):this.sections[this.currentSection].model.set({locationTypeId:u,locationIds:i.vizUtil.parseArrayValue(f),isCompared:e?e==="true":undefined,timeFrameIds:i.vizUtil.parseArrayValue(o),allTimeFrameIds:a,characteristicIds:i.vizUtil.parseChIds(s),dataTypeIds:i.vizUtil.parseArrayValue(h)},{silent:!0}),this.rankingTableExists&&this.sections.ranking.model.set("allTimeFrameIds",n("#ranking_table_options input[name=tf]").map(function(){return n(this).val()}).get(),{silent:!0}),this.detailedTableExists&&this.sections.detailed.model.set("allTimeFrameIds",n("#detailed_table_options input[name=tf]").map(function(){return n(this).val()}).get(),{silent:!0}),c&&c!==null&&this.sections[c].model.set({locationTypeId:u}),this.detailedTableExists&&(this.sections.detailed.selectorsView=new r.DataTablesDetailedSelectorsView({model:this.sections.detailed.model}),this.sections.detailed.resultsView=new r.DataTablesDetailedResultsView({model:this.sections.detailed.model}),this.sections.detailed.dataSummaryView=new i.vizUtil.DataSummaryView({el:n(".selections__group"),model:this.sections.detailed.model,getDataSummary:function(){return l.sections.detailed.selectorsView?l.sections.detailed.selectorsView.getDataSummary():null}}),this.sections.detailed.navTabsView=new i.nav.VisualizationTab({el:".tab_sub_nav",model:this.sections.detailed.model,vizType:"detailed"}),this.sections.detailed.model.trigger("hydration:complete")),this.rankingTableExists&&(this.sections.ranking.selectorsView=new r.DataTablesRankSelectorsView({model:this.sections.ranking.model}),this.sections.ranking.resultsView=new r.DataTablesRankResultsView({model:this.sections.ranking.model}),this.sections.ranking.dataSummaryView=new i.vizUtil.DataSummaryView({el:n(".selections__group"),model:this.sections.ranking.model,getDataSummary:function(){return l.sections.ranking.selectorsView.getDataSummary()}}),this.sections.ranking.model.trigger("hydration:complete")),this.initViewSelector()},updateUrl:function(){var n=new i.routes.RouteSerializer,t;t=this.currentSection=="ranking"?n.serialize("ranking",this.sections[this.currentSection].model,{currentSection:this.currentSection}):n.serialize("detailed",this.sections[this.currentSection].model,{currentSection:this.currentSection}),this.navigate(t,{replace:!0})},initViewSelector:function(){var t=this,i=function(n){t.sections[t.currentSection].model.off("change",t),t.setCurrentSection(n);t.sections[t.currentSection].model.on("change",t.updateUrl);t.sections[t.currentSection].model.trigger("change")};n("#detailed_tab").on("click",function(){i("detailed")});n("#ranking_tab").on("click",function(){i("ranking")});t.currentSection==="ranking"?n("#ranking_tab").click():n("#detailed_tab").click()},setCurrentSection:function(n){this.currentSection&&(this.sections[this.currentSection].model.isActive=!1),this.currentSection=n,this.sections[this.currentSection].model.isActive=!0}})}(jQuery,_),function(n){n("#detailed_tab").click(function(){n("#detailed_table_options .embedded_input").hasClass("mCustomScrollbar")||n("#detailed_table_options .embedded_input").mCustomScrollbar({set_width:160,theme:"dark-thick",scrollButtons:{enable:!0},advanced:{autoScrollOnFocus:!1,updateOnContentResize:!0}})}),n("#ranking_tab").click(function(){n("#ranking_table_options .embedded_input").hasClass("mCustomScrollbar")||n("#ranking_table_options .embedded_input").mCustomScrollbar({set_width:160,theme:"dark-thick",scrollButtons:{enable:!0},advanced:{autoScrollOnFocus:!1,updateOnContentResize:!0}})})}(jQuery,_)