(function(n){var t=nspace("kd.viz.table");t.customDataTables={checkSortForFixedLocations:function(n,t){if(typeof n=="string"&&n.indexOf("fixed-")==0){if(typeof t=="string"&&t.indexOf("fixed-")==0){var i=n.substring(6),r=t.substring(6);return i<r?-1:i>r?1:0}return-1}return typeof t=="string"&&t.indexOf("fixed-")==0?1:null},splitCellValues:function(n){var t=n.match(/([^|]+)[|][|]([^|]+)[|][|]([^|]+)/);return t?{countyValue:t[1],locValue:t[2],locType:t[3]}:null},compareRows:function(n,i,r){var e=t.customDataTables.checkSortForFixedLocations(n,i),u,f;return e!=null?e:(u=t.customDataTables.splitCellValues(n),f=t.customDataTables.splitCellValues(i),!u||!f)?r(n,i):u.countyValue==f.countyValue?u.locValue=="null"?-1:f.locValue=="null"?1:u.locType!=f.locType?u.locType<f.locType?-1:u.locType>f.locType?1:0:r(u.locValue,f.locValue):u.countyValue=="orphaned"?-1:f.countyValue=="orphaned"?1:r(u.countyValue,f.countyValue)},compareStringFollowedByNumbers:function(n,t){var i=n.match(/([^0-9]*)([0-9]+)$/),r=t.match(/([^0-9]*)([0-9]+)$/),u,f;return!i||!r?this.compareValues(n,t):i[1].toLowerCase()!=r[1].toLowerCase()?this.compareValues(n,t):(u=+i[2],f=+r[2],this.compareValues(u,f))},compareValues:function(n,t){return n<t?-1:n>t?1:0}},n.fn.dataTableExt.afnSortData["kidsdata-custom"]=function(n,t){var r={},i;return _.each(n.aoData,function(n){r[n.nTr.children[0].attributes["data-id"].value]=n._aData}),i=[],n.aoData.length>0&&_.each(n.aoData,function(n){var e=n.nTr.className.match(/(^|\s+)(fixed-[0-9]+)($|\s+)/),f;if(e)i.push(e[2]);else if(n._aData[t].indexOf("||")>=0)i.push(n._aData[t]);else{var s=n.nTr.children[0].attributes["data-id"].value,o=n.nTr.children[0].attributes["data-county-id"].value,u=n.nTr.children[0].attributes["data-locationtype"].value;s==o?i.push(n._aData[t]+"||null||"+u):(f=r[o],f?i.push(f[t]+"||"+n._aData[t]+"||"+u):i.push("orphaned||"+n._aData[t]+"||"+u))}}),i},n.extend(n.fn.dataTableExt.oSort,{"text-kidsdata-custom-asc":function(n,i){return t.customDataTables.compareRows(n,i,function(n,t){return kd.viz.table.customDataTables.compareStringFollowedByNumbers(n,t)})},"text-kidsdata-custom-desc":function(n,i){return t.customDataTables.compareRows(n,i,function(n,t){return kd.viz.table.customDataTables.compareStringFollowedByNumbers(t,n)})}}),n.extend(n.fn.dataTableExt.oSort,{"formatted-number-kidsdata-custom-asc":function(n,i){return t.customDataTables.compareRows(n,i,function(n,t){var i=parseFloat(n==="-"?"":n.replace(/[^\d\-\.]/g,"")),r=parseFloat(t==="-"?"":t.replace(/[^\d\-\.]/g,""));return isNaN(i)&&isNaN(r)?0:isNaN(i)?-1:isNaN(r)?1:i-r})},"formatted-number-kidsdata-custom-desc":function(n,i){return t.customDataTables.compareRows(n,i,function(n,t){var i=parseFloat(n==="-"?"":n.replace(/[^\d\-\.]/g,"")),r=parseFloat(t==="-"?"":t.replace(/[^\d\-\.]/g,""));return isNaN(i)&&isNaN(r)?0:isNaN(i)?1:isNaN(r)?-1:r-i})}})})(jQuery),function(n){var r=nspace("kd.viz.table.views"),u=nspace("kd.viz"),i=nspace("kd.events").EventNames,t=nspace("kd.viz").UrlParams;r.TableView=Backbone.View.extend({initialize:function(){_.bindAll(this,"updateTables","render","setLoading","getRenderCompletePromise","hydrateView"),this.model.bind("change:loc change:tf change:dist change:fmt",this.updateTables),this.model.bind(i.route.hydrate.name,this.hydrateView,this),this.model.tableModel.bind(i.loading.data.name,this.setLoading),this.model.tableModel.bind(i.loading.data.finished.name,this.render),this.renderPromise.resolve()},renderPromise:n.Deferred(),getInitialRenderPromise:function(){this.renderPromise.promise()},renderCompletePromise:n.Deferred(),getRenderCompletePromise:function(){return this.renderCompletePromise},simpleSettings:{bAutoWidth:!0,sScrollX:"100%",bPaginate:!1,bScrollCollapse:!0,bScrollAutoCss:!1,bInfo:!1,bSortCellsTop:!1,bFilter:!0,bSort:!0,sDom:"it",aoColumnDefs:[{sType:"formatted-number-kidsdata-custom",sSortDataType:"kidsdata-custom",sWidth:"75px",aTargets:["data"]},{sType:"text-kidsdata-custom",sSortDataType:"kidsdata-custom",sClass:"fixed",sWidth:"190px",aTargets:[0]}]},hydrateView:function(){this.model.tableModel.getData()},setLoading:function(){var t=n(".loading");t.fadeIn()},updateTables:function(){this.model.tableModel.getData()},render:function(){var i=this.el?this.$(".chart-main.table"):n(".chart-main.table"),f=this,e,h,o,s,r,c,l,u,v,y;if(n(".loading",i).fadeOut(),n(".location-table-scrollbar-wrapper",i).mCustomScrollbar("destroy"),n(".location-table-scrollbar-wrapper",i).remove(),n(".dataTables_scroll",i).mCustomScrollbar("destroy"),i.find(".location-table").remove(),e=this.model.tableModel.get("data"),this.model.get(t.location)&&this.model.get(t.location).length&&this.model.get(t.location).length!==0){if(!e||!e.length){i.append('<div class="location-table"><em>These data are not available for this region or breakdown.<\/em><\/div>');return}for(h=0;h<e.length;h++)i.append(n('<div class="location-table">').append(e[h]));if(n(".chart-main tbody tr:has([data-entity=loc][data-id=1])").addClass("fixed-0").find("th").addClass("bold"),n(".chart-main tbody tr:has([data-entity=loc][data-id=1774])").addClass("fixed-1").find("th").addClass("bold"),n(".chart-main tbody tr:has([data-entity=loc][data-id=2])").addClass("fixed-2").find("th").addClass("bold"),n(".chart-main tbody tr th").each(function(){n(this).attr("data-id")==n(this).attr("data-county-id")&&n(this).addClass("bold")}),(this.el?this.$(".chart-main.table table"):n(".chart-main.table table")).filter(function(t,i){return!n(i).hasClass("dataTable")&&n(i).attr("data-table-type")=="Location"&&n(i).find("tbody tr").not(".fixed-0,.fixed-1").length>1}),o=(this.el?this.$(".chart-main.table table"):n(".chart-main.table table")).filter(function(t,i){return!n(i).hasClass("dataTable")&&n(i).attr("data-table-type")=="Location"&&n(i).find("tbody tr").not(".fixed-0,.fixed-1").length>1}).dataTable(_.extend(this.simpleSettings,this.options.dataTableSettings)).bind("sort",function(){var i={};i[t.sortColumnId]=o.fnSettings().aaSorting[0][0],i[t.sortType]=o.fnSettings().aaSorting[0][1],f.model.set(i,{silent:!0}),n("body").trigger("update:route")}),_.isUndefined(f.model.get(t.sortColumnId))||_.isUndefined(f.model.get(t.sortType))||o.fnSettings()===null||o.fnSort([[f.model.get(t.sortColumnId)[0],f.model.get(t.sortType)[0]]]),kd.events.fireDataReady(this),s=function(n,t){var i=n.find(".mCSB_container"),r=n.find(".mCSB_dragger"),u=t.find(".mCSB_dragger");i.css("left",mcs.left),r.css("left",u.css("left"))},r=n(".dataTables_scroll",i),r.mCustomScrollbar({theme:"dark-thick",scrollButtons:{enable:!0},horizontalScroll:{enable:!0},autoExpandHorizontalScroll:{enable:!0},callbacks:{whileScrolling:function(){s(u,r)},onScroll:function(){s(u,r)}},advanced:{autoScrollOnFocus:!1}}),c=r.find(".mCSB_container"),l=580,c.width()>r.width()&&r.height()>l){var p=n(".location-table",i),a=n("<div />",{"class":"location-table-scrollbar-wrapper",style:"display:none; height: 16px; margin-bottom: 10px; margin-top:5px"}),w=n("<div />",{"class":"location-table-scrollbar-inner",style:"height: 16px;"});a.append(w),p.before(a),u=n(".location-table-scrollbar-wrapper",i),u.show(),v=n(".location-table table",i).width(),n(".location-table-scrollbar-inner",i).width(v),y=n(".location-table",i).width(),u.width(y),u.mCustomScrollbar({theme:"dark-thick",scrollButtons:{enable:!0},horizontalScroll:{enable:!0},callbacks:{whileScrolling:function(){s(r,u)},onScroll:function(){s(r,u)}}})}}}})}(jQuery),function(){"use strict";var n=nspace("kd.viz.table.config");n.TableConfig={tableDataUrl:"/api/table/table?"}}(),function(){"use strict";var t=nspace("kd.viz.table.models"),n=nspace("kd.events").EventNames,i=nspace("kd.viz.table.config").TableConfig,r=nspace("kd.viz"),u=r.UrlParams;t.TableModel=Backbone.Model.extend({getData:function(){var r=this,t=r.queryStringCollection();return t._keys=[],_.each(t._collection,function(n,i){n[0]instanceof Array?delete t._collection[i]:t._keys.push(i)}),this.trigger(n.loading.data.name),$.ajax({type:"GET",url:i.tableDataUrl,data:t.toQueryString(),dataType:"json"}).done(function(t){r.set("data",t),r.trigger(n.loading.data.finished.name)}).fail(function(){r.trigger(n.loading.data.error.name)})}})}()