(function(){var n=nspace("shadac.viz.rank");n.RankRouter=shadac.viz.VizRouterBase.extend({initialize:function(){_.bindAll(this,"updateUrl","updateDataDownload")},routes:{"":"initializeViews",":locationIds/:characteristicIds/:timeframeId/:dataTypeId/:includeMoe/:sort":"initializeViews"},initializeViews:function(t,i,r,u,f,e){var o=this;this.selectorsModel=new n.models.RankSelectorsModel,this.selectorsModel.set({locationIds:this.splitArrayValue(t),characteristicIds:this.splitArrayValue(i),timeframeId:this.getValue(r),dataTypeId:this.getValue(u),includeMoe:this.getValue(f),sort:this.getValue(e)},{silent:!0}),this.dataModel=new n.models.RankDataModel({selectorsModel:this.selectorsModel}),this.detailView=new n.views.RankDetailView({model:this.dataModel,el:".charts .content-wrapper .data"}),this.selectorsView=new n.views.RankSelectorsView({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.getValueOrDefault(this.selectorsModel.get("dataTypeId")),this.getValueOrDefault(this.selectorsModel.get("includeMoe")),this.getValueOrDefault(this.selectorsModel.get("sort"))];window.shadacApp=window.shadacApp||{model:{}},shadacApp.model.attributes=this.selectorsModel.attributes,shadacApp.model.attributes.dataTypeIds=[shadacApp.model.attributes.dataTypeId],shadacApp.model.vizType="Rank",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.getValueOrDefault(this.selectorsModel.get("dataTypeId")," ")),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.rank.models");n.RankDataModel=Backbone.Model.extend({serviceUrl:"/api/rankdata/data",initialize:function(n){var t=this;this.selectorsModel=n.selectorsModel;this.selectorsModel.on("change",_.debounce(function(){t.fetchData()},25))},fetchData:function(){var n=this;this.trigger("loading:data"),$.get(this.serviceUrl,{indicators:n.selectorsModel.get("indicatorId"),locations:n.selectorsModel.get("locationIds").join(","),dataFormatMaps:n.selectorsModel.get("dataTypeId"),characteristics:n.selectorsModel.get("characteristicIds").join(","),timeFrames:n.selectorsModel.get("timeframeId")}).done(function(t){n.set("data",t),n.trigger("complete:data")}).error(function(){n.trigger("error:data")})}})}(jQuery),function(){var n=nspace("shadac.viz.rank.models");n.RankSelectorsModel=Backbone.Model.extend({})}(jQuery),function(){var n=nspace("shadac.viz.rank.views");n.RankDetailView=shadac.viz.AsyncBaseView.extend({completeEvent:"complete:data",errorEvent:"error:data",loadingEvent:"loading:data",chartOptions:{chart:{type:"columnrange",inverted:!0,plotBorderWidth:1,plotBorderColor:"#CFC2B3",marginRight:50},colors:["#003B46","#41B2C5"],plotOptions:{columnrange:{dataLabels:{enabled:!0,formatter:function(){if(this.y==this.point.high)return this.point.displayValue},style:{color:"black","font-family":"'Aktiv Grotesk W01 Light', Arial, sans-serif","font-size":"12px","font-weight":"bold"}},groupPadding:0,grouping:!1},series:{animation:{complete:_.once(function(){shadac.util.imageDownload.fireDataReady()})}}},title:{text:null},yAxis:{gridLineWidth:0,opposite:!0,labels:{style:{color:"black","font-weight":"bold","font-family":"'Aktiv Grotesk W01 Light', Arial, sans-serif","font-size":"12px"}},title:{style:{color:"black","font-family":"'Aktiv Grotesk W01 Light', Arial, sans-serif","font-size":"14px"}}},xAxis:{lineWidth:0,tickWidth:0,labels:{style:{color:"black","font-weight":"bold","font-family":"'Aktiv Grotesk W01 Light', Arial, sans-serif","font-size":"14px"}}},legend:{enabled:!1},tooltip:{borderColor:"#CFC2B3"},credits:{enabled:!1}},initialize:function(){return $(".moe-legend").hide(),$(".async-content",this.$el).addClass("has-download-data-btn"),this.setup()},render:function(){function p(n){f.model.selectorsModel.get("includeMoe")=="true"&&$.each(n.points,function(n,t){if(t.dataLabel&&t.marginOfErrorValue){var i=t.shapeArgs.height,r=t.marginOfErrorValue/(t.high-t.low)*t.shapeArgs.height;t.dataLabel.attr({x:i+r})}})}var f=this,s=$(".async-content",this.$el).highcharts(),t,c,r,e,l,o,a,u,v,y;if(s&&s.destroy(),$(".async-content",this.$el).empty(),t=f.model.get("data"),t.noData||t.dataPoints.length==0){$(".async-content",this.$el).html('<p class="no-data">'+(t.noDataMessage||"No data. Please revise your report.")+"<\/p>");return}var n=_.extend({},this.chartOptions),i=_.clone(t.dataPoints),h=this.model.selectorsModel.get("sort");i=h=="lowest"?_.sortBy(i,function(n){return n.value}):h=="highest"?_.sortBy(i,function(n){return-n.value}):_.sortBy(i,function(n){return n.pointName}),c={},_.each(i,function(n){c[n.pointName]=n.rank}),n.xAxis.categories=_.map(i,function(n){return n.pointName}),n.yAxis.title.text=t.dataFormat,r=[],e=[],_.each(i,function(n){var i=n.value,u=n.marginOfErrorValue,f;t.dataFormatPrimitive=="Percent"&&(i*=100,u*=100),f={low:i>=0?0:i,high:i>=0?i:0,displayValue:n.displayValue,marginOfErrorValue:u,marginOfErrorDisplayValue:n.marginOfErrorDisplayValue},n.pointName==="United States"&&(f.color="#E38431"),r.push(f),e.push({low:i-u,high:i+u,isMoe:!0})}),l=_.min(r,function(n){return n.low}),o=_.max(r,function(n){return n.high}),n.yAxis.min=l.low>=0?0:null,n.yAxis.max=o.high<=0?0:o.high<=100?100:null,n.series=[],n.series.push({data:r,pointPadding:.05}),this.model.selectorsModel.get("includeMoe")=="true"?(n.series.push({data:e,pointPadding:.3,dataLabels:{enabled:!1}}),$(".moe-legend").show()):$(".moe-legend").hide(),a=i.length,u=a*30,u<400&&(u=400),n.yAxis.labels.formatter=function(){if(t.dataFormatPrimitive=="Percent")return this.value+"%"},n.tooltip.formatter=function(){if(this.point.isMoe)return!1;var n="<b>"+this.x+"<\/b>: "+this.point.displayValue;return f.model.selectorsModel.get("includeMoe")=="true"&&(n+=" (MOE "+this.point.marginOfErrorDisplayValue+")"),n},Highcharts.Series.prototype.drawDataLabels=function(n){return function(){n.apply(this,arguments),(this.options.dataLabels.enabled||this._hasPointLabels)&&p(this)}}(Highcharts.Series.prototype.drawDataLabels),v=new URLSearchParams(window.location.search),y=v.get("clean"),String(y).toLowerCase()==="true"&&(n.chart.width=850,n.chart.backgroundColor="#F2F3F3"),$(".async-content",this.$el).height(u).highcharts(n)}})}(jQuery),function(){var n=nspace("shadac.viz.rank.views");n.RankSelectorsView=Backbone.View.extend({initialize:function(n){var t=this;this.dataModel=n.dataModel,this.constants=new shadac.viz.selectors.VizConstantsView({el:this.$el,model:this.model}),this.location=new shadac.viz.selectors.locations.LocationView({el:$(".location"),model:this.model}),this.distributions=new shadac.viz.selectors.distributions.DistributionCollectionView({el:$(".distributions"),model:this.model}),this.timeFrameSelector=new shadac.viz.selectors.TimeFrameSingleSelectorView({el:$(".timeframe"),model:this.model}),this.dataTypeSelector=new shadac.viz.selectors.DataTypeSingleSelectorView({el:$(".data-type",this.$el),model:this.model}),this.includeMoeSelector=new shadac.viz.selectors.IncludeMoeSelectorView({el:$(".data-type-moe"),model:this.model}),this.sortSelector=new shadac.viz.selectors.RankSortSelectorView({el:".content-wrapper .data .rank-sort",model:this.model}),this.dataModel.bind("complete:data",function(){var n=t.dataModel.get("data"),i=_.any(n.dataPoints,function(n){return!isNaN(n.marginOfErrorValue)});t.includeMoeSelector.validateMoeSetting(i)}),this.constants.setUp(!0),this.timeFrameSelector.setUp(!0),this.includeMoeSelector.setUp(!0),this.location.setUpShowMulti(),this.distributions.setUpDistributionSelectors(""),this.dataTypeSelector.hideCount(),this.dataTypeSelector.setUp(!0),this.sortSelector.setUp(!0),shadac.util.urlUtil.isCleanViz(!0)||this.$el.slideDown()},getDistributionSummary:function(){var n=this.distributions.getDataSummaries();return n.join("")},getTimeFrameSummary:function(){return this.timeFrameSelector.getDataSummary()},getDataTypeSummary:function(){var n=this.dataTypeSelector.getDataSummary();return this.model.get("includeMoe")==="true"&&(n+=" and Margin of Error"),n}})}(jQuery)