(function(){"use strict";function t(n,t,i){var r=i.rootPath;t.otherwise("/app/home");n.state("home",{url:"/app/home",templateUrl:r+"/app/home/homePage.html",ncyBreadcrumb:{label:"Home"}}).state("about",{url:"/app/about",params:{refKey:"about"},templateUrl:r+"/app/help/about.html",ncyBreadcrumb:{label:"About"}}).state("help",{url:"/app/help",templateUrl:r+"/app/help/help.html",ncyBreadcrumb:{label:"Help"}}).state("contact",{url:"/app/contact",templateUrl:r+"/app/help/contact.html",ncyBreadcrumb:{label:"Contact"}}).state("login",{url:"/app/login",params:{returnState:""},templateUrl:r+"/app/authorization/login.html",ncyBreadcrumb:{label:"Login"}}).state("logout",{url:"/app/logout",templateUrl:r+"/app/authorization/logout.html",ncyBreadcrumb:{label:"Logout"}}).state("associate",{url:"/app/associate",templateUrl:r+"/app/authorization/associate.html",ncyBreadcrumb:{label:"Associate"}}).state("visualization",{url:"/app/visualization",templateUrl:r+"/app/visualization/genericViz.html",ncyBreadcrumb:{label:"Generic Visualization"}}).state("compositeViz",{url:"/app/compositeViz",templateUrl:r+"/app/visualization/compositeViz.html",ncyBreadcrumb:{label:"Graphical Query: Composite Visualization"}}).state("statsByCountry",{url:"/app/home/statsByCountry",templateUrl:r+"/app/vizByCountry/statsByCountry.html",ncyBreadcrumb:{label:"Graphical Query: Stats By Country"}}).state("statsByCommodity",{url:"/app/statsByCommodity",templateUrl:r+"/app/vizByCommodity/statsByCommodity.html",ncyBreadcrumb:{label:"Graphical Query: Stats By Commodity"}}).state("topCommoditiesByCountry",{url:"/app/topCommoditiesByCountry",templateUrl:r+"/app/vizTopCommoditiesByCountry/topCommoditiesByCountry.html",ncyBreadcrumb:{label:"Graphical Query: Top Commodities By Country"}}).state("topCountriesByCommodity",{url:"/app/topCountriesByCommodity",templateUrl:r+"/app/vizTopCountriesByCommodity/topCountriesByCommodity.html",ncyBreadcrumb:{label:"Graphical Query: Top Countries By Commodity"}}).state("custViz",{url:"/app/custViz",templateUrl:r+"/app/visualization/areaProdYield.html"}).state("topNData",{url:"/app/topNData",templateUrl:r+"/app/visualization/topNAttribData.html"}).state("downloads",{url:"/app/downloads?tabName",params:{tabIndex:0},templateUrl:r+"/app/downloads/downloads.html",ncyBreadcrumb:{label:"Reports and Data"}}).state("advQuery",{url:"/app/advQuery",templateUrl:r+"/app/advQuery/advQuery.html",ncyBreadcrumb:{label:"Custom Query"}}).state("queryImport",{url:"/app/importQuery",templateUrl:r+"/app/advQuery/queryImport.html",ncyBreadcrumb:{label:"Import Queries"}})}var n=angular.module("app",["common","ui.router","ui.bootstrap","ncy-angular-breadcrumb"]);n.config(["$httpProvider",function(n){n.interceptors.push("authInterceptorService");n.defaults.headers.get||(n.defaults.headers.get={});n.defaults.headers.get["If-Modified-Since"]="Mon, 26 Jul 1997 05:00:00 GMT";n.defaults.headers.get["Cache-Control"]="no-cache";n.defaults.headers.get.Pragma="no-cache"}]);n.config(["$stateProvider","$urlRouterProvider","appSettings",t]);n.run(["authService","$window","$rootScope","$location",function(n,t,i,r){t.ga("create","UA-101373743-1","auto");t.ga("create","UA-93001951-2","auto","IPAD");n.fillAuthData();i.$on("$stateChangeSuccess",function(){t.ga("send","pageview",r.path());t.ga("IPAD.send","pageview",r.path())})}])})(),function(){"use strict";angular.module("common",["ngAnimate","toaster","ngMessages","LocalStorageModule","filters"])}(),function(n){"use strict";n.service("anchorSmoothScroll",function(){this.scrollTo=function(n){function h(){return self.pageYOffset?self.pageYOffset:document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop?document.body.scrollTop:0}function c(n){for(var i=document.getElementById(n),r=i.offsetTop,t=i;t.offsetParent&&t.offsetParent!=document.body;)t=t.offsetParent,r+=t.offsetTop;return r}var i=h(),t=c(n)-25,s=t>i?t-i:i-t,e,u;if(s<100){scrollTo(0,t);return}e=Math.round(s/100);e>=20&&(e=20);var f=Math.round(s/25),r=t>i?i+f:i-f,o=0;if(t>i){for(u=i;u<t;u+=f)setTimeout("window.scrollTo(0, "+r+")",o*e),r+=f,r>t&&(r=t),o++;return}for(u=i;u>t;u-=f)setTimeout("window.scrollTo(0, "+r+")",o*e),r-=f,r<t&&(r=t),o++}})}(angular.module("common")),function(n){"use strict";n.constant("authSettings",{apiServiceBaseUri:"https://apps.fas.usda.gov/PSDOnlineApi/",clientId:"PSDOnline"});n.constant("circularSettings",{googleViewerUrl:"https://docs.google.com/viewer?url=",circularsBaseUrl:"https://apps.fas.usda.gov/PSDOnline/Circulars/",circularsDownloadUrl:"https://apps.fas.usda.gov/PSDOnline/CircularDownloader.ashx"});n.constant("appSettings",{rootPath:"/psdonline",swaggerUrl:"https://apps.fas.usda.gov/psdonlinedataservices/swagger/ui/index"})}(angular.module("common")),function(n){"use strict";function t(){function t(n){return n instanceof Blob}function n(n,t){try{saveAs(n,t)}catch(i){console.error(i.message)}}return{download:function(i,r,u){var f;i=i instanceof Array?i:[i];t(i)&&n(i,r);f=new Blob(i,u);n(f,r)}}}n.factory("SaveAs",t)}(angular.module("common")),function(){"use strict";var n=function(n){return function(t,i){return isNaN(t)?t:(t%1>0&&(i=2),n("number")(t,i))}},t=angular.module("filters",[]);t.filter("passthruNumber",["$filter",n])}(),function(n){var t=function(n){function t(){n.logout()}return{restrict:"E",templateUrl:"layout/breadCrumb.html",replace:!0,scope:!0,link:function(i){i.authentication=n.authentication;i.logout=t}}};n.directive("breadCrumb",["authService",t])}(angular.module("common")),function(n){var t=function(){return{restrict:"E",templateUrl:"layout/navBar.html",replace:!0,scope:!0}};n.directive("navBar",t)}(angular.module("common")),function(n){var t=function(){return{restrict:"E",templateUrl:"layout/pageHeader.html",replace:!0,scope:!0}};n.directive("pageHeader",t)}(angular.module("common")),function(n){var t=function(){return{restrict:"E",templateUrl:"layout/pageFooter.html",replace:!0,scope:!0}};n.directive("pageFooter",t)}(angular.module("common")),function(n){"use strict";var t=function(n,t,i,r,u,f,e,o,s,h,c){function b(n){n==="loadQuery"?(l.queryLoaded=!0,u(function(){l.queryLoaded=!1},5e3)):n==="saveQuery"&&(l.querySaved=!0,u(function(){l.querySaved=!1},5e3))}function v(n){n==="loadQuery"?(l.loadQueryFailed=!0,u(function(){l.loadQueryFailed=!1},5e3)):n==="saveQuery"&&(l.saveQueryFailed=!0,u(function(){l.saveQueryFailed=!1},5e3))}function ft(){if(!l.criteria.chkCommoditySummary){l.aggregatedCommodities="";return}var n=0;l.aggregatedCommodities="<strong>Commodities:<\/strong> ";$.each(l.criteria.commodities,function(t,i){while(i!==l.commodityList[n].commodityCode)n++;l.aggregatedCommodities+=l.commodityList[n++].commodityName+", "});l.aggregatedCommodities=t.trustAsHtml(l.aggregatedCommodities)}function et(){if(!l.criteria.chkAttribSummary){l.aggregatedAttributes="";return}var n=0;l.aggregatedAttributes="<strong>Attributes:<\/strong> ";$.each(l.criteria.attributes,function(t,i){while(i!==l.attributeList[n].attributeId)n++;l.aggregatedAttributes+=l.attributeList[n++].attributeName.trim()+", "});l.aggregatedAttributes=t.trustAsHtml(l.aggregatedAttributes)}function ot(){if(!l.criteria.chkCountrySummary){l.aggregatedCountries="";return}var n=0;l.aggregatedCountries="<strong>Countries:<\/strong> ";$.each(l.criteria.countries,function(t,i){if(i.length>2)return!0;while(i!==l.countryList[n].code)n++;l.aggregatedCountries+=l.countryList[n++].name+", "});l.aggregatedCountries=t.trustAsHtml(l.aggregatedCountries)}var l=this,y,a,k;l.resultHtml="";l.queryMigrationStatus=null;l.acceptQueryImport="true";l.queryLoaded=!1;l.loadQueryFailed=!1;l.querySaved=!1;l.saveQueryFailed=!1;l.mode="query";l.summarizationDisabled=!1;y="";l.marketYearMisalignMask=0;a=!1;l.commodityList=null;l.countryList=null;l.allMarketYears=null;l.attributeList=null;l.queryList=null;l.duplicateQueryName=!1;l.queryResultContainer=null;l.navigateToQueryImport=function(){e.go("queryImport")};l.aggregatedCommodities="";l.aggregatedAttributes="";l.aggregatedCountries="";l.aggregated=!1;l.showAggregation=!1;l.declineQueryImport=function(){if(s.authentication.isAuth)return c.declineUserQueryImport().then(function(n){l.queryMigrationStatus=n.migrationStatus},function(){})};l.sortOrders={year:["Commodity/Attribute/Country","Commodity/Country/Attribute","Country/Commodity/Attribute","Country/Attribute/Commodity","Attribute/Commodity/Country","Attribute/Country/Commodity"],attribute:["Commodity/Year/Country","Commodity/Country/Year","Country/Commodity/Year","Country/Year/Commodity","Year/Commodity/Country","Year/Country/Commodity"],commodity:["Attribute/Year/Country","Attribute/Country/Year","Country/Attribute/Year","Country/Year/Attribute","Year/Attribute/Country","Year/Country/Attribute"],country:["Attribute/Year/Commodity","Attribute/Commodity/Year","Commodity/Attribute/Year","Commodity/Year/Attribute","Year/Attribute/Commodity","Year/Commodity/Attribute"]};l.criteria={queryId:0,commodityGroupCode:null,commodities:null,attributes:null,countries:[],marketYears:null,chkCommoditySummary:!1,chkAttribSummary:!1,chkCountrySummary:!1,commoditySummaryText:"",attribSummaryText:"",countrySummaryText:"",optionColumn:"year",chkTopCountry:!1,topCountryCount:"",chkfileFormat:!1,chkPrevMonth:!1,chkMonthChange:!1,chkCodes:!1,chkYearChange:!1,queryName:"",sortOrder:l.sortOrders.year[0]};l.resetCriteria=function(){l.criteria.queryId=0;l.criteria.commodityGroupCode=null;l.criteria.commodities=null;l.criteria.attributes=null;l.criteria.countries=[];l.criteria.marketYears=null;l.criteria.chkCommoditySummary=!1;l.criteria.chkAttribSummary=!1;l.criteria.chkCountrySummary="";l.criteria.commoditySummaryText="";l.criteria.attribSummaryText="";l.criteria.countrySummaryText="";l.criteria.chkfileFormat=!1;l.criteria.chkMonthChange=!1;l.criteria.chkCodes=!1;l.criteria.chkYearChange=!1;l.criteria.chkPrevMonth=!1;l.criteria.chkTopCountry=!1;l.criteria.topCountryCount="";l.criteria.queryName="";l.marketYearMisalignMask=0};l.setModeToQuery=function(){l.mode="query";l.resultHtml="";delete l.queryResultContainer};var d=function(){if(s.authentication.isAuth)return c.getUserQueryMigrationStatus().then(function(n){l.queryMigrationStatus=n.migrationStatus},function(){})},g=function(){return c.getCommodityGroups().then(function(n){l.commodityGroups=nt(n)},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);l.message="Failed to get Commodity Groups due to:"+t.join(" ")})},nt=function(n){return n.filter(function(n){return n.commodityGroupName!=="Russia Wheat; Winter/Spring Area & Prod "})},p=function(){var n="";return!l.criteria.commodityGroupCode||(n=l.criteria.commodityGroupCode),c.getCommodities(n).then(function(n){l.commodityList=n},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);l.message="Failed to getCommodities due to:"+t.join(" ")})},tt=function(){return c.getMarketYearMisaligners().then(function(n){!!n&&n.length>0&&$.each(n,function(n,t){y+=t.commodityCode+","})},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);l.message="Failed to getMY misaligner commodities due to:"+t.join(" ")})},it=function(){return c.getAllCountriesAndRegions().then(function(n){l.countryList=n},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);l.message="Failed to get Countries due to:"+t.join(" ")})},rt=function(){return c.getMaxMarketYear().then(function(n){var i,t;for(l.allMarketYears=new Array(parseInt(n)-1960),i=parseInt(n),t=i;t>=1960;t--)l.allMarketYears[i-t]=t},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);l.message="Failed to get Countries due to:"+t.join(" ")})},ut=function(n){return c.getMultiCommodityAttributes(n).then(function(n){l.attributeList=n},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);l.message="Failed to get Attributes Groups due to:"+t.join(" ")})},w=function(){if(s.authentication.isAuth)return c.loadQueries().then(function(n){l.queryList=n},function(n){var t,i;s.logout();t=[];for(i in n.modelState)t.push(n.modelState[i]);l.message="Failed to load Queries due to:"+t.join(" ")})};l.evalUIState=function(){var n=null;!!l.criteria.countries&&l.criteria.countries.length>0&&(l.criteria.countries[0]==="ALL"?n=0:l.criteria.countries[1]==="ALL"&&(n=1),n!==null&&u(function(){l.criteria.countries.splice(n+1,l.criteria.countries.length-n)},10));l.setCountrySummaryState()};l.getAlignment=function(n){return isNaN(n)?{"padding:left":"2px","text-align":"left"}:{"padding:right":"2px;","text-align":"right"}};l.setTopCountryUIState=function(){(l.criteria.optionColumn!=="year"||l.criteria.sortOrder.indexOf("Country",this.length-7)!==-1)&&(l.criteria.chkTopCountry=!1,l.criteria.topCountryCount="")};l.setTopCountryCount=function(){l.criteria.chkTopCountry?(l.criteria.topCountryCount="10",l.summarizationDisabled=!0,l.criteria.chkCommoditySummary=!1,l.criteria.chkAttribSummary=!1,l.criteria.chkCountrySummary=!1,l.criteria.commoditySummaryText="",l.criteria.attribSummaryText="",l.criteria.countrySummaryText=""):(l.criteria.topCountryCount="",l.summarizationDisabled=!1)};l.loadAttributes=function(n){var r=null,t,i;return l.marketYearMisalignMask=0,t="",i=0,$.each(n,function(n,r){t+=r+",";l.marketYearMisalignMask=y.indexOf(r)>=0?l.marketYearMisalignMask|2:l.marketYearMisalignMask|1;i++}),t.length>5?r=ut(t):(l.criteria.attributes=null,l.attributeList=null),i>1&&(l.criteria.chkPrevMonth=!1,l.criteria.chkMonthChange=!1),l.setCommoditySummaryState(),r};l.setCommoditySummaryState=function(){l.criteria.commodities&&l.criteria.commodities.length!==0||(l.criteria.chkCommoditySummary=!1,l.criteria.commoditySummaryText="",l.setAttribSummaryState())};l.setAttribSummaryState=function(){l.criteria.attributes&&l.criteria.attributes.length!==0||(l.criteria.chkAttribSummary=!1,l.criteria.attribSummaryText="")};l.setCountrySummaryState=function(){l.criteria.countries&&l.criteria.countries.length!==0||(l.criteria.chkCountrySummary=!1,l.criteria.countrySummaryText="")};l.onChkMonthChangeChanged=function(){u(function(){l.criteria.chkPrevMonth=l.criteria.chkMonthChange===!0?!0:l.criteria.chkPrevMonth},1)};l.onChkPrevMonthChanged=function(){u(function(){l.criteria.chkMonthChange=l.criteria.chkPrevMonth===!1?!1:l.criteria.chkMonthChange},1)};l.init=function(){l.criteria.sortOrder=l.sortOrders.year[0]};r.$watch(angular.bind(l,function(){return l.criteria.commodityGroupCode}),function(){a||(l.commodityList=null,l.attributeList=null,l.marketYearMisalignMask=0,p())});r.$watch(angular.bind(l,function(){return l.criteria.sortOrder}),function(n){if(!!n){var t=n.split("/");l.criteria.optionColumn!=="year"||t[2]!=="Country"?(l.criteria.chkTopCountry=!1,l.criteria.topCountryCount="",l.criteria.topCountryState=!0):(l.criteria.optionColumn==="year"||t[2]==="Country")&&(l.criteria.topCountryState=!1);l.summarizationDisabled=l.criteria.chkTopCountry}});r.$watch(angular.bind(l,function(){return l.criteria.optionColumn}),function(n){!n||(l.criteria.sortOrder=l.sortOrders[l.criteria.optionColumn][0])});r.$watch(angular.bind(l,function(){return l.authenticated=s.authentication.isAuth,s.authentication.isAuth}),function(n){!n||(l.authenticated=s.authentication.isAuth)});l.runQuery=function(){l.aggregated=!1;l.showAggregation=!1;var i=c.runQuery(l.criteria).then(function(i){var e=i.tableHeaders.map(function(n){return n.substr(0,3).toUpperCase()==="FSI"?n[0].toLowerCase()+n[1].toLowerCase()+n.slice(2):n[0].toLowerCase()+n.slice(1)}),f,r,s;l.queryResultContainer=i;l.mode="results";var h=k(e,i.queryResult),o=[],u="";for(f=0;f<i.queryResult.length;f++){for(u+="<tr>",r=0;r<e.length;r++)s=i.queryResult[f][e[r]]===null?"":i.queryResult[f][e[r]],u+="<td class="+(h[r]===!0?"righter":"lefter")+">"+(h[r]===!0?n("passthruNumber")(s,0):s)+"<\/td>";u+="<\/tr>";o.push(u);u=""}l.resultHtml=t.trustAsHtml(o.join(""));o=null},function(){h.error({title:"Error",body:"No Data found in the system for selected market Year"})})};k=function(n,t){for(var u=t[0],r=[],i=0;i<n.length;i++)isNaN(u[n[i]])||n[i]==="cm_code"||n[i]==="attribute_id"||n[i]==="unit Description"?r.push(!1):r.push(!0);return r};l.checkDuplicate=function(){return l.duplicateQueryName=!1,l.criteria.queryId===0&&$.each(l.queryList,function(n,t){if(t.queryName.toLowerCase()===l.criteria.queryName.toLowerCase())return l.duplicateQueryName=!0,!1}),l.duplicateQueryName};l.deleteQuery=function(){if(l.criteria.queryId!==0)return c.deleteQuery(l.criteria.queryId).then(function(){l.resetCriteria();w();b("saveQuery")},function(){v("saveQuery")})};l.saveQuery=function(){if(!l.checkDuplicate())var n=c.saveQuery(l.criteria).then(function(n){l.criteria.queryId=n;b("saveQuery");w()},function(){v("saveQuery")})};l.loadQuery=function(){var n=c.loadQuery(l.query).then(function(n){var t=n,i;if(l.resetCriteria(),l.query="",!t.commodities){l.criteria=t;return}a=!0;l.commodityList=null;l.criteria.commodityCodes=t.commodities;l.criteria.commodityGroupCode=t.commodityGroupCode;p();i=l.loadAttributes(t.commodities);i.then(function(){l.criteria=t;b("loadQuery");u(function(){a=!1},10)},function(){v("loadQuery")})},function(){v("loadQuery")})};l.download=function(){var n=angular.element(".downloadable >table")[0].outerHTML,t=!l.criteria.queryName?"psd":l.criteria.queryName;n='<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><\/head><body>'+n+"<\/body><\/html>";try{o.download(n,t+".xls",{type:"application/vnd.ms-excel;charset=utf-8"})}catch(i){h.error({title:"Error",body:"File Download not supported on this browser version."})}};l.getSummarizationDetails=function(){l.aggregated||(ft(),et(),ot(),l.aggregated=!0);l.showAggregation=!l.showAggregation};d();g();p();tt();it();rt();w()};n.controller("advQueryCtrl",["$filter","$sce","$q","$scope","$timeout","$interval","$state","SaveAs","authService","toaster","advQueryService",t])}(angular.module("common")),function(n){"use strict";var t=function(n,t,i,r){function f(){return r.getUserQueryMigrationStatus().then(function(n){!n.migrationStatus||n.migrationStatus==="PROMPT"||t.go("advQuery")},function(){t.go("advQuery")})}function e(){i.authentication.isAuth||t.go("advQuery");f()}var u=this;u.importSucceeded=!1;u.legacyUserName="";u.savedLegacyUserName="";u.migratedQueries=null;e();u.declineQueryImport=function(){if(i.authentication.isAuth)return r.declineUserQueryImport().then(function(){t.go("advQuery")},function(){})};u.loadMigratedQueries=function(){if(i.authentication.isAuth&&!(u.legacyUserName.trim().length<1)){u.migratedQueries=[];return r.loadMigratedQueires(u.legacyUserName).then(function(n){u.migratedQueries=n;u.savedLegacyUserName=u.legacyUserName},function(){})}};u.importUserQueries=function(){if(i.authentication.isAuth)return r.importUserQueries(u.savedLegacyUserName).then(function(){u.savedLegacyUserName="";u.migratedQueries=null;u.importSucceeded=!0},function(){})};u.handleKeyPress=function(n){n.keyCode===13&&u.loadMigratedQueries()};n.$watch(angular.bind(u,function(){return i.authentication.isAuth}),function(n){n||t.go("advQuery")})};n.controller("queryImportCtrl",["$scope","$state","authService","advQueryService",t])}(angular.module("common")),function(n){"use strict";function t(n,t,i,r){var u=this,f;u.savedSuccessfully=!1;u.message="";u.registerData={userName:r.externalAuthData.userName,provider:r.externalAuthData.provider,externalAccessToken:r.externalAuthData.externalAccessToken};u.registerExternal=function(){r.registerExternal(u.registerData).then(function(){u.savedSuccessfully=!0;u.message="User has been registered successfully, you will be redicted back in 2 seconds.";f()},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);u.message="Failed to register user due to:"+t.join(" ")})};f=function(){var n=i(function(){i.cancel(n);t.path("/orders")},2e3)}}n.controller("associateCtrl",["$scope","$location","$timeout","authService",t])}(angular.module("common")),function(n){"use strict";function t(n,t,i,r,u,f){var o=this,e;o.message="";e=i.returnState;o.authExternalProvider=function(n){var t=location.protocol+"//"+location.host+"/"+f.clientId+"/authcomplete.html",i=f.apiServiceBaseUri+"api/Account/ExternalLogin?provider="+n+"&response_type=token&client_id="+f.clientId+"&redirect_uri="+t,r;window.$vm=o;r=window.open(i,"Authenticate Account","location=0,status=0,width=600,height=750")};o.authCompleteCallBack=function(i){n.$apply(function(){if(i.haslocalaccount=="False")u.logout(),u.externalAuthData={provider:i.provider,userName:i.external_user_name,externalAccessToken:i.external_access_token},r.path("/app/associate");else{var f={provider:i.provider,externalAccessToken:i.external_access_token};u.obtainAccessToken(f).then(function(){if(e&&e.length!==0)if(e==="api")t.go("about",{refKey:"api"});else t.go(e);else t.go("home")},function(t){n.message=t.error_description})}})}}n.controller("loginCtrl",["$scope","$state","$stateParams","$location","authService","authSettings",t])}(angular.module("common")),function(n){"use strict";function t(n,t){var i=this;i.logout=function(){t._logout()}}n.controller("logoutCtrl",["$location","authService","authSettings",t])}(angular.module("common")),function(n){"use strict";function t(n){var t=this,i;t.nameToIds={"default":0,releaseSchedule:0,reports:1,dataSets:2,publications:3,referenceData:4};t.active=n.tabIndex;t.active||(i=n.tabName||"default",t.active=t.nameToIds[i]);t.referenceKey=null;t.setActiveTab=function(n){t.active=n}}n.controller("downloadsCtrl",["$stateParams",t])}(angular.module("common")),function(n){"use strict";var t=function(n){function i(t,i,r){function e(){var n=o();return i.trustAsResourceUrl(r.circularsBaseUrl+n+u.selectedItem+".pdf#navpanes=0")}function o(){return u.calYear.CalendarYear+"/"+u.month.Item1+"/"}function s(){return r.circularsDownloadUrl+"?year="+u.calYear.CalendarYear+"&month="+u.month.Item1+"&commodity="+u.selectedItem}var u=this,f;u.circularSetInfo=null;u.calYear=null;u.month=null;u.selectedItem=null;u.circularUrl=null;u.downloadUrl=null;u.selectedItem="Grain";u.getLabel=function(){switch(u.selectedItem){case"Citrus":return"Citrus";case"Coffee":return"Coffee";case"grain-corn-coarsegrains":return"Corn";case"Cotton":return"Cotton";case"Dairy":return"Dairy";case"Fruit":return"Fresh Deciduous Fruits";case"Grain":return"Grains";case"Livestock_poultry":return"Livestock and Poultry";case"Oilseeds":return"Oilseeds";case"Raisins":return"Raisins";case"grain-rice":return"Rice";case"StoneFruit":return"Stone Fruit";case"Sugar":return"Sugar";case"TreeNuts":return"Tree Nuts";case"grain-wheat":return"wheat";case"production":return"World Agricultural Production";default:return"Error"}};u.getCircular=function(n){u.selectedItem=n;u.circularUrl=e();u.downloadUrl=s()};f=function(){var t=n.getCircularSetInfo().then(function(n){u.circularSetInfo=n;u.calYear=u.circularSetInfo.CircularSets[0];u.month=u.calYear.Months[0]},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);u.message="Failed to get Archive Set Info due to:"+t.join(" ")})};f();t.$watch(angular.bind(u,function(){return u.calYear}),function(n,t){!n||t&&n===t||(u.month=u.calYear.Months[0])});t.$watch(angular.bind(u,function(){return u.month}),function(n,t){!n||t&&n===t||u.getCircular(u.selectedItem)})}var t=["$scope","$sce","circularSettings",i];return{restrict:"E",controller:t,scope:{},controllerAs:"vm",bindToController:!0,templateUrl:"downloads/directives/circulars.html"}};n.directive("circulars",["downloadService",t])}(angular.module("common")),function(n){"use strict";var t=function(n){function i(t,i){var r=this,u,e;r.currentDataset=null;r.archiveDataset=null;r.archiveSetInfo=null;r.commodityGroups=null;r.calYear=null;r.month=null;r.datasetKey="CURRENT_DATA_SET";var f=function(){return n.getCurrentDataset(r.datasetKey).then(function(n){r.currentDataset=n;u(r.currentDataset)},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);r.message="Failed to get Current Dataset due to:"+t.join(" ")})},o=function(t,i){var f=n.getArchiveDataset(r.datasetKey,t,i).then(function(n){r.archiveDataset=n;u(r.archiveDataset)},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);r.message="Failed to get Archived Dataset due to:"+t.join(" ")})},s=function(){var t=n.getArchiveSetInfo("ARCHIVE_SET").then(function(n){r.archiveSetInfo=n;r.calYear=r.archiveSetInfo[0];r.month=r.calYear.Months[0]},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);r.message="Failed to get Archive Set Info due to:"+t.join(" ")})},h=function(){var t=n.getCommodityGroups().then(function(n){r.commodityGroups=n;f()},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);r.message="Failed to get Archive Set Info due to:"+t.join(" ")})};r.showRawFormat=function(){r.modalHandle=i.open({animation:t.animationsEnabled,templateUrl:"downloads/directives/rawDataDescription.html",backdrop:"static",controller:"rawDataDescPopupCtrl"})};r.showContents=function(u){r.modalHandle=i.open({animation:t.animationsEnabled,templateUrl:"downloads/directives/datasetContents.html",backdrop:"static",controller:"datasetPopupCtrl",controllerAs:"vm",resolve:{datasetContents:function(){return n.getDatasetContents(u.FileName).then(function(n){return{fileName:u.FileName,commodities:n}},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);r.message="Failed to get Current Dataset due to:"+t.join(" ")})}}})};t.$watch(angular.bind(r,function(){return r.datasetKey}),function(n,t){!n||t&&n===t||(n==="CURRENT_DATA_SET"&&r.currentDataset===null?f():n==="ARCHIVE_DATA_SET"&&r.archiveDataset===null?s():n==="support"&&console.log(n))});t.$watch(angular.bind(r,function(){return r.calYear}),function(n,t){!n||t&&n===t||(r.month=n.Months[0])});t.$watch(angular.bind(r,function(){return r.month}),function(n,t){!n||t&&n===t||o(r.calYear.CalendarYear,n)});u=function(n){$.each(r.commodityGroups,function(t,i){e(n,i)})};e=function(n,t){$.each(n.DownloadableDataSets,function(n,i){if(i.FileName===t.fileName)return i.CommodityGroupName=t.commodityGroupName,!1})};h()}var t=["$scope","$uibModal",i];return{restrict:"E",controller:t,controllerAs:"vm",bindToController:!0,scope:{datasetKey:"="},templateUrl:"downloads/directives/datasets.html"}},i=function(n,t,i){var r=this;r.contents=i;n.cancel=function(){t.dismiss("cancel")}},r=function(n,t){n.cancel=function(){t.dismiss("cancel")}};n.directive("datasets",["downloadService",t]);n.controller("datasetPopupCtrl",["$scope","$uibModalInstance","datasetContents",i]);n.controller("rawDataDescPopupCtrl",["$scope","$uibModalInstance",r])}(angular.module("common")),function(n){"use strict";var t=function(n,t){function r(i,r,u,f){var e=this,o;e.availabilityData="";e.commodity=null;e.country=null;e.countries=null;e.countryStr=null;e.commodities=null;e.availabilities=null;e.attributes=null;e.attribStr=null;e.uoms=null;e.availabilityMode=null;e.regions=null;e.referenceKey="availability";e.monthNames=["","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];e.sortType="name";e.sortReverse=!1;e.getMarketYear=function(n){var t=parseInt(n.beginMonth),i=parseInt(n.endMonth);return e.monthNames[t]+" To "+e.monthNames[i]};e.getNotes=function(n){var t=n.maxYear,r=n.beginMonth,f=n.endMonth,i=n.marketBeginYear,e=r==="01"?i:i+1,u="Year "+t+" refers to ";return n.splitYear===1?u+=t+"/"+(t+1)+", "+r+"/"+i+"-"+f+"/"+e:n.splitYear===2?u+=t-1+"/"+t+", "+r+"/"+i+"-"+f+"/"+e:n.splitYear===0&&(u+=t+", "+r+"/"+i+"-"+f+"/"+e),u};e.renderCountryAsHtml=function(){var t=u("orderBy")(e.countries,e.sortType,e.sortReverse),i=[],n="";t!==null&&t.length>0&&$.each(t,function(t,r){n="<tr><td>"+r.countryCode+"<\/td>";n+="<td>"+r.countryName+"<\/td><\/tr>";i.push(n);n=""});e.countryStr=r.trustAsHtml(i.join(""))};e.getAllCountries=function(){if(!!e.countries&&e.countries.length>0){e.renderCountryAsHtml();return}var t=n.getAllCountries().then(function(n){e.countries=n;e.renderCountryAsHtml()},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);e.message="Failed to get All Countries due to:"+t.join(" ")})};e.getAllCommodities=function(){return n.getAllCommodities().then(function(n){e.commodities=n;e.commodity=e.commodities[0]},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);e.message="Failed to get All Commodities due to:"+t.join(" ")})};o=function(n,t){var u=[],i="";return n!==null&&n.length>0?$.each(n,function(n,r){i=t===!0?"<tr><td>"+r.country+"<\/td>":"<tr><td>"+r.commodity+"<\/td>";i+="<td>"+r.minYear+"-"+r.maxYear+"<\/td>";i+="<td>"+e.getMarketYear(r)+"<\/td>";i+='<td style="font-size:small">'+e.getNotes(r)+"<\/td><\/tr>";u.push(i);i=""}):(i='<tr><td colspan="4"> No Data exists for this country<\/td><\/tr>',u.push(i)),r.trustAsHtml(u.join(""))};e.getAvailabilityByCommodity=function(t){var i=n.getAvailabilityByCommodity(t).then(function(n){e.availabilityData=o(n,!0)},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);e.message="Failed to get AvailabilityByCommodity due to:"+t.join(" ")})};e.getAvailabilityByCountry=function(t){var i=n.getAvailabilityByCountry(t).then(function(n){e.availabilityData=o(n,!1)},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);e.message="Failed to get AvailabilityBycountry due to:"+t.join(" ")})};e.getAllRegions=function(){var t=n.getAllRegions().then(function(n){e.regions=n},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);e.message="Failed to get Regions due to:"+t.join(" ")})};e.renderAttribsAsHtml=function(){var t=u("orderBy")(e.attributes,e.sortType,e.sortReverse),i=[],n="";t!==null&&t.length>0&&$.each(t,function(t,r){n="<tr><td>"+r.attributeId+"<\/td>";n+="<td>"+r.attributeName+"<\/td>";n+="<td>"+(r.variants!==null?r.variants:"")+"<\/td><\/tr>";i.push(n);n=""});e.attribStr=r.trustAsHtml(i.join(""))};e.getAllAttributes=function(){if(!!e.attributes&&e.attributes.length>0){e.renderAttribsAsHtml();return}var t=n.getAllAttributes().then(function(n){e.attributes=n;e.renderAttribsAsHtml()},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);e.message="Failed to get All Attributes due to:"+t.join(" ")})};e.getAllUOMs=function(){var t=n.getAllUOMs().then(function(n){e.uoms=n},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);e.message="Failed to get All UOMs due to:"+t.join(" ")})};e.download=function(n){var r="."+n+" > table",i=angular.element(r)[0].outerHTML;i='<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><\/head><body>'+i+"<\/body><\/html>";try{t.download(i,n+".xls",{type:"application/vnd.ms-excel;charset=utf-8"})}catch(u){f.error({title:"Error",body:"File Download not supported on this browser version."})}};e.getAllCountries();e.getAllCommodities();i.$watch(angular.bind(e,function(){return e.commodity}),function(n,t){n?t&&n.commodityCode===t.commodityCode||(e.country="",e.availabilityMode="commodity",e.getAvailabilityByCommodity(n.commodityCode)):e.country||!e.countries||(e.country=e.countries[0])});i.$watch(angular.bind(e,function(){return e.country}),function(n,t){n?t&&n.countryCode===t.countryCode||(e.commodity="",e.availabilityMode="country",e.getAvailabilityByCountry(n.countryCode)):e.commodity||!e.commodities||(e.commodity=e.commodities[0])});i.$watch(angular.bind(e,function(){return e.referenceKey}),function(n,t){!n||t&&n===t||(n==="region"&&e.regions===null?e.getAllRegions():n==="attribute"?e.getAllAttributes():n==="uom"&&e.getAllUOMs())})}var i=["$scope","$sce","$filter","toaster",r];return{restrict:"E",controller:i,controllerAs:"vm",bindToController:!0,scope:{referenceKey:"="},templateUrl:"downloads/directives/referenceData.html"}};n.directive("referenceData",["downloadService","SaveAs",t])}(angular.module("common")),function(n){"use strict";var t=function(n,t,i){var r=function(){var r=this;r.scheduleType="1";r.schedules=null;r.selectedItem="Grains";r.getReleaseSchedule=function(t){r.selectedItem=t;var i=n.getReleaseSchedules(t,r.scheduleType).then(function(n){r.schedules=n},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);r.message="Failed to get Group attributes due to:"+t.join(" ")})};r.regreshSchedule=function(){r.getReleaseSchedule(r.selectedItem)};r.getReleaseSchedule("all","1");r.download=function(){var n=angular.element(".downloadable >table")[0].outerHTML;n='<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><\/head><body>'+n+"<\/body><\/html>";try{t.download(n,r.selectedItem+"_ReleaseSchedule.xls",{type:"application/vnd.ms-excel;charset=utf-8"})}catch(u){i.error({title:"Error",body:"File Download not supported on this browser version."})}}};return{restrict:"E",controller:r,scope:{},controllerAs:"vm",bindToController:!0,templateUrl:"downloads/directives/releaseSchedule.html"}};n.directive("releaseSchedule",["downloadService","SaveAs","toaster",t])}(angular.module("common")),function(n){"use strict";var t=function(n){function i(t,i,r){var u=this,f;u.modalHandle=null;u.reportHeaders=null;u.reports=null;u.reportsReleased=!1;u.getReportHeaders=function(){var t=n.getCommodityReportHeaders().then(function(n){u.reportHeaders=f(n);u.reportsReleased=u.reportHeaders[0].groupReportsReleased;u.getReports(u.reportHeaders[0].commodityGroupCode);u.reportHeaders[0].selected=!0},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);u.message="Failed to get Commodity Groups due to:"+t.join(" ")})};f=function(n){return n.filter(function(n){return n.commodityGroupName!=="Russia Wheat; Winter/Spring Area & Prod "})};u.getReports=function(n){$.each(u.reportHeaders,function(t,i){i.commodityGroupCode===n?(u.reports=i.children,i.selected=!0,u.reportsReleased=i.groupReportsReleased):i.selected=!1})};u.showSelected=function(n){u.modalHandle=r.open({animation:i.animationsEnabled,templateUrl:t.rootPath+"/reporthandler.ashx?reportId="+n.reportId+"&templateId="+n.templateId+"&format=html&fileName="+n.displayName,controller:"reportPopupCtrl",resolve:{reportParams:function(){return{reportId:n.reportId,templateId:n.templateId,format:"html",fileName:n.displayName}}}}).rendered.then(function(){var n=document.querySelector(".modal-dialog");n.style.top="25px";n.style.left="-250px"})};u.getReportHeaders()}var t=["appSettings","$scope","$uibModal",i];return{restrict:"E",controller:t,controllerAs:"vm",scope:{goto:"="},bindToController:!0,templateUrl:"downloads/directives/reports.html"}},i=function(n,t,i){window.setTimeout(function(){document.getElementById("printPreviewBtn").style.visibility="visible";document.getElementById("closeBtn").style.visibility="visible"},100);n.cancel=function(){t.dismiss("cancel")};n.showMe=function(n){console.log(n)};n.showPrintView=function(){var n=i;window.open("/psdonline/reporthandler.ashx?reportId="+n.reportId+"&templateId="+n.templateId+"&format=html&fileName="+n.fileName)}};n.directive("reports",["downloadService",t]);n.controller("reportPopupCtrl",["$scope","$uibModalInstance","reportParams",i])}(angular.module("common")),function(n){"use strict";function t(n,t,i,r,u,f,e,o){var s=this;s.swaggerUrl=t.trustAsResourceUrl(o.swaggerUrl);s.authService=e;s.referenceKey=i.refKey||"about";s.allCountries=null;s.allCountryStr=null;s.sortType="regionName";s.sortReverse=!1;s.renderCountriesAsHtml=function(){var r=n("orderBy")(s.allCountries,s.sortType,s.sortReverse),u=[],i="";r!==null&&r.length>0&&$.each(r,function(n,t){i="<tr><td>"+t.regionName+"<\/td>";i+="<td>"+t.countryName+"<\/td>";i+="<td>"+t.countryCode+"<\/td><\/tr>";u.push(i);i=""});s.allCountryStr=t.trustAsHtml(u.join(""))};s.loadCountries=function(){if(s.referenceKey="region",!!s.allCountries&&s.allCountries.length>0){s.renderCountriesAsHtml();return}return f.getAllCountries().then(function(n){s.allCountries=n;s.renderCountriesAsHtml()},function(n){var t=[],i;for(i in n.modelState)t.push(n.modelState[i]);s.message="Failed to load All countries due to:"+t.join(" ")})};s.download=function(){var n=angular.element(".downloadable >table")[0].outerHTML;n='<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><\/head><body>'+n+"<\/body><\/html>";try{r.download(n,"CountryAndRegion.xls",{type:"application/vnd.ms-excel;charset=utf-8"})}catch(t){u.error({title:"Error",body:"File Download not supported on this browser version."})}}}n.controller("aboutCtrl",["$filter","$sce","$stateParams","SaveAs","toaster","downloadService","authService","appSettings",t])}(angular.module("common")),function(n){"use strict";function t(n){var t=this;t.formData={name:"",email:"",phone:"",message:""};t.canSubmit=function(){return!!t.formData.name&&!!t.formData.email&&!!t.formData.message};t.reset=function(){t.formData.message=null;t.formSubmitted=!1};t.formSubmitted=!1;t.submitForm=function(){if(!t.formSubmitted)return n.sendNotification(t.formData).then(function(){t.formSubmitted=!0},function(n){var i=[],r;for(r in n.modelState)i.push(n.modelState[r]);t.message="Failed to load All countries due to:"+i.join(" ")})}}n.controller("contactCtrl",["notificationService",t]);n.directive("myMaxlength",["$compile","$log",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){i.$set("ngTrim","false");var u=parseInt(i.myMaxlength,10);r.$parsers.push(function(n){return n.length>u&&(n=n.substr(0,u),r.$setViewValue(n),r.$render()),n})}}}])}(angular.module("common")),function(n){"use strict";var t=function(n,t,i){var r=this;r.scrollTo=function(n){t.hash(n);i.scrollTo(n)}};n.component("help",{templateUrl:"help/helpContents.html",bindings:{},controllerAs:"model",controller:["$scope","$location","anchorSmoothScroll",t]})}(angular.module("common")),function(n){"use strict";function t(n){function i(){return n.getNextRelease().then(function(n){return t.nextRelease=n},function(){t.nextRelease="Not Set"})}var t=this;t.imageNumber=Math.floor(Math.random()*4+1);t.nextRelease="";i()}n.controller("homeCtrl",["downloadService",t])}(angular.module("common"))