(function(){var t=nspace("kidscount.dataTables");t.DataTablesApp=function(){this.router=new t.DataTablesRouter},function(n){n.start=function(){Backbone.history.start()}}(t.DataTablesApp.prototype)})(jQuery),function(){var t=nspace("kidscount.dataTables"),i=nspace("velir.util"),r=nspace("kidscount.vizUtil");t.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:function(n){var t=i.Packer.pack(this.get("locationIds").sort()),u,f;return t||(t=this.get("currentLocationId")),this.trigger("busy"),u=this,f={ind:this.get("indicatorId"),loc:t,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")},r.fetchDetailedTable(f,function(){u.trigger("idle")},function(t){n&&n(t)})}})}(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 table"),"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=i.html,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,t){var i=nspace("kidscount.dataTables");i.DataTablesDetailedSelectorsView=Backbone.View.extend({initialize:function(){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 i=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"))},r=function(i){return n("input:radio[name='loct'][value='"+t.model.get("locationTypeId")+"']",i?i:t.$optionsContainer)},u=function(n){return r(n).attr("data-years")};n(this.locationSelector).on("changed:after",function(){i(),t.$rankOptionsContainer.find('input:radio[name="loct"]:checked').val()!=t.model.get("locationTypeId")&&triggerRadioButtonClick(r(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(){i(),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:5,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()},getDataSummary:function(){var n=[];return n.push(this.timeFramesSelector.getDataSummary()),n.push(this.characteristicsSelector.getDataSummary()),n.push(this.dataTypesSelector.getDataSummary()),t.filter(n,function(n){return n&&n!=""}).join(" | ")}})}(jQuery,_),function(){var t=nspace("kidscount.dataTables"),i=nspace("kidscount.vizUtil");t.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:function(n){this.trigger("busy");var t=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 i.fetchRankingTable(r,function(){t.trigger("idle")},function(t){n&&n(t)})}})}(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 r=n("#rankingsTableTpl").html(),u=Mustache.to_html(r,i);n("#rankings-table").html(u),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(){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"))};n(this.locationTypeSelector).on("changed:after",function(){r();var t=n("input:radio[name='loct'][value='"+i.model.get("locationTypeId")+"']",i.$detailedOptionsContainer),u=t.attr("data-years");i.timeFrameSelector.resetYears(u),i.timeFrameSelector.showYears(u),i.$detailedOptionsContainer.find('input:radio[name="loct"]:checked').val()!=i.model.get("locationTypeId")&&triggerRadioButtonClick(t)});n(this.locationTypeSelector).on("initialize:after",function(){r()});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()},getDataSummary:function(){var n=[];return n.push(this.timeFrameSelector.getDataSummary()),n.push(this.characteristicSelector.getDataSummary()),n.push(this.dataTypeSelector.getDataSummary()),t.filter(n,function(n){return n&&n!=""}).join(" | ")}})}(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("#ind_tab_cont_1 p.data-summary"),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("#ind_tab_cont_2 p.data-summary"),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 t=new i.routes.RouteSerializer,n;n=this.currentSection=="ranking"?t.serialize("ranking",this.sections[this.currentSection].model,{currentSection:this.currentSection}):t.serialize("detailed",this.sections[this.currentSection].model,{currentSection:this.currentSection}),this.navigate(n,{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){function i(){n(".tooltip_class").tooltip({track:!0,delay:0,showURL:!1,showBody:" - ",fade:250})}n("#detailed_tab").click(function(){n(this).hasClass("active")||(n("#ind_tab_cont_2").hide(),n("#ranking_table_options").hide(),n("#detailed_table_options").show(),n("#ind_tab_cont_1").show(),n(this).siblings().removeClass("active"),n(this).addClass("active"),n("#detailed_tab").attr("title","Show multiple dimensions of data"),n("#ranking_tab").attr("title","Sort data by location or value"),i())}),n("#ranking_tab").click(function(){n(this).is(".disabled")||n(this).hasClass("active")||(n("#ind_tab_cont_1").hide(),n("#detailed_table_options").hide(),n("#ranking_table_options").show(),n("#ind_tab_cont_2").show(),n(this).siblings().removeClass("active"),n(this).addClass("active"),n.browser.msie&&n.browser.version==7||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}}),n("#detailed_tab").attr("title","Show multiple dimensions of data"),n("#ranking_tab").attr("title","Sort data by location or value"),i())}),n("#rank_table, #rank_location, #rank_number").click(function(){n(this).siblings().removeClass("sort"),n(this).siblings().removeClass("sort_bg"),n(this).siblings().removeClass("sort_arrow"),n(this).addClass("sort_arrow"),n(this).toggleClass("sort"),n(this).addClass("sort_bg")})}(jQuery,_)