(function(){var n=nspace("shadac.viz.table");n.TableRouter=shadac.viz.VizRouterBase.extend({initialize:function(){_.bindAll(this,"updateUrl","updateDataDownload")},routes:{"":"initializeViews",":locationIds/:characteristicIds/:timeframeId/:dataTypeIds":"initializeViews"},initializeViews:function(t,i,r,u){var f=this;this.selectorsModel=new n.models.TableSelectorsModel,this.selectorsModel.set({locationIds:this.splitArrayValue(t),dataTypeIds:this.splitArrayValue(u),timeframeId:this.getValue(r),characteristicIds:this.splitArrayValue(i)},{silent:!0}),this.dataModel=new n.models.TableDataModel({selectorsModel:this.selectorsModel}),this.tablesView=new n.views.TableDataView({model:this.dataModel,el:".charts .content-wrapper .data"}),this.selectorsView=new n.views.TableSelectorsView({model:this.selectorsModel,dataModel:this.dataModel,el:".edit-panel"}),this.summaryView=new shadac.viz.selectors.summary.VizDataSummaryView({model:this.selectorsModel,el:".data-summary",selectorsView:this.selectorsView});this.selectorsModel.on("change",this.updateUrl);this.selectorsModel.on("change",this.updateDataDownload);this.selectorsModel.trigger("change")},updateUrl:function(){var n=[this.getArrayValueOrDefault(this.selectorsModel.get("locationIds")),this.getArrayValueOrDefault(this.selectorsModel.get("characteristicIds")),this.getValueOrDefault(this.selectorsModel.get("timeframeId")),this.getArrayValueOrDefault(this.selectorsModel.get("dataTypeIds"))];this.navigate(n.join("/"),{replace:!0}),shadac.util.analyticsUtil.trackPageView()},updateDataDownload:function(){var n=new velir.collections.NameValueCollection,t;n.add(velir.datacenter.UrlParams.indicatorId,this.getValueOrDefault(this.selectorsModel.get("indicatorId")," ")),n.add(velir.datacenter.UrlParams.timeFrameId,this.getValueOrDefault(this.selectorsModel.get("timeframeId")," ")),n.add(velir.datacenter.UrlParams.dataFormatMapId,this.getArrayValueOrDefault(this.selectorsModel.get("dataTypeIds")," ")),n.add(velir.datacenter.UrlParams.locationId,this.getArrayValueOrDefault(this.selectorsModel.get("locationIds")," ")),n.add(velir.datacenter.UrlParams.characteristicId,this.getArrayValueOrDefault(this.selectorsModel.get("characteristicIds")," ")),t="/rawdata.axd?"+n.toQueryString(),$("#selected_data_download").attr("href",t)}})})(jQuery),function(){var n=nspace("shadac.viz.table.models");n.TableDataModel=Backbone.Model.extend({serviceUrl:"/api/tabledata/data",initialize:function(n){var t=this;_.bindAll(this,"fetchData"),this.selectorsModel=n.selectorsModel;this.selectorsModel.on("change",_.debounce(function(){t.fetchData()},25))},fetchData:function(){var n=this;this.trigger("loading:data");var t=n.selectorsModel.get("characteristicIds"),i=n.selectorsModel.get("breakdownCharacteristicId"),u=i?t.concat(i):t,r=n.selectorsModel.get("dataTypeIds"),f=r.filter(function(n){return!isNaN(n)}),e=r.filter(function(n){return n==="moe"}).length===1;$.get(this.serviceUrl,{primaryIndicator:n.selectorsModel.get("indicatorId"),indicators:n.selectorsModel.get("activeIndicator"),locations:n.selectorsModel.get("locationIds").join(","),dataFormatMaps:f.join(","),characteristics:u.join(","),timeFrames:n.selectorsModel.get("timeframeId"),includeMoe:e}).done(function(t){n.set("data",t),n.trigger("complete:data")}).error(function(){n.trigger("error:data")})}})}(jQuery),function(){var n=nspace("shadac.viz.table.models");n.TableSelectorsModel=Backbone.Model.extend({})}(jQuery),function(){var n=nspace("shadac.viz.table.views");n.TableDataView=shadac.viz.AsyncBaseView.extend({completeEvent:"complete:data",errorEvent:"error:data",loadingEvent:"loading:data",initialize:function(){var n=this,t=new velir.caching.AsyncTemplateCache("/js/shadac/templates/profile");return this.$templateLoading=t.get("table-view").done(function(t){n.template=t}),this.setup()},render:function(){var n=this;this.$templateLoading.done(function(){var t=n.model.get("data"),i;if(t.noData){$(".async-content",n.$el).html('<p class="no-data">'+(t.noDataMessage||"No data. Please revise your report.")+"<\/p>");return}i=t.tables.map(function(t){return n.template(t)}).join(""),$(".async-content",n.$el).html(i)})}})}(jQuery),function(){var n=nspace("shadac.viz.table.views");n.TableSelectorsView=Backbone.View.extend({initialize:function(n){var t=this;this.dataModel=n.dataModel,this.constants=new shadac.viz.selectors.TableConstantsView({el:this.$el,model:this.model}),this.locationView=new shadac.viz.selectors.locations.LocationView({el:$("[data-id=0]",this.$el),model:this.model}),this.dataTypeSelector=new shadac.viz.selectors.DataTypeMultiSelectorView({el:$(".data-type",this.$el),model:this.model}),this.distributionSelectors=[],$(".distribution .selector-multiple",this.$el).each(function(){var n=new shadac.viz.selectors.distributions.CharacteristicMultipleSelectorView({el:$(this),model:t.model});t.distributionSelectors.push(n)}),this.timeFrameSelector=new shadac.viz.selectors.TimeFrameSingleSelectorView({el:$(".timeframe",this.$el),model:this.model}),this.breakdownsSelector=new shadac.viz.selectors.TableBreakdownSelectorView({el:$(".breakdown-controls"),model:this.model}),this.dataModel.bind("complete:data",function(){var n=t.dataModel.get("data"),i=_.any(n.tables,function(n){return n.moeAvailable});t.dataTypeSelector.validateMoeSetting(i)}),this.constants.setUp(!0),this.breakdownsSelector.setUp(!0),this.dataTypeSelector.setUp(!0),this.locationView.setUpLocation("0"),this.timeFrameSelector.setUp(!0),this.distributionSelectors.forEach(function(n){n.setUp(!0)}),window.location.search.match(/gen-image/)||this.$el.slideDown()},getLocationSummary:function(){return this.locationView.getDataSummary()},getDistributionSummary:function(){var n=[];return _.each(this.distributionSelectors,function(t){n.push(t.getDataSummary())}),n.join("")},getTimeFrameSummary:function(){return this.timeFrameSelector.getDataSummary()},getDataTypeSummary:function(){return this.dataTypeSelector.getDataSummary()}})}(jQuery)