function getDataIsReady(){return window.dataIsReady?!0:!1}(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(){var n,t;setTimeout(function(){window.dataIsReady=!0},1850)}}(),function(n,t){var i=nspace("kidscount.vizUtil");i.stickyTables={},i.stickifyTableHeaders=function(r,u,f){var s=function(t){var i=parseInt(t.css("width").replace(/px/gi,""));return n.browser.webkit||n.browser.msie?i+1+"px":i+"px"},h=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"},c=function(n,t){var i=parseInt(n.css("width").replace(/px/gi,"")),r=parseInt(t.parent().css("width").replace(/px/gi,"")),u=parseInt(t.parent().parent().css("width").replace(/px/gi,""));return i>Math.min(r,u)},o=!1,e;if(i.stickyTables.hasOwnProperty(u)||(i.stickyTables[u]={},o=!0),e=i.stickyTables[u],f||o){e.$headerRow=r.find("thead"),e.$clonedRow=e.$headerRow.clone().hide().insertBefore(e.$headerRow).addClass("cloned");n("th",e.$clonedRow).on("click",function(){var i=n("th",e.$clonedRow).index(this);n("th",e.$headerRow).eq(i).click()});r.on("sortEnd",function(){n("th",e.$headerRow).each(function(t){n("th:eq("+t+")",e.$clonedRow).attr("class",n(this).attr("class"))})})}if(n("th",e.$headerRow).each(function(t){n("th:eq("+t+")",e.$clonedRow).css("width",s(n(this)))}),c(e.$headerRow,r))return!1;e.$clonedRow.css({width:h(e.$headerRow),overflow:"hidden",position:"fixed",top:0,left:r.offset().left}),n(window).off("scroll."+u);n(window).on("scroll."+u,t.throttle(function(){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));n(window).off("resize."+u);n(window).on("resize."+u,t.throttle(function(){e.$clonedRow.css("left",r.offset().left)},50))}}(jQuery,_),function(n,t){var i=nspace("kidscount.vizUtil");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){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");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")),n(".tooltip_class").tooltip({track:!0,delay:0,showURL:!1,showBody:" - ",fade:250})},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){var i,r=t.filter(":checked");switch(r.length){case 0:i="None";break;case 1:i=n.trim(r.closest("label").text());break;default:i=r.length===t.length?"All":r.length+" selected"}return i},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 c="",r,o,f,s;t&&(r=document.location.href.split("#")[1],r=r.split("/").slice(0,3).join("/"),o=document.location.href.split("/")[0]+"//"+document.location.href.split("/")[2]+"/",n.ajax({url:o+"api/indicator-selection/share/"+r,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,e=i.split("#")[0],r=i.split("#")[1],h=e.split("?")[0].split("/share/")[0],u=e.split("?")[1];u?u=u.split("&").join("~"):(f=/loc=(\d+).loct=(\d+)/.exec(e),u=f!=null&&f[0].length>0?f[0]:""),s=(r||"").split("/").join("~"),i=h+"/share/",t||(i=i+u+"/"),i=i+s+"#"+r,typeof addthis!="undefined"&&(addthis.update("share","url",i),addthis.toolbox(".addthis_toolbox",addthis_config,addthis_share),n('meta[property="og\\:url"]').attr("content",i))},i.precacheImage=function(){var c=document.location.href,e=c.split("#")[0],l=c.split("#")[1],o=e.split("?")[0].split("/share/")[0],t=e.split("?")[1],u,f,r;t?t=t.split("&").join("~"):(u=/loc=(\d+).loct=(\d+)/.exec(e),t=u!=null&&u[0].length>0?u[0]:"");var a=(l||"").split("/").join("~"),i="/image/share",v=o.split("/data/")[1].split("/")[0],s="",h=o.split("/");for(f=h.length-1;f<h.length&&!s;f--)s=h[f];return i+="/"+v+"/"+s+"/"+t+"/"+a,r=o.split("/data/")[0],n('meta[property="og\\:image"]').attr("content",r+i),n('meta[name="twitter\\:image"]').attr("content",r+i),typeof addthis!="undefined"&&(addthis.update("share","image",r+i),addthis_share.passthrough.pinterest_share.media=r+i,addthis.toolbox(".addthis_toolbox",addthis_config,addthis_share)),n.ajax({url:i})}}(jQuery,_)