(function(){"use strict";angular.module("LightStreamApp");angular.module("LightStreamApp").controller("StartApplicationController",["$scope",function(n){n.startApplication=function(t){n.$emit("ls.emit.apply",{url:t})}}]);angular.module("LightStreamApp").controller("RateCalculator",["$scope","$window","ratesService","stateService","marketingService","loanAppSessionService",function(n,t,i,r,u,f){function a(n){var t=!1;return angular.forEach(l,function(i){n==i&&(t=!0)}),t}function v(){if(!(e.length>0)){var t=n.rates.LoanPurposes;angular.forEach(t,function(n){a(n.Value)&&e.push(n)})}}var o=this,c,s,h,l,e;o.isLoanPurposeBanner=!1;c=1;n.rateRequestQueue=[];n.rateResponseQueue=[];s=function(){var i=t.setInterval(function(){var u=n.rateRequestQueue[0],t=n.rateResponseQueue.find(function(n){return n.queueId===u}),r;t&&(clearInterval(i),t.errorProcessing?t.errorProcessing():t.postProcessing(t.data),r=n.rateResponseQueue.indexOf(t),n.rateResponseQueue.splice(r,1),n.rateRequestQueue.shift())},100)};h=function(){var t=c++;return n.rateRequestQueue.push(t),t};n.getState=function(){r.getState(n).then(function(t){n.LoanCalculator.ZipCode.$setValidity("notFound",t.IsValid);t.IsValid&&(n.State=t.State,n.FloridaDocStampTax=t.FloridaDocStampTax)})};n.$watchCollection("[ZipCode]",function(){n.ZipCode&&n.ZipCode.toString().length===5&&n.getState()});n.$watch("LoanAmount",function(){n.ZipCode&&n.ZipCode.toString().length===5&&n.State&&n.State==="Florida"&&n.getState()});n.$watchCollection("[PurposeOfLoan, LoanAmount, LoanTermMonths, PaymentMethod]",function(){var t=n;t.QueueId=h();s();i.getRates(t).then(function(t){n.rateResponseQueue.push({queueId:t.queueId,data:t,postProcessing:function(t){n.rates=t;n.$apply()}})})});n.$watch("PurposeOfLoan",function(n,t){n&&t!=n&&(o.isLoanPurposeBanner?u.toolusage({linkTrackVars:"eVar45,prop4,events",linkTrackEvents:"event4",prop4:"Lightstream Auto Dropdown",eVar45:"LScom|AllAuto|"+n}):u.toolusage({linkTrackVars:"eVar45,prop4,events",linkTrackEvents:"event4",prop4:"Lightstream Rate Calculator",eVar45:"LScom|RateTerms|CurrentRatesCalculator|"+n}))});n.setPurposeOfLoan=function(t){n.init(t)};l=["NotSelected","NewAutoPurchase","UsedAutoPurchase","PrivatePartyPurchase","LeaseBuyOut","AutoRefinancing","MotorcyclePurchase"];e=[];n.autoLoanPurposes=function(){if(e.length>0)return e};n.init=function(t,r,u,f,e){n.TypeOfCalculator=e;t&&t!==0&&t!=="0"||(t="NotSelected");n.PurposeOfLoan=t;n.Discount=r;n.IsSuntrustApplication=u||!1;n.CustomRateDisclosureContent=f;var o=n;o.QueueId=h();s();i.getRates(o).then(function(t){n.rateResponseQueue.push({queueId:t.queueId,data:t,postProcessing:function(t){n.rates=t;v();n.$apply()}})})};n.apply=function(){f.start(n.ZipCode,n.PurposeOfLoan,n.LoanAmount,n.LoanTermMonths,n.PaymentMethod,n.Discount,n.IsSuntrustApplication);u.button({linkTrackVars:"eVar45,events",linkTrackEvents:"event23",eVar45:"LScom|RatesTerms|CurrentRatesCalculator|ApplyButton",events:"event23"});n.$emit("ls.ratecalculator.start",n)};n.$on("ls.broadcast.apply",function(t,i){n.apply(i.url)});n.isLoanPurposeBanner=function(n){o.isLoanPurposeBanner=n};n.PurposeOfLoan="NotSelected"}]);angular.module("LightStreamApp").controller("WidgetController",["$rootScope","$log",function(n){n.$on("ls.ratecalculator.start",function(n,t){var u=$("#LoanCalculator").attr("action"),e=location.search.substring(1).split("&"),i,r,f;angular.forEach(e,function(n){var u=n.split("="),e=u[0],t=u[1];switch(e.toLowerCase()){case"fact":i=t;break;case"lcid":r=t;break;case"adobe_mc":f=t}});switch(t.PurposeOfLoan){case"HomeImprovement":i||(i=16026);r||(r="CS|HIL|home_improvement|L2|P|apply|"+i);break;case"NewAutoPurchase":i||(i=16011);r||(r="CS|AL|new_auto|L3|P|apply|"+i);break;case"UsedAutoPurchase":i||(i=16008);r||(r="CS|AL|used_auto|L3|P|apply|"+i);break;case"AutoRefinancing":i||(i=16014);r||(r="CS|AL|auto_refi|L3|P|apply|"+i);break;case"MotorcyclePurchase":i||(i=16027);r||(r="CS|RL|motorcycle|L2|apply|"+i)}u="/Apply";i&&(u+="?fact="+i);r&&(u+="&lcid="+r);f&&(u+="&adobe_mc="+f);$("#LoanCalculator").attr("action",u)})}])})()