function getDataIsReady(){return window.dataIsReady?!0:!1}(function(n,t){var i=nspace("kidscount.vizUtil");i.CleanVizDetailsView=Backbone.View.extend({initialize:function(){t.bindAll(this,"updateVizDetails");this.model.on("change",this.updateVizDetails)},updateVizDetails:function(){var u=this.$el.find(".viz-title-details"),i,r;if(u){var n="",t=this.options.getCleanDataSummary(),f=t[0];f&&(n+=": "+f),i=t[1],i&&(n+=" ("+i+")"),r=t[2],r&&(n+=" - "+r),u.text(n)}}})})(jQuery,_),function(n,t){var i=nspace("kidscount.vizUtil");i.CompanionTableView=Backbone.View.extend({initialize:function(){t.bindAll(this,"render");this.model.on("change",this.render);var i=this;this.model.on("loading:table",function(){i.$el.hide(),n(".loading-indicators",i.$el).show()});this.model.on("loading:table:finished",function(){i.$el.show(),n(".loading-indicators",i.$el).hide();var t=n("table",i.$el);t.length>0&&(t.is(":visible")?kidscount.vizUtil.stickifyTableHeaders(t,"detailed-table",!0):(t.closest(".topic_overview").show(),kidscount.vizUtil.stickifyTableHeaders(t,"detailed-table",!0),t.closest(".topic_overview").hide()))})},render:function(){var t=this;this.model.getDetailedTableResponse(function(i){t.$el.empty(),document.getElementById(t.$el.attr("id")).innerHTML=i.html,kidscount.vizUtil.styleDetailedTable(n("table",t.$el),t.model.get("currentLocationId"),0,0)})}})}(jQuery,_),function(n,t){var i=nspace("kidscount.vizUtil");i.DataSummaryView=Backbone.View.extend({initialize:function(){t.bindAll(this,"updateDataSummary");this.model.on("change",this.updateDataSummary);if(!this.options.getDataSummary)throw"You must provide a 'getDataSummary' callback method!";},updateDataSummary:function(){var n=this.options.getDataSummary();n?(this.$el.html(n),this.$el.show()):this.$el.hide()}})}(jQuery,_),function(n,t){var i=nspace("kidscount.vizUtil");i.DynamicImageShareView=Backbone.View.extend({initialize:function(){t.bindAll(this,"prefetchImage","reset"),this.reset();n("a",this.$el).on("click",this.prefetchImage);this.model.on("change",this.reset)},prefetchImage:function(){var t=this;if(this.imageLoaded){t.$el.siblings("a.addthis_button_compact").show().click();return}n(".share_loading",this.$el).show(),kidscount.vizUtil.precacheImage().always(function(){n(".share_loading",t.$el).hide(),t.$el.hide(),t.$el.siblings("a.addthis_button_compact").show().click()})},reset:function(){this.imageLoaded=!1,this.$el.siblings("a.addthis_button_compact").hide(),this.$el.show()}})}(jQuery,_),function(){var n=window.nspace("kidscount.vizUtil.imageDownload");n.fireDataReady=function(){setTimeout(function(){window.dataIsReady=!0},1850)}}(),function(n,t){var i=nspace("kidscount.vizUtil");i.stickyTables={},i.stickifyTableHeaders=function(r,u,f){function o(n){return n&&n.css("width")?parseInt(n.css("width").replace(/px/gi,"")):n?n.width():0}function s(t){t.each(function(t,i){n(i).css({width:n(i).parent().width(),overflow:"hidden",overflowX:"auto",position:"fixed",top:0}),n(i).find("table").css({width:n(i).parent().width()})})}function l(t){var i=n("."+t).find(".cloned-row")[0];n("."+t).on("scroll",function(){i.scrollTop=this.scrollTop,i.scrollLeft=this.scrollLeft});n("."+t).find(".cloned-row").on("scroll",function(){n("."+t)[0].scrollTop=this.scrollTop,n("."+t)[0].scrollLeft=this.scrollLeft})}var h=function(t){var i=t.css("width").replace(/px/gi,"");return n.browser.msie?i+1+"px":i+"px"},v=function(t){var i=parseInt(t.css("width").replace(/px/gi,""));return n.browser.mozilla||n.browser.webkit||n.browser.msie?i+1+"px":i+"px"},a=function(n,t){var i=o(n),r=o(t.parent()),u=o(t.parent().parent());return i>Math.min(r,u)},c=!1,e;if(i.stickyTables.hasOwnProperty(u)||(i.stickyTables[u]={},c=!0),e=i.stickyTables[u],f||c){r.each(function(i,r){var o=n(r).parent(),f;e.$headerRow=n(r).find("thead"),f=e.$headerRow.clone(),n('<div class="cloned-row">').prepend(n('<div class="cloned-row__inner">').prepend(n("<table>").prepend(f))).insertBefore(n(r)),e.$clonedRow=n(".cloned-row").hide(),s(e.$clonedRow),l(o[0].className),n(window).off("resize."+u);n(window).on("resize."+u,t.throttle(function(){if(n(".responsive-table__scrollable").is(":visible")&&!n(".responsive-table__scrollable").find(".cloned-row").length){e.$headerRow=n(".responsive-table__scrollable table").find("thead");var t=e.$headerRow.clone();n('<div class="cloned-row">').prepend(n('<div class="cloned-row__inner">').prepend(n("<table>").prepend(t))).insertBefore(n(".responsive-table__scrollable table")),e.$clonedRow=n(".cloned-row").hide(),s(e.$clonedRow),l(n(".responsive-table__scrollable table").parent()[0].className)}s(e.$clonedRow)},50))});n("th",e.$clonedRow).on("click",function(){var t=n("th",e.$clonedRow).index(this);n("th",e.$headerRow).eq(t).click()});r.on("sortEnd",function(){n("th",e.$headerRow).each(function(t){n("th:eq("+t+")",e.$clonedRow).attr("class",n(this).attr("class"))})})}n("th",e.$headerRow).each(function(t){n("th:eq("+t+")",e.$clonedRow).css("width",h(n(this)))});n(window).on("resize",function(){n("th",e.$headerRow).each(function(t){n("th:eq("+t+")",e.$clonedRow).css("width",h(n(this)))})});a(e.$headerRow,r),n(window).off("scroll."+u);n(window).on("scroll."+u,t.throttle(function(){if(r.offset()){var t=r.offset().top-n(window).scrollTop(),i=r.offset().top+r.outerHeight()-n(window).scrollTop();t<0&&i>0?e.$clonedRow.is(":visible")||e.$clonedRow.show():e.$clonedRow.is(":visible")&&e.$clonedRow.hide()}},50))}}(jQuery,_),function(n,t){var i=nspace("kidscount.vizUtil"),r="";i.nullUrlValue="any",i.parseArrayValue=function(n){return n?n.split(","):null},i.parseChIds=function(n){var t,i;if(!n)return null;for(t=n.split("|"),i=0;i<t.length;i++)t[i]=t[i].split(",");return t},i.getArrayValue=function(n,r){if(!n||n.length===0||n[0]===i.nullUrlValue)return i.nullUrlValue;if(r){var u=t.sortBy(n,function(n){var i=parseInt(n);return t.isNaN(i)?n:i});return velir.util.Packer.pack(u)}return n.join(",")},i.getBooleanValue=function(n){var t=n===!0||n==="true";return t.toString()},i.getPackedArray=function(n){return i.getArrayValue(n,!0)},i.getCharUrlValue=function(r){if(!r||r.length===0||t.every(r,function(n){return n.length==0}))return i.nullUrlValue;var u=n(r).map(function(){return this.join(",")});return u.toArray().join("|")},i.fetchDetailedTable=function(t,i,r){return n.ajax({url:"/api/reports/detailedtable",data:t,complete:function(){i()},success:function(n){r&&r(n)}})},i.generateSelectionError=function(t){return n("<div />").addClass("selection-error").append(n("<h4 />").html("Oops!")).append(n("<p />").html("Please select at least one "+t+" for this indicator using the "+t+" selector on the left."))},i.styleDetailedTable=function(t,r,u,f){if(i.mergeCells(t,1),u>=2&&f>=2&&i.mergeCells(t,2),n(".featureCity").each(function(){var i=n(this).attr("value"),t=n('tr[data-locid="'+i+'"]');t!=null&&t.addClass("selected-location")}),n("tr.loc-"+r).addClass("selected-location"),n(".featureCityListItem").length){var e=n(".featureCityListItem:first").attr("id");n(".viz-options .embedded_input:visible").mCustomScrollbar("scrollTo","#"+e)}},i.mergeCells=function(t,i){var u="",r=[];n.each(n('tr:not([style*="none"]) td:nth-child('+i+")",t),function(){var t=n(this);t.text()!=u?(r.length>0&&(r[0].attr("rowspan",r.length).show(),r.shift(),n.each(r,function(){n(this).hide()})),u=t.text(),r=[t]):r.push(n(this))}),r.length>0&&(r[0].attr("rowspan",r.length).show(),r.shift(),n.each(r,function(){n(this).hide()}))},i.fetchRankingTable=function(t,i,r){return n.ajax({url:"/api/reports/rankingtable",data:t,complete:function(){i()},success:function(n){r&&r(n)}})},i.styleSortRankTable=function(t,i){var r,u;t.tablesorter({widgets:["zebraAll"],headers:{0:{sorter:!1}},sortList:[[2,0]],textExtraction:function(t){var i=n(t).attr("data-value");return i?i:n(t).html()}}).bind("sortStart",function(){r=n("thead.cloned",t),r.remove()}).bind("sortEnd",function(){t.prepend(r);var i=n("tr.compare-location",t);i.length>0&&t.prepend(i),t.find("tr").removeClass("odd even").filter(":even").addClass("even").end().filter(":odd").addClass("odd")}),n(".featureCity").each(function(){var r=n(this).parent(),u=r.children("span.loc-chk-span").html(),i=t.find('tr:contains("'+u+'")');i!=null&&i.addClass("selected-location")}),i&&(u=t.find('tr:contains("'+i+'")'),u.addClass("selected-location"))},i.getParam=function(n){n=n.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var i="[\\?&]"+n+"=([^&#]*)",r=new RegExp(i),t=r.exec(window.location.href);return t==null?"":t[1]},i.addParamToUrl=function(n,t,i){var h,e,r,o,u,f,s;if(t=escape(t),i=escape(i),h="",e=n.indexOf("#"),e>=0&&(h=n.substring(e),n=n.substring(0,e)),r="",o=n.indexOf("?"),o>=0&&(r=n.substring(o),n=n.substring(0,o)),r){for(u=r.substr(1).split("&"),f=u.length;f--;)if(s=u[f].split("="),s[0]==t){s[1]=i,u[f]=s.join("=");break}f<0&&(u[u.length]=[t,i].join("=")),r="?"+u.join("&")}else r="?"+t+"="+i;return n+r+h},i.getSummaryForCheckboxes=function(t,i){var r,u=t.filter(":checked"),e;switch(u.length){case 0:r="None";break;case 1:r=n.trim(u.closest("label").text());break;default:if(r=u.length===t.length?"All":u.length+" selected",u.is(".tf-checkbox")){var o=!0,f=u.map(function(){return n(this).attr("data-title")}),s=f.length;for(e=0;e<s-1;e++)if(f[e]-1!=f[e+1]){o=!1;break}o&&(r=f[s-1]+"-"+f[0])}}return i&&(r=="None"||r=="All"||r.includes("selected"))&&(r=""),r},i.updateLinkWithFragment=function(n,t){if((t!=null||Backbone&&Backbone.history)&&n&&n.length>0){var i=n.attr("href"),r=i.split("#");n.attr("href",r[0]+"#"+(t?t:Backbone.history.fragment))}},i.updateSharing=function(t){var u,c,o,l,f,s,a;t&&(u=document.location.href.split("#")[1],u=u.split("/").slice(0,3).join("/"),c=document.location.href.split("/")[0]+"//"+document.location.href.split("/")[2]+"/",n.ajax({url:c+"api/indicator-selection/share/"+u,success:function(n){typeof addthis!="undefined"&&(addthis.update("share","title",n.shareTitle),addthis.toolbox(".addthis_toolbox",addthis_config,addthis_share))}}));var i=document.location.href,h=i.split("#")[0],u=i.split("#")[1],v=h.split("?")[0].split("/share/")[0],e=h.split("?")[1];e?e=e.split("&").join("~"):(o=/loc=(\d+).loct=(\d+)/.exec(h),e=o!=null&&o[0].length>0?o[0]:""),l=(u||"").split("/").join("~"),i=v+"/share/",t||(i=i+e+"/"),i=i+l+"#"+u,typeof addthis!="undefined"&&(addthis.update("share","url",i),addthis.toolbox(".addthis_toolbox",addthis_config,addthis_share),n('meta[property="og\\:url"]').attr("content",i)),n("meta[property='og:image']").length>0&&(r===""&&(r=n(n("meta[property='og:image']")[0]).attr("content")),f=r,s=location.toString().split("?")[1],f!==""&&s&&s.length>1&&(a=s.split("#")[1].split("/").join("~"),f=f.replace("null",a),n(n("meta[property='og:image']")[0]).attr("content",f),n(n("meta[property='twitter:image']")[0]).attr("content",f)),this.precacheImage())},i.precacheImage=function(){var h=document.location.href,f=h.split("#")[0],l=h.split("#")[1],i=f.split("?")[0].split("/share/")[0],t,r,u,c;if(i.split("/data/").length<2)return null;t=f.split("?")[1],t?t=t.split("&").join("~"):(r=/loc=(\d+).loct=(\d+)/.exec(f),t=r!=null&&r[0].length>0?r[0]:"");var a=(l||"").split("/").join("~"),e="/image/share",v=i.split("/data/")[1].split("/")[0],o="",s=i.split("/");for(u=s.length-1;u<s.length&&!o;u--)o=s[u];return e+="/"+v+"/"+o+"/"+t+"/"+a,c=i.split("/data/")[0],typeof addthis!="undefined"&&(addthis.update("share","image",c+e),addthis.toolbox(".addthis_toolbox",addthis_config,addthis_share)),n.ajax({url:e})}}(jQuery,_)