angular.module("config",[]).constant("ENV",{Configuration:"NellaPRODApp01",theme:"Nella",backendURL:"https://nella.tampere.fi/mobiili/",instructionsURL:"https://nysse.fi/nella-ohje.html",termsURL:"https://nysse.fi/tietoa/ehdot-ja-rekisteriselosteet.html",employerURL:"https://nella.tampere.fi/nellapro",sessionTimeOut:1200,userNameRegex:"^([A-Za-z0-9öäåÅÄÖ@.\\-_+()]){6,60}$",passwordRegex:"^(?=.*[\\d`~! @#$%^&*\\()-+=<>,./?:\"'{[}]|])([A-Za-zöäåÅÄÖ\\d\\W]){6,24}$",emailRegex:"^^\\w+([-+.']\\w+)*([-\\w+])*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$",PhoneNoRegex:"\\+?[0-9]{1}[0-9\\-\\s]{3,}",cardNameRegex:"^[A-Za-zäöåü0-9 ]{0,20}$",cardNumberRegex:"^[0-9]{18,20}$",addressRegex:"^[\\w\\s\\-\\.\\\\öäåÅÄÖ]*$",postalCodeRegex:"^\\d{5}$",postalOfficeRegex:"^[\\w\\s\\-öäåÅÄÖ]*$",cardNameMinLength:3,cardNameMaxLength:20,cardNumberMinLength:18,cardNumberMaxLength:20,publicCaptchasitekey:"6LfETiQUAAAAAGuAQk3fSd2vGQ_7C7GJn2b3PqeV",uIDateFormat:"dd.MM.y HH:mm",uIDateFormatExcludeTime:"dd.MM.y",termsOfUseDoc:"TermsOfUse",privacyPolicyDoc:"PrivacyPolicy",registerInformationDoc:"RegisterInformation",rowsOnHistoryPageSelect:"10,20,30,40,50",showSsnTextBoxField:!1,HistoryPreSeletectedMonths:1,ReportPreSeletectedMonths:1,defaultCardName:"newcard",applicationKey:"E68741D9-51C3-4875-827A-6D20960B3B26",IsShopPageEnabled:!0,IsTslTicketsEnabled:!0,IsGiftUsageEnabled:!0,IsCampaignUsageEnabled:!0,EsuomiAuthenticationLogoutUrl:"Shibboleth.sso/Logout",IsEsuomiAuthenticationEnabled:!0,StrongAuthDataPath:"StrongAuthentication/GetUserStrongAuthData",SchoolSupportType:3,KelaSupportType:6,ssnRegex:"^[0-9]{6}[+-A][0-9]{3}[0-9a-zA-Z][\\s]*$",personSupportLimitMax:999.99,kilometersMax:200,schoolNumberRegex:"\\d+",rowsOnPersonsPageSelect:"50,150,200,250",defaultNoOfRowsPersons:"50",oldNellaProLogoutUrl:"https://nella.tampere.fi/nellapro/Logout.control",ZoneInfoLink:"https://www.nysse.fi/media/kuvat/kartat/vyohykkeet/2020_vyohykerajat_karttapohja_rgb.png",TermsLink:"https://www.nysse.fi/tietoa/ehdot-ja-rekisteriselosteet.html",TermsOfUseLink:"https://www.nysse.fi/nella-ohje/nella.fi-kayttoehdot.html"}),function(){"use strict";var n=angular.module("EtuileApp",["ui.router","ngAnimate","ngCookies","angular-loading-bar","currencyFilter","pascalprecht.translate","LocalStorageModule","ngIdle","config","AuthService","AuthInterceptorService","Login","Register","PasswordReset","Menu","Cards","Profile","Notifications","ShoppingCart","ui-notification","ui.bootstrap","ConfigurationService","StrongAuthentication","EAuthorization","StrongAuthService","CustomerService","GiftVoucher","ShoppingCartService","PurchaseService","ProductService","CampaignService","SSNService","ngSanitize","Employer","EmployerService","angularjs-crypto"]);n.config(["IdleProvider","TitleProvider","$httpProvider","$translateProvider","$translatePartialLoaderProvider","NotificationProvider","ENV","paginationTemplateProvider","localStorageServiceProvider",function(n,t,i,r,u,f,e,o){i.interceptors.push("authInterceptorService");i.defaults.headers.get||(i.defaults.headers.get={});i.defaults.headers.get["If-Modified-Since"]="Mon, 26 Jul 1997 05:00:00 GMT";i.defaults.headers.get["Cache-Control"]="no-cache";i.defaults.headers.get.Pragma="no-cache";t.enabled(!1);n.idle(e.sessionTimeOut);n.timeout(1);u.addPart("global");u.addPart("menu");r.useLoader("$translatePartialLoader",{urlTemplate:"App_Themes/"+e.theme+"/Translation/Views/{part}/{part}-{lang}.json",loadFailureHandler:"PartLoadingErrorHandler"});r.preferredLanguage("fi");r.use("fi");r.forceAsyncReload(!0);r.fallbackLanguage("en");r.useLocalStorage();r.useSanitizeValueStrategy();o.setPath("Templates/dirPagination.tpl.html");f.setOptions({delay:7e3,replaceMessage:!0,startTop:20,startRight:10,verticalSpacing:20,horizontalSpacing:20,positionX:"center",positionY:"top"})}]);n.run(["$rootScope","$location","authService","Idle","$translate","utilityService",function(n,t,i,r,u,f){n.$on("IdleTimeout",function(){i.logout();t.path("/login")});n.$on("$locationChangeStart",function(){var c=$.inArray(t.path(),["/login","/register","/activation","/forgotpassword","/resetpassword","/documents/PrivacyPolicy"])===-1,e=!1,o,u,s,h;n.currentState=t.path();n.authentication==undefined&&i.fillAuthData();n.authentication!=undefined&&(e=n.authentication);c&&!e&&t.path("/login");c&&e&&r.watch();o=f.getUserType();$.inArray(t.path(),["/login"])===0&&e&&(o?t.path("/employer/import"):t.path("/cards"));e&&(!o||t.path().indexOf("/employer")===0||t.path("/employer/import"),o||t.path().indexOf("/employer")!==0||t.path("/cards"));t.path()==="/cards"&&$("button.navbar-toggle.card").hasClass("collapsed")&&$("button.navbar-toggle.card").click();t.path()==="/cards"&&$("button.navbar-toggle.card").hasClass("collapsed")&&$("button.navbar-toggle.card").click();u=t.$$absUrl;u!==undefined&&u!==null&&u!==""&&(s=u.match(/[a-zA-Z]{1}#/),s!==undefined&&s!==null&&s.length>0&&(h=u.indexOf("#"),t.$$absUrl=u.substr(0,h)+"/"+u.substr(h,u.length-1)))});n.previousState;n.currentState;n.$on("$stateChangeSuccess",function(t,i,r,u){n.previousState=u.name;n.currentState=i.name});u.proposedLanguage()=="en"?($("#finnish").show(),$("#english").hide()):($("#finnish").hide(),$("#english").show())}]);n.filter("my_currency",["$filter","$translate",function(n,t){return function(n){if(n!==undefined&&n!=="")return n.toFixed(2).replace(".",",")+" "+t.instant("GEN_EUR")}}]);n.filter("paddedNumberFilter",function(){return function(n,t){var i=parseInt(n,10);if(t=parseInt(t,10),isNaN(i)||isNaN(t))return n;for(i=""+i;i.length<t;)i="0"+i;return i}});n.filter("capitalize",function(){function n(n){if(n!==null)return n.replace(/\w\S*/g,function(n){return n.charAt(0).toUpperCase()+n.substr(1).toLowerCase()})}return n});n.directive("jqdatepicker",function(){function t(n){return n?!0:!1}function n(n){return n>=new Date}return{restrict:"A",require:"ngModel",link:function(i,r,u,f){var e=function(n){i.$apply(function(){f.$setViewValue(n)})},o={dateFormat:"dd.mm.yy",onSelect:function(n){e(n)}};r.datepicker(o);i.$watch(u.ngModel,function(){var u,e,s;if(f.$valid=!0,u="",e="",i.cardLoadingRequest!=undefined?(u=i.cardLoadingRequest.StartDate,e=i.cardLoadingRequest.EndDate):i.cardsUsageRequest!=undefined?(u=i.cardsUsageRequest.StartDate,e=i.cardsUsageRequest.EndDate):i.shoppingHistoryRequest!=undefined?(u=i.shoppingHistoryRequest.StartDate,e=i.shoppingHistoryRequest.EndDate):i.purchaseReportForm!=undefined&&(u=i.purchaseReportModel.StartDate,e=i.purchaseReportModel.EndDate),s=t(u),f.$setValidity("required",s),s){var h=u.split("."),o=new Date(h[2],h[1]-1,h[0]),c=e.split("."),r=new Date(c[2],c[1]-1,c[0]);f.$$parentForm.startDate.$error.startDateLessThanEndDate!==undefined&&(f.$$parentForm.startDate.$error.startDateLessThanEndDate=!(o<=r),f.$$parentForm.$valid=!0);f.$$parentForm.endDate.$error.endDateGreaterThanStartDate!==undefined&&(f.$$parentForm.endDate.$error.endDateGreaterThanStartDate=!(r>=o),f.$$parentForm.$valid=!0);f.$name==="startDate"&&(f.$setValidity("startDateLessThanEndDate",o<=r),f.$setValidity("endDateLessThanFutureDate",!n(r)));f.$name==="endDate"&&(f.$setValidity("endDateLessThanFutureDate",!n(r)),f.$setValidity("endDateGreaterThanStartDate",r>=o));o<=r&&r<=new Date&&r>=o&&(f.$$parentForm.$valid=!0)}})}}});n.factory("PartLoadingErrorHandler",["$q",function(n){return function(){return n.when({})}}])}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h){n.currentDate=new Date;n.errorMessage="";n.successMessage="";n.infoMessage="";n.isFeedbackLinkEnabled=!1;n.logOut=function(){var c=u.getUserType(),n;c&&f.logoutFromOldNella();t.isCompanyUser=!1;n=o.get("isShibSessionCreated");f.logout();o.set("cartData",null);o.set("SsnAuthenticated",null);s.success(e.instant("LOGOUT_INFO"));h.IsEsuomiAuthenticationEnabled&&n?i.location.href=r.absUrl().replace(r.url(),"").replace(/\#$/,"").toLowerCase()+h.EsuomiAuthenticationLogoutUrl+"?return="+r.absUrl().replace(r.path(),"/login"):r.path("/login")};n.authentication=f.authentication;n.theme=h.theme;n.uIDateFormatExcludeTime=h.uIDateFormatExcludeTime;t.isCompanyUser=!1;n.oldNellaProLink=h.employerURL;var c=o.get("SsnAuthenticated");n.isSsnAuthenticated=c!==undefined&&c!==null?c:!1;t.$on("SuccessMessage",function(t,i){n.successMessage=i;t.stopPropagation()});t.$on("ErrorMessage",function(t,i){n.errorMessage=i;t.stopPropagation()});t.$on("InfoMessage",function(t,i){n.infoMessage=i;t.stopPropagation()});n.isprintPage=!1;t.$on("flag",function(t,i){n.isprintPage=i;t.stopPropagation()});t.$on("StrongAuthenticationChange",function(t,i){n.isSsnAuthenticated=i});t.$on("FeedbackLinkDetails",function(t,i){n.isFeedbackLinkEnabled=i.isFeedbackLinkEnabled;n.feedbackLinkUrl=i.feedbackLinkUrl});n.changeLanguage=function(n){n=="en"?($("#english").hide(),$("#finnish").show()):($("#english").show(),$("#finnish").hide());e.use(n);t.$emit("LanguageChanged",n);u.hideAllMessages()};n.showInstructions=function(){window.open(h.instructionsURL,"_blank")};n.navigateToFeedbackPage=function(){window.open(n.feedbackLinkUrl,"_blank")}}angular.module("EtuileApp").controller("indexController",n);n.$inject=["$scope","$rootScope","$window","$location","utilityService","authService","$translate","localStorageService","Notification","ENV"]}(),function(){"use strict";function n(n,t,i,r){n.ShowCardIcon=!0;n.totalShoppingCartPrice=0;var u=r.getAllCartItems();n.totalShoppingCartPrice=u!==null?u.CartSum:0;t.current!==undefined&&t.current.url==="/"&&t.go("cards");t.current!==undefined&&t.current.url==="/cards"&&(n.ShowCardIcon=!0);t.current!==undefined&&(t.current.url==="/profile"||t.current.url==="/cart"||t.current.url==="/customer"||t.current.url==="/notifications"||t.current.url==="/user")&&(n.ShowCardIcon=!1);i.$on("totalCartPrice",function(t,i){n.totalShoppingCartPrice=i;t.stopPropagation()})}angular.module("Menu",[]).controller("menuController",n);n.$inject=["$scope","$state","$rootScope","shoppingCartService"]}(),function(){"use strict";angular.module("Menu").config(["$stateProvider","$urlRouterProvider",function(n,t){t.otherwise("/");n.state("menu",{url:"/",cache:!1,views:{MenuBar:{templateUrl:"Home/Menu",controller:"menuController"}},redirectTo:"cards"})}])}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c,l,a){var y,p,v;e.addPart("login");o.refresh();n.TermsLink=a.TermsLink;n.loginData={userName:"",password:""};n.termsUrl=a.termsURL;n.termsOfUseUrl=a.TermsOfUseLink;n.promotionalMessage="";n.hasPromotionalMessage=!1;t.isCompanyUser=!1;t.isImportInProcess=!1;y=function(){h.set("cartData",null);h.set("SsnAuthenticated",!1);h.set("cartProducts",null);u.getProfile(o.use(),n.loginData.userName).then(function(n){var i=!1;n!==null&&n.status===200&&n.data!==null&&(n.data.IsCompanyUser?f.setUserType(!0):!n.data.IsCompanyUser&&n.data.SsnAuthenticated&&(f.setUserType(!1),i=n.data.SsnAuthenticated));h.set("SsnAuthenticated",i);t.$emit("StrongAuthenticationChange",i);s.location.reload()},function(){h.set("SsnAuthenticated",!1);t.$emit("StrongAuthenticationChange",!1);s.location.reload()});c.watch()};p=function(n){400==n.status?undefined!==n&&undefined!==n.error&&"account_not_verified"==n.error?l.error(o.instant("LOGIN_ERROR_ACTIVATION")):undefined!==n&&undefined!==n.error&&"account_locked"==n.error?l.error(o.instant("LOGIN_ERROR_LOCKED")):undefined!==n&&undefined!==n.error&&"account_disabled"==n.error?l.error(o.instant("LOGIN_ERROR_DISABLED")):undefined!==n&&undefined!==n.error&&"invalid_grant"==n.error?l.error(o.instant("LOGIN_ERROR_AUTHENTICATION")):undefined!==n&&undefined!==n.error&&"invalid_user"==n.error&&f.showInfoMessage(o.instant("LOGIN_EMPLOYER_USER",{EmployerURL:"<a href="+a.employerURL+">"+o.instant("LOGIN_EMPLOYER_LINK_TEXT")+"<\/a>"})):l.error(o.instant("LOGIN_GEN_ERROR"))};n.login=function(t){f.hideAllMessages();t&&r.login(n.loginData).then(y,p)};v=function(n){var t=i.absUrl().replace("#"+i.path(),"")+"/Documents/"+n;t=t+"?language="+o.use();s.open(t)};n.getTermsPDF=function(){v(a.termsOfUseDoc)};n.getPrivacyPDF=function(){v(a.privacyPolicyDoc)};n.getRegisterInfoPDF=function(){v(a.registerInformationDoc)};u.getPromotionalMessageAndFeedbackLinkDetails().then(function(i){if(i&&i.data&&i.status===200&&(i.data.IsPromotionalMessageEnabled&&(n.hasPromotionalMessage=!0,n.promoMessageCss="",n.promotionalMessage=i.data.PromoMessage,n.promoMessageType=i.data.MessageType),i.data.IsFeedbackLinkEnabled)){var r={feedbackLinkUrl:i.data.FeedbackLinkUrl,isFeedbackLinkEnabled:i.data.IsFeedbackLinkEnabled};t.$emit("FeedbackLinkDetails",r)}},function(){n.hasPromotionalMessage=!1})}angular.module("Login",["ui.router","ngIdle","AuthService","UserManagerService"]).controller("loginController",n);n.$inject=["$scope","$rootScope","$location","authService","userManagerService","utilityService","$translatePartialLoader","$translate","$window","localStorageService","Idle","Notification","ENV","cookieService"]}(),function(){"use strict";angular.module("Login").config(["$stateProvider",function(n){n.state("login",{url:"/login",cache:!1,views:{content:{templateUrl:"Home/Login",controller:"loginController"}}})}])}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s){var h,c,l;f.addPart("Register");e.refresh();n.registerData={userName:"",password:"",confirmPassword:"",email:"",recaptchaResponseId:"",AgreesToReceiveInfo:"",IsMobileUser:!1,RequestUrl:""};n.userNameRegex=o.userNameRegex;n.passwordRegex=o.passwordRegex;n.emailRegex=o.emailRegex;n.siteKey=o.publicCaptchasitekey;n.resolveCaptcha=!1;n.isTermsConditionChecked=!1;n.ShowHide=function(){n.isTermsConditionChecked=n.ShowTermsCondition};n.language=e.use();h=t.$on("LanguageChanged",function(n,t){u.setCaptchaLanguage(t)});n.$on("$destroy",function(){h()});c=function(n){grecaptcha.reset();u.setCaptchaLanguage(e.use());$("#captchaErrorMsg").show();n.status==201&&s.success(e.instant("USER_CREATED_SUCCESS"));i.path("/login")};l=function(n){grecaptcha.reset();u.setCaptchaLanguage(e.use());$("#captchaErrorMsg").show();n.status==409?s.error(e.instant("DUPLICATE_USER")):s.error(e.instant("REGISTRATION_FAILED"))};n.cancelRegister=function(){i.path("/login")};n.registerUser=function(t){if(grecaptcha.getResponse().trim())n.resolveCaptcha=!0;else return n.resolveCaptcha=!1,!1;t&&(n.registerData.recaptchaResponseId=grecaptcha.getResponse(),n.registerData.RequestUrl=i.absUrl().replace(i.path(),""),r.registerUser(e.use(),n.registerData).then(c,l))};n.showTerms=function(){window.open(o.TermsLink,"_blank")};n.showTermsOfUse=function(){window.open(o.TermsOfUseLink,"_blank")}}angular.module("Register",["ui.router","UserManagerService","UtilityService","validation.match"]).controller("registerController",n);n.$inject=["$scope","$rootScope","$location","userManagerService","utilityService","$translatePartialLoader","$translate","ENV","Notification"]}(),function(){"use strict";function n(n,t,i,r,u,f){n.activationData={encryptId:t.id,lang:t.lng};var e=function(){f.success(u.instant("USER_ACTIVATION_SUCCESS"));n.activationData={encryptId:"",lang:""};i.path("/login")},o=function(t){n.activationData={encryptId:"",lang:""};t.status==409?f.error(u.instant("USER_ALREADY_ACTIVATED_MESSAGE")):f.error(u.instant("USER_ACTIVATION_FAILED"));i.path("/login")};r.activateUser(n.activationData).then(e,o)}angular.module("Register").controller("activateController",n);n.$inject=["$scope","$stateParams","$location","userManagerService","$translate","Notification"]}(),function(){"use strict";angular.module("Register").config(["$stateProvider",function(n){n.state("register",{url:"/register",cache:!1,views:{content:{templateUrl:"Account/Register",controller:"registerController"}}}).state("activation",{url:"/activation?id&lng",cache:!1,views:{content:{controller:"activateController"}}})}])}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c,l,a){var v,y,p,w;f.addPart("cards");e.refresh();n.uIDateFormat=s.uIDateFormat;n.uIDateFormatExcludeTime=s.uIDateFormatExcludeTime;i.currentState=t.path();n.cards={};n.data={};n.disable={};n.disable.CardNo="";n.disable.CardName="";n.isShopPageEnabled=s.IsShopPageEnabled;n.isTslTicketsEnabled=s.IsTslTicketsEnabled;n.isGiftUsageEnabled=s.IsGiftUsageEnabled;u.hideAllMessages();n.showLearnMoreUrl=function(){window.open("https://www.nysse.fi/en/tickets-and-fares/travel-card.html","_blank")};v=function(t){var u,f,r;if(n.cards.length>0?(u=n.cards[0],n.cards=t.data,n.cards.push(u),f=n.cards.filter(function(n,t,i){return i.Number!=n.Number}),n.cards=f):t!==undefined&&t.data!==undefined&&t.data!==null&&(n.cards=t.data),i.removedCardNumber!==undefined&&i.removedCardNumber!==null){for(r=0;r<n.cards.length;r++)if(n.cards[r].Number==i.removedCardNumber){n.cards.splice(r,1);break}i.removedCardNumber=undefined}i.Cards=n.cards};y=function(){n.error=e.instant("ERROR_MESSAGES.DATA_LOAD_FAILURE")};n.reloadCards=function(){n.cards=[];r.getCards(e.use()).then(v,y)};n.reloadCards();n.hideMenu=function(){$("button.navbar-toggle.card").click()};n.removeDisableCardDialog=function(t,i){n.disable.CardNo=t;n.disable.CardName=i;n.confirmModelpopupInstance=l.open({templateUrl:"removeDisableCard.html",scope:n});n.hideDisableCardDailog=function(){n.confirmModelpopupInstance.dismiss("cancel")}};p=function(){c.success(e.instant("CARD_REMOVE_SUCCESS"));for(var t=0;t<n.cards.length;t++)if(n.cards[t].Number===n.disable.CardNo){n.cards.splice(t,1);break}n.disable.CardNo=undefined;n.disable.CardName=undefined};w=function(n){var t=e.instant("CARD_REMOVE_ERROR");(n!==undefined||n!=="")&&(t=n.statusText);c.error(t)};n.removeDisableCard=function(){u.hideAllMessages();n.confirmModelpopupInstance.dismiss("cancel");r.removeCard(n.disable.CardNo,n.disable.CardName,e.use()).then(p,w)};a.getPromotionalMessageAndFeedbackLinkDetails().then(function(n){if(n&&n.data&&n.status===200&&n.data.IsFeedbackLinkEnabled){var t={feedbackLinkUrl:n.data.FeedbackLinkUrl,isFeedbackLinkEnabled:n.data.IsFeedbackLinkEnabled};i.$emit("FeedbackLinkDetails",t)}})}angular.module("Cards",["ui.router","CardService","angularUtils.directives.dirPagination","UtilityService","validation.match","ui.bootstrap"]).controller("cardsController",n);n.$inject=["$scope","$location","$rootScope","cardService","utilityService","$translatePartialLoader","$translate","localStorageService","ENV","$state","Notification","$uibModal","userManagerService"]}(),function(){"use strict";function n(n,t,i,r,u){if(u.isStrongAuthCard=!0,u.cards&&u.cards.length>0)for(var f in u.cards)if(u.cards[f].Number===i.cardnumber){u.isStrongAuthCard=u.cards[f].IsCardUserSsnVerified;break}}angular.module("Cards").controller("cardDetailsController",n);n.$inject=["$location","$state","$stateParams","$rootScope","$scope"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p){var d,g,nt,tt,k,rt,ut,ft,et,b,ot,yt,ht;f.addPart("cardInfo");e.refresh();n.zoneInfoLink=h.ZoneInfoLink;n.model={selectedperiodProductName:"",cardName:"",minimumBuyValue:"",maximumBuyValue:"",buyAmount:"",previousValidPrice:"",periodZonePrice:"",readOnlycardName:"",isValueProductOnCard:!1,isPeriodProductOnCard:!1,isValueProductWaiting:!1,isPeriodProductWaiting:!1,isCardDetailAvailable:!1,isCardNameEditable:!1,isValueProductAvailable:!1,isPeriodProductAvailable:!1,applyFlipEffect:!1,availableBuyValue:0,availableBuyValueRounded:0};n.isShopPageEnabled=h.IsShopPageEnabled;n.isTslTicketsEnabled=h.IsTslTicketsEnabled;n.isGiftUsageEnabled=h.IsGiftUsageEnabled;n.isCampaignCodeApplied=y.get("campaignCodeDetails")?!0:!1;n.readOnlycardName="";n.cardNameRegex=h.cardNameRegex;n.editCardName=function(t){n.model.isCardNameEditable=t;t||(n.model.cardName=n.model.readOnlycardName)};n.allowedInput=/^[0123456789.]+$/m;o.hideAllMessages();r.currentState=t.path();n.uIDateFormat=h.uIDateFormat;n.uIDateFormatExcludeTime=h.uIDateFormatExcludeTime;n.ConfirmForbidCard=function(){n.cardDetails.IsForbiddenToBeAddedBySomeone?n.forbidPopupInstance=a.open({templateUrl:"forbidCardConfirmModal.html",scope:n}):n.updateForbiddenStatus()};n.hideForbidCardDailog=function(){n.cardDetails.IsForbiddenToBeAddedBySomeone=!n.cardDetails.IsForbiddenToBeAddedBySomeone;n.forbidPopupInstance.dismiss("cancel")};n.updateForbiddenStatus=function(){n.forbidPopupInstance!==undefined&&n.forbidPopupInstance.dismiss("cancel");u.updateCardForbiddenStatus(n.cardDetails.Number,n.cardDetails.IsForbiddenToBeAddedBySomeone,e.use()).then(d,g)};d=function(){n.cardDetails.IsForbiddenToBeAddedBySomeone?s.success(e.instant("FORBID_CARD_UPDATE_SUCCESS")):s.success(e.instant("PERMIT_CARD_UPDATE_SUCCESS"))};g=function(){n.cardDetails.IsForbiddenToBeAddedBySomeone?s.success(e.instant("FORBID_CARD_UPDATE_ERROR")):s.success(e.instant("PERMIT_CARD_UPDATE_ERROR"))};n.updateCardName=function(){o.hideAllMessages();var t=!0;angular.forEach(n.cards,function(i){i.Number!=n.cardDetails.Number&&i.Name===n.model.cardName&&(t=!1)});t?(n.model.cardName=n.model.cardName!==""?n.model.cardName:n.cardDetails.Number,u.updateCardName(n.cardDetails.Number,n.model.cardName,e.use()).then(nt,tt)):s.error(e.instant("CARD_NAME_UPDATE_DUPLICATE_ERROR"))};nt=function(){n.cardDetails.Name=n.model.cardName;n.model.readOnlycardName=n.model.cardName;n.model.isCardNameEditable=!1;var t={};t.cardName=n.cardDetails.Name;t.cardNumber=n.cardDetails.Number;angular.forEach(n.cards,function(n){n.Number===t.cardNumber&&(n.Name=t.cardName)});s.success(e.instant("CARD_NAME_UPDATE_SUCCESS"))};tt=function(){s.error(e.instant("CARD_NAME_UPDATE_ERROR"))};n.ConfirmRemoveCard=function(){n.removeCardPopupInstance=a.open({templateUrl:"remCardModal.html",scope:n});n.hideRemoveCardDailog=function(){n.removeCardPopupInstance.dismiss("cancel")}};n.removeCard=function(t){o.hideAllMessages();t&&(n.removeCardPopupInstance!==undefined&&n.removeCardPopupInstance.dismiss("cancel"),u.removeCard(n.cardDetails.Number,n.cardDetails.Name,e.use()).then(ct,lt))};var ct=function(){var t={},f,u,a;if(l.getAllCartItems()&&(f=l.getAllCartItems().ProductDetails,f.length>0)){var o=v("filter")(f,{ProductType:"Value"}),h=v("filter")(f,{ProductType:"Period"}),c=v("filter")(f,{ProductType:"TSL"});if(o.length>0)for(u in o)o[u].ValueTicket.CardNumber===i.params.cardnumber&&(t.Ticket=o[u].ValueTicket,t.ProductType=o[u].ProductType,l.removeProductFromCart(t),t={});if(h.length>0)for(u in h)h[u].PeriodTicket.CardNumber===i.params.cardnumber&&(t.Ticket=h[u].PeriodTicket,t.ProductType=h[u].ProductType,l.removeProductFromCart(t),t={});if(c.length>0)for(u in c)c[u].TslTicket.CardNumber===i.params.cardnumber&&(t.Ticket=c[u].TslTicket,t.ProductType=c[u].ProductType,l.removeProductFromCart(t),t={})}if(s.success(e.instant("CARD_REMOVE_SUCCESS")),n.cards.length>0){for(a=0;a<n.cards.length;a++)if(n.cards[a].Number===i.params.cardnumber){n.cards.splice(a,1);break}}else r.removedCardNumber=i.params.cardnumber;l.getAllCartItems()?r.$emit("totalCartPrice",l.getCartTotalPrice(l.getAllCartItems().ProductDetails)):r.$emit("totalCartPrice",0);i.params.cardnumber=undefined;i.go("cards")},lt=function(n){var t=e.instant("CARD_REMOVE_ERROR");(n!==undefined||n!=="")&&(t=n);s.error(t)},it=function(t){n.model.isCardDetailAvailable=!0;n.cardDetails=t;n.model.cardName=n.cardDetails.Name;n.model.readOnlycardName=n.cardDetails.Name;n.defaultValueFromZone=null;n.defaultValueToZone=null;n.defaultPeriodFromZone=null;n.defaultPeriodToZone=null;n.periodProductsName=[];n.cardDetails!==undefined&&n.cardDetails.Tickets!=null&&(n.zoneCode=n.cardDetails.DefaultZoneId,n.zoneName=n.cardDetails.DefaultZone,angular.forEach(n.cardDetails.Tickets,function(t){t.Type=="Value"?(n.model.isValueProductOnCard=!0,n.model.minimumBuyValue=t.MinimumValueThanCanBeBought+"",n.model.maximumBuyValue=t.MaximumValueThanCanBeBought+"",n.model.availableBuyValue=t.AvailableToBeBought,n.model.availableBuyValueRounded=window.Math.floor(n.model.availableBuyValue)):t.Type=="Period"&&t.StartDate!==null&&t.ExpiryDate!==null&&(n.model.isPeriodProductOnCard=!0)}),n.availableProducts=n.cardDetails.AvailableTicketsForBuying,angular.forEach(n.cardDetails.AvailableTicketsForBuying,function(t){var r,i;if(t.Type=="Value"){if(n.model.isValueProductAvailable=!0,t.Product!==undefined&&t.Product!=null&&(n.valueProductName=t.Product.Name,n.valueProductCode=t.Product.Code,n.valueVatPercent=t.Product.VatPercent),r=t.ValidityAreas,n.zones=r,undefined!==r&&null!==r){for(n.valueZones=[],n.zonesToggle=[],n.selectedZones=[],i=0;i<r.length;i++)-1==n.valueZones.indexOf(r[i].FromZone.Code)&&(n.valueZones.push(r[i].FromZone.Code),n.zonesToggle.push(!1)),-1==n.valueZones.indexOf(r[i].ToZone.Code)&&(n.valueZones.push(r[i].ToZone.Code),n.zonesToggle.push(!1)),r[i].Code==n.cardDetails.DefaultZoneId&&(n.defaultValueFromZone=r[i].FromZone.Code,n.defaultValueToZone=r[i].ToZone.Code,n.preconditionsOk=!0);if(n.valueZones.sort(),n.showZones=!0,n.defaultValueFromZone!=null&&n.defaultValueToZone!=null){for(i=n.defaultValueFromZone-1;i<n.defaultValueToZone;i++)n.zonesToggle[i]=!0;n.preconditionsOk=!0}}}else t.Type=="Period"&&(n.model.isPeriodProductAvailable=!0,t.Product!==undefined&&t.Product!=null&&n.periodProductsName.push(t.Product.Name))}),n.model.isPeriodProductAvailable&&(n.model.selectedperiodProductName=n.periodProductsName[0],n.ValidityAreasForProduct(n.periodProductsName[0])));n.cardDetails!==undefined&&n.cardDetails.ActionList!=null&&angular.forEach(n.cardDetails.ActionList,function(t){t.Type=="Value"?n.model.isValueProductWaiting=!0:t.Type=="Period"&&(n.model.isPeriodProductWaiting=!0)})};n.ValidityAreasForProduct=function(t){var u,o,r,f,i,e;for(n.model.periodZonePrice=0,n.preconditionsOk=!1,n.zonesToggle=[],r=0;r<n.availableProducts.length;r++)if(n.availableProducts[r].Product.Name===t&&(u=n.availableProducts[r].ValidityAreas,n.productCode=n.availableProducts[r].Product.Code,n.periodVatPercent=n.availableProducts[r].Product.VatPercent,n.zones=u,undefined!==u&&null!==u)){for(n.periodZones=[],i=0;i<u.length;i++)-1==n.periodZones.indexOf(u[i].FromZone.Code)&&(n.periodZones.push(u[i].FromZone.Code),n.zonesToggle.push(!1)),-1==n.periodZones.indexOf(u[i].ToZone.Code)&&(n.periodZones.push(u[i].ToZone.Code),n.zonesToggle.push(!1)),u[i].Code==n.cardDetails.DefaultZoneId&&(n.defaultPeriodFromZone=u[i].FromZone.Code,n.defaultPeriodToZone=u[i].ToZone.Code,n.preconditionsOk=!0);n.periodZones.sort()}if(n.defaultPeriodFromZone!=null&&n.defaultPeriodToZone!=null&&parseFloat(n.defaultPeriodToZone)<=n.periodZones.length)for(o=!1,r=0;r<n.availableProducts.length;r++){if(n.availableProducts[r].Product.Name===t)for(f=n.availableProducts[r].ValidityAreas,n.productCode=n.availableProducts[r].Product.Code,n.periodVatPercent=n.availableProducts[r].Product.VatPercent,i=0;i<f.length;i++)if(f[i].FromZone.Code==n.defaultPeriodFromZone&&f[i].ToZone.Code==n.defaultPeriodToZone){n.zoneCode=f[i].Code;n.zoneName=f[i].Name;n.model.periodZonePrice=parseFloat(f[i].Price);o=!0;break}if(o){for(e=n.defaultPeriodFromZone-1;e<n.defaultPeriodToZone;e++)n.zonesToggle[e]=!0;n.preconditionsOk=!0;break}}};k=function(){n.model.isCardDetailAvailable=!1;n.error=e.instant("CARD_INFO_NOT_FOUND")};n.valueAmountRequired=!1;n.preconditionsOk=!1;n.zones=[];n.CanBuyValueProduct=function(){var t,i;if(n.model.buyAmount==undefined||n.model.buyAmount.trim()==""){n.valueAmountRequired=!0;return}at(n.model.minimumBuyValue,n.model.availableBuyValue)&&(t=n.model.buyAmount.replace(",","."),t>=0&&(i=0,n.cardDetails.ActionList!==undefined&&n.cardDetails.ActionList!=null&&angular.forEach(n.cardDetails.ActionList,function(n){n.TicketType=="Value"&&(i=i+n.Balance)}),n.buyPeriodRequest=undefined,n.buyValueRequest={CardNumber:n.cardDetails.Number,CardName:n.cardDetails.Name,ProductCode:n.valueProductCode,ProductTitle:n.valueProductName,ProductPrice:parseFloat(t),ZoneId:n.zoneCode,ZoneLabel:n.zoneName,ProductType:"Value",IsCampaignUsageValid:"",Vat:n.valueVatPercent},c.isAbleToBuyValueProduct(n.buyValueRequest,e.use()).then(rt,ft)))};rt=function(t){var i,r;t.status===200&&(i=l.getExistingProduct(n.buyValueRequest),n.shoppingBasketItemTitle=n.buyValueRequest.ProductTitle+" ("+n.buyValueRequest.ZoneLabel+")",n.shoppingBasketProductPrice=n.buyValueRequest.ProductPrice,i!==null&&i!=undefined?ut(i,n.buyValueRequest)?(n.replaceProductMessage=e.instant("REPLACE_SAME_PRODUCT_CONFIRMATION"),n.isCampaignUsageValid=!0,b(n.buyValueRequest.ProductType)):(r="",r=e.instant("REPLACE_PRODUCT_CONFIRMATION").replace("[:value:]",i.ProductType==="TSL"?i.TslPrice:i.ProductPrice),i.ZoneLabel!==undefined&&i.ZoneLabel!==null&&(r=r.replace("[:zone:]","("+i.ZoneLabel+")")),n.replaceProductMessage=r,p.isCampaignUsageValid(n.buyValueRequest,i,e.use()).then(function(){n.isCampaignUsageValid=!0},function(){n.isCampaignUsageValid=!1}).finally(function(){b(n.buyValueRequest.ProductType)})):p.isCampaignUsageValid(n.buyValueRequest,!1,e.use()).then(function(){n.isCampaignUsageValid=!0;n.addValueProductToCart(n.isCampaignUsageValid)},function(){n.isCampaignUsageValid=!1;st()}))};ut=function(n,t){return n.ProductType==="Value"&&n.CardNumber===t.CardNumber&&n.ProductPrice===t.ProductPrice&&n.ZoneId===t.ZoneId};n.addValueProductToCart=function(t){n.showFlippedShoppingCart();n.buyValueRequest.IsCampaignUsageValid=t;l.addValueProductToCart(n.buyValueRequest);n.replaceValueProductPopupInstance!=undefined&&n.replaceValueProductPopupInstance.dismiss("cancel")};ft=function(n){n.status===403&&n.data!=null&&n.data.Message!=null&&s.error(n.data.Message)};n.buyValueRequest=undefined;n.CanBuyPeriodProduct=function(){n.buyPeriodRequest={CardNumber:n.cardDetails.Number,ProductCode:n.productCode,ProductPrice:n.model.periodZonePrice,ZoneId:parseInt(n.zoneCode),ZoneLabel:n.zoneName,ProductTitle:n.model.selectedperiodProductName,CardName:n.cardDetails.Name,ProductType:"Period",IsCampaignUsageValid:"",Vat:n.periodVatPercent};c.isAbleToBuyPeriodProduct(n.buyPeriodRequest,e.use()).then(et,ot)};et=function(t){var i,r;t.status===200&&(i=l.getExistingProduct(n.buyPeriodRequest),n.shoppingBasketItemTitle=n.buyPeriodRequest.ProductTitle+" ("+n.buyPeriodRequest.ZoneLabel+")",n.shoppingBasketProductPrice=n.buyPeriodRequest.ProductPrice,i!==null?(r="",i.ProductCode!==n.buyPeriodRequest.ProductCode||i.ProductCode===n.buyPeriodRequest.ProductCode&&i.ProductType!==n.buyPeriodRequest.ProductType?(r=e.instant("REPLACE_PERIOD_PRODUCT_CONFIRMATION").replace("[:productName:]",i.ProductTitle),i.ZoneLabel!==undefined&&i.ZoneLabel!==null&&(r=r.replace("[:zone:]","("+i.ZoneLabel+")")),n.replaceProductMessage=r,p.isCampaignUsageValid(n.buyPeriodRequest,i,e.use()).then(function(){n.isCampaignUsageValid=!0},function(){n.isCampaignUsageValid=!1}).finally(function(){b(n.buyPeriodRequest.ProductType)})):(r=e.instant("REPLACE_SAME_PRODUCT_CONFIRMATION"),n.replaceProductMessage=r,p.isCampaignUsageValid(n.buyPeriodRequest,i,e.use()).then(function(){n.isCampaignUsageValid=!0},function(){n.isCampaignUsageValid=!1}).finally(function(){b(n.buyPeriodRequest.ProductType)}))):p.isCampaignUsageValid(n.buyPeriodRequest,!1,e.use()).then(function(){n.isCampaignUsageValid=!0;n.addPeriodProductToCart(n.isCampaignUsageValid)},function(){n.isCampaignUsageValid=!1;st()}))};b=function(t){t==="Value"?(n.replaceValueProductPopupInstance=a.open({templateUrl:"replaceValueProductModal.html",scope:n}),n.hideProductReplaceDailog=function(){n.replaceValueProductPopupInstance.dismiss("cancel")}):t==="Period"&&(n.replacePeriodProductPopupInstance=a.open({templateUrl:"replacePeriodProductModal.html",scope:n}),n.hidePeriodProductReplaceDailog=function(){n.replacePeriodProductPopupInstance.dismiss("cancel")})};n.addPeriodProductToCart=function(t){n.showFlippedShoppingCart();n.buyPeriodRequest.IsCampaignUsageValid=t;l.addPeriodProductToCart(n.buyPeriodRequest);n.replacePeriodProductPopupInstance!==undefined&&n.replacePeriodProductPopupInstance.dismiss("cancel")};ot=function(n){n.status===403&&n.data!=null&&n.data.Message!=null&&s.error(n.data.Message)};n.addProductToCart=function(){l.removeCampaignCodeUsage().then(function(){n.buyPeriodRequest!==undefined?n.addPeriodProductToCart():n.buyValueRequest!==undefined&&n.addValueProductToCart()});n.campaignCodeRemovalModalPopupInstance.dismiss("cancel")};n.setDefaultValueZone=function(){for(var t=0;t<n.zonesToggle.length;t++)n.zonesToggle[t]=!1;if(n.preconditionsOk=!1,n.model.periodZonePrice=0,n.defaultValueFromZone!=null&&n.defaultValueToZone!=null){for(t=n.defaultValueFromZone-1;t<n.defaultValueToZone;t++)n.zonesToggle[t]=!0;n.preconditionsOk=!0}};n.setDefaultPeriodZone=function(t){for(var f,u,r,i=0;i<n.zonesToggle.length;i++)n.zonesToggle[i]=!1;if(n.defaultPeriodFromZone!=null&&n.defaultPeriodToZone!=null&&parseFloat(n.defaultPeriodToZone)<=n.periodZones.length){for(i=n.defaultPeriodFromZone-1;i<n.defaultPeriodToZone;i++)n.zonesToggle[i]=!0;for(n.preconditionsOk=!0,f=!1,u=0;u<n.availableProducts.length;u++){if(n.availableProducts[u].Product.Name===t)for(r=n.availableProducts[u].ValidityAreas,n.productCode=n.availableProducts[u].Product.Code,i=0;i<r.length;i++)if(r[i].FromZone.Code==n.defaultPeriodFromZone&&r[i].ToZone.Code==n.defaultPeriodToZone){n.zoneCode=r[i].Code;n.zoneName=r[i].Name;n.model.periodZonePrice=parseFloat(r[i].Price);f=!0;break}if(f)break}}else n.model.periodZonePrice=0,n.preconditionsOk=!1};n.periodZoneClicked=function(t){n.zoneClicked(t,"period")};n.zoneClicked=function(t,i){var r;n.minZonesSelected=!1;n.zonesToggle[t]=!n.zonesToggle[t];for(var r=0,u=[],r=0;r<n.zonesToggle.length;r++)n.zonesToggle[r]==!0&&u.push(r);if(u.length>1)for(r=u[0];r<=u[u.length-1];r++)n.zonesToggle[r]=!0;n.preconditionsOk=vt(i);n.preconditionsOk||(n.model.periodZonePrice=0)};n.setBuyAmount=function(t){n.model.buyAmount=t;n.valueAmountRequired=n.model.buyAmount==undefined||n.model.buyAmount==""?!0:!1};n.formatPrice=function(t){for(var u=[37,39,38,40,36,35],i,f,r=0;r<u.length;r++)if(t.which==u[r])return!0;return n.model.buyAmount==undefined||n.model.buyAmount==""?(n.valueAmountRequired=!0,!0):(n.valueAmountRequired=!1,i=n.model.buyAmount.replace(",","."),f=!/^[1-9]\d*\.?\d{0,2}$/.test(i)&&!/^0\.?\d{0,2}$/.test(i),f)?(n.model.buyAmount=n.model.previousValidPrice.replace(".",","),!1):(n.model.previousValidPrice=i,n.model.buyAmount=i.replace(".",","),!0)};n.showFlippedShoppingCart=function(){n.model.applyFlipEffect=!0};n.CancelBuyProduct=function(){n.model.applyFlipEffect=!1};var st=function(){n.campaignCodeRemovalModalPopupInstance=a.open({templateUrl:"campaignCodeRemovalModal.html",scope:n});n.hideCampaignCodeRemovalDailog=function(){n.campaignCodeRemovalModalPopupInstance.dismiss("cancel")}},at=function(t,i){var r=n.model.buyAmount.replace(",","."),u=parseFloat(r)>i,f=parseFloat(r)<t;return f||u?(n.model.buyAmount=n.model.previousValidPrice.replace(".",","),s.error(e.instant("LOADED_VALUE_MIN_MAX",{MinValue:t,MaxValue:i})),!1):(n.model.previousValidPrice=r,!0)},vt=function(t){var u,f,r;if(n.zoneCode=null,u=n.zones,undefined===u||null===u)return!0;var s=!1,e=null,o=null,i=n.zonesToggle.indexOf(!0);if(t==="period"){for(-1!=i&&(e=n.periodZones[i],o=e),r=n.zonesToggle.length-1;r>0;r--)if(n.zonesToggle[r]){o=n.periodZones[r];break}for(r=0;r<n.availableProducts.length;r++){if(n.availableProducts[r].Product.Name===n.model.selectedperiodProductName)for(f=n.availableProducts[r].ValidityAreas,n.productCode=n.availableProducts[r].Product.Code,n.periodVatPercent=n.availableProducts[r].Product.VatPercent,i=0;i<f.length;i++)if(f[i].FromZone.Code==e&&f[i].ToZone.Code==o){n.zoneCode=f[i].Code;n.zoneName=f[i].Name;n.model.periodZonePrice=parseFloat(f[i].Price);s=!0;break}if(s)break}}else{for(-1!=i&&(e=n.valueZones[i],o=e),r=n.zonesToggle.length-1;r>0;r--)if(n.zonesToggle[r]){o=n.valueZones[r];break}for(i=0;i<u.length;i++)if(u[i].FromZone.Code==e&&u[i].ToZone.Code==o){n.zoneCode=u[i].Code;n.zoneName=u[i].Name;s=!0;break}}return s},w=i.params;w!==undefined&&w.cardnumber!==undefined&&w.cardnumber!=""&&u.getCardDetails(w.cardnumber,e.use()).then(it,k);yt=e.use();ht=r.$on("LanguageChanged",function(n,t){w!==undefined&&w.cardnumber!==undefined&&w.cardnumber!=""&&u.getCardDetails(w.cardnumber,t).then(it,k);n.stopPropagation()});n.$on("$destroy",function(){ht()})}angular.module("Cards").controller("cardInfoController",n);n.$inject=["$scope","$location","$state","$rootScope","cardService","$translatePartialLoader","$translate","utilityService","Notification","ENV","productService","shoppingCartService","$uibModal","$filter","localStorageService","campaignService"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c,l,a){var v,y,p,w;e.addPart("History");o.refresh();t.isHistoryAvailable=!1;t.uIDateFormat=s.uIDateFormat;t.uIDateFormatExcludeTime=s.uIDateFormatExcludeTime;t.rowsOnPageSelect=s.rowsOnHistoryPageSelect.split(",");t.currentDateTime=new Date;v=new Date;v.setMonth((new Date).getMonth()-s.HistoryPreSeletectedMonths);t.cardsUsageRequest={CardNumber:r.cardnumber,StartDate:i("date")(v,s.uIDateFormatExcludeTime),EndDate:i("date")(new Date,s.uIDateFormatExcludeTime),From:0,Count:0,usageHistoryPerPage:"0"};t.cardsUsageResponse={error:"",information:"",totalUsageHistoryCount:0,cardHistory:""};y=function(i){n.path().match("/printcardusagehistory")||h.set("cardUsageRequest",null);t.cardsUsageResponse.error="";t.cardsUsageResponse.information="";t.isHistoryAvailable=!0;t.cardsUsageResponse.cardHistory=i.data.cardUsageHistory;t.cardsUsageResponse.totalUsageHistoryCount=i.data.TotalUsageCount;t.cardsUsageRequest.usageHistoryPerPage=i.data.Profile_RowsOnPage.toString();n.path().match("/printcardusagehistory")||h.set("cardUsageRequest",t.cardsUsageRequest);n.path().match("/printcardusagehistory")&&l(function(){angular.element("#loading-bar-spinner").addClass("visible-xs");c.print()})};p=function(n){t.isHistoryAvailable=!1;t.cardsUsageResponse.error="";t.cardsUsageResponse.information="";h.set("currentusagehistorypage",0);n.status===404?t.cardsUsageResponse.information=o.instant("HISTORY_NOT_AVAILABLE"):n.status===400&&(n.data.Messages[0].Parameter==="invalidDateRange"?t.cardsUsageResponse.error=n.data.Messages[0].Message:n.data.Messages[0].Parameter==="StartDate"?t.cardsUsageResponse.error=n.data.Messages[0].Message:n.data.Messages[0].Parameter==="UserNotStrongAuthenticated"?t.cardsUsageResponse.information=n.data.Messages[0].Message:t.cardsUsageResponse.informations=o.instant("HISTORY_NOT_AVAILABLE"))};t.getCardUsageHistory=function(i,u){if(i){if(t.cardsUsageResponse.error="",t.cardsUsageResponse.information="",(r.cardnumber===undefined||isNaN(parseInt(r.cardnumber)))&&!n.path().match("/printcardusagehistory"))return t.cardsUsageResponse.information=o.instant("HISTORY_NOT_AVAILABLE"),!1;u==undefined&&(u=h.get("currentusagehistorypage"));n.path().match("/printcardusagehistory")?(t.cardsUsageRequest.CardNumber=h.get("cardUsageRequest").CardNumber,t.cardsUsageRequest.From=h.get("cardUsageRequest").From,t.cardsUsageRequest.Count=h.get("cardUsageRequest").Count,t.cardsUsageRequest.StartDate=h.get("cardUsageRequest").StartDate,t.cardsUsageRequest.EndDate=h.get("cardUsageRequest").EndDate):(t.cardsUsageRequest.From=u==0?0:t.cardsUsageRequest.usageHistoryPerPage*(u-1),t.cardsUsageRequest.Count=t.cardsUsageRequest.usageHistoryPerPage,t.cardsUsageRequest.StartDate=t.cardsUsageRequest.StartDate,t.cardsUsageRequest.EndDate=t.cardsUsageRequest.EndDate);f.getUsageHistory(t.cardsUsageRequest,o.use()).then(y,p)}};t.pageChanged=function(n){h.set("currentusagehistorypage",n);t.getCardUsageHistory(!0,n)};n.path().match("/printcardusagehistory")||n.path().match("/usagehistoryreceipt")||(h.set("currentusagehistorypage",0),t.getCardUsageHistory(!0,null));n.path().match("/printcardusagehistory")&&(u.$emit("flag",!0),t.getCardUsageHistory(!0,null));n.path().match("/usagehistoryreceipt")&&(u.$emit("flag",!0),t.receiptData={CardNumber:r.CardNumber,Product:r.Product,Zone:!r.Zone||0===r.Zone.length?"-":r.Zone,UsageDateTime:!r.UsageDateTime||0===r.UsageDateTime.length?"-":r.UsageDateTime,Price:parseFloat(r.Price),VatInEuros:parseFloat(r.VatInEuros),ValidFrom:!r.ValidFrom||0===r.ValidFrom.length?"-":r.ValidFrom,ValidTill:!r.ValidTill||0===r.ValidTill.length?"-":r.ValidTill,TripsLeft:r.TripsLeft,RemainingBalance:parseFloat(r.RemainingBalance)});w=u.$on("$translateChangeSuccess",function(){var n=o.use();a.setDatePickerLanguage(n)});t.$on("$destroy",function(){w()});t.openStartDate=function(n){n.preventDefault();$("#startDate").focus()};t.openEndDate=function(n){n.preventDefault();$("#endDate").focus()}}var t=angular.module("Cards").controller("cardUsageHistoryController",n);n.$inject=["$location","$scope","$filter","$stateParams","$rootScope","cardService","$translatePartialLoader","$translate","ENV","localStorageService","$window","$timeout","utilityService"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c,l,a){var v,y,p,w;e.addPart("History");o.refresh();t.isHistoryAvailable=!1;t.uIDateFormat=s.uIDateFormat;t.uIDateFormatExcludeTime=s.uIDateFormatExcludeTime;t.rowsOnPageSelect=s.rowsOnHistoryPageSelect.split(",");t.currentDateTime=new Date;v=new Date;v.setMonth((new Date).getMonth()-s.HistoryPreSeletectedMonths);t.cardLoadingRequest={CardNumber:r.cardnumber,StartDate:i("date")(v,s.uIDateFormatExcludeTime),EndDate:i("date")(new Date,s.uIDateFormatExcludeTime),From:0,Count:0,loadHistoryPerPage:"0"};t.cardLoadingHistoryResponse={error:"",information:"",totalLoadHistoryCount:0,loadHistory:""};y=function(i){n.path().match("/printcardloadinghistory")||h.set("cardloadinghistoryRequest",null);t.cardLoadingHistoryResponse.error="";t.cardLoadingHistoryResponse.information="";t.isHistoryAvailable=!0;t.cardLoadingHistoryResponse.loadHistory=i.data.cardLoadingHistory;t.cardLoadingHistoryResponse.totalLoadHistoryCount=i.data.TotalLoadingCount;t.cardLoadingRequest.loadHistoryPerPage=i.data.Profile_RowsOnPage.toString();n.path().match("/printcardloadinghistory")||h.set("cardloadinghistoryRequest",t.cardLoadingRequest);n.path().match("/printcardloadinghistory")&&l(function(){angular.element("#loading-bar-spinner").addClass("visible-xs");c.print()})};p=function(n){t.isHistoryAvailable=!1;t.cardLoadingHistoryResponse.error="";t.cardLoadingHistoryResponse.information="";h.set("currentloadinghistorypage",0);n.status===404?t.cardLoadingHistoryResponse.information=o.instant("HISTORY_NOT_AVAILABLE"):n.status===400&&(n.data.Messages[0].Parameter==="invalidDateRange"?t.cardLoadingHistoryResponse.error=n.data.Messages[0].Message:n.data.Messages[0].Parameter==="StartDate"?t.cardLoadingHistoryResponse.error=n.data.Messages[0].Message:n.data.Messages[0].Parameter==="UserNotStrongAuthenticated"?t.cardLoadingHistoryResponse.information=n.data.Messages[0].Message:t.cardLoadingHistoryResponse.informations=o.instant("HISTORY_NOT_AVAILABLE"))};t.getCardLoadingHistory=function(i,u){if(i){if(t.cardLoadingHistoryResponse.error="",t.cardLoadingHistoryResponse.information="",(r.cardnumber===undefined||isNaN(parseInt(r.cardnumber)))&&!n.path().match("/printcardloadinghistory"))return t.cardLoadingHistoryResponse.information=o.instant("HISTORY_NOT_AVAILABLE"),!1;u==undefined&&(u=h.get("currentloadinghistorypage"));n.path().match("/printcardloadinghistory")?(t.cardLoadingRequest.CardNumber=h.get("cardloadinghistoryRequest").CardNumber,t.cardLoadingRequest.From=h.get("cardloadinghistoryRequest").From,t.cardLoadingRequest.Count=h.get("cardloadinghistoryRequest").Count,t.cardLoadingRequest.StartDate=h.get("cardloadinghistoryRequest").StartDate,t.cardLoadingRequest.EndDate=h.get("cardloadinghistoryRequest").EndDate):(t.cardLoadingRequest.From=u==0?0:t.cardLoadingRequest.loadHistoryPerPage*(u-1),t.cardLoadingRequest.Count=t.cardLoadingRequest.loadHistoryPerPage,t.cardLoadingRequest.StartDate=t.cardLoadingRequest.StartDate,t.cardLoadingRequest.EndDate=t.cardLoadingRequest.EndDate);f.getCardLoadHistory(t.cardLoadingRequest,o.use()).then(y,p)}};t.pageChanged=function(n){h.set("currentloadinghistorypage",n);t.getCardLoadingHistory(!0,n)};n.path().match("/printcardloadinghistory")||n.path().match("/loadinghistoryreceipt")||(h.set("currentloadinghistorypage",0),t.getCardLoadingHistory(!0,null));n.path().match("/printcardloadinghistory")&&(u.$emit("flag",!0),t.getCardLoadingHistory(!0,null));n.path().match("/loadinghistoryreceipt")&&(u.$emit("flag",!0),t.receiptData={CardNumber:r.CardNumber,Product:r.Product,Zone:!r.Zone||0===r.Zone.length?"-":r.Zone,ValidFrom:!r.ValidFrom||0===r.ValidFrom.length?"-":r.ValidFrom,ValidTill:!r.ValidTill||0===r.ValidTill.length?"-":r.ValidTill,DaysLoad:r.DaysLoad,LoadDate:!r.LoadDate||0===r.LoadDate.length?"-":r.LoadDate,Price:parseFloat(r.Price),VatInEuros:parseFloat(r.VatInEuros),SupportType:r.SupportType,SupporterPrice:parseFloat(r.SupporterPrice),supporterPriceVatInEuros:parseFloat(r.supporterPriceVatInEuros),CustomerPrice:parseFloat(r.CustomerPrice),CustomerPriceVatInEuros:parseFloat(r.CustomerPriceVatInEuros),TicketType:r.TicketType});w=u.$on("$translateChangeSuccess",function(){var n=o.use();a.setDatePickerLanguage(n)});t.$on("$destroy",function(){w()});t.openStartDate=function(n){n.preventDefault();$("#startDate").focus()};t.openEndDate=function(n){n.preventDefault();$("#endDate").focus()}}angular.module("Cards").controller("CardLoadingHistoryController",n);n.$inject=["$location","$scope","$filter","$stateParams","$rootScope","cardService","$translatePartialLoader","$translate","ENV","localStorageService","$window","$timeout","utilityService"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h){r.addPart("addCard");u.refresh();n.cardNumberRegex=o.cardNumberRegex;n.cardNameRegex=o.cardNameRegex;n.cardNumber="";n.data.cardName="";n.isUserStrongAuthenticated=s.get("SsnAuthenticated");var c=function(i){e.success(u.instant("CARDLIST_ADD_OK"));n.cards.length==0?n.cards[0]=i.data:n.cards.push(i.data);t.go("cards.details.info.card",{cardnumber:n.cardNumber})},l=function(n){if(404==n.status)e.error(u.instant("CARDLIST_ADD_ERROR_NOT_FOUND"));else if(405==n.status)e.error(u.instant("CARDLIST_ADD_ERROR_FORBIDDEN"));else{var t=u.instant("ERROR_MESSAGES.GEN_ERROR_SERVICE");e.error(t)}};n.addCard=function(t){if(!t){angular.element("input.ng-invalid").first().focus();return}n.addCardNumberError="";for(var i=0;null!==n.cards&&i<n.cards.length;i++)if(n.cards[i].Number==n.cardNumber){e.error(u.instant("CARDLIST_ADD_ERROR_ALREADY_EXISTS"));return}f.addCard(n.cardNumber,n.cardNumber,u.use()).then(c,l)};!n.isUserStrongAuthenticated&&s.get("isShibSessionCreated")&&(s.get("buyer")!=null&&s.get("buyer")!=undefined?n.isUserStrongAuthenticated=!0:h.getUserStrongAuthData().then(function(t){var i=JSON.parse(t.data);i.UserSsn&&(n.isUserStrongAuthenticated=!0)},function(){e.error(u.instant("GEN_ERROR_SERVICE"))}))}angular.module("Cards").controller("addCardController",n);n.$inject=["$scope","$state","$location","$translatePartialLoader","$translate","cardService","Notification","ENV","localStorageService","ssnService"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w){function d(){a.getNewCardProduct(s.use()).then(g,nt)}function g(t){n.newCardData=t;e!==undefined&&e.data!==null&&e.data!==undefined&&(n.newCardData.EmailAddr=e.data.Email,e.data.SocialSecurityNumber!==null&&e.data.SocialSecurityNumber!==undefined&&(n.newCardData.BuyerName=e.data.FirstName+" "+e.data.LastName,n.newCardData.SSN=e.data.SocialSecurityNumber,n.newCardData.buyerFullNameCS=e.data.FirstName+","+e.data.LastName,n.isStrongAuthenticated=!0,n.isUserpresentInCrm=!0));!n.isStrongAuthenticated&&f.get("isShibSessionCreated")&&(f.get("buyer")&&f.get("buyerName")&&f.get("buyerFullName")?p.getSecureAccessKey().then(function(t){var r=t.data,i=h.decryptBuyerDetails(f.get("buyer"),f.get("buyerName"),f.get("buyerFullName"),CryptoJS.enc.Base64.parse(r),CryptoJS.enc.Base64.parse(r));n.newCardData.BuyerName=i.buyerName;n.newCardData.buyerFullNameCS=i.buyerFullName;n.newCardData.SSN=i.ssn;n.isStrongAuthenticated=!0},function(){c.error(s.instant("GEN_ERROR_SERVICE"))}):p.getUserStrongAuthData().then(function(t){var i=JSON.parse(t.data);i.UserSsn&&(n.newCardData.BuyerName=h.parseSubjectData(i.SubjectData),n.newCardData.buyerFullNameCS=i.SubjectData,n.newCardData.SSN=i.UserSsn,n.isStrongAuthenticated=!0,p.getSecureAccessKey().then(function(t){var r=t.data,i=h.encryptBuyerDetails(n.newCardData.SSN,n.newCardData.BuyerName,n.newCardData.buyerFullNameCS,CryptoJS.enc.Base64.parse(r),CryptoJS.enc.Base64.parse(r));f.set("buyer",i.ssn);f.set("buyerName",i.buyerName);f.set("buyerFullName",i.buyerFullName)},function(){c.error(s.instant("GEN_ERROR_SERVICE"))}))},function(){c.error(s.instant("GEN_ERROR_SERVICE"))}));n.eventType==="onbehalf"&&w&&w.data&&(n.isAuthorized=!0,n.newCardData.eAuthPersonSsn=w.data.personId,n.newCardData.eAuthPersonName=w.data.name)}function nt(n){var t="Error occurred while getting new card product.";n.status===404&&n.data!=null&&n.data.Message!=null&&(t=n.data.Message);c.error(t)}function tt(){b()}function it(n){var t=s.instant("NEWCARD_ADD_TO_CART_ERROR"),i;if((n.status===403||n.status===400)&&(t="",n.data!=null&&n.data.Messages!=null))for(i=0;i<n.data.Messages.length;i++)t=t===""?n.data.Messages[i].Message:t+"<br />"+n.data.Messages[i].Message;c.error(t)}var b,k;n.cardNameRegEx=l.cardNameRegex;n.addressRegex=l.addressRegex;n.postalCodeRegex=l.postalCodeRegex;n.postalOfficeRegex=l.postalOfficeRegex;n.phoneNoRegex=l.PhoneNoRegex;n.emailRegEx=l.emailRegex;n.termsConditionsUrl=l.termsURL;n.isEsuomiAuthenticationEnabled=l.IsEsuomiAuthenticationEnabled;n.isStrongAuthenticated=!1;n.isUserpresentInCrm=!1;o.addPart("newCard");s.refresh();n.eventType=i.event;n.isAuthorized=!1;n.newCardData={Address:null,PostalCode:null,PostalAddressMunicipality:null,PhoneNumber:null,SSN:null,BuyerName:null,CardName:null,EmailAddr:null,WantsAdvertisment:!1,WantsInfo:!1,IsCardAccepted:!1,ProductTitle:"",ProductCode:"",ProductPrice:null,CardNumber:null,ProductType:"NewCard",Vat:0,buyerFullNameCS:"",eAuthPersonSsn:"",eAuthPersonName:""};f.set("buyCardEventType",n.eventType);d();b=function(){var t=f.get("campaignCodeDetails"),r,i;n.isCampaignCodeApplied=t?!0:!1;t?(r=f.get("cartProducts"),i=y.getAllCartProductCodes(r.ProductDetails),i.push({Key:"NewCard",Value:n.newCardData.ProductCode}),y.validateCampaignCode(t.Code,s.use(),i,n.newCardData,!1).then(function(){n.addNewCardToCart()},function(){k()})):n.addNewCardToCart()};n.addProductToCart=function(){v.removeCampaignCodeUsage().then(function(){n.addNewCardToCart()});n.campaignCodeRemovalModalPopupInstance.dismiss("cancel")};k=function(){n.campaignCodeRemovalModalPopupInstance=u.open({templateUrl:"campaignCodeRemovalModal.html",scope:n});n.hideCampaignCodeRemovalDailog=function(){n.campaignCodeRemovalModalPopupInstance.dismiss("cancel")}};n.canBuyNewCard=function(t){if(n.isCardNameExists=!1,t){var i=r.Cards;if((n.newCardData.CardName===""||n.newCardData.CardName===null)&&(n.newCardData.CardName=a.getNewCardName(s.instant("DEFAULT_CARD_NAME"),i)),a.isCardNameInCart(n.newCardData.CardName,i)){n.isCardNameExists=!0;return}n.newCardData.CardNumber=a.getNewCardId();a.isAbleToBuyNewCard(n.newCardData,s.use()).then(tt,it)}};n.addNewCardToCart=function(){v.addNewCardToCart(n.newCardData,n.isUserpresentInCrm,n.eventType);t.go("cart")};n.gotoAuthorization=function(){n.isStrongAuthenticated&&t.go("authorization",{event:"newcard"});return}}angular.module("Cards").controller("newCardController",n);n.$inject=["$scope","$state","$stateParams","$rootScope","$uibModal","localStorageService","customerProfile","$translatePartialLoader","$translate","utilityService","Notification","ENV","productService","shoppingCartService","campaignService","ssnService","eAuthPrincipal"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c,l,a){var p,y,w,v;i.addPart("cardInfo");r.refresh();n.isTslProductAvailable=!1;n.zoneInfoLink=a.ZoneInfoLink;n.tslModel={selectedTslProductName:"",productPrice:0,myPrice:0,supportAmount:0,companyId:"",companyName:"",companyBizId:"",companyBizIdExt:"",organizationId:"",productStart:"",productEnd:"",supportType:0,type:"",applyFlipEffect:!1};n.tslProductsName=[];n.tslProductsName[0]=r.instant("NO_PRODUCTS_FOR_CARD");n.tslModel.selectedTslProductName=n.tslProductsName[0];n.isCampaignCodeApplied=c.get("campaignCodeDetails")?!0:!1;n.isCampaignUsageValid=!1;n.CanBuyTslProduct=function(){n.buyTslProductRequest={CardNumber:n.cardDetails.Number,ProductCode:n.tslProductCode,ProductType:n.tslProductType,TslProductType:n.tslType,TslProductId:n.tslProductId,ProductPrice:n.tslModel.productPrice,MyPrice:n.tslModel.myPrice,SupportAmount:n.tslModel.supportAmount,CompanyId:n.tslModel.companyId,CompanyName:n.tslModel.companyName,ZoneId:parseInt(n.tslZoneCode),ZoneLabel:n.tslZoneName,ProductTitle:n.tslModel.selectedTslProductName,CardName:n.cardDetails.Name,CompanyBizId:n.tslModel.companyBizId,CompanyBizIdExt:n.tslModel.companyBizIdExt,OrganizationId:n.tslModel.organizationId,ProductStart:n.tslModel.productStart,ProductEnd:n.tslModel.productEnd,SupportType:n.tslModel.supportType,IsCampaignUsageValid:"",Vat:n.tslVatPercent};e.isAbleToBuyTslProduct(n.buyTslProductRequest,r.use()).then(p,k)};p=function(t){var i,u;t.status===200&&(i=o.getExistingProduct(n.buyTslProductRequest),n.shoppingBasketTSLProductTitle=n.buyTslProductRequest.ProductTitle+" ("+n.buyTslProductRequest.ZoneLabel+")",n.shoppingBasketTSLProductPrice=n.buyTslProductRequest.MyPrice,i!==null?(u="",i.ProductCode!==n.buyTslProductRequest.ProductCode||i.ProductCode===n.buyTslProductRequest.ProductCode&&i.ProductType!==n.buyTslProductRequest.ProductType?(u=r.instant("REPLACE_PERIOD_PRODUCT_CONFIRMATION").replace("[:productName:]",i.ProductTitle),i.ZoneLabel!==undefined&&i.ZoneLabel!==null&&(u=u.replace("[:zone:]","("+i.ZoneLabel+")")),n.replaceTslProductMessage=u,l.isCampaignUsageValid(n.buyTslProductRequest,i,r.use()).then(function(){n.isCampaignUsageValid=!0},function(){n.isCampaignUsageValid=!1}).finally(function(){y()})):(u=r.instant("REPLACE_SAME_PRODUCT_CONFIRMATION"),n.replaceProductMessage=u,l.isCampaignUsageValid(n.buyTslProductRequest,i,r.use()).then(function(){n.isCampaignUsageValid=!0},function(){n.isCampaignUsageValid=!1}).finally(function(){y()}))):l.isCampaignUsageValid(n.buyTslProductRequest,!1,r.use()).then(function(){n.isCampaignUsageValid=!0;n.addTslProductToCart(n.isCampaignUsageValid)},function(){n.isCampaignUsageValid=!1;b()}))};y=function(){n.replaceTSLProductPopupInstance=h.open({templateUrl:"replaceTslProductModal.html",scope:n});n.hideTslProductReplaceDailog=function(){n.replaceTSLProductPopupInstance.dismiss("cancel")}};n.addProductToCart=function(){o.removeCampaignCodeUsage().then(function(){n.addTslProductToCart(n.isCampaignUsageValid)});n.campaignCodeRemovalModalPopupInstance.dismiss("cancel")};n.addTslProductToCart=function(t){n.showFlippedShoppingCart();n.buyTslProductRequest.IsCampaignUsageValid=t;o.addTslProductToCart(n.buyTslProductRequest);n.replaceTSLProductPopupInstance!==undefined&&n.replaceTSLProductPopupInstance.dismiss("cancel")};var b=function(){n.campaignCodeRemovalModalPopupInstance=h.open({templateUrl:"campaignCodeRemovalModal.html",scope:n});n.hideCampaignCodeRemovalDailog=function(){n.campaignCodeRemovalModalPopupInstance.dismiss("cancel")}},k=function(n){n.status===403&&n.data!=null&&n.data.Message!=null&&s.error(n.data.Message)},d=function(t){t!==undefined&&t!==null&&t.data!==undefined&&t.data!==null&&t.data.TslTickets!==null&&(n.tslProducts=t.data.TslTickets,n.defaultTslZone=t.data.DefaultZone,n.tslProducts!==undefined&&n.tslProducts!==null&&(n.tslProducts.length>0&&n.ValidityAreasForTsl(n.tslProducts[0].Product.Name),n.tslProductsName=[],angular.forEach(n.tslProducts,function(t){t.Product!==undefined&&t.Product!=null&&n.tslProductsName.push(t.Product.Name)}),n.tslModel.selectedTslProductName=n.tslProductsName[0],n.tslProductsName[0].length>0&&(n.isTslProductAvailable=!0)))},g=function(i){i.status===412?t.go("cardstrongauth",{cardNumber:n.cardnumber}):i.status===404?(n.tslProductsName=[],n.tslProductsName[0]=r.instant("NO_PRODUCTS_FOR_CARD"),n.tslModel.selectedTslProductName=n.tslProductsName[0]):i.status===403?(n.tslProductsName=[],n.tslProductsName[0]=r.instant("NO_PRODUCTS_FOR_CARD_AFTER_LIMIT"),n.tslModel.selectedTslProductName=n.tslProductsName[0]):i.status===405&&(s.error(r.instant("FEATURE_NOT_AVAILABLE")),t.go("cards.details.info.card",{cardNumber:n.cardnumber}))};n.ValidityAreasForTsl=function(t){var c,u,e,o,s,l,r,f,i,h;for(n.tslModel.productPrice=0,n.tslModel.supportAmount=0,n.tslModel.myPrice=0,n.tslPreconditionsOk=!1,n.tslZonesToggle=[],c=n.defaultTslZone,i=0;i<n.tslProducts.length;i++)if(n.tslProducts[i].Product.Name===t&&(u=n.tslProducts[i].ValidityAreas,n.tslProductCode=n.tslProducts[i].Product.Code,n.tslVatPercent=n.tslProducts[i].Product.VatPercent,n.tslProductType=n.tslProducts[i].Type,n.tslType=n.tslProducts[i].TslTicketType,n.tslModel.companyName=n.tslProducts[i].CompanyName,n.tslModel.companyId=n.tslProducts[i].CompanyId,n.tslModel.companyBizId=n.tslProducts[i].CompanyBizId,n.tslModel.companyBizIdExt=n.tslProducts[i].CompanyBizIdExt,n.tslModel.organizationId=n.tslProducts[i].OrganizationId,n.tslModel.productStart=n.tslProducts[i].ProductStart,n.tslModel.productEnd=n.tslProducts[i].ProductEnd,n.tslModel.type=n.tslProducts[i].Type,n.tslModel.supportType=n.tslProducts[i].SupportType,n.tslProductId=n.tslProducts[i].ProductTslId,n.tslProductZones=u,undefined!==u&&null!==u)){for(u.length==1&&(c=u[0].Code),n.tslZones=[],r=0;r<u.length;r++)-1==n.tslZones.indexOf(u[r].FromZone.Code)&&(n.tslZones.push(u[r].FromZone.Code),n.tslZonesToggle.push(!1)),-1==n.tslZones.indexOf(u[r].ToZone.Code)&&(n.tslZones.push(u[r].ToZone.Code),n.tslZonesToggle.push(!1)),u[r].Code==c&&(n.defaultTslFromZone=u[r].FromZone.Code,n.defaultTslToZone=u[r].ToZone.Code,n.tslPreconditionsOk=!0);if(n.tslZones.sort(),e=n.tslZones,e!==undefined&&e!==null){for(o=0;o<e.length-1;o++)for(s=parseInt(e[o])+1;s<parseInt(e[o+1]);s++)n.tslZones.push(s.toString()),n.tslZonesToggle.push(!1);n.tslZones.sort()}}if(n.defaultTslFromZone!=null&&n.defaultTslToZone!=null&&parseFloat(n.defaultTslToZone)<=n.tslZones.length)for(l=!1,r=0;r<n.tslProducts.length;r++){if(n.tslProducts[r].Product.Name===t)for(f=n.tslProducts[r].ValidityAreas,n.tslProductCode=n.tslProducts[r].Product.Code,n.tslVatPercent=n.tslProducts[r].Product.VatPercent,n.tslProductId=n.tslProducts[r].ProductTslId,n.tslProductType=n.tslProducts[r].Type,n.tslType=n.tslProducts[r].TslTicketType,i=0;i<f.length;i++)if(f[i].FromZone.Code==n.defaultTslFromZone&&f[i].ToZone.Code==n.defaultTslToZone){n.tslZoneCode=f[i].Code;n.tslZoneName=f[i].Name;n.tslModel.productPrice=parseFloat(f[i].Price);n.tslModel.supportAmount=parseFloat(f[i].SupportAmount);n.tslModel.myPrice=n.tslModel.productPrice-n.tslModel.supportAmount;n.tslModel.myPrice=parseFloat(n.tslModel.myPrice.toFixed(2));l=!0;break}if(l){for(h=n.defaultTslFromZone-1;h<n.defaultTslToZone;h++)n.tslZonesToggle[h]=!0;n.tslPreconditionsOk=!0;break}}};n.tslProductZoneClicked=function(t){n.tslZoneClicked(t,"period")};n.tslZoneClicked=function(t,i){var r;n.tslZonesToggle[t]=!n.tslZonesToggle[t];for(var r=0,u=[],r=0;r<n.tslZonesToggle.length;r++)n.tslZonesToggle[r]==!0&&u.push(r);if(u.length>1)for(r=u[0];r<=u[u.length-1];r++)n.tslZonesToggle[r]=!0;n.tslPreconditionsOk=w(i);n.tslPreconditionsOk||(n.tslModel.productPrice=0,n.tslModel.myPrice=0,n.tslModel.supportAmount=0)};n.showFlippedShoppingCart=function(){n.tslModel.applyFlipEffect=!0};n.CancelSupportedTicketsBuy=function(){n.tslModel.applyFlipEffect=!1};w=function(){var u,t,r;if(n.tslZoneCode=null,u=n.tslProductZones,undefined===u||null===u)return!0;var f=!1,e=null,o=null,i=n.tslZonesToggle.indexOf(!0);for(-1!=i&&(e=n.tslZones[i],o=e),t=n.tslZonesToggle.length-1;t>0;t--)if(n.tslZonesToggle[t]){o=n.tslZones[t];break}for(t=0;t<n.tslProducts.length;t++){if(n.tslProducts[t].Product.Name===n.tslModel.selectedTslProductName)for(n.tslModel.companyName=n.tslProducts[t].CompanyName,n.tslModel.companyId=n.tslProducts[t].CompanyId,r=n.tslProducts[t].ValidityAreas,n.tslProductCode=n.tslProducts[t].Product.Code,n.tslVatPercent=n.tslProducts[t].Product.VatPercent,n.tslProductId=n.tslProducts[t].ProductTslId,n.tslProductType=n.tslProducts[t].Type,n.tslType=n.tslProducts[t].TslTicketType,i=0;i<r.length;i++)if(r[i].FromZone.Code==e&&r[i].ToZone.Code==o){n.tslZoneCode=r[i].Code;n.tslZoneName=r[i].Name;n.tslModel.productPrice=parseFloat(r[i].Price);n.tslModel.supportAmount=parseFloat(r[i].SupportAmount);n.tslModel.myPrice=n.tslModel.productPrice-n.tslModel.supportAmount;n.tslModel.myPrice=parseFloat(n.tslModel.myPrice.toFixed(2));f=!0;break}if(f)break}return f};a.IsTslTicketsEnabled?(v=t.params,v!==undefined&&v.cardnumber!==undefined&&v.cardnumber!=""&&(n.cardnumber=v.cardnumber,f.getAvailableTslProducts(v.cardnumber,r.use()).then(d,g))):t.go("cards.details.info.card",{cardNumber:n.cardnumber})}angular.module("Cards").controller("cardTslProductsController",n);n.$inject=["$scope","$state","$translatePartialLoader","$translate","$location","cardService","productService","shoppingCartService","Notification","$uibModal","localStorageService","campaignService","ENV"]}(),function(){"use strict";angular.module("Cards").config(["$stateProvider","$urlRouterProvider",function(n){n.state("cards",{url:"/cards",cache:!1,views:{MenuBar:{templateUrl:"Home/Menu",controller:"menuController"},content:{templateUrl:"Cards/Index",controller:"cardsController"}}}).state("cards.addCard",{url:"/addcard",cache:!1,templateUrl:"Cards/AddCard",controller:"addCardController"}).state("cards.newcard",{url:"/newcard?:status:event",cache:!1,templateUrl:"Cards/NewCard",controller:"newCardController",resolve:{customerProfile:["customerService","$rootScope","$translate",function(n,t,i){return n.getCustomerProfile(t.authentication.userName,"",i.use()).then(function(n){return n},function(){return{}})}],eAuthPrincipal:["ssnService","$translate","localStorageService","Notification","$stateParams",function(n,t,i,r,u){if(u.event==="onbehalf"){var f={webApiSessionId:i.get("eAuthWebAPISessionId"),accessToken:i.get("eAuthAccessToken"),requestId:i.get("requestId")};if(f.accessToken)return n.getEAuthPrincipals(f,t.use()).then(function(n){return n},function(n){i.remove("eAuthWebAPISessionId");i.remove("eAuthAccessToken");i.remove("requestId");switch(n.status){case 404:r.error(t.instant("BUYING_TRAVEL_CARD_DISALLOWED"));break;case 405:r.error(t.instant("SESSION_EXPIRED_MSG"));break;case 500:default:r.error(t.instant("E_AUTHORIZATION_ERROR"))}return{}})}return{}}]}}).state("cards.GiftVoucher",{url:"/giftVoucherProduct",templateUrl:"GiftVoucher/Index",controller:"giftVoucherProductsController"}).state("cards.details",{url:"/{cardnumber:string}",cache:!1,templateUrl:"Cards/CardDetails",controller:"cardDetailsController",redirectTo:"cards.details.info"}).state("cards.details.info",{url:"/info",cache:!1,templateUrl:"Cards/CardInfo",controller:"cardInfoController"}).state("cards.details.info.card",{url:"/card",cache:!1,templateUrl:"Cards/CardView"}).state("cards.details.info.tslproducts",{url:"/tslproducts",cache:!1,templateUrl:"Cards/TslProducts",controller:"cardTslProductsController"}).state("cards.details.usagehistory",{url:"/usagehistory",templateUrl:"Cards/CardUsageHistory",controller:"cardUsageHistoryController"}).state("usagehistoryreceipt",{url:"/usagehistoryreceipt/:CardNumber/:Product/:Zone/:UsageDateTime/:Price/:VatInEuros/:TicketType/:TripsLeft/:ValidFrom/:ValidTill/:RemainingBalance",cache:!1,views:{printcontent:{templateUrl:"Cards/UsageHistoryReceipt",controller:"cardUsageHistoryController"}}}).state("printcardusagehistory",{url:"/printcardusagehistory",cache:!1,views:{printcontent:{templateUrl:"Cards/PrintCardUsageHistory",controller:"cardUsageHistoryController"}}}).state("cards.details.loadinghistory",{url:"/loadinghistory",templateUrl:"Cards/CardLoadingHistory",controller:"CardLoadingHistoryController"}).state("loadinghistoryreceipt",{url:"/loadinghistoryreceipt/:CardNumber/:Product/:Zone/:ValidFrom/:ValidTill/:DaysLoad/:LoadDate/:Price/:VatInEuros/:SupportType/:SupporterPrice/:supporterPriceVatInEuros/:CustomerPrice/:CustomerPriceVatInEuros/:TicketType",cache:!1,views:{printcontent:{templateUrl:"Cards/LoadingHistoryReceipt",controller:"CardLoadingHistoryController"}}}).state("printcardloadinghistory",{url:"/printcardloadinghistory",cache:!1,views:{printcontent:{templateUrl:"Cards/PrintCardLoadingHistory",controller:"CardLoadingHistoryController"}}})}])}(),function(){"use strict";function n(n,t,i,r,u,f){u.addPart("Profile");f.refresh();r.currentState=t.$$path;n.current!==undefined&&n.current.name==="profile"&&n.go("profile.user")}angular.module("Profile",["ui.router","UtilityService","validation.match"]).controller("profileController",n);n.$inject=["$state","$stateParams","$location","$rootScope","$translatePartialLoader","$translate"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c){var l,a,v,y;u.addPart("Profile");f.refresh();n.IsLoadComplete=!1;n.userNameRegex=c.userNameRegex;n.emailRegex=c.emailRegex;n.passwordRegex=c.passwordRegex;n.username=t.authentication.userName;n.profileData={};n.uIDateFormat=c.uIDateFormat;var p=function(){h.success(f.instant("PROFILE_UPDATE_MESSAGE"))},w=function(n){400===n.status?undefined!==n.data&&"wrong_password"===n.data.Messages[0].Parameter?h.error(f.instant("PASSWORD_WRONG_MESSAGE")):undefined!==n.data&&"password_not_matched"===n.data.Messages[0].Parameter?h.error(f.instant("PASSWORD_NOT_MATCH_MESSAGE")):undefined!==n.data&&"password_required"===n.data.Messages[0].Parameter?h.error(f.instant("PASSWORD_REQUIRED")):undefined!==n.data&&"confirm_password_required"===n.data.Messages[0].Parameter?h.error(f.instant("CONFIRMPASSWORDREQUIRED")):undefined!==n.data&&"PhoneNumberInvalid"===n.data.Messages[0].Parameter?h.error(f.instant("PHONE_REGX_PATTERN_NOTMATCH")):undefined!==n.data&&"PhoneMinLengthRegExp"===n.data.Messages[0].Parameter&&h.error(f.instant("PHONE_REGX_MIN_LENGTH")):h.error(f.instant("UPDATE_PROFILE_FAILED"))},b=function(n){return n.Password===""&&n.NewPassword===""&&n.ConfirmPassword===""?!0:n.Password!==""&&n.NewPassword!==""&&n.ConfirmPassword!==""?!0:(h.error(f.instant("PASSWORD_REQUIRED_MESSAGE")),!1)};n.UpdateUserProfile=function(){if(b(n.profileData)){var t={User:n.profileData};r.updateProfile(f.use(),t).then(p,w)}};l=function(){e.logout();o.set("cartData",null);h.success(f.instant("PROFILE_DELETE_MESSAGE"));i.path("/login")};a=function(){h.error(f.instant("DELETE_PROFILE_FAILED"))};n.DeleteUserProfile=function(){r.deleteProfile(f.use(),n.username).then(l,a)};v=function(t){var i=t.data;n.profileData={UserName:i.UserName,Email:i.Email,CreateDate:i.CreateDate,LastLoginDate:i.LastLoginDate,StrongAuthenticationDate:i.StrongAuthenticationDate,AgreesToReceiveInfo:i.AgreesToReceiveInfo,Password:"",NewPassword:"",ConfirmPassword:"",IsMobile:!1,SsnAuthenticated:i.SsnAuthenticated};n.IsLoadComplete=!0};y=function(){h.error(f.instant("PROFILE_LOAD_FAILED"))};r.getProfile(f.use(),n.username).then(v,y)}angular.module("Profile").controller("userController",n);n.$inject=["$scope","$rootScope","$location","userManagerService","$translatePartialLoader","$translate","authService","localStorageService","$window","Notification","ENV"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c){var l,a,v,y;r.addPart("Profile");u.refresh();n.IsLoadComplete=!1;n.emailRegex=c.emailRegex;n.phoneNoRegex=c.PhoneNoRegex;n.username=t.authentication.userName;n.customerProfileData={};n.uIDateFormat=c.uIDateFormat;l=function(){h.success(u.instant("CUSTOMER_PROFILE_UPDATE_MESSAGE"))};a=function(n){var i,t,r;if(400===n.status)for(i=0;i<n.data.Messages.length;i++){if(t=n.data.Messages[i].Parameter,r=n.data.Messages[i].Message,t==="phonenumber_invalid"||t==="mobilenumber_invalid"){h.error(u.instant("PHONE_REGX_PATTERN_NOTMATCH"));break}if(t==="phone_min_length"||t==="mobile_min_length"){h.error(u.instant("PHONE_REGX_MIN_LENGTH"));break}if(t==="email_invalid"){h.error(r);break}}else h.error(u.instant("CUSTOMER_PROFILE_UPDATE_FAILED"))};n.updateCustomerProfile=function(){n.SsnAuthenticated=!0;var t={CustomerInformation:n.customerProfileData,User:{SsnAuthenticated:n.SsnAuthenticated,UserName:n.username,SocialSecurityNumber:n.ssn}};e.updateCustomerProfile(t,u.use()).then(l,a)};v=function(t){var i=t.data;n.customerProfileData={FirstName:i.FirstName,LastName:i.LastName,Email:i.Email,Address:i.Address,PostalCode:i.PostalCode,PostalAddress:i.PostalAddress,Phone:i.Phone,Address2:i.Address2,PostalCode2:i.PostalCode2===0?"":i.PostalCode2,PostalAddress2:i.PostalAddress2,MobilePhone:i.Phone2,Gender:i.Gender,InitDate:i.InitDate,DirectMarketing:i.DirectMarketing,Marketing:i.Marketing,SocialSecurityNumber:n.CustomerSocialSecurityNumber};n.IsLoadComplete=!0};y=function(n){var t=u.instant("CUSTOMER_PROFILE_LOAD_FAILED");n.status===404&&(t=n.data.Message);h.error(t)};n.ssn=f.ssn;n.ssn!==null&&(t.ssn=n.ssn);e.getCustomerProfile(n.username,t.ssn,u.use()).then(v,y)}angular.module("Profile").controller("customerController",n);n.$inject=["$scope","$rootScope","$location","$translatePartialLoader","$translate","$stateParams","customerService","localStorageService","$window","Notification","ENV"]}(),function(){"use strict";angular.module("Profile").config(["$stateProvider","$urlRouterProvider",function(n){n.state("profile",{url:"/profile",cache:!1,views:{MenuBar:{templateUrl:"Home/Menu",controller:"menuController"},content:{templateUrl:"Profile/Index",controller:"profileController"}}}).state("profile.user",{url:"/user",cache:!1,templateUrl:"Profile/User",controller:"userController"}).state("profile.customer",{url:"/customer",params:{ssn:null},cache:!1,templateUrl:"Profile/Customer",controller:"customerController"}).state("profile.shoppinghistory",{url:"/shopinghistory",cache:!1,templateUrl:"Profile/ShopingHistory",controller:"shoppinghistoryController"}).state("purchasehistoryreceipt",{url:"/purchasehistoryreceipt/:ShoppingDate/:CardName/:TicketName/:ZoneLabel/:PeriodLenght/:Price",cache:!1,views:{printcontent:{templateUrl:"Profile/ShoppingHistoryReceipt",controller:"shoppinghistoryController"}}}).state("printuserpurchasehistory",{url:"/printuserpurchasehistory",cache:!1,views:{printcontent:{templateUrl:"Profile/PrintUserPurchaseHistory",controller:"shoppinghistoryController"}}})}])}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c,l,a){var v,y,p,w;f.addPart("History");e.refresh();t.isHistoryAvailable=!1;t.uIDateFormat=o.uIDateFormat;t.uIDateFormatExcludeTime=o.uIDateFormatExcludeTime;t.rowsOnPageSelect=o.rowsOnHistoryPageSelect.split(",");t.currentDateTime=new Date;v=new Date;v.setMonth((new Date).getMonth()-o.HistoryPreSeletectedMonths);t.shoppingHistoryRequest={StartDate:i("date")(v,o.uIDateFormatExcludeTime),EndDate:i("date")(new Date,o.uIDateFormatExcludeTime),From:0,Count:0,shoppingHistoryPerPage:"0"};t.shoppingHistoryResponse={error:"",information:"",totalshoppingHistoryCount:0,shoppingHistory:"",userName:"",email:""};y=function(i){n.path().match("/printuserpurchasehistory")||s.set("purchasehistoryRequest",null);t.shoppingHistoryResponse.error="";t.shoppingHistoryResponse.information="";t.isHistoryAvailable=!0;t.shoppingHistoryResponse.shoppingHistory=i.data.PurchaseDetails;t.shoppingHistoryResponse.totalshoppingHistoryCount=i.data.TotalPurchaseCount;t.shoppingHistoryRequest.shoppingHistoryPerPage=i.data.Profile_RowsOnPage.toString();t.shoppingHistoryResponse.userName=i.data.UserName;t.shoppingHistoryResponse.email=i.data.UserEmail;n.path().match("/printuserpurchasehistory")||s.set("purchasehistoryRequest",t.shoppingHistoryRequest);n.path().match("/printuserpurchasehistory")&&a(function(){angular.element("#loading-bar-spinner").addClass("visible-xs");l.print()})};p=function(n){t.isHistoryAvailable=!1;t.shoppingHistoryResponse.error="";t.shoppingHistoryResponse.information="";s.set("currentPage",0);n.status===404?t.shoppingHistoryResponse.information=e.instant("PURCHASE_HISTORY_NOT_AVAILABLE"):n.status===400&&(n.data.Messages[0].Parameter==="invalidDateRange"?t.shoppingHistoryResponse.error=n.data.Messages[0].Message:n.data.Messages[0].Parameter==="StartDate"?t.shoppingHistoryResponse.error=n.data.Messages[0].Message:t.shoppingHistoryResponse.informations=e.instant("PURCHASE_HISTORY_NOT_AVAILABLE"))};t.getShoppingHistory=function(i,r){i&&(t.shoppingHistoryResponse.error="",t.shoppingHistoryResponse.information="",r===undefined&&(r=s.get("currentPage")),r===null&&(r=0),n.path().match("/printuserpurchasehistory")?(t.shoppingHistoryRequest.From=s.get("purchasehistoryRequest").From,t.shoppingHistoryRequest.Count=s.get("purchasehistoryRequest").Count,t.shoppingHistoryRequest.StartDate=s.get("purchasehistoryRequest").StartDate,t.shoppingHistoryRequest.EndDate=s.get("purchasehistoryRequest").EndDate):(t.shoppingHistoryRequest.From=r===0?0:t.shoppingHistoryRequest.shoppingHistoryPerPage*(r-1),t.shoppingHistoryRequest.Count=t.shoppingHistoryRequest.shoppingHistoryPerPage,t.shoppingHistoryRequest.StartDate=t.shoppingHistoryRequest.StartDate,t.shoppingHistoryRequest.EndDate=t.shoppingHistoryRequest.EndDate),u.getShoppingHistory(t.shoppingHistoryRequest,e.use()).then(y,p))};t.pageChanged=function(n){s.set("currentPage",n);t.getShoppingHistory(!0,n)};w=r.$on("$translateChangeSuccess",function(){var n=e.use();h.setDatePickerLanguage(n)});t.$on("$destroy",function(){w()});t.openStartDate=function(n){n.preventDefault();$("#startDate").focus()};t.openEndDate=function(n){n.preventDefault();$("#endDate").focus()};n.path().match("/printuserpurchasehistory")||n.path().match("/purchasehistoryreceipt")||(s.set("currentPage",0),t.getShoppingHistory(!0,null));n.path().match("/printuserpurchasehistory")&&(r.$emit("flag",!0),t.getShoppingHistory(!0,null));n.path().match("/purchasehistoryreceipt")&&(r.$emit("flag",!0),t.shoppingReceiptData={ShoppingDate:!c.ShoppingDate||0===c.ShoppingDate.length?"-":c.ShoppingDate,CardName:c.CardName,TicketName:c.TicketName,Zone:!c.ZoneLabel||0===c.ZoneLabel.length?"-":c.ZoneLabel,PeriodLenght:c.PeriodLenght?parseFloat(c.PeriodLenght):"-",Price:parseFloat(c.Price)})}angular.module("Profile").controller("shoppinghistoryController",n);n.$inject=["$location","$scope","$filter","$rootScope","purchaseService","$translatePartialLoader","$translate","ENV","localStorageService","utilityService","$stateParams","$window","$timeout"]}(),function(){"use strict";function n(n,t,i,r,u,f){var e,o,s,h;i.addPart("Notifications");r.refresh();n.IsLoadComplete=!1;n.HasReminder=!1;n.remiderSettings={};n.CheckedPeriodReminder=function(){for(var t=0;t<n.remiderSettings.EMCardOptions.length;t++)n.remiderSettings.EMCardOptions[t].IsPeriodOn=n.remiderSettings.IsPeriodRemindersOn};n.IsPeriodReminderSelect=function(){for(var i=0,r,t=0;t<n.remiderSettings.EMCardOptions.length;t++)r=n.remiderSettings.EMCardOptions[t],r.IsPeriodOn?(n.remiderSettings.IsPeriodRemindersOn=!0,n.checkedPeriod=!0):i++,i===n.remiderSettings.EMCardOptions.length&&(n.remiderSettings.IsPeriodRemindersOn=!1,n.checkedPeriod=!1)};n.CheckedValueReminder=function(){for(var t=0;t<n.remiderSettings.EMCardOptions.length;t++)n.remiderSettings.EMCardOptions[t].IsValueOn=n.remiderSettings.IsValueRemindersOn};n.IsValueReminderSelect=function(){for(var i=0,r,t=0;t<n.remiderSettings.EMCardOptions.length;t++)r=n.remiderSettings.EMCardOptions[t],r.IsValueOn?(n.remiderSettings.IsValueRemindersOn=!0,n.checkedValue=!0):i++,i===n.remiderSettings.EMCardOptions.length&&(n.remiderSettings.IsValueRemindersOn=!1,n.checkedValue=!1)};e=function(t){n.remiderSettings=t;n.selectPeriod=n.remiderSettings.IsPeriodRemindersOn;n.selectValue=n.remiderSettings.IsValueRemindersOn;t.EMCardOptions!=null&&t.EMCardOptions.length>0&&(n.HasReminder=!0);n.IsLoadComplete=!0};o=function(){u.error(r.instant("REMINDER_LOAD_FAILED"));n.IsLoadComplete=!0};f.getEmailReminder(r.use()).then(e,o);s=function(){u.success(r.instant("EMAIL_REMINDER_SAVE_SUCCEED"));n.IsLoadComplete=!0};h=function(){u.error(r.instant("REMINDER_SAVE_FAILED"));n.IsLoadComplete=!0};n.SaveReminder=function(){for(var i,t=0;t<n.remiderSettings.EMCardOptions.length;t++)n.remiderSettings.EMCardOptions[t].PeriodReminder=n.remiderSettings.PeriodRemindersLimit,n.remiderSettings.EMCardOptions[t].ValueReminder=n.remiderSettings.ValueRemindersLimit;i={RemiderSetting:n.remiderSettings};f.saveReminder(r.use(),i).then(s,h)}}angular.module("Notifications",["CardService"]).controller("notificationsController",n);n.$inject=["$scope","$state","$translatePartialLoader","$translate","Notification","cardService"]}(),function(){"use strict";angular.module("Notifications").config(["$stateProvider","$urlRouterProvider",function(n){n.state("notifications",{url:"/notifications",cache:!1,views:{MenuBar:{templateUrl:"Home/Menu",controller:"menuController"},content:{templateUrl:"Notifications/Index",controller:"notificationsController"}}})}])}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s){var h,c,l,a,v,y,p,w;f.addPart("Passwordreset");e.refresh();n.resolveCaptcha=!1;n.userNameRegex=o.userNameRegex;n.emailRegex=o.emailRegex;n.passwordRegex=o.passwordRegex;n.siteKey=o.publicCaptchasitekey;u.hideAllMessages();n.userVerificationData={UserName:"",Email:"",Captcha:"",RequestUrl:i.absUrl().replace(i.path(),"")};n.resetPasswordData={User:{UserName:"",EncryptId:encodeURIComponent(i.search().id),Salt:encodeURIComponent(i.search().salt)},NewPassword:"",ConfirmPassword:"",IsMobile:!1};n.language=e.use();h=t.$on("LanguageChanged",function(n,t){u.setCaptchaLanguage(t)});n.$on("$destroy",function(){h()});c=function(){grecaptcha.reset();s.success(e.instant("PASSWORD_RESET_VERIFICTION_SUCCESS"));i.path("/login")};l=function(n){grecaptcha.reset();400===n.status?undefined!==n&&undefined!==n.data&&"errorEmailProcess"===n.data.Messages[0].Parameter?s.error(e.instant("RESET_EMAIL_PROCESS_FAILED")):undefined!==n&&undefined!==n.data&&"errorUserNotFound"===n.data.Messages[0].Parameter?s.error(e.instant("RESET_EMAIL_USER_NOT_FOUND")):undefined!==n&&undefined!==n.data&&"genericError"===n.data.Messages[0].Parameter?s.error(e.instant("PASSWORD_RESET_FAILED")):undefined!==n&&undefined!==n.data&&"invalidData"===n.data.Messages[0].Parameter&&s.error(e.instant("PASSWORD_INVALID_DATA")):s.error(e.instant("PASSWORD_RESET_FAILED"))};n.verifyAndSendResetPasswordLink=function(){if(u.hideAllMessages(),grecaptcha.getResponse().trim())n.resolveCaptcha=!0,n.userVerificationData.Captcha=grecaptcha.getResponse(),r.verifyAndSendResetPasswordLink(e.use(),n.userVerificationData).then(c,l);else return n.resolveCaptcha=!1,!1;return!1};n.CanceForgotPassword=function(){u.hideAllMessages();i.path("login")};a=function(){};v=function(n){400===n.status?undefined!==n&&undefined!==n.data&&"linkExpired"===n.data.Messages[0].Parameter?s.error(e.instant("PASSWORD_RESET_LINK_EXPIRED")):undefined!==n&&undefined!==n.data&&"failed"===n.data.Messages[0].Parameter?s.error(e.instant("PASSWORD_RESET_VALIDATION_FAILED")):undefined!==n&&undefined!==n.data&&"genericError"===n.data.Messages[0].Parameter?s.error(e.instant("PASSWORD_RESET_FAILED")):undefined!==n&&undefined!==n.data&&"invalidLink"===n.data.Messages[0].Parameter&&s.error(e.instant("PASSWORD_RESET_LINK_BROKEN")):s.error(e.instant("PASSWORD_RESET_FAILED"));i.url(i.path(i.path("/login")))};i.path()==="/resetpassword"&&i.search()!=null&&(y={EncryptId:encodeURIComponent(i.search().id),Salt:encodeURIComponent(i.search().salt)},r.verifyResetPasswordLink(e.use(),y).then(a,v));p=function(){s.success(e.instant("PASSWORD_RESET_SUCCESS"));i.path("/login")};w=function(n){switch(n.status){case"400":s.success(e.instant("RESET_PASSWORD_ERROR"));break;default:s.success(e.instant("RESET_PASSWORD_ERROR"))}};n.resetPassword=function(){u.hideAllMessages();r.resetPassword(e.use(),n.resetPasswordData).then(p,w)}}angular.module("PasswordReset",["ui.router","validation.match"]).controller("passwordresetController",n);n.$inject=["$scope","$rootScope","$location","userManagerService","utilityService","$translatePartialLoader","$translate","ENV","Notification"]}(),function(){"use strict";angular.module("PasswordReset").config(["$stateProvider",function(n){n.state("forgotpassword",{url:"/forgotpassword",cache:!1,views:{content:{templateUrl:"Account/VerifyAndSendResetPassword",controller:"passwordresetController"}}}).state("resetpassword",{url:"/resetpassword",cache:!1,views:{content:{templateUrl:"Account/ResetPassword",controller:"passwordresetController"}}})}])}(),function(){"use strict";function n(n,t,i,r,u,f,e){f.data&&f.data.IsVetumaAuthenticationEnabled?(n.settings=f.data,n.settings.ActionURL=e.trustAsResourceUrl(f.data.ActionURL),t(function(){document.getElementById("mainForm").submit()})):t(function(){i.location.href=f.data})}angular.module("StrongAuthentication",["ui.router","ConfigurationService","UserManagerService"]).controller("strongAuthenticationcontroller",n);n.$inject=["$scope","$timeout","$window","configurationService","userManagerService","settings","$sce","ENV"]}(),function(){"use strict";function n(n,t,i,r){var u=r.search()}angular.module("StrongAuthentication").controller("strongAuthResponseController",n);n.$inject=["$scope","$state","$stateParams","$location"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y){var b,k,p,w,d;s.addPart("advanceLogin");h.refresh();n.formData={ssn:""};n.IsStronglyAuthenticated=!1;n.IsSsnTextBoxFieldVisible=y.showSsnTextBoxField;n.isEsuomiAuthenticationEnabled=y.IsEsuomiAuthenticationEnabled;var g=function(n){f.go("cards",{},{reload:!0});var t=h.instant("STRONG_CARDS_ADD_OK");t=t.replace("{0}",n.data);u.success(h.instant(t))},nt=function(n){var t=h.instant("ERROR_MESSAGES.STRONG_CARDS_LOAD_FAILURE");n.status===404&&(t=n.data.Message);f.go("cards");u.error(t)},tt=function(t){if(t.data)i.$emit("StrongAuthenticationChange",!0),r.set("SsnAuthenticated",!0),i.previousState.indexOf("profile")!==-1?f.go("profile.customer"):i.previousState.indexOf("cards.newcard")!==-1?(n.IsSsnTextBoxFieldVisible&&r.set("BuyerName","John Doe"),f.go("cards.newcard",{event:"self"})):a.getAllStrongCards(n.formData.ssn,h.use()).then(g,nt);else{var e=h.instant("TRAVELLER_NOT_FOUND");u.error(e)}},it=function(n){var t=h.instant("VERIFY_SSN_FAILURE");n.status===404&&(t=n.data.Message);u.error(t)};if(n.getAllStrongCards=function(){var t=h.use(),i=n.formData.ssn;a.getAllStrongCards(i,t).then(g,nt)},n.verifySsnAndGetAllStrongCards=function(t){var i,r;if(!t){angular.element("input.ng-invalid").first().focus();return}i=h.use();n.formData.ssn=n.formData.ssn.toUpperCase();r=n.formData.ssn;l.verifySsn(r,i).then(tt,it)},b=r.get("eventBeforeStrongAuth"),k=r.get("buyCardEventType"),o!==null&&o.status==200&&o.data!==null&&o.data!==null&&o.data.SsnAuthenticated)r.set("SsnAuthenticated",o.data.SsnAuthenticated),i.$emit("StrongAuthenticationChange",o.data.SsnAuthenticated),n.IsStronglyAuthenticated=!0,e.event!==undefined&&e.event==="customer_profile"?f.go("profile.customer"):e.event!==undefined&&e.event==="cards"?n.getAllStrongCards():e.event!==undefined&&e.event==="newcard"?k==="onbehalf"?f.go("cards.newcard",{event:"onbehalf"}):f.go("cards.newcard",{event:"self"}):b!==undefined&&b==="customer_profile"?f.go("profile.customer"):b!==undefined&&b==="newcard"?k==="onbehalf"?f.go("cards.newcard",{event:"onbehalf"}):f.go("cards.newcard",{event:"self"}):n.getAllStrongCards();else if(r.set("SsnAuthenticated",!1),i.$emit("StrongAuthenticationChange",!1),e.event!==null&&r.set("eventBeforeStrongAuth",e.event),p=e.status,y.IsEsuomiAuthenticationEnabled){if(p!==undefined&&p!==""){if(w="",p=p.toLocaleLowerCase(),p==="cancelled")w=h.instant("ERR_ESUOMI_STRONG_AUTH_CANCELLED");else if(p==="error")w=h.instant("ERR_ESUOMI_STRONG_AUTH_ERROR");else if(p==="invalidauthtype")w=h.instant("ERR_ESUOMI_INVALID_AUTH_TYPE");else if(p==="rejected")w=h.instant("ERR_ESUOMI_STRONG_AUTH_REJECTED");else if(p==="failure")w=h.instant("ERR_ESUOMI_STRONG_AUTH_FAILED");else if(p==="usernotfound"){if(b!==undefined&&b==="newcard"){k==="onbehalf"?f.go("cards.newcard",{event:"onbehalf"}):f.go("cards.newcard",{event:"self"});return}w=h.instant("ERR_STRONG_AUTH_USER_NOT_FOUND")}else w=h.instant("ERR_ESUOMI_STRONG_AUTH_GENERAL");u.error(w)}}else if(p!==undefined&&p!==""){if(w="",p=p.toLocaleLowerCase(),p==="cancelled")w=h.instant("ERR_STRONG_AUTH_CANCELLED");else if(p==="error")w=h.instant("ERR_STRONG_AUTH_ERROR");else if(p==="rejected")w=h.instant("ERR_STRONG_AUTH_REJECTED");else if(p==="failure")w=h.instant("ERR_STRONG_AUTH_FAILED");else if(p==="usernotfound"){if(d=r.get("eventBeforeStrongAuth"),d!==undefined&&d==="newcard"){f.go("cards.newcard",{event:"self"});return}w=h.instant("ERR_STRONG_AUTH_USER_NOT_FOUND")}else w=h.instant("ERR_STRONG_AUTH_GENERAL");u.error(w)}}angular.module("StrongAuthentication").controller("advanceLoginController",n);n.$inject=["$scope","$location","$rootScope","localStorageService","Notification","$state","$stateParams","profile","$translatePartialLoader","$translate","$timeout","strongAuthService","cardService","utilityService","ENV"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s){var l,a,h,c;r.addPart("advanceLogin");u.refresh();n.formData={ssn:""};n.cardNumber=i.cardNumber;n.IsStronglyAuthenticated=!1;n.IsSsnTextBoxFieldVisible=!0;n.isEsuomiAuthenticationEnabled=s.IsEsuomiAuthenticationEnabled;l=function(){t.go("cards.details.info.tslproducts",{cardnumber:n.cardNumber})};a=function(n){var t="";t=n.status===404?u.instant("ERR_STRONG_AUTH_USER_NOT_FOUND"):u.instant("VERIFY_SSN_FAILURE");o.error(t)};n.verifySsnAndGetAllStrongCards=function(){var i=u.use(),t;n.formData.ssn=n.formData.ssn.toUpperCase();t=n.formData.ssn;e.setCardStrongAuthetication(n.cardNumber,t,i).then(l,a)};h=i.status;s.IsTslTicketsEnabled?s.IsEsuomiAuthenticationEnabled?h!==undefined&&h!==""&&(c="",h=h.toLocaleLowerCase(),c=h==="cancelled"?u.instant("ERR_ESUOMI_STRONG_AUTH_CANCELLED"):h==="error"?u.instant("ERR_ESUOMI_STRONG_AUTH_ERROR"):h==="invalidauthtype"?u.instant("ERR_ESUOMI_INVALID_AUTH_TYPE"):h==="rejected"?u.instant("ERR_ESUOMI_STRONG_AUTH_REJECTED"):h==="failure"?u.instant("ERR_ESUOMI_STRONG_AUTH_FAILED"):h==="usernotfound"?u.instant("ERR_STRONG_AUTH_USER_NOT_FOUND"):u.instant("ERR_ESUOMI_STRONG_AUTH_FAILED"),o.error(c)):h!==undefined&&h!==""&&(c="",h=h.toLocaleLowerCase(),c=h==="cancelled"?u.instant("ERR_STRONG_AUTH_CANCELLED"):h==="error"?u.instant("ERR_STRONG_AUTH_ERROR"):h==="rejected"?u.instant("ERR_STRONG_AUTH_REJECTED"):h==="failure"?u.instant("ERR_STRONG_AUTH_FAILED"):h==="usernotfound"?u.instant("ERR_STRONG_AUTH_USER_NOT_FOUND"):u.instant("ERR_STRONG_AUTH_GENERAL"),o.error(c)):t.go("cards.details.info.card",{cardnumber:i.cardNumber})}angular.module("StrongAuthentication").controller("cardStrongAuthController",n);n.$inject=["$scope","$state","$stateParams","$translatePartialLoader","$translate","cardStrongAuthProfile","cardService","Notification","ENV"]}(),function(){"use strict";angular.module("StrongAuthentication").config(["$stateProvider",function(n){n.state("strongauthentication",{url:"/strongauthentication?:status:event",params:{event:null},cache:!1,views:{MenuBar:{templateUrl:"Home/Menu",controller:"menuController"},content:{templateUrl:"StrongAuthentication/AdvanceLogin",controller:"advanceLoginController",resolve:{profile:["userManagerService","$rootScope","$translate",function(n,t,i){return n.getProfile(i.use(),t.authentication.userName)}]}}}}).state("cardstrongauth",{url:"/cardstrongauthentication/:cardNumber?:status:event",cache:!1,views:{MenuBar:{templateUrl:"Home/Menu",controller:"menuController"},content:{templateUrl:"StrongAuthentication/AdvanceLogin",controller:"cardStrongAuthController",resolve:{cardStrongAuthProfile:["cardService","$stateParams","$translate",function(n,t,i){return n.getCardStrongAuthetication(t.cardNumber,i.use()).$promise}]}}}}).state("GoTovetuma",{url:"/strongauthentication/GotToVetuma/:cardNumber",cache:!1,views:{content:{templateUrl:"StrongAuthentication/GotoVetuma",controller:"strongAuthenticationcontroller",resolve:{settings:["configurationService","$stateParams","$translate","$location","localStorageService",function(n,t,i,r){return t.cardNumber!==undefined&&t.cardNumber!==null&&t.cardNumber.trim()!==""?n.getStrongAuthenticationsettingsForCard(t.cardNumber,r.absUrl().replace(r.url(),"").replace(/\#$/,""),i.use()):n.getStrongAuthenticationsettings(r.absUrl().replace(r.url(),"").replace(/\#$/,""),i.use())}]}}}}).state("GoToesuomi",{url:"/strongauthentication/GotToEsuomi/:cardNumber",cache:!1,views:{content:{controller:"strongAuthenticationcontroller",resolve:{settings:["configurationService","$stateParams","$translate","$location","localStorageService",function(n,t,i,r,u){return t.cardNumber!==undefined&&t.cardNumber!==null&&t.cardNumber.trim()!==""?(u.set("CardNumber",t.cardNumber),n.getStrongAuthenticationsettingsForCard(t.cardNumber,r.absUrl().replace(r.url(),"").replace(/\#$/,""),i.use())):n.getStrongAuthenticationsettings(r.absUrl().replace(r.url(),"").replace(/\#$/,""),i.use())}]}}}}).state("vetumaloginreturn",{url:"/vetumaloginreturn",cache:!1,views:{content:{templateUrl:"StrongAuthentication/Response",controller:"strongAuthResponseController"}}})}])}(),function(){"use strict";function n(n,t,i,r){i&&(r.set("eAuthWebAPISessionId",i.data.SuomifiWebApiSessionId),r.set("requestId",i.data.RequestId),n(function(){t.location.href=i.data.PrincipalSelectionUrl}))}angular.module("EAuthorization",["ui.router","ConfigurationService","UserManagerService"]).controller("eAuthorizationController",n);n.$inject=["$timeout","$window","settings","localStorageService"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h){var c,l;if(o.addPart("advanceeauthorization"),s.refresh(),n.IsStronglyAuthenticated=!1,n.IsAuthorized=!1,n.isEsuomiAuthenticationEnabled=h.IsEsuomiAuthenticationEnabled,e&&e.status===200&&e.data&&e.data.SsnAuthenticated&&i.get("eAuthAccessToken"))i.set("SsnAuthenticated",e.data.SsnAuthenticated),t.$emit("StrongAuthenticationChange",e.data.SsnAuthenticated),n.IsStronglyAuthenticated=!0,n.IsAuthorized=!0,u.go("cards.newcard",{event:"onbehalf"});else if(f.event!==null&&i.set("eventBeforeStrongAuth",f.event),c=f.status,c){if(l="",c=c.toLocaleLowerCase(),c==="error")l=s.instant("EAUTH_CANCELLED");else{if(c==="success"){u.go("cards.newcard",{event:"onbehalf"});return}l=s.instant("EAUTH_GENERIC_ERROR")}r.error(l)}}angular.module("EAuthorization").controller("advanceeAuthorizationController",n);n.$inject=["$scope","$rootScope","localStorageService","Notification","$state","$stateParams","profile","$translatePartialLoader","$translate","ENV"]}(),function(){"use strict";angular.module("EAuthorization").config(["$stateProvider",function(n){n.state("authorization",{url:"/authorization?:status:event",params:{event:null},cache:!1,views:{MenuBar:{templateUrl:"Home/Menu",controller:"menuController"},content:{templateUrl:"Authorization/AdvanceEAuthorization",controller:"advanceeAuthorizationController",resolve:{profile:["userManagerService","$rootScope","$translate",function(n,t,i){return n.getProfile(i.use(),t.authentication.userName)}]}}}}).state("gotoeauth",{url:"/auth/gotoeauthorization",cache:!1,views:{content:{controller:"eAuthorizationController",resolve:{settings:["configurationService","$translate","$location","Notification","$state",function(n,t,i,r,u){return n.getPrincipalSelectionUrl(i.absUrl().replace(i.url(),"").replace(/\#$/,""),t.use()).then(function(n){return n},function(n){n.status===412?r.error("Please strongly authenticate first in order to buy a new travel card on behalf of another person."):r.error("Error occured while processing your request! Please try again or contact administrator");u.go("authorization",{event:"newcard"})})}]}}}})}])}(),function(){"use strict";function n(n,t,i,r,u,f,e,o){var s,h,c,l,a;n.previousValidPrice="";t.addPart("GiftVoucher");i.refresh();n.responseproduct={MinValue:0,MaxValue:0,error:""};n.validatePurchaseDetailRequest={GiftVoucherTicketCode:"",Price:0,Vat:0};n.price;s=function(t){n.responseproduct.MinValue=t.data.MinValue;n.responseproduct.MaxValue=t.data.MaxValue;n.validatePurchaseDetailRequest.GiftVoucherTicketCode=t.data.Products[0].Id;n.previousValidPrice=t.data.MinValue+""};h=function(t){t.status===404?n.responseproduct.error=t.data.Message:t.status===405&&f.error(i.instant("FEATURE_NOT_AVAILABLE"))};n.GetGiftVoucherProducts=function(){u.getGiftVoucherProducts(i.use()).then(s,h)};o.IsGiftUsageEnabled?n.GetGiftVoucherProducts():e.go("cards");c=function(t){t.data.IsValid&&(f.success(i.instant("GIFT_VOUCHER_ADDED_TO_CART")),r.addGiftVoucherToCart(n.validatePurchaseDetailRequest))};l=function(t){t.status===400&&(t.data.Messages[0].Parameter==="Price"&&(f.error(t.data.Messages[0].Message),n.responseproduct.error=t.data.Messages[0].Message),t.data.Messages[0].Parameter==="TicketCode"&&(f.error(t.data.Messages[0].Message),n.responseproduct.error=t.data.Messages[0].Message));t.status===403&&(n.responseproduct.error=t.data.Message,f.error(t.data.Message))};n.addToCart=function(t){if(a()&&t){var r=n.price.indexOf(",")!==-1?n.price.replace(",","."):n.price;n.validatePurchaseDetailRequest.Price=parseFloat(r);u.isAbleToBuyGiftVoucher(n.validatePurchaseDetailRequest,i.use()).then(c,l)}};n.isNumeric=function(t){for(var u=[37,39,38,40,36,35],i,f,r=0;r<u.length;r++)if(t.which==u[r])return!0;return n.price==undefined||n.price==""?!0:(i=n.price.replace(",","."),f=!/^[1-9]\d*\.?\d{0,2}$/.test(i)&&!/^0\.?\d{0,2}$/.test(i),f)?(n.price=n.previousValidPrice.replace(".",","),!1):(n.previousValidPrice=i,i.indexOf(".")!=-1&&(n.price=i.replace(".",",")),!0)};a=function(){var t=n.price.replace(",","."),r,u;return t==""?!0:(r=parseFloat(t)>n.responseproduct.MaxValue,u=parseFloat(t)<n.responseproduct.MinValue,u||r)?(n.price=n.previousValidPrice.replace(".",","),f.error(i.instant("GIFT_MIN_MAX_PRICE",{MinValue:n.responseproduct.MinValue,MaxValue:n.responseproduct.MaxValue})),!1):(n.previousValidPrice=t,!0)}}angular.module("GiftVoucher",["ShoppingCartService"]).controller("giftVoucherProductsController",n);n.$inject=["$scope","$translatePartialLoader","$translate","shoppingCartService","productService","Notification","$state","ENV"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y){function b(i){if(i.status===200&&i.data.Parameter!=null)return n.paymentSuccessMessage=i.data.Message,s.removeAllProductsFromCart(),n.paymentSuccess=!0,t.$emit("totalCartPrice",0),!0;if(i.status===200&&i.data!==undefined&&i.data!==null){c.set("PAYMENT_RESPONSE_VALIDATION_MSG",e.instant("PAYMENT_RESPONSE_VALIDATION_MSG"));var r=document.querySelector("html"),u=document.createElement("html");u.innerHTML=i.data;r.parentNode.replaceChild(u,r);document.getElementById("postForm").submit()}}function k(i){if(i.status===503){var r=i.data.Message;s.removeAllProductsFromCart();n.paymentSuccess=!0;n.paymentInfoMessage=!0;n.paymentSuccessMessage=r;t.$emit("totalCartPrice",0)}else i.status===406?a.error(i.data.Message):a.error(e.instant("ERROR_PROCESS_SHOPPING_CART"))}function d(t){c.set("campaignCodeDetails",null);t!=null?(n.isCampaignValid=!0,n.showInvalidCampaignCodeMessage=!1,n.CampaignCodeDetails={Code:t.Code,CampaignType:t.Type,ShoppingCriteriaValue:t.ShoppingCriteriaValue,DiscountValue:t.DiscountValue,DiscountFormat:t.DiscountFormat,PurchaseType:t.PurchaseType},c.set("campaignCodeDetails",n.CampaignCodeDetails),s.setCampaignCodeDiscountToCart().then(function(){n.cartdetails=s.getAllCartItems();o.reload("cart")})):(n.isCampaignValid=!1,n.showInvalidCampaignCodeMessage=!0)}function g(t){var i=e.instant("ERROR_RESERVE_CAMPAIGN_CODE");t.ExceptionType!==undefined&&t.ExceptionType==="System.ArgumentException"?(n.isCampaignValid=!1,n.showInvalidCampaignCodeMessage=!0):a.error(i)}function nt(i){if(i.data.IsSucessFull){n.cartdetails=s.getAllCartItems();var r=n.cartdetails.TotalPrice<i.data.VoucherAmount?0:n.cartdetails.TotalPrice-i.data.VoucherAmount;n.cartdetails.CampaignCodeUseDetails&&(r=r-n.cartdetails.CampaignCodeUseDetails.DiscountInEuros);n.cartdetails.CartSum=Math.round(r*100)/100;n.GiftVoucherUseDetails.VoucherCode=i.data.VoucherCode;n.GiftVoucherUseDetails.VoucherAmount=i.data.VoucherAmount;n.GiftVoucherUseDetails.LeftAmount=i.data.LeftAmount;n.cartdetails!=null&&(n.cartdetails.GiftVoucherUseDetails=n.GiftVoucherUseDetails,c.set("cartProducts",n.cartdetails));t.$emit("totalCartPrice",n.cartdetails.CartSum);n.isValidGiftVoucherCode=!0;n.isCampaignCodeUsageAllowed=!1}}function tt(t){c.set("VoucherCode",null);n.isValidGiftVoucherCode=!1;n.errors=t.data.Message;t.status===405&&a.error(e.instant("FEATURE_NOT_AVAILABLE"))}var w,p;f.addPart("ShoppingCart");e.refresh();n.products=[];n.cartdetails={};n.giftVoucherItems=[];n.valueTicketItems=[];n.periodTicketItems=[];n.newCardItems=[];n.showErrorInvalidGiftVoucherCode=!1;n.showErrorRequiredGiftVoucherCode=!1;n.isValidGiftVoucherCode=!1;n.totalCartPrice=0;n.errors="";n.validationErrors="";n.giftVoucherPaymentSuccess=!1;n.paymentSuccess=!1;n.paymentInfoMessage=!1;n.GiftVoucherUseDetails={VoucherCode:"",VoucherAmount:0,LeftAmount:0};n.confirmProductsInCart=!1;n.isVetumaPaymentEnabled=!0;n.isPaytrailPaymentEnabled=!0;n.isCampaignUsageEnabled=v.IsCampaignUsageEnabled;n.isCampaignValid=!1;n.showCampaignCodeRequiredMessage=!1;n.showInvalidCampaignCodeMessage=!1;n.isGiftVoucherUsageAllowed=!0;n.isCampaignCodeUsageAllowed=!0;n.isGiftVoucherUsageFeatureEnabled=v.IsGiftUsageEnabled;y.data!==undefined&&(n.vetumaBankId=y.data.VetumaPaymentMethod.Key,n.isVetumaPaymentEnabled=y.data.VetumaPaymentMethod.Value,n.paytrailBankId=y.data.PaytrailPaymentMethod.Key,n.isPaytrailPaymentEnabled=y.data.PaytrailPaymentMethod.Value);n.CampaignCodeDetails=c.get("campaignCodeDetails");n.CampaignCodeDetails===null?n.CampaignCodeDetails={Code:"",CampaignType:"",ShoppingCriteriaValue:"",DiscountValue:0,DiscountFormat:"",PurchaseType:""}:(n.isCampaignValid=!0,n.isGiftVoucherUsageAllowed=!1);n.removeProductFromCart=function(){s.removeProductFromCart(n.remProduct).then(function(){if(n.cartdetails=s.getAllCartItems(),n.CampaignCodeDetails=c.get("campaignCodeDetails")?c.get("campaignCodeDetails"):null,n.cartdetails.GiftVoucherUseDetails){var t=s.isGiftVoucherCodeUsed();t.then(function(){o.reload();n.closeRemovePopup()})}else o.reload(),n.closeRemovePopup()})};n.emptyCart=function(){s.removeAllProductsFromCart();n.isCampaignCodeUsageAllowed=!0;n.isGiftVoucherUsageAllowed=!0;o.reload();t.$emit("totalCartPrice",0)};n.confirmPaytrailPayment=function(){n.confirmSubmitCart(n.paytrailBankId)};n.confirmVetumaPayment=function(){n.confirmSubmitCart(n.vetumaBankId)};n.confirmSubmitCart=function(t){n.selectedBankId=t;var i=r.open({templateUrl:"confirmProductModel.html",scope:n});n.hideConfirmProductDailog=function(){i.dismiss("cancel")};n.hideCampaignCodeRemovalModalDailog=function(){i.dismiss("cancel")};n.submitCart=function(){i.dismiss("cancel");s.processPurchase(e.use(),n.selectedBankId).then(b,k)};n.confirmProductsInCart=!0;n.valuePeriodInfoMessage=e.instant("VALUE_PERIOD_INFO_MESSAGE");n.newCardInfoMessage=e.instant("NEW_CARD_INFO_MESSAGE");n.giftVoucherInfoMessage=e.instant("GIFT_VOUCHER_INFO_MESSAGE");n.proceedToPaymentInfoMessage=e.instant("PROCEED_TO_PAYMENT_MESSAGE")};n.getCartDetails=function(){var u,r;if(n.cartdetails=s.getAllCartItems(),n.cartdetails!==undefined&&n.cartdetails!==null&&n.cartdetails.ProductDetails!==undefined&&n.cartdetails.ProductDetails!==null){if(u=n.cartdetails.ProductDetails,n.giftVoucherItems=i("filter")(u,{ProductType:"GiftVoucher"}),n.valueTicketItems=i("filter")(u,{ProductType:"Value"}),n.periodTicketItems=i("filter")(u,{ProductType:"Period"}),n.tslTicketItems=i("filter")(u,{ProductType:"TSL"}),n.newCardItems=i("filter")(u,{ProductType:"NewCard"}),n.shoppingCartItems=[],n.valueTicketItems.length>0)for(r in n.valueTicketItems)n.shoppingCartItems.push({ProductType:n.valueTicketItems[r].ProductType,Ticket:n.valueTicketItems[r].ValueTicket,CardNumber:n.valueTicketItems[r].ValueTicket.CardNumber,CardName:n.valueTicketItems[r].ValueTicket.CardName,CampaignDiscountPrice:n.valueTicketItems[r].ValueTicket.CampaignDiscountPrice});if(n.periodTicketItems.length>0)for(r in n.periodTicketItems)n.shoppingCartItems.push({ProductType:n.periodTicketItems[r].ProductType,Ticket:n.periodTicketItems[r].PeriodTicket,CardNumber:n.periodTicketItems[r].PeriodTicket.CardNumber,CardName:n.periodTicketItems[r].PeriodTicket.CardName,CampaignDiscountPrice:n.periodTicketItems[r].PeriodTicket.CampaignDiscountPrice});if(n.tslTicketItems.length>0)for(r in n.tslTicketItems)n.shoppingCartItems.push({ProductType:n.tslTicketItems[r].ProductType,Ticket:n.tslTicketItems[r].TslTicket,CardNumber:n.tslTicketItems[r].TslTicket.CardNumber,CardName:n.tslTicketItems[r].TslTicket.CardName,CampaignDiscountPrice:n.tslTicketItems[r].TslTicket.CampaignDiscountPrice});n.newCardItems.length===0&&n.valueTicketItems.length===0&&n.periodTicketItems.length===0&&n.tslTicketItems.length===0&&(n.isCampaignCodeUsageAllowed=!1);n.totalCartPrice=s.getCartTotalPrice(u);t.$emit("totalCartPrice",n.cartdetails.CartSum);n.cartdetails.GiftVoucherUseDetails&&(n.GiftVoucherUseDetails.VoucherCode=n.cartdetails.GiftVoucherUseDetails.VoucherCode,n.GiftVoucherUseDetails.VoucherAmount=n.cartdetails.GiftVoucherUseDetails.VoucherAmount,n.GiftVoucherUseDetails.LeftAmount=n.cartdetails.GiftVoucherUseDetails.LeftAmount,n.isValidGiftVoucherCode=!0,n.isCampaignCodeUsageAllowed=!1)}};n.confirmcartItemRemoval=function(t,i){if(n.remProduct=t,s.getAllCartItems().ProductDetails.length==1)return n.confirmEmptyCart(i),!0;var u=r.open({templateUrl:"remproductModal.html",scope:n});n.closeRemovePopup=function(){u.dismiss("cancel")};i.preventDefault()};n.confirmEmptyCart=function(t){var i=r.open({templateUrl:"remAllProductModal.html",scope:n});n.closeEmptyCartPopup=function(){i.dismiss("cancel")};t.preventDefault()};n.confirmCampaignCodeRemoval=function(){var t=r.open({templateUrl:"confirmCampaignCodeRemovalModal.html",scope:n});n.closeRemoveCampaignCodePopup=function(){t.dismiss("cancel")}};n.confirmGiftVoucherRemoval=function(){var t=r.open({templateUrl:"confirmGiftVoucherRemovalModal.html",scope:n});n.closeRemoveGiftVoucherCodePopup=function(){t.dismiss("cancel")}};n.removeCampaignCodeUsage=function(){s.removeCampaignCodeUsage().then(function(){n.CampaignCodeDetails=null;n.isCampaignValid=!1;n.showCampaignCodeRequiredMessage=!1;n.showInvalidCampaignCodeMessage=!1;n.isGiftVoucherUsageAllowed=!0;o.reload()})};n.removeGiftVoucherCode=function(){s.removeGiftVoucherCode().then(function(){n.GiftVoucherUseDetails="";n.isValidGiftVoucherCode=!1;n.showErrorInvalidGiftVoucherCode=!1;n.showErrorRequiredGiftVoucherCode=!1;n.isCampaignCodeUsageAllowed=!0;o.reload()})};n.continueShopping=function(){t.$emit("totalCartPrice",n.totalCartPrice);o.go("cards")};n.validateGiftVoucherCode=function(i){if(i.length==0)return n.errors="",n.validationErrors=e.instant("VOUCHER_CODE_EMPTY"),!1;if(n.validationErrors="",n.showCampaignCodeRequiredMessage=!1,n.showInvalidCampaignCodeMessage=!1,n.errors="",n.cartdetails=s.getAllCartItems(),n.cartdetails.GiftVoucherUseDetails&&n.cartdetails.GiftVoucherUseDetails.VoucherCode!=i){var r=Math.round((n.cartdetails.GiftVoucherUseDetails.VoucherAmount-n.cartdetails.GiftVoucherUseDetails.LeftAmount)*100)/100;n.cartdetails.CartSum=Math.round((n.cartdetails.CartSum+r)*100)/100;t.$emit("totalCartPrice",n.cartdetails.CartSum);n.cartdetails.GiftVoucherUseDetails="";c.set("cartProducts",n.cartdetails)}h.validateGiftVoucherCode(n.cartdetails.TotalPrice,i).then(nt,tt)};n.validateCampaignCode=function(t){if(n.validationErrors="",n.errors="",t===undefined||t.length==0)return n.showCampaignCodeRequiredMessage=!0,!1;(n.showCampaignCodeRequiredMessage=!1,n.cartdetails=s.getAllCartItems(),n.cartdetails.CampaignCodeUseDetails&&n.cartdetails.CampaignCodeUseDetails.CampaignCode==t)||n.cartdetails!==undefined&&n.cartdetails!==null&&n.cartdetails.ProductDetails!==undefined&&n.cartdetails.ProductDetails!==null&&l.validateCampaignCode(t,e.use()).then(d,g)};n.change=function(){n.showCampaignCodeRequiredMessage=n.cartdetails.CampaignCodeUseDetails.CampaignCode==="";n.showInvalidCampaignCodeMessage=!1};w=c.get("PaymentSuccessMsg");w!==null&&(n.paymentSuccess=!0,n.paymentSuccessMessage=w,c.remove("PaymentSuccessMsg"),t.$emit("totalCartPrice",0));p=c.get("PaymentErrorMsg");p!==null&&(c.remove("PaymentErrorMsg"),c.get("cartProducts")!==null?(a.error(p),n.getCartDetails()):(n.paymentSuccess=!0,n.paymentInfoMessage=!0,n.paymentSuccessMessage=p,t.$emit("totalCartPrice",0)));w===null&&p===null&&n.getCartDetails()}angular.module("ShoppingCart",["ui.bootstrap","ProductService","ConfigurationService","angular.filter"]).controller("shoppingCartController",n);n.$inject=["$scope","$rootScope","$filter","$uibModal","$location","$translatePartialLoader","$translate","$state","shoppingCartService","productService","localStorageService","campaignService","Notification","ENV","paymentMethods"]}(),function(){"use strict";angular.module("ShoppingCart").config(["$stateProvider","$urlRouterProvider",function(n){n.state("cart",{url:"/cart",cache:!1,views:{MenuBar:{templateUrl:"Home/Menu",controller:"menuController"},content:{templateUrl:"ShoppingCart/Index",controller:"shoppingCartController",resolve:{paymentMethods:["configurationService",function(n){return n.getActivePaymentMethods().then(function(n){return n})}]}}}})}])}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c){function nt(){t.model.employeeList=[];t.model.totalEmployees=0;t.model.pager.pageNo=1;r.current.name==="employer.employees"&&t.$broadcast("CompanySelectionChangedUpdateEmployees",{});r.current.name==="employer.details"&&t.$broadcast("DefaultEmployerFoundGetDetails",{});r.current.name==="employer.import"&&t.$broadcast("CompanySelectionChangedUpdateImport",{});t.model.defaultUserCompany.CompanyId!==undefined&&t.model.previousUserCompany.CompanyId!==t.model.defaultUserCompany.CompanyId&&(t.getPersonCountImportStatus(),n.setDefaultEmployer(t.model.defaultUserCompany.CompanyId,f.use()));t.model.previousUserCompany=t.model.defaultUserCompany}var b,k,d,g,y,tt,it;e.addPart("Employer");f.refresh();var a=0,v,rt,p,l=0,w=30;t.model={isCompanyListAvailable:!1,isCompanyNameVisible:!0,isCompanyPersonsAvailable:!1,isEmployerDetailsAvailable:!1,isImportInProgress:!1,userCompanyList:{},defaultUserCompany:{},selectedCompany:{},employerDetails:{},employeeList:[],previousUserCompany:{},totalEmployees:0,pager:{pageNo:1,rowsOnPage:c.defaultNoOfRowsPersons},numberOfPersons:0};b=function(n){n!=null&&(t.model.isImportInProgress=n.IsImportInProgress,n.IsImportInProgress?(t.model.isCompanyPersonsAvailable=!1,i.isImportInProcess=!0,t.model.employeeList=[]):(t.model.isCompanyPersonsAvailable=!0,i.isImportInProcess=!1),t.countCompanyPerson(n.PersonCount))};i.isCompanyUser=!0;k=function(){t.model.isCompanyPersonsAvailable=!1;i.isImportInProcess=!0};t.getPersonCountImportStatus=function(){n.getPersonsCountAndImportStatus(t.model.defaultUserCompany.CompanyId,f.use()).then(b,k)};d=function(n){n.status===404?o.error(f.instant(n.data.Message)):o.error(f.instant("EMPLOYERS_RETRIVAL_ERROR_MSG"))};g=function(n){n.data.UserCompanys!==null&&(t.model.userCompanyList=n.data.UserCompanys,n.data.DefaultComapnyId!==undefined&&n.data.DefaultComapnyId!==""&&n.data.UserCompanys!==undefined&&n.data.UserCompanys.length>0&&(t.model.defaultUserCompany=n.data.UserCompanys.filter(function(n){return n.CompanyId===parseInt(this)},n.data.DefaultComapnyId)[0],t.model.defaultUserCompany=t.model.defaultUserCompany===undefined||t.model.defaultUserCompany===null?n.data.UserCompanys[0]:t.model.defaultUserCompany,t.model.selectedCompany=t.model.defaultUserCompany,t.model.previousUserCompany=t.model.defaultUserCompany,t.model.isCompanyListAvailable=!0,t.getPersonCountImportStatus(),nt()))};t.getUserCompanies=function(){n.getAuthenticatdUserCompanies(f.use()).then(g,d)};t.getUserCompanies();t.ChangeUserCompany=function(){t.model.defaultUserCompany=t.model.selectedCompany;t.model.isCompanyNameVisible=!t.model.isCompanyNameVisible;nt()};y=function(n){t.timeoutObj=h(function(){l+=p;a++;l===n||a>=v?(h.cancel(rt),l=n,t.model.numberOfPersons=Math.ceil(l)):(t.model.numberOfPersons=Math.ceil(l),y(n))},w)};t.countCompanyPerson=function(n){l=0;a=0;v=Math.ceil(1e3/w);p=n/v;y(n)};t.ResetUserComapnySelection=function(){t.model.previousUserCompany!==undefined&&t.model.previousUserCompany.CompanyId!==undefined&&(t.model.selectedCompany=t.model.previousUserCompany);t.model.isCompanyNameVisible=!t.model.isCompanyNameVisible};tt=function(n){n!==null&&n!==undefined?s.downloadFile(f.instant("TAB_EMPLOYEES")+".xls","application/ms-excel;base64",n):o.error(f.instant("GENERIC_ERROR"))};it=function(n){n.status===500?o.error(f.instant("EXPORT_ERROR")):n.status===404?o.error(f.instant("NO_EMPLOYEES_MSG")):o.error(f.instant("GENERIC_ERROR"))};t.exportAllEmployees=function(){t.information="";t.model.defaultUserCompany!==undefined&&t.model.defaultUserCompany.CompanyId!==undefined&&n.exportEmployees(t.model.defaultUserCompany.CompanyId,"","",f.use()).then(tt,it)}}angular.module("Employer",["ui.router","angularFileUpload","angularUtils.directives.dirPagination","validation.match"]).controller("employerController",n);n.$inject=["employerService","$scope","$rootScope","$state","$stateParams","$translate","$translatePartialLoader","Notification","utilityService","$timeout","ENV"]}(),function(){"use strict";function n(n,t,i,r,u,f,e){i.addPart("Employer");r.refresh();t.employerData={AddressMunicipality:"",AddressStreet:"",AddressZipCode:"",AllowProductsForPerson:!1,BusinessId:"",BusinessIdExtension:"",IsDeleted:!1,Email:"",Name:"",Phone:"",StartDate:"",SupportLimit:0,SupportType:"",ID:"",SAPloadType:"",SAPnumber:"",WorkMunicipality:"",DeletedDate:"",Type:"",ContactPerson1:{Name:"",Email:"",Phone:""},ContactPerson2:{Name:"",Email:"",Phone:""},ContactPerson3:{Name:"",Email:"",Phone:""}};var o=function(n){n!=null&&n!==undefined?(t.employerData=n,t.model.isEmployerDetailsAvailable=!0,t.model.employerDetails=n,n.Name!==t.model.defaultUserCompany.CompanyName&&t.model.userCompanyList!==undefined&&angular.forEach(t.model.userCompanyList,function(i,r){i.CompanyId===t.model.defaultUserCompany.CompanyId&&(t.model.userCompanyList[r].CompanyName=n.Name)})):t.model.isEmployerDetailsAvailable=!1},s=function(n){t.model.isEmployerDetailsAvailable=!1;n.status===404?t.information=r.instant("NO_EMPLOYER_DETAILS_MSG"):f.error(r.instant("EMPLOYERS_DETAILS_RETRIVAL_ERROR_MSG"))};t.getEmployerDetails=function(){t.model.defaultUserCompany.CompanyId!==undefined&&(t.model.employerDetails.Name==undefined||t.model.defaultUserCompany.CompanyId!==t.model.employerDetails.ID?n.getEmployerDetails(t.model.defaultUserCompany.CompanyId,t.model.defaultUserCompany.CompanyName,r.use()).then(o,s):(t.employerData=t.model.employerDetails,t.model.isEmployerDetailsAvailable=!0))};t.getEmployerDetails();e.hideErrorMessage();t.$on("DefaultEmployerFoundGetDetails",function(){t.getEmployerDetails()})}angular.module("Employer").controller("companyDetailsController",n);n.$inject=["employerService","$scope","$translatePartialLoader","$translate","ENV","Notification","utilityService"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h){function it(t){t!=null&&(n.model.employerDetails=t,n.isCompanyTypeSchool=n.model.employerDetails.SupportType===f.SchoolSupportType?!0:!1,n.isCompanyTypeKela=n.model.employerDetails.SupportType===f.KelaSupportType?!0:!1,t.Name!==n.model.defaultUserCompany.CompanyName&&n.model.userCompanyList.forEach(function(i,r,u){i.CompanyId===n.model.defaultUserCompany.companyId&&(u[r].CompanyName=t.Name)}))}function rt(){u.error(t.instant("GENERIC_ERROR"))}var p,w,a,v,b,y,k,d,g;i.addPart("Employees");t.refresh();n.filterCriteria={ssn:"",firstName:"",lastName:""};n.ssn="";n.firstName="";n.lastName="";n.ssnRegex=f.ssnRegex;n.onlyDigitRegex=f.schoolNumberRegex;n.rowsOnPageSelect=f.rowsOnPersonsPageSelect.split(",");n.personSupportLimitMax=f.personSupportLimitMax;n.kilometersMax=f.kilometersMax;n.isDataAvailable=!1;n.information="";n.uIDateFormatExcludeTime=f.uIDateFormatExcludeTime;n.editEmployeeModel={};n.purchaseReportModel={SSN:"",FirstName:"",LastName:"",StartDate:"",EndDate:""};n.isCompanyTypeSchool=!1;n.isCompanyTypeKela=!1;var l="",nt=function(t){t!==undefined&&t!==null&&t.Employees!==undefined&&t.Employees!==null&&(n.model.employeeList=t.Employees,n.model.totalEmployees=t.TotalCount,t.Employees.length>0&&(n.isDataAvailable=!0))},tt=function(i){n.isDataAvailable=!1;i.status===404?(n.model.employeeList=[],n.information=n.filterCriteria.ssn||n.filterCriteria.firstName||n.filterCriteria.lastName?"PERSON_NOT_FOUND":"NO_EMPLOYEES_MSG"):u.error(t.instant("EMPLOYEES_RETRIEVAL_ERROR"))},c=function(){n.information="";n.model.defaultUserCompany!==undefined&&n.model.defaultUserCompany.CompanyId!==undefined&&r.getEmployees(n.model.defaultUserCompany.CompanyId,n.model.pager.pageNo,n.model.pager.rowsOnPage,n.filterCriteria.ssn,n.filterCriteria.firstName,n.filterCriteria.lastName,t.use()).then(nt,tt)};n.filter=function(){n.model.pager.pageNo=1;n.filterCriteria.ssn=n.ssn.trim();n.filterCriteria.firstName=n.firstName.trim();n.filterCriteria.lastName=n.lastName.trim();c()};n.reset=function(){n.ssn="";n.firstName="";n.lastName="";n.model.pager.pageNo=1;n.filterCriteria.ssn="";n.filterCriteria.firstName="";n.filterCriteria.lastName="";c()};n.pageChanged=function(t){n.model.pager.pageNo=t;c()};n.removeEmployee=function(t){l=t.SSN;n.removeEmpPopupInstance=e.open({templateUrl:"RemoveEmployee.tpl.html",scope:n})};n.hideRemoveEmployeeDailog=function(){n.removeEmpPopupInstance.dismiss("cancel")};p=function(){u.success(t.instant("EMPLOYEE_DELETE_SUCCESS"));c();n.getPersonCountImportStatus()};w=function(){u.error(t.instant("EMPLOYEE_DELETE_ERROR"))};n.removeEmployeeConfirm=function(){n.model.defaultUserCompany!==undefined&&n.model.defaultUserCompany.CompanyId!==undefined&&l!==""&&r.deleteEmployee(n.model.defaultUserCompany.CompanyId,l).then(p,w);n.removeEmpPopupInstance.dismiss("cancel")};n.showUpdateEmployeeDailog=function(i,f){n.isSupportLimitValid=!0;n.isNewEmployee=f;n.editEmployeeModel={};f?n.updateEmpPopupInstance=e.open({templateUrl:"EditEmployee.tpl.html",scope:n}):r.getEmployee(n.model.defaultUserCompany.CompanyId,i.SSN).then(function(t){n.editEmployeeModel=t;n.updateEmpPopupInstance=e.open({templateUrl:"EditEmployee.tpl.html",scope:n})},function(){u.error(t.instant("EMPLOYEE_RETRIEVAL_ERROR"))})};n.hideUpdateEmployeeDailog=function(){n.updateEmpPopupInstance.dismiss("cancel")};a=function(){n.ssn=n.filterCriteria.ssn=n.editEmployeeModel.SSN;n.model.pager.pageNo=1;c();n.hideUpdateEmployeeDailog();u.success(t.instant("EMPLOYEE_UPDATION_SUCCESS"));n.isNewEmployee&&n.getPersonCountImportStatus()};v=function(){u.error(t.instant("EMPLOYEE_UPDATION_ERROR"))};n.updateEmployee=function(){n.isNewEmployee?r.addEmployee(n.model.defaultUserCompany.CompanyId,n.editEmployeeModel,t.use()).then(a,v):r.updateEmployee(n.model.defaultUserCompany.CompanyId,n.editEmployeeModel,t.use()).then(a,v)};b=function(){n.model.employerDetails.Name==undefined||n.model.defaultUserCompany.CompanyName!==n.model.employerDetails.Name?r.getEmployerDetails(n.model.defaultUserCompany.CompanyId,n.model.defaultUserCompany.CompanyName,t.use()).then(it,rt):n.employerData=n.model.employerDetails};n.isSupportLimitValid=!0;n.validateSupportLimit=function(){return n.isSupportLimitValid=n.editEmployeeModel.SupportLimit!==undefined&&n.editEmployeeModel.SupportLimit!==null&&n.editEmployeeModel.SupportLimit>f.personSupportLimitMax?!1:!0,n.isSupportLimitValid};y=function(){n.isDataAvailable=!1;n.model.defaultUserCompany!==null&&n.model.defaultUserCompany!==undefined&&n.model.defaultUserCompany.CompanyId!==null&&n.model.defaultUserCompany.CompanyId!==undefined&&(n.model.employeeList===undefined||n.model.employeeList.length===0?(c(),n.model.employerDetails===undefined||n.model.employerDetails===null||n.model.employerDetails.ID===undefined||n.model.employerDetails.ID===null||n.model.employerDetails.ID!==n.model.defaultUserCompany.CompanyId?b():(n.isCompanyTypeSchool=n.model.employerDetails.SupportType===f.SchoolSupportType?!0:!1,n.isCompanyTypeKela=n.model.employerDetails.SupportType===f.KelaSupportType?!0:!1)):(n.isDataAvailable=!0,n.employeeList=n.model.employeeList,n.totalEmployees=n.model.totalEmployees,n.isCompanyTypeSchool=n.model.employerDetails.SupportType===f.SchoolSupportType?!0:!1,n.isCompanyTypeKela=n.model.employerDetails.SupportType===f.KelaSupportType?!0:!1))};y();n.setStartDate=function(){var n=new Date;return n.setMonth((new Date).getMonth()-f.ReportPreSeletectedMonths),h("date")(n,f.uIDateFormatExcludeTime)};n.setEndDate=function(){return h("date")(new Date,f.uIDateFormatExcludeTime)};n.hidePurchaseReportDailog=function(){n.purchaseReportPopupInstance.dismiss("cancel")};n.showPurchaseReportDialog=function(i){i!==null&&i!==undefined?(n.purchaseReportModel.SSN=i.SSN,n.purchaseReportModel.FirstName=i.FirstName,n.purchaseReportModel.LastName=i.LastName,n.purchaseReportModel.StartDate=n.setStartDate(),n.purchaseReportModel.EndDate=n.setEndDate(),n.purchaseReportPopupInstance=e.open({templateUrl:"PurchaseReport.tpl.html",scope:n,windowClass:"purchaseReport-modal-window"})):u.error(t.instant("GENERIC_ERROR"))};k=function(i){n.hidePurchaseReportDailog();i!==null&&i!==undefined?i.byteLength!==undefined&&i.byteLength>0?s.downloadFile("purchasereport.pdf","application/pdf;base64",i):u.error(t.instant("REPORT_CONTENT_NOT_FOUND_ERROR")):u.error(t.instant("GENERIC_ERROR"))};d=function(){u.error(t.instant("GENERIC_ERROR"))};n.getPurchaseReport=function(i,u){i&&r.getPurchaseReport(n.model.defaultUserCompany.CompanyId,u.SSN,u.StartDate,u.EndDate,t.use()).then(k,d)};g=o.$on("$translateChangeSuccess",function(){var n=t.use();s.setDatePickerLanguage(n)});n.$on("$destroy",function(){g()});n.openStartDate=function(n){n.preventDefault();$("#startDate").focus()};n.openEndDate=function(n){n.preventDefault();$("#endDate").focus()};s.hideErrorMessage();n.$on("CompanySelectionChangedUpdateEmployees",function(){y()})}angular.module("Employer").controller("employeesController",n);n.$inject=["$scope","$translate","$translatePartialLoader","employerService","Notification","ENV","$uibModal","$rootScope","utilityService","$filter"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h){function l(t){n.model.defaultUserCompany!==undefined&&n.model.defaultUserCompany.CompanyId!==undefined&&(n.importHistoryRequest.companyId=n.model.defaultUserCompany.CompanyId,n.importHistoryRequest.from=t===0?0:n.importHistoryRequest.importHistoryPerPage*(t-1),n.importHistoryRequest.count=n.importHistoryRequest.importHistoryPerPage,o.getFileImportHistory(n.importHistoryRequest,e.use()).then(y,p))}function y(t){t.TotalHistoryCount===0?n.isHistoryAvailable=!1:(n.importHistoryResponse.importHistory=t.importHistory,n.importHistoryRequest.importHistoryPerPage=t.Profile_RowsOnPage.toString(),n.importHistoryResponse.totalImportHistoryCount=t.TotalHistoryCount,n.isHistoryAvailable=!0);n.model.isImportInProgress=t.IsFileInProgress;t.IsFileInProgress?h.isImportInProcess=!0:(n.model.isCompanyPersonsAvailable||o.getPersonsCountAndImportStatus(n.model.defaultUserCompany.CompanyId,e.use()).then(a,v),h.isImportInProcess=!1)}function p(){n.isHistoryAvailable=!1;h.isImportInProcess=!1}var c,a,v;f.addPart("EmployeesImport");e.refresh();n.rowsOnPageSelect=r.rowsOnHistoryPageSelect.split(",");n.uIDateFormat=r.uIDateFormat;n.isHistoryAvailable=!1;n.importHistoryResponse={importHistory:"",totalImportHistoryCount:""};n.importHistoryRequest={companyId:0,from:0,count:0,importHistoryPerPage:"0"};c=n.uploader=new t;c.filters.push({name:"extensionFilter",fn:function(n){var t=n.name,i=t.substring(t.lastIndexOf(".")+1).toLowerCase();return i==="csv"?!0:(u.error(e.instant("FILE_FORMAT")),!1)}});c.onAfterAddingFile=function(){i.hideAllMessages();u.success(e.instant("ADD_FILE"))};c.onSuccessItem=function(){i.hideAllMessages();n.model.isCompanyPersonsAvailable=!1;n.model.employeeList=[];h.isImportInProcess=!0;l()};c.onErrorItem=function(n,t,r){if(r===405){h.isImportInProcess=!0;u.error(e.instant("IMPORT_IN_PROGRESS"));return}if(r===403){u.error(t.Message);return}var f="";f=e.instant("EmployeesImportFailed")+"<br/>";angular.forEach(t.Messages,function(n){f+=n.Message+"<br/>"});i.showErrorMessage(f)};c.onBeforeUploadItem=function(t){t.headers={Authorization:"Bearer "+i.getJWTToken().token};t.url="";t.url=r.backendURL+"api/v1/Employer/UploadFile?lang="+e.use()+"&companyId="+n.model.defaultUserCompany.CompanyId};a=function(t){t!=null&&(n.model.isCompanyPersonsAvailable=!0,n.model.numberOfPersons=t.PersonCount,h.isImportInProcess=!1)};v=function(){n.model.isCompanyPersonsAvailable=!1;h.isImportInProcess=!0};n.showErrors=function(t){t.ImportId>0&&o.getImportErrors(t.ImportId,e.use()).then(function(i){n.selectedHistory=t.FileName;n.fileType=t.FileName.replace(/^.*\./,"").toLowerCase();n.errorMsg=i;n.importErrorsPopUp=s.open({templateUrl:"ImportErrors.tpl.html",scope:n})},function(){u.error(e.instant("NO_ERRORS_FOUND"))})};n.hideErrorsDailog=function(){n.importErrorsPopUp.dismiss("cancel")};n.pageChanged=function(n){l(n)};l(0);n.$on("CompanySelectionChangedUpdateImport",function(){c.clearQueue();i.hideAllMessages();l(0)})}angular.module("Employer").controller("importController",n);n.$inject=["$scope","FileUploader","utilityService","ENV","Notification","$translatePartialLoader","$translate","employerService","$uibModal","$rootScope"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s){i.addPart("Employees");t.refresh();n.employeeData={employeeList:[],totalEmployees:0,pager:{pageNo:1,rowsOnPage:"10"},SSN:"",FirstName:"",LastName:""};var h=function(t){t!==undefined&&t!==null&&t.Employees!==undefined&&t.Employees!==null&&(n.employeeData.employeeList=t.Employees,n.employeeData.totalEmployees=t.TotalCount,n.employeeData.pager.pageNo=f.pageNo,n.employeeData.pager.rowsOnPage=f.rowsOnPage,n.employeeData.SSN=f.ssn,n.employeeData.FirstName=f.firstName,n.employeeData.LastName=f.lastName,o(function(){s.print()},800))},c=function(i){n.isDataAvailable=!1;i.status===404?n.information=t.instant("NO_EMPLOYEES_MSG"):u.error(t.instant("EMPLOYEES_RETRIEVAL_ERROR"))},l=function(){r.getEmployees(f.companyId,f.pageNo,f.rowsOnPage,f.ssn,f.firstName,f.lastName,t.use()).then(h,c)};e.$emit("flag",!0);l()}angular.module("Employer").controller("employeesPrintController",n);n.$inject=["$scope","$translate","$translatePartialLoader","employerService","Notification","$stateParams","$rootScope","$timeout","$window"]}(),function(){"use strict";angular.module("Employer").config(["$stateProvider",function(n){n.state("employer",{url:"/employer",cache:!1,views:{content:{templateUrl:"Employer/Index",controller:"employerController"}}}).state("employer.details",{url:"/details",cache:!1,templateUrl:"Employer/CompanyDetails",controller:"companyDetailsController"}).state("employer.employees",{url:"/employees",cache:!1,templateUrl:"Employer/Employees",controller:"employeesController"}).state("employer.import",{url:"/import",cache:!1,templateUrl:"Employer/Import",controller:"importController"}).state("printemployees",{url:"/employer/printemployees/:companyId/:pageNo/:rowsOnPage/:ssn/:firstName/:lastName",cache:!1,views:{printcontent:{templateUrl:"Employer/PrintEmployees",controller:"employeesPrintController"}}})}])}(),function(){"use strict";function n(n,t,i,r,u){var f={},e=function(n){n.headers=n.headers||{};var t=r.get("authentication");return t&&(n.headers.Authorization="Bearer "+t.token),n},o=function(i){var r;if(i.status===401)r=u.get("authService"),r.logout(),t.path("/login");else if(i.status===503)$window.location.reload();else if(i.status===-1){var f=u.get("$translate"),e=f.instant("SERVICE_UNAVAILABLE_MESSAGE"),o=u.get("Notification");o.error(e)}return n.reject(i)};return f.request=e,f.responseError=o,f}angular.module("AuthInterceptorService",["config","CookieService"]).factory("authInterceptorService",n);n.$inject=["$q","$location","$rootScope","cookieService","$injector"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s){var a=e.backendURL,c={},h={isAuth:!1,userName:"",token:""},y=function(t){return l(),n.post(a+"api/account/register",t).then(function(n){return n})},p=function(i){f.clearAll();var o=t.defer();return n({method:"POST",url:a+"oauth/token",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=utf-8",app_key:e.applicationKey},transformRequest:function(n){var i=[],t;for(t in n)i.push(encodeURIComponent(t)+"="+encodeURIComponent(n[t]));return i.join("&")},data:{username:i.userName,password:i.password,grant_type:"password"}}).success(function(n){h.isAuth=!0;h.userName=i.userName;h.token=n.access_token;r.authentication=h;u.put("authentication",r.authentication);o.resolve(n)}).error(function(n,t){l();n.status=t;o.reject(n)}),o.promise},l=function(){o.unwatch();r.authentication=undefined;u.remove("authentication");u.remove("IsCompanyUser");h.isAuth=!1;h.userName="";h.token="";f.clearAll();s.hideAllMessages()},w=function(){var i=t.defer(),r=s.getUserType();return r&&n({method:"GET",url:e.oldNellaProLogoutUrl}).then(function(){i.resolve()},function(){i.resolve()}),i.promise},v=function(){var n=u.get("authentication");r.authentication=n;n!==undefined&&n!==null&&(h.isAuth=!0,h.userName=n.userName,h.token=n.token)};return v(),c.saveRegistration=y,c.login=p,c.logout=l,c.fillAuthData=v,c.authentication=h,c.logoutFromOldNella=w,c}angular.module("AuthService",["config","ngCookies","CookieService","ngIdle"]).service("authService",n);n.$inject=["$http","$q","$cookieStore","$rootScope","cookieService","localStorageService","ENV","Idle","utilityService"]}(),function(){"use strict";function n(n,t,i,r){var f=r.backendURL,h="api/v1/Campaign/CampaignCode/",c="api/v1/Campaign/CampaignCode/Reserve",l="api/v1/Campaign/CampaignCode/Validate",a="api/v1/Campaign/CampaignCode/DeleteUsage",u={},v=function(i,r){var u=t.defer();return n.get(f+h+"/"+i+"?lang="+r).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)}),u.promise},s=function(r,u,s,h,c){var v=t.defer(),a=i.get("cartProducts"),y,g;if(!a)return v.resolve(null),v.promise;y=s;y||(y=e(a.ProductDetails));var w=0,b=0,p=0,d=k(a.ProductDetails);return c?(b=c!==undefined?c.ProductType==="TSL"?c.TslPrice:c.ProductPrice:0,p=h!==undefined?h.ProductType==="TSL"?h.MyPrice:h.ProductPrice:0,w=a.CampaignCodeDetails?a.CartSum:o(a.TotalPrice-d-b+p)):(p=h!==undefined?h.ProductType==="TSL"?h.MyPrice:h.ProductPrice:0,w=a.CampaignCodeDetails?a.CartSum:o(a.TotalPrice-d+p)),g={CampaignCodeDetails:{Code:r},TotalCartValue:w,ProductCodes:y},n.post(f+l+"?lang="+u,JSON.stringify(g)).success(function(n){v.resolve(n)}).error(function(n){v.reject(n)}),v.promise},y=function(n,r,u){var h=t.defer(),c=i.get("campaignCodeDetails"),l,f,o;if(c){if(l=i.get("cartProducts"),f=e(l.ProductDetails),r)for(o=0;o<f.length;o++)if(f[o].Key===r.ProductType&&f[o].Value===r.ProductCode){f.splice(o,1);break}f.push({Key:n.ProductType,Value:n.ProductCode});s(c.Code,u,f,n,r).then(function(){h.resolve()},function(){h.reject()})}else h.resolve();return h.promise},p=function(i,r){var u=t.defer();return n.post(f+c+"?lang="+r,JSON.stringify(i)).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)}),u.promise},w=function(){},b=function(i){var r=t.defer();return n.delete(f+a+"/"+i).success(function(n){r.resolve(n)}).error(function(n){r.reject(n)})},e=function(n){for(var r=[],i,t=0;t<n.length;t++){i="";switch(n[t].ProductType){case"GiftVoucher":i=n[t].GiftVoucher.ProductCode;break;case"Value":i=n[t].ValueTicket.ProductCode;break;case"Period":i=n[t].PeriodTicket.ProductCode;break;case"NewCard":i=n[t].NewCard.ProductCode;break;case"TSL":i=n[t].TslTicket.ProductCode}r.push({Key:n[t].ProductType,Value:i})}return r},k=function(n){for(var i=0,t=0;t<n.length;t++)n[t].ProductType==="GiftVoucher"&&(i+=n[t].GiftVoucher.ProductPrice);return o(i)},o=function(n){return Math.round(n*100)/100};return u.getCampaignCodeInformation=v,u.reserveCampaignCode=p,u.confirmCampaignCode=w,u.validateCampaignCode=s,u.deleteCampaignCodeUsage=b,u.getAllCartProductCodes=e,u.isCampaignUsageValid=y,u}angular.module("CampaignService",["config"]).service("campaignService",n);n.$inject=["$http","$q","localStorageService","ENV"]}(),function(){"use strict";function n(n,t,i,r){var f=i.backendURL,e="api/v1/Cards",o="api/v1/StrongCards",s="api/v1/cards/add",h="api/v1/Card/UpdateCardName",c="api/v1/Card/RemoveCard",l="api/v1/Cards/GetCardusageHistory",a="api/v1/Cards/GetCardLoadHistory",v="api/v1/Cards/EmailReminder",y="api/v1/Cards/SaveEmailReminder",p="api/v1/Cards/UpdateCardForbiddenStatus",w="api/v1/Cards/Products/ThatCanBeBought",b="api/v1/Cards/TslProducts",k="api/v1/Card/StrongAuthentication",d="api/v1/Card/StrongAuthentication",u={},g=function(i){var r=t.defer();return n.get(f+e+"?lang="+i).success(function(n){r.resolve(n)}).error(function(n){r.reject(n)})},nt=function(t,i){return n.get(f+e+"/"+t+"?lang="+i).then(function(n){return n.data})},tt=function(i,u){var s=t.defer(),e=i.StartDate.split("."),h=new Date(e[2],e[1]-1,e[0]),o=i.EndDate.split("."),c=new Date(o[2],o[1]-1,o[0]);return n.post(f+l+"?lang="+u,{CardNumber:i.CardNumber,StartDate:r("date")(h,"dd/MM/yyyy"),EndDate:r("date")(c,"dd/MM/yyyy"),From:i.From,Count:i.Count}).success(function(n){s.resolve(n)}).error(function(n){s.reject(n)})},it=function(i,u){var s=t.defer(),e=i.StartDate.split("."),h=new Date(e[2],e[1]-1,e[0]),o=i.EndDate.split("."),c=new Date(o[2],o[1]-1,o[0]);return n.post(f+a+"?lang="+u,{CardNumber:i.CardNumber,StartDate:r("date")(h,"dd/MM/yyyy"),EndDate:r("date")(c,"dd/MM/yyyy"),From:i.From,Count:i.Count}).success(function(n){s.resolve(n)}).error(function(n){s.reject(n)})},rt=function(i,r,u){var e=t.defer();return n.post(f+s+"?lang="+u,{Number:i,Name:r}).then(function(n){e.resolve(n)},function(n){e.reject(n)}),e.promise},ut=function(i,r,u){var e=t.defer();return n.post(f+h+"?lang="+u,{Name:r,Number:i}).success(function(n){e.resolve(n)}).error(function(n){e.reject(n)})},ft=function(i,r,u){var e=t.defer();return n.post(f+c+"?lang="+u,{Name:r,Number:i}).success(function(n){e.resolve(n)}).error(function(n){e.reject(n)})},et=function(i,r){var u=t.defer();return n.get(f+o+"/"+i+"?lang="+r).then(function(n){u.resolve(n)},function(n){u.reject(n)}),u.promise},ot=function(t){return n.get(f+v+"?lang="+t).then(function(n){return n.data},function(n){return n})},st=function(t,i){return n.post(f+y+"?lang="+t,i).success(function(n){deferred.resolve(n)}).error(function(n){deferred.reject(n)})},ht=function(i,r,u){var e=t.defer();return n.post(f+p+"?lang="+u,{CardNumber:i,Status:r}).success(function(n){e.resolve(n)}).error(function(n){e.reject(n)})},ct=function(i,r){var u=t.defer();return n.get(f+w+"/"+i+"?lang="+r).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},lt=function(i,r){var u=t.defer();return n.get(f+b+"/"+i+"?lang="+r).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},at=function(i,r){var u=t.defer();return n.get(f+k+"/"+i+"?lang="+r).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},vt=function(i,r,u){var e=t.defer();return n.post(f+d,{CardNumber:i,SocialSecurityNumber:r,Lang:u}).success(function(n){e.resolve(n)}).error(function(n){e.reject(n)})};return u.getCards=g,u.getCardDetails=nt,u.getUsageHistory=tt,u.addCard=rt,u.updateCardName=ut,u.removeCard=ft,u.getAllStrongCards=et,u.getCardLoadHistory=it,u.getEmailReminder=ot,u.saveReminder=st,u.updateCardForbiddenStatus=ht,u.getAvailableProducts=ct,u.getAvailableTslProducts=lt,u.getCardStrongAuthetication=at,u.setCardStrongAuthetication=vt,u}angular.module("CardService",["config"]).service("cardService",n);n.$inject=["$http","$q","ENV","$filter"]}(),function(){"use strict";function n(n,t,i,r,u,f){var e=i.backendURL,h="api/v1/Configuration/StrongAuthentication",l="api/v1/Configuration/ActivePaymentMethods",s="api/v1/Configuration/PrincipalSelectionUrl",o={},a=function(n,t){return c(h,n,t)},v=function(n,t,i){return c(h+"/"+n,t,i)},c=function(i,r,u){var f=t.defer();return n.get(e+i+"?baseUrl="+encodeURIComponent(r.toLowerCase())+"&lang="+u).success(function(n){f.resolve(n)}).error(function(n){f.reject(n)})},y=function(){var i=t.defer();return n.get(e+l).success(function(n){i.resolve(n)}).error(function(n){i.reject(n)})},p=function(i,o){var h=t.defer(),c;return u.get("SsnAuthenticated")?n.get(e+s+"?baseUrl="+encodeURIComponent(i.toLowerCase())+"&lang="+o).then(function(n){h.resolve(n)},function(n){h.reject(n)}):(c="",u.get("buyer")!=null&&u.get("buyer")!=undefined?r.getSecureAccessKey().then(function(t){var r=t.data;c=f.decryptBuyerSsn(u.get("buyer"),CryptoJS.enc.Base64.parse(r),CryptoJS.enc.Base64.parse(r));n.get(e+s+"?baseUrl="+encodeURIComponent(i.toLowerCase())+"&socialSecurityNumber="+c+"&lang="+o).then(function(n){h.resolve(n)},function(n){h.reject(n)})},function(n){h.reject(n)}):r.getUserStrongAuthData().then(function(t){var r=JSON.parse(t.data);c=r.UserSsn;n.get(e+s+"?baseUrl="+encodeURIComponent(i.toLowerCase())+"&socialSecurityNumber="+c+"&lang="+o).then(function(n){h.resolve(n)},function(n){h.reject(n)})},function(n){h.reject(n)})),h.promise};return o.getStrongAuthenticationsettings=a,o.getStrongAuthenticationsettingsForCard=v,o.getActivePaymentMethods=y,o.getPrincipalSelectionUrl=p,o}angular.module("ConfigurationService",["config"]).service("configurationService",n);n.$inject=["$http","$q","ENV","ssnService","localStorageService","utilityService"]}(),function(){"use strict";function n(n,t,i){function o(n,i,r){var o,u,f,e;return r=r||{},u=r.expires,o=angular.isDefined(r.path)?r.path:h,angular.isUndefined(i)&&(u="Thu, 01 Jan 1970 00:00:00 GMT",i=""),angular.isString(u)&&(u=new Date(u)),f=encodeURIComponent(n)+"="+encodeURIComponent(JSON.stringify(i)),f+="; path=/",f+=r.domain?";domain="+r.domain:"",f+=u?";expires="+u.toUTCString():"",f+=";secure",e=f.length+1,e>4096&&t.warn("Cookie '"+n+"' possibly not set or overflowed because it was too large ("+e+" > 4096 bytes)!"),f}function c(){var u,n,t,i,o,h=f.cookie||"";if(h!==e)for(e=h,u=e.split("; "),r={},t=0;t<u.length;t++)n=u[t],i=n.indexOf("="),i>0&&(o=s(n.substring(0,i)),l(r[o])&&(r[o]=s(n.substring(i+1))));return r}function s(n){try{return decodeURIComponent(n)}catch(t){return n}}function l(n){return typeof n=="undefined"}var h=i.baseHref(),f=n[0],r={},e="",a=function(n,t,i){f.cookie=o(n,t,i)},v=function(n){var t=c()[n];return t!=undefined?JSON.parse(t):undefined},y=function(n,t){f.cookie=o(n,undefined,t)},u={};return u.put=a,u.get=v,u.remove=y,u}angular.module("CookieService",[]).service("cookieService",n);n.$inject=["$document","$log","$browser"]}(),function(){"use strict";function n(n,t,i){var r={},u=i.backendURL,f="api/v1/user/GetCustomerProfile",e="api/v1/user/UpdateCustomerProfile",o=function(i,r,e){var o=t.defer(),s=u+f+"/"+i+"/"+r+"?lang="+e;return(r===undefined||r===null)&&(s=u+f+"/"+i+"?lang="+e),n.get(s).then(function(n){o.resolve(n)},function(n){o.reject(n)}),o.promise},s=function(i,r){var f=t.defer();return n.post(u+e+"?lang="+r,JSON.stringify(i)).then(function(n){f.resolve(n)},function(n){f.reject(n)}),f.promise};return r.getCustomerProfile=o,r.updateCustomerProfile=s,r}angular.module("CustomerService",["config"]).service("customerService",n);n.$inject=["$http","$q","ENV"]}(),function(){"use strict";function n(n,t,i,r){var e=i.backendURL,f="api/v1/Employer",u={},o=function(i){var r=t.defer();return n.get(e+f+"?lang="+i).success(function(n){r.resolve(n.data)}).error(function(n){r.reject(n)})},s=function(i,r,u){var o=t.defer();return n.get(e+f+"/"+i+"?companyName="+encodeURIComponent(r)+"&language="+u).success(function(n){o.resolve(n)}).error(function(n){o.reject(n)}),o.promise},h=function(i,r,u,o,s,h,c){var l=t.defer();return n.get(e+f+"/"+i+"/Employees?ssn="+encodeURIComponent(o)+"&firstName="+encodeURIComponent(s)+"&lastName="+encodeURIComponent(h)+"&pageNo="+r+"&rowsOnPage="+u+"&lang="+c).then(function(n){l.resolve(n.data)},function(n){l.reject(n)}),l.promise},c=function(i,r,u,o){var s=t.defer();return n.get(e+f+"/"+i+"/Employees/Export?firstName="+encodeURIComponent(r)+"&lastName="+encodeURIComponent(u)+"&lang="+o,{responseType:"arraybuffer"}).then(function(n){s.resolve(n.data)},function(n){s.reject(n)}),s.promise},l=function(i,r,u){var o=t.defer();return n.post(e+f+"/"+i+"/"+encodeURIComponent(r.SSN)+"?lang="+u,JSON.stringify(r)).then(function(n){o.resolve(n.data)},function(n){o.reject(n)}),o.promise},a=function(i,r,u){var o=t.defer();return n.put(e+f+"/"+i+"/"+encodeURIComponent(r.SSN)+"?lang="+u,JSON.stringify(r)).then(function(n){o.resolve(n.data)},function(n){o.reject(n)}),o.promise},v=function(i,r,u){var o=t.defer();return n.delete(e+f+"/"+i+"/"+encodeURIComponent(r)+"?lang="+u).then(function(n){o.resolve(n.data)},function(n){o.reject(n)}),o.promise},y=function(r,u){var e=t.defer();return n.get(i.backendURL+f+"/"+r.companyId+"/ImportHistory?lang="+u+"&From="+r.from+"&Count="+r.count).success(function(n){e.resolve(n)}).error(function(n){e.reject(n)}),e.promise},p=function(i,r){var u=t.defer();return n.get(e+f+"/"+i+"/Persons/CountAndImportStatus?lang="+r).then(function(n){u.resolve(n.data)},function(n){u.reject(n)}),u.promise},w=function(i,r,u){var o=t.defer();return n.get(e+f+"/"+i+"/"+encodeURIComponent(r)+"?lang="+u).then(function(n){o.resolve(n.data)},function(n){o.reject(n)}),o.promise},b=function(i,u,o,s,h){var c=t.defer(),l=o.split("."),v=new Date(l[2],l[1]-1,l[0]),a=s.split("."),y=new Date(a[2],a[1]-1,a[0]);return n.get(e+f+"/"+i+"/"+encodeURIComponent(u)+"/"+r("date")(v,"dd-MM-yyyy")+"/"+r("date")(y,"dd-MM-yyyy")+"?lang="+h,{responseType:"arraybuffer"}).then(function(n){c.resolve(n.data)},function(n){c.reject(n)}),c.promise},k=function(t,i){n.get(e+f+"/"+t+"/Default?lang="+i)},d=function(i,r){var u=t.defer();return n.get(e+f+"/"+i+"/ImportErrors?lang="+r).then(function(n){u.resolve(n.data)},function(n){u.reject(n)}),u.promise};return u.getAuthenticatdUserCompanies=o,u.getEmployerDetails=s,u.getEmployees=h,u.getEmployee=w,u.addEmployee=l,u.updateEmployee=a,u.deleteEmployee=v,u.getFileImportHistory=y,u.getPurchaseReport=b,u.getPersonsCountAndImportStatus=p,u.exportEmployees=c,u.setDefaultEmployer=k,u.getImportErrors=d,u}angular.module("EmployerService",["config"]).service("employerService",n);n.$inject=["$http","$q","ENV","$filter"]}(),function(){"use strict";function n(n,t,i,r,u,f){var o=u.backendURL,e={},h="api/v1/Product/GiftVoucher",c="api/v1/Product/GiftVoucher/Validate",l="api/v1/Product/GiftVoucher/ValidateVoucherCode",a="api/v1/Product/Value/Validate",v="api/v1/Product/Period/Validate",y="api/v1/Product/NewCard/",p="api/v1/Product/NewCard/Validate",w="api/v1/Product/TslProduct/Validate",b=function(i){var r=t.defer();return n.get(o+h+"?lang="+i).success(function(n){r.resolve(n.data)}).error(function(n){r.reject(n)})},k=function(i){var r=t.defer();return n.get(o+y+"?lang="+i).success(function(n){r.resolve(n)}).error(function(n){r.reject(n)}),r.promise},d=function(i,r){var u=t.defer();return n.post(o+c+"?lang="+r,{ProductCode:i.GiftVoucherTicketCode,ProductPrice:i.Price}).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},g=function(i,r){var u=t.defer(),e=f.use();return n.get(o+l+"/"+r+"/"+i+"?lang="+e).success(function(n){u.resolve(n)}).error(function(n){u.resolve(n)})},nt=function(i,r){var u=t.defer();return n.post(o+a+"?lang="+r,{CardNumber:i.CardNumber,ProductPrice:i.ProductPrice,ZoneId:i.ZoneId,ZoneLabel:i.ZoneLabel}).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},tt=function(i,r){var u=t.defer();return n.post(o+v+"?lang="+r,{CardNumber:i.CardNumber,ProductPrice:i.ProductPrice,ZoneId:i.ZoneId,ZoneLabel:i.ZoneLabel,ProductCode:i.ProductCode}).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},it=function(i,u){var f=t.defer(),e=r.get("cartProducts");return n.post(o+p+"?lang="+u,JSON.stringify({NewCardPurchase:i,CartDetails:e})).success(function(n){f.resolve(n)}).error(function(n){f.reject(n)})},rt=function(i,r){var u=t.defer();return n.post(o+w+"?lang="+r,{CardNumber:i.CardNumber,ProductPrice:i.ProductPrice,ZoneId:i.ZoneId,ZoneLabel:i.ZoneLabel,ProductCode:i.ProductCode,TslSupport:i.SupportAmount,TslPrice:i.MyPrice,TslCompanyId:i.CompanyId,ProductTitle:i.ProductTitle,TslProductId:i.TslProductId,TslCompanyBizId:i.CompanyBizId,TslCompanyBizIdExt:i.CompanyBizIdExt,TslOrganizationId:i.OrganizationId,TslProductStart:i.ProductStart,TslProductEnd:i.ProductEnd,TslSupporttype:i.SupportType}).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},s=function(n,t){var o=r.get("cartProducts"),e,u,f;if(o!==null&&(e=i("filter")(o.ProductDetails,{ProductType:"NewCard"}),e!==null))for(u=0;u<e.length;u++)if(f=e[u].NewCard.CardName,n===f)return!0;if(t!==undefined&&t!==null)for(u=0;u<t.length;u++)if(f=t[u].Name,n===f)return!0;return!1},ut=function(n,t){for(var i=n,r=1,u=!0;u;)s(i,t)?(r=r+1,i=n+" "+r):u=!1;return i},ft=function(){var e=u.defaultCardName,t=0,f=r.get("cartProducts"),n;return f!==null&&(n=i("filter")(f.ProductDetails,{ProductType:"NewCard"}),t=n!==null?n.length:0),e+t.toString()};return e.getGiftVoucherProducts=b,e.getNewCardProduct=k,e.isAbleToBuyGiftVoucher=d,e.validateGiftVoucherCode=g,e.isAbleToBuyValueProduct=nt,e.isAbleToBuyNewCard=it,e.isAbleToBuyPeriodProduct=tt,e.isAbleToBuyTslProduct=rt,e.getNewCardId=ft,e.getNewCardName=ut,e.isCardNameInCart=s,e}angular.module("ProductService",["config"]).service("productService",n);n.$inject=["$http","$q","$filter","localStorageService","ENV","$translate"]}(),function(){"use strict";function n(n,t,i,r){var f=i.backendURL,e="api/v1/purchase/shoppinghistory",u={},o=function(i,u){var h=t.defer(),o=i.StartDate.split("."),c=new Date(o[2],o[1]-1,o[0]),s=i.EndDate.split("."),l=new Date(s[2],s[1]-1,s[0]);return n.post(f+e+"?lang="+u,{StartDate:r("date")(c,"dd/MM/yyyy"),EndDate:r("date")(l,"dd/MM/yyyy"),From:i.From,Count:i.Count}).success(function(n){h.resolve(n)}).error(function(n){h.reject(n)})};return u.getShoppingHistory=o,u}angular.module("PurchaseService",["config"]).service("purchaseService",n);n.$inject=["$http","$q","ENV","$filter"]}(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s,h,c,l,a){function ot(t,i){var r=u.absUrl().replace(u.url(),"").replace(/\#$/,"");return n.post(at+vt+"?&baseUrl="+encodeURIComponent(r)+"&lang="+i,JSON.stringify(t))}function ii(n){var i=t.defer(),r=n.ProductDetails;return f.get("buyer")!=null&&f.get("buyer")!=undefined?s.getSecureAccessKey().then(function(t){for(var h=t.data,e=a.decryptBuyerDetails(f.get("buyer"),f.get("buyerName"),f.get("buyerFullName"),CryptoJS.enc.Base64.parse(h),CryptoJS.enc.Base64.parse(h)),o={userSsn:e.ssn,subjectData:e.buyerFullName,authData:""},u=0;u<r.length;u++)r[u].NewCard!=undefined&&(r[u].NewCard.SSN=o.userSsn);s.getSecureAccessKeyWithSsn(e.ssn).then(function(t){o.authData=t.data;n.AuthCode=t.data;i.resolve(o)},function(n){i.reject(n)})},function(n){i.reject(n)}):s.getUserStrongAuthData().then(function(t){var f=JSON.parse(t.data),u;if(f.UserSsn){for(u=0;u<r.length;u++)r[u].NewCard!=undefined&&(r[u].NewCard.SSN=f.UserSsn);n.AuthCode=f.AuthData;i.resolve(t)}},function(n){i.reject(n)}),i.promise}function st(n,i){var v=o("filter")(n.ProductDetails,{ProductType:"NewCard"}),e=v.filter(function(n){return n.NewCard.eAuthPersonName}),u=t.defer(),r,a;return e.length===0?u.resolve({}):(r=n.ProductDetails,a={webApiSessionId:f.get("eAuthWebAPISessionId"),accessToken:f.get("eAuthAccessToken"),requestId:f.get("requestId")},a.accessToken?s.getEAuthPrincipals(a,i).then(function(n){for(var t=0;t<r.length;t++)r[t].NewCard&&r[t].NewCard.eAuthPersonName&&(r[t].NewCard.eAuthPersonSsn=n.data.personId,r[t].NewCard.eAuthPersonName=n.data.name);u.resolve(n)},function(n){if(n.status===405){h.error(c.instant("EAUTH_CART_SESSION_EXPIRED"));for(var t=0;t<e.length;t++)et(e[t]).then(function(){l.reload()})}else h.error(c.instant("SERVICE_UNAVAILABLE_MESSAGE"))}):u.resolve({})),u.promise}function k(){return{CartSum:0,TotalPrice:0,ProductDetails:[],GiftVoucherUseDetails:"",CampaignCodeUseDetails:""}}function nt(n,t){var i=it(n.ProductDetails);n.TotalPrice=i;n.CartSum+=t;f.set("cartProducts",n);n.GiftVoucherUseDetails||r.$emit("totalCartPrice",n.CartSum)}function d(){var n=f.get("cartProducts"),i=n.TotalPrice,o=n.GiftVoucherUseDetails.VoucherCode,u=t.defer();return e.validateGiftVoucherCode(i,o).then(function(t){if(n.CampaignCodeUseDetails){var e=t.data.VoucherAmount+n.CampaignCodeUseDetails.DiscountInEuros;n.CartSum=n.TotalPrice<e?0:v(n.TotalPrice-e)}else n.CartSum=i<t.data.VoucherAmount?0:v(i-t.data.VoucherAmount);n.GiftVoucherUseDetails.VoucherCode=t.data.VoucherCode;n.GiftVoucherUseDetails.VoucherAmount=t.data.VoucherAmount;n.GiftVoucherUseDetails.LeftAmount=t.data.LeftAmount;f.set("cartProducts",n);r.$emit("totalCartPrice",n.CartSum);u.resolve(t)},function(){}),u.promise}function ri(n){var o=0,t=tt(),i=t.ProductDetails,u=f.get("campaignCodeDetails"),h,r,e,y,a;if(u){if(h=!1,u.CampaignType==="BuyProduct"){var c=u.ShoppingCriteriaValue,l=u.PurchaseType,p=0,e=0;for(r=0;r<i.length;r++)(i[r].ValueTicket!=undefined&&$.inArray(parseInt(i[r].ValueTicket.ProductCode),c)>-1&&l!=="BenefitPurchase"||i[r].PeriodTicket!=undefined&&$.inArray(parseInt(i[r].PeriodTicket.ProductCode),c)>-1&&l!=="BenefitPurchase"||i[r].TslTicket!=undefined&&$.inArray(parseInt(i[r].TslTicket.ProductCode),c)>-1&&l!=="NellaPurchase"||i[r].NewCard!=undefined&&$.inArray(parseInt(i[r].NewCard.ProductCode),c)>-1&&l!=="BenefitPurchase")&&p++;e=0;switch(n.ProductType){case"Value":e=n.ValueTicket.CampaignDiscountPrice;break;case"Period":e=n.PeriodTicket.CampaignDiscountPrice;break;case"NewCard":e=n.NewCard.CampaignDiscountPrice;break;case"TSL":e=n.TslTicket.CampaignDiscountPrice}t.CartSum=v(t.CartSum+e);t.CampaignCodeUseDetails.DiscountInEuros=t.CampaignCodeUseDetails.DiscountInEuros-e;p===0&&(h=!0)}else{for(y=!1,a=0;a<i.length;a++)if(i[a].ProductType!=="GiftVoucher"){y=!0;break}if(y){var w=v(u.DiscountValue),b=ct(i),s=v(t.TotalPrice-b);o=u.DiscountFormat==="Percentage"?v(s*w/100):w;t.CartSum=s<=o?v(t.TotalPrice-s):v(t.TotalPrice-o);t.CampaignCodeUseDetails.DiscountInEuros=o>s?s:o;v(s)<v(u.ShoppingCriteriaValue[0])&&(t.CartSum+=o,h=!0)}else h=!0}if(h){t.CartSum=v(t.TotalPrice);f.remove("campaignCodeDetails");t.CampaignCodeUseDetails=null;ht(t);f.set("cartProducts",t);return}u.CampaignType==="SumOfCart"&&lt(o,t);f.set("cartProducts",t)}}function lt(n,t){var r=0,u=0,i;for(t.ProductDetails.sort(fi),i=0;i<t.ProductDetails.length;i++)switch(t.ProductDetails[i].ProductType){case"Value":t.ProductDetails[i].ValueTicket.CampaignDiscountPrice=t.ProductDetails[i].ValueTicket.ProductPrice>n?n:t.ProductDetails[i].ValueTicket.ProductPrice;n=t.ProductDetails[i].ValueTicket.CampaignDiscountPrice>n?0:v(n-t.ProductDetails[i].ValueTicket.CampaignDiscountPrice);r=t.ProductDetails[i].ValueTicket.ProductPrice>t.ProductDetails[i].ValueTicket.CampaignDiscountPrice?v(t.ProductDetails[i].ValueTicket.ProductPrice-t.ProductDetails[i].ValueTicket.CampaignDiscountPrice):0;u=t.ProductDetails[i].ValueTicket.VatPercentage;t.ProductDetails[i].ValueTicket.Vat=y(r===undefined?0:r,u===undefined?0:u);break;case"Period":t.ProductDetails[i].PeriodTicket.CampaignDiscountPrice=t.ProductDetails[i].PeriodTicket.ProductPrice>n?n:t.ProductDetails[i].PeriodTicket.ProductPrice;n=t.ProductDetails[i].PeriodTicket.CampaignDiscountPrice>n?0:v(n-t.ProductDetails[i].PeriodTicket.CampaignDiscountPrice);r=t.ProductDetails[i].PeriodTicket.ProductPrice>t.ProductDetails[i].PeriodTicket.CampaignDiscountPrice?v(t.ProductDetails[i].PeriodTicket.ProductPrice-t.ProductDetails[i].PeriodTicket.CampaignDiscountPrice):0;u=t.ProductDetails[i].PeriodTicket.VatPercentage;t.ProductDetails[i].PeriodTicket.Vat=y(r===undefined?0:r,u===undefined?0:u);break;case"NewCard":t.ProductDetails[i].NewCard.CampaignDiscountPrice=t.ProductDetails[i].NewCard.ProductPrice>n?n:t.ProductDetails[i].NewCard.ProductPrice;n=t.ProductDetails[i].NewCard.CampaignDiscountPrice>n?0:v(n-t.ProductDetails[i].NewCard.CampaignDiscountPrice);r=t.ProductDetails[i].NewCard.ProductPrice>t.ProductDetails[i].NewCard.CampaignDiscountPrice?v(t.ProductDetails[i].NewCard.ProductPrice-t.ProductDetails[i].NewCard.CampaignDiscountPrice):0;u=t.ProductDetails[i].NewCard.VatPercentage;t.ProductDetails[i].NewCard.Vat=y(r===undefined?0:r,u===undefined?0:u);break;case"TSL":t.ProductDetails[i].TslTicket.CampaignDiscountPrice=t.ProductDetails[i].TslTicket.TslPrice>n?n:t.ProductDetails[i].TslTicket.TslPrice;n=t.ProductDetails[i].TslTicket.CampaignDiscountPrice>n?0:v(n-t.ProductDetails[i].TslTicket.CampaignDiscountPrice);r=t.ProductDetails[i].TslTicket.TslPrice>t.ProductDetails[i].TslTicket.CampaignDiscountPrice?v(t.ProductDetails[i].TslTicket.TslPrice-t.ProductDetails[i].TslTicket.CampaignDiscountPrice):0;u=t.ProductDetails[i].TslTicket.VatPercentage;t.ProductDetails[i].TslTicket.Vat=y(r===undefined?0:r,u===undefined?0:u)}}function fi(n,t){var i=n.ProductType==="Value"?n.ValueTicket.ProductPrice:n.ProductType==="Period"?n.PeriodTicket.ProductPrice:n.ProductType==="NewCard"?n.NewCard.ProductPrice:n.ProductType==="GiftVoucher"?n.GiftVoucher.ProductPrice:n.TslTicket.TslPrice,r=t.ProductType==="Value"?t.ValueTicket.ProductPrice:t.ProductType==="Period"?t.PeriodTicket.ProductPrice:t.ProductType==="NewCard"?t.NewCard.ProductPrice:t.ProductType==="GiftVoucher"?t.GiftVoucher.ProductPrice:t.TslTicket.TslPrice;return i<r?1:i>r?-1:0}var at=i.backendURL,vt="api/v1/purchase/SubmitCart",yt="InvalidCampaignCode",b=[],p={},pt=function(n){var r={ProductType:"GiftVoucher",GiftVoucher:{ProductCode:n.GiftVoucherTicketCode,ProductPrice:n.Price===undefined?0:n.Price,Vat:n.Vat===undefined?0:n.Vat,CampaignDiscountPrice:0}},t=f.get("cartProducts"),i;t===null&&(t=k());t.ProductDetails.push(r);nt(t,r.GiftVoucher.ProductPrice);t.GiftVoucherUseDetails&&d();i=f.get("campaignCodeDetails");i&&i.CampaignType!=="BuyProduct"&&g()},wt=function(n){var u=!1,r={ProductType:"Value",ValueTicket:{ProductType:n.ProductType,ProductCode:n.ProductCode,ProductPrice:n.ProductPrice===undefined?0:n.ProductPrice,OldValue:n.OldValue,NewValue:n.NewValue,ZoneId:n.ZoneId,ZoneLabel:n.ZoneLabel,CardNumber:n.CardNumber,ProductTitle:n.ProductTitle,Vat:y(n.ProductPrice===undefined?0:n.ProductPrice,n.Vat===undefined?0:n.Vat),CardName:n.CardName,CampaignDiscountPrice:0,VatPercentage:n.Vat}},t=f.get("cartProducts"),e,i;if(t===null&&(t=k()),t.ProductDetails!=null&&t.ProductDetails.length>0)for(t.CampaignCodeUseDetails&&(r.ValueTicket.CampaignDiscountPrice=w(r),e=r.ValueTicket.ProductPrice>r.ValueTicket.CampaignDiscountPrice?v(r.ValueTicket.ProductPrice-r.ValueTicket.CampaignDiscountPrice):0,r.ValueTicket.Vat=y(e===undefined?0:e,n.Vat===undefined?0:n.Vat)),i=0;i<t.ProductDetails.length;i++)if(t.ProductDetails[i].ProductType==="TSL"?t.ProductDetails[i].TslTicket!=undefined&&t.ProductDetails[i].TslTicket.CardNumber===n.CardNumber&&t.ProductDetails[i].TslTicket.TslProductType==="Value"&&(t.CartSum=v(t.CartSum-t.ProductDetails[i].TslTicket.TslPrice+t.ProductDetails[i].TslTicket.CampaignDiscountPrice),t.CampaignCodeUseDetails&&(t.CampaignCodeUseDetails.DiscountInEuros=v(t.CampaignCodeUseDetails.DiscountInEuros-t.ProductDetails[i].TslTicket.CampaignDiscountPrice)),t.ProductDetails.splice(i,1),u=!0):t.ProductDetails[i].ProductType==="Value"&&t.ProductDetails[i].ValueTicket!=undefined&&t.ProductDetails[i].ValueTicket.CardNumber===n.CardNumber&&(t.CartSum=v(t.CartSum-t.ProductDetails[i].ValueTicket.ProductPrice+t.ProductDetails[i].ValueTicket.CampaignDiscountPrice),t.CampaignCodeUseDetails&&(t.CampaignCodeUseDetails.DiscountInEuros=v(t.CampaignCodeUseDetails.DiscountInEuros-t.ProductDetails[i].ValueTicket.CampaignDiscountPrice)),t.ProductDetails.splice(i,1),u=!0),u)break;t.ProductDetails.push(r);b=t.ProductDetails;nt(t,r.ValueTicket.ProductPrice);t.GiftVoucherUseDetails&&d();t.CampaignCodeUseDetails&&t.CampaignCodeUseDetails.CampaignCode!==""&&g(r,n.IsCampaignUsageValid)},bt=function(n){var u=!1,r={ProductType:"Period",PeriodTicket:{ProductType:n.ProductType,ProductCode:n.ProductCode,ProductPrice:n.ProductPrice===undefined?0:n.ProductPrice,ZoneId:n.ZoneId,ZoneLabel:n.ZoneLabel,CardNumber:n.CardNumber,ProductTitle:n.ProductTitle,Vat:y(n.ProductPrice===undefined?0:n.ProductPrice,n.Vat===undefined?0:n.Vat),CardName:n.CardName,CampaignDiscountPrice:0,VatPercentage:n.Vat}},t=f.get("cartProducts"),e,i;if(t===null&&(t=k()),t.CampaignCodeUseDetails&&(r.PeriodTicket.CampaignDiscountPrice=w(r),e=r.PeriodTicket.ProductPrice>r.PeriodTicket.CampaignDiscountPrice?v(r.PeriodTicket.ProductPrice-r.PeriodTicket.CampaignDiscountPrice):0,r.PeriodTicket.Vat=y(e===undefined?0:e,n.Vat===undefined?0:n.Vat)),t.ProductDetails!=null&&t.ProductDetails.length>0)for(i=0;i<t.ProductDetails.length;i++)if(t.ProductDetails[i].ProductType==="TSL"?t.ProductDetails[i].TslTicket!=undefined&&t.ProductDetails[i].TslTicket.CardNumber===n.CardNumber&&t.ProductDetails[i].TslTicket.TslProductType==="Period"&&(t.CartSum=v(t.CartSum-t.ProductDetails[i].TslTicket.TslPrice+t.ProductDetails[i].TslTicket.CampaignDiscountPrice),t.CampaignCodeUseDetails&&(t.CampaignCodeUseDetails.DiscountInEuros=v(t.CampaignCodeUseDetails.DiscountInEuros-t.ProductDetails[i].TslTicket.CampaignDiscountPrice)),t.ProductDetails.splice(i,1),u=!0):t.ProductDetails[i].ProductType==="Period"&&t.ProductDetails[i].PeriodTicket!=undefined&&t.ProductDetails[i].PeriodTicket.CardNumber===n.CardNumber&&(t.CartSum=v(t.CartSum-t.ProductDetails[i].PeriodTicket.ProductPrice+t.ProductDetails[i].PeriodTicket.CampaignDiscountPrice),t.CampaignCodeUseDetails&&(t.CampaignCodeUseDetails.DiscountInEuros=v(t.CampaignCodeUseDetails.DiscountInEuros-t.ProductDetails[i].PeriodTicket.CampaignDiscountPrice)),t.ProductDetails.splice(i,1),u=!0),u)break;t.ProductDetails.push(r);b=t.ProductDetails;nt(t,r.PeriodTicket.ProductPrice);t.GiftVoucherUseDetails&&d();t.CampaignCodeUseDetails&&t.CampaignCodeUseDetails.CampaignCode!==""&&g(r,n.IsCampaignUsageValid)},kt=function(n){var r=null,e=!1,u={ProductType:"TSL",TslTicket:{ProductType:n.ProductType,TslProductType:n.TslProductType,CardNumber:n.CardNumber,ProductCode:n.ProductCode,ProductPrice:n.ProductPrice===undefined?0:n.ProductPrice,TslPrice:n.MyPrice===undefined?0:n.MyPrice,TslProductId:n.TslProductId,TslSupport:n.SupportAmount===undefined?0:n.SupportAmount,TslCompanyId:n.CompanyId,CompanyName:n.CompanyName,ZoneId:n.ZoneId,ZoneLabel:n.ZoneLabel,ProductTitle:n.ProductTitle,CardName:n.CardName,TslCompanyBizId:n.CompanyBizId,TslCompanyBizIdExt:n.CompanyBizIdExt,TslOrganizationId:n.OrganizationId,TslProductStart:n.ProductStart,TslProductEnd:n.ProductEnd,TslSupporttype:n.SupportType,Vat:y(n.MyPrice===undefined?0:n.MyPrice,n.Vat===undefined?0:n.Vat),CampaignDiscountPrice:0,VatPercentage:n.Vat}},t=f.get("cartProducts"),o,i;if(t===null&&(t=k()),t.CampaignCodeUseDetails&&(u.TslTicket.CampaignDiscountPrice=w(u),o=u.TslTicket.TslPrice>u.TslTicket.CampaignDiscountPrice?v(u.TslTicket.TslPrice-u.TslTicket.CampaignDiscountPrice):0,u.TslTicket.Vat=y(o===undefined?0:o,n.Vat===undefined?0:n.Vat)),t.ProductDetails!=null&&t.ProductDetails.length>0)for(n.ProductType==="Value"||n.TslProductType==="Value"?(r=rt(n,t.ProductDetails),r&&(r.ProductType="Value")):(n.ProductType==="Period"||n.TslProductType==="Period")&&(r=ut(n,t.ProductDetails),r&&(r.ProductType="Period")),i=0;i<t.ProductDetails.length;i++)if(t.ProductDetails[i].ProductType==="TSL"?t.ProductDetails[i].TslTicket!=undefined&&t.ProductDetails[i].TslTicket.CardNumber===n.CardNumber&&t.ProductDetails[i].TslTicket.TslProductType===n.TslProductType&&(t.CartSum=v(t.CartSum-t.ProductDetails[i].TslTicket.TslPrice+t.ProductDetails[i].TslTicket.CampaignDiscountPrice),t.CampaignCodeUseDetails&&(t.CampaignCodeUseDetails.DiscountInEuros=v(t.CampaignCodeUseDetails.DiscountInEuros-t.ProductDetails[i].TslTicket.CampaignDiscountPrice)),t.ProductDetails.splice(i,1),e=!0):t.ProductDetails[i].ProductType==="Value"?r!=null&&t.ProductDetails[i].ValueTicket.CardNumber===r.CardNumber&&t.ProductDetails[i].ProductType===r.ProductType&&(t.CartSum=v(t.CartSum-t.ProductDetails[i].ValueTicket.ProductPrice+t.ProductDetails[i].ValueTicket.CampaignDiscountPrice),t.CampaignCodeUseDetails&&(t.CampaignCodeUseDetails.DiscountInEuros=v(t.CampaignCodeUseDetails.DiscountInEuros-t.ProductDetails[i].ValueTicket.CampaignDiscountPrice)),t.ProductDetails.splice(i,1),e=!0):t.ProductDetails[i].ProductType==="Period"&&r!=null&&t.ProductDetails[i].PeriodTicket.CardNumber===r.CardNumber&&t.ProductDetails[i].ProductType===r.ProductType&&(t.CartSum=v(t.CartSum-t.ProductDetails[i].PeriodTicket.ProductPrice+t.ProductDetails[i].PeriodTicket.CampaignDiscountPrice),t.CampaignCodeUseDetails&&(t.CampaignCodeUseDetails.DiscountInEuros=v(t.CampaignCodeUseDetails.DiscountInEuros-t.ProductDetails[i].PeriodTicket.CampaignDiscountPrice)),t.ProductDetails.splice(i,1),e=!0),e)break;t.ProductDetails.push(u);b=t.ProductDetails;nt(t,u.TslTicket.TslPrice);t.GiftVoucherUseDetails&&d();t.CampaignCodeUseDetails&&t.CampaignCodeUseDetails.CampaignCode!==""&&g(u,n.IsCampaignUsageValid)},dt=function(n,t,i){var r={ProductType:"NewCard",NewCard:{ProductType:n.ProductType,ProductCode:n.ProductCode,ProductPrice:n.ProductPrice===undefined?0:n.ProductPrice,CardNumber:n.CardNumber,ProductTitle:n.ProductTitle,Vat:y(n.ProductPrice===undefined?0:n.ProductPrice,n.Vat===undefined?0:n.Vat),CardName:n.CardName,Address:n.Address,PostalCode:n.PostalCode,PostalAddressMunicipality:n.PostalAddressMunicipality,PhoneNumber:n.PhoneNumber,BuyerName:n.buyerFullNameCS,EmailAddr:n.EmailAddr,WantsAdvertisment:n.WantsAdvertisment,WantsInfo:n.WantsInfo,IsCardAccepted:n.IsCardAccepted,CampaignDiscountPrice:0,VatPercentage:n.Vat,eAuthPersonName:i==="onbehalf"?n.eAuthPersonName:""}},u=f.get("cartProducts"),e;u===null&&(u=k());u.CampaignCodeUseDetails&&(r.NewCard.CampaignDiscountPrice=w(r),e=r.NewCard.ProductPrice>r.NewCard.CampaignDiscountPrice?v(r.NewCard.ProductPrice-r.NewCard.CampaignDiscountPrice):0,r.NewCard.Vat=y(e===undefined?0:e,n.Vat===undefined?0:n.Vat));u.ProductDetails.push(r);b=u.ProductDetails;u.isUserpresentInCrm=t;nt(u,r.NewCard.ProductPrice);u.GiftVoucherUseDetails&&d();u.CampaignCodeUseDetails&&u.CampaignCodeUseDetails.CampaignCode!==""&&g(r)},y=function(n,t){return v(n*t/100/(1+t/100))},et=function(n){for(var s=t.defer(),u=tt(),r=u.ProductDetails,e=0,o,h,i=0;i<r.length;i++)if(r[i].ProductType===n.ProductType&&(r[i].ValueTicket!=undefined&&r[i].ValueTicket.ProductPrice===n.Ticket.ProductPrice&&r[i].ValueTicket.CardNumber===n.Ticket.CardNumber||r[i].PeriodTicket!=undefined&&r[i].PeriodTicket.ProductPrice===n.Ticket.ProductPrice&&r[i].PeriodTicket.CardNumber===n.Ticket.CardNumber||r[i].TslTicket!=undefined&&r[i].TslTicket.ProductCode===n.Ticket.ProductCode&&r[i].TslTicket.CardNumber===n.Ticket.CardNumber||r[i].NewCard!=undefined&&r[i].NewCard.ProductPrice===n.NewCard.ProductPrice&&r[i].NewCard.CardNumber===n.NewCard.CardNumber||r[i].GiftVoucher!=undefined&&r[i].GiftVoucher.ProductPrice===n.GiftVoucher.ProductPrice)){o=r.splice(i,1);u.TotalPrice=it(r);n.ProductType==="Value"?e=n.Ticket.ProductPrice:n.ProductType==="Period"?e=n.Ticket.ProductPrice:n.ProductType==="GiftVoucher"?e=n.GiftVoucher.ProductPrice:n.ProductType==="TSL"&&(n.Ticket.TslProductType==="Value"||n.Ticket.TslProductType==="Period")?e=n.Ticket.TslPrice:n.ProductType==="NewCard"&&(e=n.NewCard.ProductPrice);h=u.CartSum-e;u.CartSum=v(h);break}return f.set("cartProducts",u),u.ProductDetails.length<1?(b=[],f.remove("campaignCodeDetails"),f.remove("cartProducts")):ri(o[0]),o=null,s.resolve(),s.promise},gt=function(){b=[];f.remove("cartProducts");f.remove("campaignCodeDetails")},tt=function(){return f.get("cartProducts")},v=function(n){return Math.round(n*100)/100},it=function(n){for(var i=0,t=0;t<n.length;t++)switch(n[t].ProductType){case"GiftVoucher":i=n[t].GiftVoucher.ProductPrice===undefined||isNaN(n[t].GiftVoucher.ProductPrice)?0:v(i+n[t].GiftVoucher.ProductPrice);break;case"Value":i=n[t].ValueTicket.ProductPrice===undefined||isNaN(n[t].ValueTicket.ProductPrice)?0:v(i+n[t].ValueTicket.ProductPrice);break;case"Period":i=n[t].PeriodTicket.ProductPrice===undefined||isNaN(n[t].PeriodTicket.ProductPrice)?0:v(i+n[t].PeriodTicket.ProductPrice);break;case"NewCard":i=n[t].NewCard.ProductPrice===undefined||isNaN(n[t].NewCard.ProductPrice)?0:v(i+n[t].NewCard.ProductPrice);break;case"TSL":i=n[t].TslTicket.TslPrice===undefined||isNaN(n[t].TslTicket.TslPrice)?0:v(i+n[t].TslTicket.TslPrice);break;default:i=0}return i},rt=function(n,t){var r=null,i;if(t.length>0)for(i=0;i<t.length;i++)if(t[i].ProductType==="Value"&&t[i].ValueTicket!=undefined&&t[i].ValueTicket.CardNumber===n.CardNumber){r=t[i].ValueTicket;r.ProductType="Value";break}return r},ut=function(n,t){var r=null,i;if(t.length>0)for(i=0;i<t.length;i++)if(t[i].ProductType==="Period"&&t[i].PeriodTicket!=undefined&&t[i].PeriodTicket.CardNumber===n.CardNumber){r=t[i].PeriodTicket;r.ProductType="Period";break}return r},ni=function(n){var u=null,o=!1,e="",r=f.get("cartProducts"),t,i;if(r===null&&(r=k()),t=r.ProductDetails,t.length>0&&(n.ProductType==="Value"||n.TslProductType==="Value"?(u=rt(n,t),e="Value"):(n.ProductType==="Period"||n.TslProductType==="Period")&&(u=ut(n,t),e="Period"),u==null&&t.length>0))for(i=0;i<t.length;i++)if(t[i].ProductType==="TSL"&&r.ProductDetails[i].TslTicket!=undefined&&r.ProductDetails[i].TslTicket.CardNumber===n.CardNumber&&r.ProductDetails[i].TslTicket.TslProductType===e&&(u=t[i].TslTicket,o=!0),o)break;return u},ti=function(n,i){var r=t.defer(),u=f.get("cartProducts"),e;return u.BankSelection=i,e=o("filter")(u.ProductDetails,{ProductType:"NewCard"}),u.isUserpresentInCrm||e.length===0?(st(u,n).then(function(){ot(u,n).then(function(n){r.resolve(n)},function(n){r.reject(n)})},function(n){r.reject(n)}),r.promise):(st(u,n).then(function(){ii(u).then(function(){ot(u,n).then(function(n){r.resolve(n)},function(n){r.reject(n)})},function(n){r.reject(n)})},function(n){r.reject(n)}),r.promise)},w=function(n){var t=0,u="",i=f.get("campaignCodeDetails"),r;if(i){r=v(i.DiscountValue);switch(n.ProductType){case"Value":u=parseInt(n.ValueTicket.ProductCode);$.inArray(u,i.ShoppingCriteriaValue)>-1&&i.PurchaseType!=="BenefitPurchase"&&(t=i.DiscountFormat==="Percentage"?v(n.ValueTicket.ProductPrice*r/100):r,t=t>=n.ValueTicket.ProductPrice?n.ValueTicket.ProductPrice:t);break;case"Period":u=parseInt(n.PeriodTicket.ProductCode);$.inArray(u,i.ShoppingCriteriaValue)>-1&&i.PurchaseType!=="BenefitPurchase"&&(t=i.DiscountFormat==="Percentage"?v(n.PeriodTicket.ProductPrice*r/100):r,t=t>=n.PeriodTicket.ProductPrice?n.PeriodTicket.ProductPrice:t);break;case"NewCard":u=parseInt(n.NewCard.ProductCode);$.inArray(u,i.ShoppingCriteriaValue)>-1&&i.PurchaseType!=="BenefitPurchase"&&(t=i.DiscountFormat==="Percentage"?v(n.NewCard.ProductPrice*r/100):r,t=t>=n.NewCard.ProductPrice?n.NewCard.ProductPrice:t);break;case"TSL":u=parseInt(n.TslTicket.ProductCode);$.inArray(u,i.ShoppingCriteriaValue)>-1&&i.PurchaseType!=="NellaPurchase"&&(t=i.DiscountFormat==="Percentage"?v(n.TslTicket.TslPrice*r/100):r,t=t>=n.TslTicket.TslPrice?n.TslTicket.TslPrice:t)}}return t},g=function(n,i){var a=t.defer(),o=0,u=f.get("cartProducts"),h,p,l,e,s,b,c;if(u&&u.CampaignCodeUseDetails&&u.CampaignCodeUseDetails.Code!==""&&i!==undefined&&!i&&ft(),h=f.get("campaignCodeDetails"),u&&h){if(p=v(h.DiscountValue),h.CampaignType==="BuyProduct")if(l=0,n)l=w(n),o=l+u.CampaignCodeUseDetails.DiscountInEuros,u.CartSum=v(u.CartSum-l);else{for(e=0;e<u.ProductDetails.length;e++)switch(u.ProductDetails[e].ProductType){case"Value":u.ProductDetails[e].ValueTicket.CampaignDiscountPrice=w(u.ProductDetails[e]);o=o+u.ProductDetails[e].ValueTicket.CampaignDiscountPrice;s=u.ProductDetails[e].ValueTicket.ProductPrice>u.ProductDetails[e].ValueTicket.CampaignDiscountPrice?v(u.ProductDetails[e].ValueTicket.ProductPrice-u.ProductDetails[e].ValueTicket.CampaignDiscountPrice):0;u.ProductDetails[e].ValueTicket.Vat=y(s===undefined?0:s,u.ProductDetails[e].ValueTicket.VatPercentage===undefined?0:u.ProductDetails[e].ValueTicket.VatPercentage);break;case"Period":u.ProductDetails[e].PeriodTicket.CampaignDiscountPrice=w(u.ProductDetails[e]);o=o+u.ProductDetails[e].PeriodTicket.CampaignDiscountPrice;s=u.ProductDetails[e].PeriodTicket.ProductPrice>u.ProductDetails[e].PeriodTicket.CampaignDiscountPrice?v(u.ProductDetails[e].PeriodTicket.ProductPrice-u.ProductDetails[e].PeriodTicket.CampaignDiscountPrice):0;u.ProductDetails[e].PeriodTicket.Vat=y(s===undefined?0:s,u.ProductDetails[e].PeriodTicket.VatPercentage===undefined?0:u.ProductDetails[e].PeriodTicket.VatPercentage);break;case"NewCard":u.ProductDetails[e].NewCard.CampaignDiscountPrice=w(u.ProductDetails[e]);o=o+u.ProductDetails[e].NewCard.CampaignDiscountPrice;s=u.ProductDetails[e].NewCard.ProductPrice>u.ProductDetails[e].NewCard.CampaignDiscountPrice?v(u.ProductDetails[e].NewCard.ProductPrice-u.ProductDetails[e].NewCard.CampaignDiscountPrice):0;u.ProductDetails[e].NewCard.Vat=y(s===undefined?0:s,u.ProductDetails[e].NewCard.VatPercentage===undefined?0:u.ProductDetails[e].NewCard.VatPercentage);break;case"TSL":u.ProductDetails[e].TslTicket.CampaignDiscountPrice=w(u.ProductDetails[e]);o=o+u.ProductDetails[e].TslTicket.CampaignDiscountPrice;s=u.ProductDetails[e].TslTicket.TslPrice>u.ProductDetails[e].TslTicket.CampaignDiscountPrice?v(u.ProductDetails[e].TslTicket.TslPrice-u.ProductDetails[e].TslTicket.CampaignDiscountPrice):0;u.ProductDetails[e].TslTicket.Vat=y(s===undefined?0:s,u.ProductDetails[e].TslTicket.VatPercentage===undefined?0:u.ProductDetails[e].TslTicket.VatPercentage)}u.CartSum=v(u.CartSum-o)}else b=ct(u.ProductDetails),c=u.TotalPrice-b,o=h.DiscountFormat==="Percentage"?v(c*p/100):p,o=o>c?c:o,u.CartSum=c<=o?v(u.TotalPrice-c):v(u.TotalPrice-o),lt(o,u);u.CampaignCodeUseDetails={CampaignCode:h.Code,DiscountInEuros:o};f.set("cartProducts",u);r.$emit("totalCartPrice",u.CartSum);a.resolve()}else a.reject(yt);return a.promise},ft=function(){var i=t.defer(),n=f.get("cartProducts");return n&&(ht(n),n.CartSum=n.CartSum>=0?v(n.CartSum+n.CampaignCodeUseDetails.DiscountInEuros):0,n.CampaignCodeUseDetails=null,f.set("cartProducts",n)),f.remove("campaignCodeDetails"),i.resolve(),i.promise},ht=function(n){for(var i,t=0;t<n.ProductDetails.length;t++)switch(n.ProductDetails[t].ProductType){case"Value":i=n.ProductDetails[t].ValueTicket.ProductPrice;n.ProductDetails[t].ValueTicket.Vat=y(i===undefined?0:i,n.ProductDetails[t].ValueTicket.VatPercentage===undefined?0:n.ProductDetails[t].ValueTicket.VatPercentage);n.ProductDetails[t].ValueTicket.CampaignDiscountPrice=0;break;case"Period":i=n.ProductDetails[t].PeriodTicket.ProductPrice;n.ProductDetails[t].PeriodTicket.Vat=y(i===undefined?0:i,n.ProductDetails[t].PeriodTicket.VatPercentage===undefined?0:n.ProductDetails[t].PeriodTicket.VatPercentage);n.ProductDetails[t].PeriodTicket.CampaignDiscountPrice=0;break;case"NewCard":i=n.ProductDetails[t].NewCard.ProductPrice;n.ProductDetails[t].NewCard.Vat=y(i===undefined?0:i,n.ProductDetails[t].NewCard.VatPercentage===undefined?0:n.ProductDetails[t].NewCard.VatPercentage);n.ProductDetails[t].NewCard.CampaignDiscountPrice=0;break;case"TSL":i=n.ProductDetails[t].TslTicket.TslPrice;n.ProductDetails[t].TslTicket.Vat=y(i===undefined?0:i,n.ProductDetails[t].TslTicket.VatPercentage===undefined?0:n.ProductDetails[t].TslTicket.VatPercentage);n.ProductDetails[t].TslTicket.CampaignDiscountPrice=0}},ui=function(){var i=t.defer(),n=f.get("cartProducts"),r;return n&&(r=n.CartSum+(n.GiftVoucherUseDetails.VoucherAmount-n.GiftVoucherUseDetails.LeftAmount),n.GiftVoucherUseDetails="",n.CartSum=r,f.set("cartProducts",n)),i.resolve(),i.promise},ct=function(n){for(var i=0,t=0;t<n.length;t++)n[t].ProductType==="GiftVoucher"&&(i+=n[t].GiftVoucher.ProductPrice);return v(i)};return p.addGiftVoucherToCart=pt,p.addValueProductToCart=wt,p.addNewCardToCart=dt,p.addPeriodProductToCart=bt,p.removeAllProductsFromCart=gt,p.getExistingValueProduct=rt,p.getAllCartItems=tt,p.getCartTotalPrice=it,p.processPurchase=ti,p.removeProductFromCart=et,p.isGiftVoucherCodeUsed=d,p.getExistingPeriodProduct=ut,p.addTslProductToCart=kt,p.getExistingProduct=ni,p.setCampaignCodeDiscountToCart=g,p.removeCampaignCodeUsage=ft,p.removeGiftVoucherCode=ui,p}angular.module("ShoppingCartService",["config","ProductService","CampaignService","SSNService","angular.filter"]).service("shoppingCartService",n);n.$inject=["$http","$q","ENV","$rootScope","$location","localStorageService","productService","$filter","ssnService","Notification","$translate","$state","utilityService"]}(),function(){"use strict";function n(n,t,i,r){var u={},f=r.absUrl().split("#")[0],e=i.backendURL,o="api/v1/Configuration/principal",s="StrongAuthentication/GetSecureAccessKey",h="StrongAuthentication/GetSecureAccessKeyWithSsn",c=function(){var r=t.defer();return n.get(f.concat(i.StrongAuthDataPath)).then(function(n){r.resolve(n)},function(n){r.reject(n)}),r.promise},l=function(i,r){var u=t.defer();return n.get(e+o+"?webApiSessionId="+encodeURIComponent(i.webApiSessionId)+"&accessToken="+encodeURIComponent(i.accessToken)+"&requestId="+encodeURIComponent(i.requestId)+"&lang="+r).then(function(n){u.resolve(n)},function(n){u.reject(n)}),u.promise},a=function(){var i=t.defer();return n.get(f.concat(s)).then(function(n){i.resolve(n)},function(n){i.reject(n)}),i.promise},v=function(i){var r=t.defer();return n.get(f.concat(h)+"?buyer="+i).then(function(n){r.resolve(n)},function(n){r.reject(n)}),r.promise};return u.getUserStrongAuthData=c,u.getEAuthPrincipals=l,u.getSecureAccessKey=a,u.getSecureAccessKeyWithSsn=v,u}angular.module("SSNService",["config"]).service("ssnService",n);n.$inject=["$http","$q","ENV","$location"]}(),function(){"use strict";function n(n,t,i){var u=i.backendURL,f="api/v1/StrongAuthentication/VerifySsn",r={},e=function(i,r){var e=t.defer();return n.post(u+f+"?lang="+r,JSON.stringify(i)).then(function(n){e.resolve(n)},function(n){e.reject(n)}),e.promise};return r.verifySsn=e,r}angular.module("StrongAuthService",["config"]).service("strongAuthService",n);n.$inject=["$http","$q","ENV"]}(),function(){"use strict";function n(n,t,i,r){var f=i.backendURL+"api/v1/user/",e="?lang=",o=f+"create"+e,s=f+"activate"+e,h=f+"VerifyAndSendResetPasswordLink"+e,c=f+"ResetPassword"+e,l=f+"VerifyResetPasswordLink"+e,a=f,v=f+"DeleteProfile?username=[username]&&lang=[lang]",y=f+"UpdateProfile"+e,p=f+"PromotionalMessageAndFeedbackLink",u={},ut=t.defer(),w=function(i,u){r.logout();var f=t.defer();return n.post(o+i,{UserName:u.userName,Email:u.email,Password:u.password,RecaptchaResponseCode:u.recaptchaResponseId,ConfirmPassword:u.confirmPassword,PhoneNumber:u.phoneNumber,IsMobileUser:u.IsMobileUser,AgreesToReceiveInfo:u.AgreesToReceiveInfo,RequestUrl:u.RequestUrl}).success(function(n){f.resolve(n)}).error(function(n){f.reject(n)})},b=function(i){r.logout();var u=t.defer();return n.post(s+i.lang,{EncryptID:i.encryptId}).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},k=function(i,r){var u=t.defer();return n.post(h+i,r).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},d=function(i,r){var u=t.defer();return n.post(c+i,r).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},g=function(i,r){var u=t.defer();return n.post(l+i,r).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},nt=function(i,r){var u=t.defer();return n.post(y+i,r).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},tt=function(i,r){var u=t.defer(),f=v.replace("[username]",r).replace("[lang]",i);return n.post(f).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},it=function(i,r){var u=t.defer();return n.get(a+r+e+i).success(function(n){u.resolve(n)}).error(function(n){u.reject(n)})},rt=function(){var i=t.defer();return n.get(p).success(function(n){i.resolve(n)}).error(function(n){i.reject(n)})};return u.registerUser=w,u.activateUser=b,u.verifyAndSendResetPasswordLink=k,u.resetPassword=d,u.verifyResetPasswordLink=g,u.updateProfile=nt,u.deleteProfile=tt,u.getProfile=it,u.getPromotionalMessageAndFeedbackLinkDetails=rt,u}angular.module("UserManagerService",["config","AuthService"]).service("userManagerService",n);n.$inject=["$http","$q","ENV","authService"]}(),function(){"use strict";function n(n,t){var i={},r=undefined,u=function(t){n.$emit("SuccessMessage",t)},f=function(t){n.$emit("ErrorMessage",t)},e=function(t){n.$emit("InfoMessage",t)},o=function(){n.errorMessage=n.$emit("SuccessMessage","");n.errorMessage=n.$emit("ErrorMessage","");n.infoMessage=n.$emit("InfoMessage","")},s=function(n){var i=angular.element(document).find(".g-recaptcha").find("iframe"),t;i.length&&(t=i.attr("src"),t=n=="en"?t.replace("hl=fi","hl=en"):t.replace("hl=en","hl=fi"),i.attr("src",t))},h=function(n){n=="en"?$.datepicker.regional[n]!=undefined&&$.datepicker.setDefaults($.datepicker.regional["en-US"]):$.datepicker.regional[n]!=undefined&&$.datepicker.setDefaults($.datepicker.regional.fi)},c=function(n){var i="",r="",t;return n!==undefined&&n.length>0&&(t=n.split(","),i=t.length>0?t[0]:"",r=t.length>0?t[1]:""),i+" "+r},l=function(){return r===undefined&&(r=t.get("IsCompanyUser")),r},a=function(n){t.put("IsCompanyUser",n);r=n},v=function(){return t.get("authentication")},y=function(n,t,i){var u=new Blob([i],{type:t}),r,f;window.navigator&&window.navigator.msSaveOrOpenBlob?window.navigator.msSaveOrOpenBlob(u,n):(r=document.createElement("a"),f=window.URL.createObjectURL(u),document.body.appendChild(r),r.style="display: none",r.href=f,r.download=n,r.click())},p=function(){n.errorMessage=n.$emit("ErrorMessage","")},w=function(n,t,i,r,u){var f=CryptoJS.AES.encrypt(n,r,{iv:u}),e=CryptoJS.AES.encrypt(t,r,{iv:u}),o=CryptoJS.AES.encrypt(i,r,{iv:u});return{ssn:f.ciphertext.toString(CryptoJS.enc.Base64),buyerName:e.ciphertext.toString(CryptoJS.enc.Base64),buyerFullName:o.ciphertext.toString(CryptoJS.enc.Base64)}},b=function(n,t,i,r,u){var f=CryptoJS.lib.CipherParams.create({ciphertext:CryptoJS.enc.Base64.parse(n)}),e=CryptoJS.AES.decrypt(f,r,{iv:u}),o=CryptoJS.lib.CipherParams.create({ciphertext:CryptoJS.enc.Base64.parse(t)}),s=CryptoJS.AES.decrypt(o,r,{iv:u}),h=CryptoJS.lib.CipherParams.create({ciphertext:CryptoJS.enc.Base64.parse(i)}),c=CryptoJS.AES.decrypt(h,r,{iv:u});return{ssn:e.toString(CryptoJS.enc.Utf8),buyerName:s.toString(CryptoJS.enc.Utf8),buyerFullName:c.toString(CryptoJS.enc.Utf8)}},k=function(n,t,i){var r=CryptoJS.lib.CipherParams.create({ciphertext:CryptoJS.enc.Base64.parse(n)}),u=CryptoJS.AES.decrypt(r,t,{iv:i});return u.toString(CryptoJS.enc.Utf8)};return i.showSuccessMessage=u,i.showErrorMessage=f,i.showInfoMessage=e,i.hideAllMessages=o,i.setCaptchaLanguage=s,i.setDatePickerLanguage=h,i.parseSubjectData=c,i.getUserType=l,i.setUserType=a,i.getJWTToken=v,i.downloadFile=y,i.hideErrorMessage=p,i.encryptBuyerDetails=w,i.decryptBuyerDetails=b,i.decryptBuyerSsn=k,i}angular.module("UtilityService",[]).service("utilityService",n);n.$inject=["$rootScope","cookieService"]}()