(function(){var n=angular.module("TCS",["ngRoute","ngAnimate","ui.bootstrap","ngSanitize","ngFitText","ngCacheBuster"]);n.config(["$routeProvider","$logProvider","fitTextConfigProvider","httpRequestInterceptorCacheBusterProvider",function(n,t,i,r){t.debugEnabled(!1);n.when("/",{templateUrl:"App/views/home.html"}).when("/signup",{templateUrl:"App/views/signup.html"}).when("/login",{templateUrl:"App/views/login.html"}).when("/forgotPassword",{templateUrl:"App/views/forgotPassword.html"}).when("/resetPassword/:token",{templateUrl:"App/views/resetPassword.html"}).when("/activationFailed",{templateUrl:"App/views/activationFailed.html"}).when("/activationSucceeded",{templateUrl:"App/views/activationSucceeded.html"}).when("/noSupport",{templateUrl:"App/views/noSupport.html"}).otherwise({redirectTo:"/"});i.ftConfig={max:27,loadDelay:0};r.setMatchlist([/.*App.*/,/.*Images.*/],!0);r.setVersionSuffix("v=1.1.0.3")}]);n.run(["$rootScope","encryptionService","$location","authorizationService","$log","localStorageService","config","i18nService",function(n,t,i,r,u,f,e,o){n.$on("$viewContentLoaded",function(){angular.element(document).ready(function(){o.refreshBody()})});n.$on("$routeChangeStart",function(){var t=/*@cc_on!@*/!1||!!document.documentMode,n;t&&$("#AppBody").addClass("isIE");n=document.createElement("canvas");n.getContext("experimental-webgl")||i.path("/noSupport")});toastr.options={closeButton:!0,debug:!1,newestOnTop:!1,progressBar:!0,positionClass:"toast-bottom-right",preventDuplicates:!1,showDuration:"200",hideDuration:"200",timeOut:"4000",extendedTimeOut:"1000",showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"};t.getPublicKey();e.loadLanguages().then(function(n){o.init(n)},function(){});var s=f.get("authToken");s&&s!=""&&(u.debug("login user from local storage"),r.loginToken(s).then(function(n){n.status==204?(u.debug(n),e.loadConfigurations().then(function(){i.path("/")},function(){}),toastr.clear()):(f.remove("authToken"),i.path("/signup"))},function(){toastr.error("Internal server error, please contact support!")}).finally(function(){}))}]);n.directive("mAppLoading",function(){function n(n,t){$(t).fadeOut()}return{link:n,restrict:"C"}});angular.element(document).ready(function(){window.location.href.indexOf("/#/")==-1&&(window.location.href=window.location.href.substr(0,window.location.href.indexOf("#/"))+"/");setTimeout(function(){},1e3)})})(),function(n){var t=function(n,t,i,r){angular.element(document).ready(function(){i.refreshBody();t.path().indexOf("activationFailed")<0?r(function(){t.path("/login")},5e3):r(function(){t.path("/")},5e3)})};n.controller("activationCtrl",["$scope","$location","i18nService","$timeout",t])}(angular.module("TCS")),function(n){var t=function(n,t,i,r,u,f,e,o,s,h){var y=!1,c,l,a,v,p=function(){var i,e,y,p;n.enableProductGrp=!1;i=!1;e=!1;n.openPrism=!0;n.prismCnv=u.UserParameters.CNV_PrismConvensionId==1?"Polar":"Cartesian";n.shapesR1=Enumerable.From(u.Shapes).Select(function(n){return n.selected=!1,n}).Where(function(n){return n.Name>=1&&n.Name<=8}).ToArray();n.shapesR2=Enumerable.From(u.Shapes).Select(function(n){return n.selected=!1,n}).Where(function(n){return n.Name>=9&&n.Name<=16}).ToArray();n.filteredDesigns=angular.copy(u.Designs);n.filteredMaterials=angular.copy(u.Materials);n.filreredProducts=angular.copy(u.Products);n.materialName="";n.designName="";n.showExtras=!1;n.prescription=angular.copy(f.prescriptionObj);n.clinicPrism=angular.copy(f.clinicPrismObj);n.frame=angular.copy(f.frameObj);n.frame.shapeId=n.shapesR1[0].Id;n.product=angular.copy(f.productObj);n.product.thinningPrism=u.Defaults.thinningPrism.toLowerCase()=="true";n.shapesR1[0].selected=!0;n.frame.hbox=String(n.shapesR1[0].HBOX);n.frame.vbox=String(n.shapesR1[0].VBOX);n.frame.dbl=String(n.shapesR1[0].DBL);n.setActiveGroup=function(t){c.hasClass("active-group")&&t!=c.attr("id")&&(c.removeClass("active-group"),c.find(".triangle-div").removeClass("active-triangle"),n.frame.frameType&&n.frame.frameType!=""&&o.validatePresc(n.prescription));l.hasClass("active-group")&&t!=l.attr("id")&&(l.removeClass("active-group"),l.find(".triangle-div").removeClass("active-triangle"),n.frame.frameType&&n.frame.frameType!=""&&o.validatePrism(n.clinicPrism));a.hasClass("active-group")&&t!=a.attr("id")&&(a.removeClass("active-group"),a.find(".triangle-div").removeClass("active-triangle"),(n.frame.frameType&&n.frame.frameType!=""||n.frame.hbox!=""||n.frame.vbox!=""||n.frame.dbl!="")&&(o.validatePresc(n.prescription),o.validatePrism(n.clinicPrism)));v.hasClass("active-group")&&t!=v.attr("id")&&(v.removeClass("active-group"),v.find(".triangle-div").removeClass("active-triangle"));$("#"+t).addClass("active-group");$("#"+t).find(".triangle-div").addClass("active-triangle")};n.setClinicPrism=function(){n.openPrism=!n.openPrism};n.copyPresc=function(){t.info("copy p");n.prescription.left=angular.copy(n.prescription.right);n.clinicPrism.left=angular.copy(n.clinicPrism.right)};n.selectShape=function(t){for(var u,f,e,r=0;r<n.shapesR1.length;r++)i||n.shapesR1[r].selected!=!0||(i=n.frame.hbox!=String(n.shapesR1[r].HBOX)||n.frame.vbox!=String(n.shapesR1[r].VBOX)||n.frame.dbl!=String(n.shapesR1[r].DBL)),n.shapesR1[r].Name==t?(n.shapesR1[r].selected=!0,n.frame.shapeId=n.shapesR1[r].Id,u=String(n.shapesR1[r].HBOX),f=String(n.shapesR1[r].VBOX),e=String(n.shapesR1[r].DBL)):n.shapesR1[r].selected=!1;for(r=0;r<n.shapesR2.length;r++)i||n.shapesR2[r].selected!=!0||(i=n.frame.hbox!=String(n.shapesR2[r].HBOX)||n.frame.vbox!=String(n.shapesR2[r].VBOX)||n.frame.dbl!=String(n.shapesR2[r].DBL)),n.shapesR2[r].Name==t?(n.shapesR2[r].selected=!0,n.frame.shapeId=n.shapesR2[r].Id,u=String(n.shapesR2[r].HBOX),f=String(n.shapesR2[r].VBOX),e=String(n.shapesR2[r].DBL)):n.shapesR2[r].selected=!1;i||(n.frame.hbox=u,n.frame.vbox=f,n.frame.dbl=e)};n.calculateThickness=function(){if(!o.validatePresc(n.prescription)||!o.validatePrism(n.clinicPrism)||!o.validateFrame(n.frame))return!1;var i=Enumerable.From(u.Designs).Where(function(t){return t.Id==n.product.designId}).FirstOrDefault(),r={min:i?i.MinPano:0,max:i?i.MaxPano:0,def:i?i.DefaultPano:0},f={min:i?i.MinPanto:0,max:i?i.MaxPanto:0,def:i?i.DefaultPanto:0};if(!o.validateProduct(n.product,r,f))return!1;t.info("calculate thickness");t.info(n.prescription);t.info(n.clinicPrism);t.info(n.frame);t.info(n.product);s.showThicknessCalculation(n.prescription,n.clinicPrism,n.frame,n.product,n.designName,n.materialName,n.prismCnv,n.showExtras,n.filteredMaterials)};n.clear=function(){t.info("clearing");n.prescription=angular.copy(f.prescriptionObj);n.clinicPrism=angular.copy(f.clinicPrismObj);n.frame=angular.copy(f.frameObj);n.product=angular.copy(f.productObj);n.filteredDesigns=angular.copy(u.Designs);n.filteredMaterials=angular.copy(u.Materials);n.materialName="";n.designName="";n.showExtras=!1;e=!1;n.selectShape(n.shapesR1[0].Name);n.frame.hbox=String(n.shapesR1[0].HBOX);n.frame.vbox=String(n.shapesR1[0].VBOX);n.frame.dbl=String(n.shapesR1[0].DBL);i=!1;o.clearValidationMsgs()};y=function(t){var i,r;if(!t||t==""){n.filteredMaterials=angular.copy(Enumerable.From(u.Materials).Where(function(t){return Enumerable.From(n.filreredProducts).Any(function(n){return n.STA_MaterialTypeId==t.Id})}).ToArray());n.product.designId="";return}i=Enumerable.From(u.Designs).Where(function(i){return Enumerable.From(n.filreredProducts).Any(function(n){return i.Id==n.STA_DesignTypeId&&i.Name==t})}).FirstOrDefault();n.product.designId=i.Id;i.HasExtraParameters&&!e&&(n.product.panoramicAngle=String(i.DefaultPano),n.product.pantoscopicAngle=String(i.DefaultPanto));n.showExtras=i.HasExtraParameters;r=Enumerable.From(n.filreredProducts).Where(function(t){return t.STA_DesignTypeId==n.product.designId}).ToArray();n.filteredMaterials=angular.copy(Enumerable.From(u.Materials).Where(function(n){return Enumerable.From(r).Any(function(t){return t.STA_MaterialTypeId==n.Id})}).ToArray())};n.$watch("designName",function(n,t){y(n,t)});n.$watch("materialName",function(t){if(!t||t==""){n.filteredDesigns=angular.copy(Enumerable.From(u.Designs).Where(function(t){return Enumerable.From(n.filreredProducts).Any(function(n){return n.STA_DesignTypeId==t.Id})}).ToArray());n.product.materialId="";return}n.product.materialId=Enumerable.From(u.Materials).Where(function(n){return n.Name==t}).FirstOrDefault().Id;var i=Enumerable.From(n.filreredProducts).Where(function(t){return t.STA_MaterialTypeId==n.product.materialId}).ToArray();n.filteredDesigns=angular.copy(Enumerable.From(u.Designs).Where(function(n){return Enumerable.From(i).Any(function(t){return t.STA_DesignTypeId==n.Id})}).ToArray())});n.$watch("prismCnv",function(t,i){t&&t!=i&&(t=="Polar"&&r.get("api/app/savePrismCnv?prismCnv=Polar"),t=="Cartesian"&&r.get("api/app/savePrismCnv?prismCnv=Cartesian"),n.clinicPrism=angular.copy(f.clinicPrismObj))});n.$watch("filreredProducts",function(t){t&&(n.filteredDesigns=angular.copy(Enumerable.From(u.Designs).Where(function(t){return Enumerable.From(n.filreredProducts).Any(function(n){return n.STA_DesignTypeId==t.Id})}).ToArray()),n.filteredMaterials=angular.copy(Enumerable.From(u.Materials).Where(function(t){return Enumerable.From(n.filreredProducts).Any(function(n){return n.STA_MaterialTypeId==t.Id})}).ToArray()),Enumerable.From(n.filteredMaterials).Any(function(t){return t.Name==n.materialName})||(n.materialName=""),Enumerable.From(n.filteredDesigns).Any(function(t){return t.Name==n.designName})||(n.designName=""))},!0);p=function(){if(n.enableProductGrp){var t,i,r,f,e,o;h.stringToFloat(n.prescription.right.cylinder)>0?(t=-1*h.stringToFloat(n.prescription.right.cylinder),i=h.stringToFloat(n.prescription.right.sphere)+h.stringToFloat(n.prescription.right.cylinder)):(t=h.stringToFloat(n.prescription.right.cylinder),i=h.stringToFloat(n.prescription.right.sphere));h.stringToFloat(n.prescription.left.cylinder)>0?(r=-1*h.stringToFloat(n.prescription.left.cylinder),f=h.stringToFloat(n.prescription.left.sphere)+h.stringToFloat(n.prescription.left.cylinder)):(r=h.stringToFloat(n.prescription.left.cylinder),f=h.stringToFloat(n.prescription.left.sphere));n.prescription.left.sphere!=""&&n.prescription.right.sphere==""?(i=f,t=r,o=h.stringToFloat(n.prescription.left.addition),e=o):n.prescription.right.sphere!=""&&n.prescription.left.sphere==""?(f=i,r=t,e=h.stringToFloat(n.prescription.right.addition),o=e):(o=h.stringToFloat(n.prescription.left.addition),e=h.stringToFloat(n.prescription.right.addition));n.filreredProducts=angular.copy(Enumerable.From(u.Products).Where(function(s){var h=Enumerable.From(u.Materials).Where(function(n){return n.Id==s.STA_MaterialTypeId}).FirstOrDefault().NominalRefractionIndex;return s.MinSphere<=i&&s.MaxSphere>=i&&s.MinCylinder<=t&&s.MaxCylinder>=t&&s.MinAddition<=e&&s.MaxAddition>=e&&s.MinSphere<=f&&s.MaxSphere>=f&&s.MinCylinder<=r&&s.MaxCylinder>=r&&s.MinAddition<=o&&s.MaxAddition>=o&&(h!=1.498||n.frame.frameType!="Rimless")}).ToArray());y(n.designName)}else n.filreredProducts=angular.copy(u.Products)};n.$watch("prescription",function(){n.enableProductGrp=o.validateMinForProduct(n.prescription,n.frame);p()},!0);n.$watch("frame",function(){n.enableProductGrp=o.validateMinForProduct(n.prescription,n.frame);p()},!0);n.setPanoPantoChanged=function(){e=!0}};n.$watch("frame.hbox",function(){$("#hboxInput").tooltip("destroy")});n.$watch("frame.vbox",function(){$("#vboxInput").tooltip("destroy")});n.$watch("frame.dbl",function(){$("#dblInput").tooltip("destroy")});n.$watch("prescription.left.pd",function(){$("#pdlInput").tooltip("destroy")});n.$watch("prescription.right.pd",function(){$("#pdrInput").tooltip("destroy")});n.$watch("product.panoramicAngle",function(){$("#panoInput").tooltip("destroy")});n.$watch("product.pantoscopicAngle",function(){$("#pantoInput").tooltip("destroy")});n.init=function(){!u.CurrentUser&&i.get("authToken")&&i.get("authToken")!=""?(y=!0,e.loadConfigurations().finally(function(){p()})):u.CurrentUser&&(y=!0,p())};n.init();angular.element(document).ready(function(){y&&(c=$("#presc-group"),l=$("#clinic-prism-title"),a=$("#frame-group"),v=$("#product-group"))})};n.controller("calcFormCtrl",["$scope","$log","localStorageService","apiService","$rootScope","appObjects","config","validateService","thicknessRequestService","utilities",t])}(angular.module("TCS")),function(n){var t=function(n,t,i,r,u){var f;n.email="";n.fullName="";n.msg="";n.send=function(){if(f.validate()){kendo.ui.progress($(".modal-dialog"),!0);var t={FullName:n.fullName,Email:n.email,MSG:n.msg};r.post("api/appstart/contactUs",t).then(function(n){n.IsSuccess===!0&&(toastr.success(i.getTranslation("contactUs.msg was sent")),u.close())},function(){toastr.error("Internal server error, please contact support!")}).finally(function(){kendo.ui.progress($(".modal-dialog"),!1)})}};n.close=function(){u.dismiss("cancel")};u.rendered.then(function(){i.refreshBody();f=$("#contactUsFormDiv").kendoValidator(t.validations).data("kendoValidator");status=$(".status")})};n.controller("contactUsCtrl",["$scope","config","i18nService","apiService","$uibModalInstance",t])}(angular.module("TCS")),function(n){var t=function(n,t,i,r,u,f){var e;n.email="";n.forgotPassword=function(){e.validate()&&(kendo.ui.progress($("#AppBody"),!0),u.debug("forgotPassword submited to user "+n.email),r.forgotPassword(n.email).then(function(n){n.IsSuccess===!0?(toastr.success(f.getTranslation("forgetPassword.Message was sent to your email, please follow the instructions in it to reset your password")),t.path("/")):toastr.warning(f.getTranslation("forgetPassword."+n.ErrCode))},function(){toastr.error("Internal server error, please contact support!")}).finally(function(){kendo.ui.progress($("#AppBody"),!1)}))};angular.element(document).ready(function(){toastr.clear();e=$("#forgotPasswordFormDiv").kendoValidator(i.validations).data("kendoValidator");status=$(".status")})};n.controller("forgotPasswordCtrl",["$scope","$location","config","authorizationService","$log","i18nService",t])}(angular.module("TCS")),function(n){var t=function(n,t,i,r,u,f,e,o){n.currentPath=r.path();n.isSignUpView=r.url().toLowerCase().indexOf("signup")>=0;n.setLang=function(n){t.setLang(n).then(function(){f.$broadcast("languageChanged")})};n.logout=function(){o.logout();i.remove("authToken");u.cleanConfigurations();r.path("/")};n.openContactUs=function(){e.uibModal.open({templateUrl:"App/views/contactUs.html",controller:"contactUsCtrl"})};n.goToLogin=function(){r.path("/login")};n.openAbout=function(){var n={closeButtonText:null,actionButtonText:t.getTranslation("buttons.Ok"),headerText:t.getTranslation("header.about"),bodyHtml:null,bodyHtmlPath:"App/static-pages/About.html"};e.showModal({},n)};angular.element(document).ready(function(){t.refreshBody()})};n.controller("headerCtrl",["$scope","i18nService","localStorageService","$location","config","$rootScope","modalService","authorizationService",t])}(angular.module("TCS")),function(n){var t=function(n,t,i,r,u){var f;n.email="";n.password="";n.$on("$destroy",function(){toastr.clear()});n.Login=function(){f.validate()&&(kendo.ui.progress($("#AppBody"),!0),t.debug("login submited to user "+n.email),i.login(n.email,n.password).then(function(n){n.status==204?(t.debug(n),u.loadConfigurations().then(function(){r.path("/")},function(){}),toastr.clear()):(toastr.clear(),toastr.error(n.headers().filurelogin,"log in error",{timeOut:0,extendedTimeOut:0,progressBar:!1,positionClass:"toast-bottom-right"}))},function(){toastr.error("Internal server error, please contact support!")}).finally(function(){kendo.ui.progress($("#AppBody"),!1)}))};angular.element(document).ready(function(){f=$("#loginFormDiv").kendoValidator(u.validations).data("kendoValidator");status=$(".status")})};n.controller("loginCtrl",["$scope","$log","authorizationService","$location","config",t])}(angular.module("TCS")),function(n){var t=function(n,t,i,r,u,f,e){var o;n.newPassword={password:"",rePassword:"",token:f.token};n.resetPassword=function(){o.validate()&&(u.debug("resetPassword submited to user "+n.newPassword),kendo.ui.progress($("#AppBody"),!0),r.resetPassword(n.newPassword).then(function(n){n.IsSuccess===!0?(toastr.success(e.getTranslation("resetPassword.Password has been changed")),t.path("/")):toastr.warning(e.getTranslation("resetPassword."+n.ErrCode))},function(){toastr.error("Internal server error, please contact support!")}).finally(function(){kendo.ui.progress($("#AppBody"),!1)}))};angular.element(document).ready(function(){var t={rules:{passwordMatch:function(t){return t.is("[passwordMatch]")?n.newPassword.password===n.newPassword.rePassword:!0},passwordLength:function(t){return t.is("[passwordLength]")?n.newPassword.password.length>=8:!0}},messages:{passwordMatch:"These passwords don't match. Try again?.",passwordLength:"Passwords are case-sensitive. They must consist of at least 8 characters and are a combination of alphanumeric characters."}};$.extend(!0,t,i.validations);o=$("#resetPasswordFormDiv").kendoValidator(t).data("kendoValidator");status=$(".status")})};n.controller("resetPasswordCtrl",["$scope","$location","config","authorizationService","$log","$routeParams","i18nService",t])}(angular.module("TCS")),function(n){var t=function(n,t,i,r,u,f,e,o){var s;n.newUser={fullName:"",company:"",email:"",password:"",rePassword:"",newsletters:!0};n.authToken=r.get("authToken");n.authToken&&n.authToken!=""&&(t.debug("login user from local storage"),kendo.ui.progress($("#AppBody"),!0),i.loginToken(n.authToken).then(function(n){n.status==204?(t.debug(n),f.loadConfigurations().then(function(){u.path("/")},function(){}),toastr.clear()):(r.remove("authToken"),u.path("/signup"))},function(){toastr.error("Internal server error, please contact support!")}).finally(function(){kendo.ui.progress($("#AppBody"),!1)}));n.Signup=function(){if(s.validate()){var r={closeButtonText:o.getTranslation("buttons.Cancel"),actionButtonText:o.getTranslation("buttons.Join now"),headerText:o.getTranslation("modals.Confirm your email"),bodyHtml:o.getTranslation("modals.email confirmation msg").replace("<email>","<b>"+n.newUser.email+"<\/b>")};e.showModal({},r).then(function(){t.debug("Signup submited to user ");t.debug(n.newUser);kendo.ui.progress($("#AppBody"),!0);i.signup(n.newUser).then(function(n){n.IsSuccess===!0?(toastr.success(o.getTranslation("signup.Message was sent to your email, please follow the instructions in it to activate your account.")),u.path("/")):toastr.warning(o.getTranslation("signup."+n.ErrCode))},function(){toastr.error("Internal server error, please contact support!")}).finally(function(){kendo.ui.progress($("#AppBody"),!1)})},function(){}).finally(function(){})}else t.debug("Signup was not submited to user "),t.debug(n.newUser)};n.showTerms=function(){var n={closeButtonText:null,actionButtonText:o.getTranslation("buttons.Ok"),headerText:o.getTranslation("modals.Terms of use"),bodyHtml:null,bodyHtmlPath:"App/static-pages/TermsOfUse.html"};e.showModal({size:"lg"},n)};angular.element(document).ready(function(){var t={rules:{passwordMatch:function(t){return t.is("[passwordMatch]")?n.newUser.password===n.newUser.rePassword:!0},passwordLength:function(t){return t.is("[passwordLength]")?n.newUser.password.length>=8:!0}},messages:{passwordMatch:o.getTranslation("validations.These passwords dont match Try again?"),passwordLength:o.getTranslation("validations.Passwords are case sensitive They must consist of at least 8 characters and are a combination of alphanumeric characters")}};$.extend(!0,t,f.validations);s=$("#regFormDiv").kendoValidator(t).data("kendoValidator");status=$(".status")})};n.controller("signupCtrl",["$scope","$log","authorizationService","localStorageService","$location","config","modalService","i18nService",t])}(angular.module("TCS")),function(n){var t=function(n,t,i,r){n.goToSignup=function(){t.path("/signup")};n.goToLogin=function(){t.path("/login")};angular.element(document).ready(function(){r.refreshBody()})};n.controller("welcomeCtrl",["$scope","$location","$rootScope","i18nService",t])}(angular.module("TCS")),function(n){var t=function(n,t,i){var r=function(r){var u=t.get("authToken");return n({method:"GET",url:r,headers:{Authorization:u}}).then(function(n){return n.data},function(n){return i.debug(n),n.data})},u=function(r,u){var f=t.get("authToken");return n({method:"POST",url:r,headers:{Authorization:f},data:u}).then(function(n){return n.data},function(n){return i.debug(n),n.data})},f=function(t){return n({method:"GET",url:"api/Authorization/login",headers:{Authorization:t}})};return{get:r,post:u,login:f}};n.factory("apiService",["$http","localStorageService","$log",t])}(angular.module("TCS")),function(n){var t=function(n,t,i,r,u){var f=function(n,i){var u=l(n,i);return t.login(u).then(function(n){return r.set("authToken",u),n},function(n){return n})},e=function(i){return emailParam={Email:i},t.post("api/appstart/ForgotPassword",emailParam).then(function(t){return n.debug(t),t},function(t){return n.debug(t),t})},o=function(i){var r={NewPassword:u.encrypt(i.password),Token:i.token};return t.post("api/appstart/ResetPassword",r).then(function(t){return n.debug(t),t},function(t){return n.debug(t),t})},s=function(i){var r={FullName:i.fullName,Company:i.company,Email:i.email,Password:u.encrypt(i.password),IsNewsletters:i.newsletters};return t.post("api/appstart/RegisterUser",r).then(function(t){return n.debug(t),t},function(t){return n.debug(t),t})},h=function(n){return t.login(n).then(function(t){return r.set("authToken",n),t},function(n){return n})},c=function(){return t.get("api/Authorization/logout").then(function(t){return n.debug(t),t},function(t){return n.debug(t),t})},l=function(n,t){var r;return n&&t?(r=u.encrypt(n+":"+t),"Encrypted "+i.base64Encode(r)):null};return{login:f,loginToken:h,signup:s,logout:c,forgotPassword:e,resetPassword:o}};n.factory("authorizationService",["$log","apiService","utilities","localStorageService","encryptionService",t])}(angular.module("TCS")),function(n){var t=function(n,t,i){var r=null,u=function(t){var u,f;u=r?r:i.get("publicKey");f=new Date;setMaxDigits(262);var e=new RSAKeyPair(u.Exponent,u.Exponent,u.Modulus,u.KeySize),o=encryptedString(e,t,RSAAPP.PKCS1Padding,RSAAPP.NumericEncoding),s=new Date;return n.debug("encripted: "+(s.getTime()-f.getTime())/1e3),o},f=function(){t.post("api/appstart/GetPublicKey",null).then(function(n){if(n.IsSuccess===!0){var t=n.returnObj;t&&t.Exponent&&t.Exponent!==""&&t.Modulus&&t.Modulus!==""&&(r=t,oldPublicKey=i.get("publicKey"),oldPublicKey&&oldPublicKey.Exponent&&oldPublicKey.Exponent==r.Exponent&&oldPublicKey.Modulus&&oldPublicKey.Modulus==r.Modulus||i.set("publicKey",r))}},function(){r=null}).finally(function(){})};return{encrypt:u,getPublicKey:f}};n.factory("encryptionService",["$log","apiService","localStorageService",t])}(angular.module("TCS")),function(n){var t=function(n){var r={},i={load:"unspecific"},t,u=!1,f=function(f){t=n.get("clang");t==null&&(t="en");f.forEach(function(n){r[n.Code.trim()]={translation:JSON.parse(n.Data)}});i.lng=t;i.resStore=r;i18n.init(i,function(){$("#AppBody").i18n();n.set("clang",t.trim());u=!0})},e=function(i){return i18n.setLng(i.Code.trim(),function(){n.set("clang",i.Code.trim());t=i.Code.trim();$("#AppBody").i18n()})},o=function(n){return i18n.t(n,{defaultValue:"MISSING KEY "})},s=function(n){n==null&&(n="#AppBody");u&&$(n).i18n()};return{init:f,setLang:e,getTranslation:o,refreshBody:s}};n.factory("i18nService",["localStorageService",t])}(angular.module("TCS")),function(n){var t=function(){var n=function(n){return angular.fromJson(window.localStorage.getItem(n))},t=function(n,t){window.localStorage.setItem(n,angular.toJson(t))},i=function(n){window.localStorage.removeItem(n)};return{get:n,set:t,remove:i}};n.factory("localStorageService",t)}(angular.module("TCS")),function(n){var t=function(n){var r={keyboard:!0,modalFade:!0,templateUrl:"App/widget/modalWidget/modalView.html"},u={closeButtonText:"Close",actionButtonText:"OK",headerText:"Proceed?",bodyHtml:"Perform this action?"},t={},i={},f=function(n,t){return n||(n={}),this.show(n,t)},e=function(f,e){return t={},i={},angular.extend(t,r,f),angular.extend(i,u,e),t.controller||(t.controller="modalCtrl"),n.open(t).result},o=function(){return i},s=function(){return t};return{modalDefaults:r,modalOptions:u,getTempModalOptions:o,getTempModalDefaults:s,showModal:f,show:e,uibModal:n}};n.factory("modalService",["$uibModal",t])}(angular.module("TCS")),function(n){var t=function(n,t){function l(n,t,i){return{prism:n||0,direction:function(){return i==="r"?t=="In"||t=="Up"?1:-1:t=="Out"||t=="Up"?1:-1}()}}function b(n){return n*(180/Math.PI)}var v="api/thicknesscalculation/calculate",i,r,u,f,e,o,s,h,c,y=function(){var w;try{var p=Enumerable.From(n.Materials).Where(function(n){return n.Id==f.materialId}).FirstOrDefault().LMAT,b=Enumerable.From(n.Designs).Where(function(n){return n.Id==f.designId}).FirstOrDefault().LNAM,k=Enumerable.From(n.FrameTypes).Where(function(n){return n.Name==u.frameType}).FirstOrDefault(),d=Enumerable.From(n.Products).Where(function(n){return n.STA_MaterialTypeId==f.materialId&&n.STA_DesignTypeId==f.designId}).FirstOrDefault(),g=new Date,y={DO:"B",LmatList:c,JobID:n.CurrentUser.Id+"_"+g.getTime().toString().slice(3,-3),FTYP:k.FTYP,DBL:u.dbl,OrderTypeId:0,PTOK:f.thinningPrism?"1":"0",Design:e,SelectedMaterialName:o,SelectedMaterialId:p,productId:d.Id,frameTypeId:k.Id,TechnologyId:"2"},l={SPH:i.right.sphere,CYL:i.right.cylinder,AX:i.right.axis,ADD:i.right.addition,PD:i.right.pd},a={SPH:i.left.sphere,CYL:i.left.cylinder,AX:i.left.axis,ADD:i.left.addition,PD:i.left.pd};i.right.sphere&&i.right.sphere!=""||(l={SPH:i.left.sphere,CYL:i.left.cylinder,AX:i.left.axis,ADD:i.left.addition,PD:i.left.pd});i.left.sphere&&i.left.sphere!=""||(a={SPH:i.right.sphere,CYL:i.right.cylinder,AX:i.right.axis,ADD:i.right.addition,PD:i.right.pd});y.right={HBOX_origin:u.hbox,VBOX_origin:u.vbox,SPH:l.SPH,CYL:l.CYL&&l.CYL!=""?l.CYL:"0",AX:l.AX&&l.AX!=""?l.AX:"180",ADD:l.ADD&&l.ADD!=""?l.ADD:"0",MINCTR:null,MINEDG:null,PRVA:r.right.polar.direction&&r.right.polar.direction!=""?r.right.polar.direction:"90",PRVM:r.right.polar.prism&&r.right.polar.prism!=""?r.right.polar.prism:"0",IPD:l.PD,SEGHT:l.ADD&&l.ADD!=""?u.vbox/2+2:u.vbox/2,FRNT:null,I:0,N:0,S:0,T:0,BasicShape_Id:u.shapeId,LMATID:p,LNAM:b};y.left={HBOX_origin:u.hbox,VBOX_origin:u.vbox,SPH:a.SPH,CYL:a.CYL&&a.CYL!=""?a.CYL:"0",AX:a.AX&&a.AX!=""?a.AX:"180",ADD:a.ADD&&a.ADD!=""?a.ADD:"0",MINCTR:null,MINEDG:null,PRVA:r.left.polar.direction&&r.left.polar.direction!=""?r.left.polar.direction:"90",PRVM:r.left.polar.prism&&r.left.polar.prism!=""?r.left.polar.prism:"0",IPD:a.PD,SEGHT:a.ADD&&a.ADD!=""?u.vbox/2+2:u.vbox/2,FRNT:null,I:0,N:0,S:0,T:0,BasicShape_Id:u.shapeId,LMATID:p,LNAM:b};h&&(w=Enumerable.From(n.Designs).Where(function(n){return n.Id==f.designId}).FirstOrDefault(),y.ZTILT=f.panoramicAngle&&f.panoramicAngle!=""?f.panoramicAngle:w.DefaultPano,y.PANTO=f.pantoscopicAngle&&f.pantoscopicAngle!=""?f.pantoscopicAngle:w.DefaultPanto);s=="Cartesian"&&(r.right.polar.direction="",r.right.polar.prism="",r.left.polar.direction="",r.left.polar.prism="")}catch(nt){toastr.error(nt);kendo.ui.progress($("#AppBody"),!1);return}return t.post(v,JSON.stringify(y))},p=function(n){var t=document.createElement("form"),i=document.createElement("input");t.method="POST";t.action=n.Url;t.setAttribute("target","_blank");i.value=JSON.stringify(n.RequestParams);i.name="data";i.type="hidden";t.appendChild(i);document.body.appendChild(t);t.submit()},w=function(n,t,l,v,w,b,k,d,g){if(i=n,r=t,u=l,f=v,e=w,o=b,s=k,h=d,c=g,k=="Cartesian"){var nt=a(r.right.cartesian,"r"),tt=a(r.left.cartesian,"l");nt&&(r.right.polar.direction=nt.direction,r.right.polar.prism=nt.prism);tt&&(r.left.polar.direction=tt.direction,r.left.polar.prism=tt.prism)}kendo.ui.progress($("#AppBody"),!0);y().then(function(n){n.IsSuccess===!0?p(n.returnObj):toastr.warning(n.ErrCode)},function(){toastr.error("Internal server error, please contact support!")}).finally(function(){kendo.ui.progress($("#AppBody"),!1)})},a=function(n,t){var f;if(n.hdir!=""&&n.hprism!=""&&n.vdir!=""&&n.vprism!==""){var i=l(n.hprism,n.hdir,t),r=l(n.vprism,n.vdir,t),e=Math.sqrt(Math.pow(i.prism,2)+Math.pow(r.prism,2)).toFixed(2),u=0;return i.prism==0?u=r.direction>0?90:270:(f=i.prism*i.direction,u=f==0?0:Math.round(b(Math.atan(r.prism*r.direction/i.prism*i.direction))),i.direction<0?u+=180:i.direction>0&&r.direction<0&&(u+=360)),{prism:e,direction:u}}};return{showThicknessCalculation:w}};n.factory("thicknessRequestService",["$rootScope","apiService",t])}(angular.module("TCS")),function(n){var t=function(n,t,i){var u={requiredField:function(){return n.getTranslation("validations.This is a required parameter")},additionInvalid:function(){return n.getTranslation("validations.For progressive lenses, addition is mandatory for both eyes")},cylinderInvalid:function(){return n.getTranslation("validations.Cylinder amount is missing")},axisInvalid:function(){return n.getTranslation("validations.Cylinder axis is missing")},prismInvalid:function(){return n.getTranslation("validations.For prescription with clinic prism, all prism parameters are mandatory")},frameTypeInvalid:function(){return n.getTranslation("validations.Please select a frame type")},hboxInvalid:function(){return n.getTranslation("frameGroup.HBOX")+n.getTranslation("validations.is missing or invalid")},vboxInvalid:function(){return n.getTranslation("frameGroup.VBOX")+n.getTranslation("validations.is missing or invalid")},dblInvalid:function(){return n.getTranslation("frameGroup.DBL")+n.getTranslation("validations.is missing or invalid")},pdInvalid:function(){return n.getTranslation("frameGroup.PD")+n.getTranslation("validations.is missing or invalid")},shapeInvalid:function(){return n.getTranslation("validations.Please select")+n.getTranslation("frameGroup.Shape")},designInvalid:function(){return n.getTranslation("validations.Please select")+n.getTranslation("productGroup.Design Type")},indexInvalid:function(){return n.getTranslation("validations.Please select")+n.getTranslation("productGroup.Index")},invalidInput:function(){return n.getTranslation("validations.input is invalid")},invalidRange:function(t,i){return n.getTranslation("validations.Value must be a number between the values of")+t+n.getTranslation("validations.and")+i}},r={isEmptyNullOrWhiteSpace:function(n){return!n||n.length<1||n.trim()==""},isDouble:function(n){return!isNaN(parseFloat(n))&&isFinite(n)},isInt:function(n){return!isNaN(parseInt(n))&&isFinite(n)},isPositive:function(n){return parseInt(n)>0},isAlphanumeric:function(n){var t=new RegExp(/^[a-zA-Z0-9 \u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/);return t.test(n.val())||n.val().trim()===""},inMaxLength:function(n,t){return n.length<=t},inNumericRange:function(n,t,r){return n<=i.stringToFloat(r)&&n>=i.stringToFloat(t)},isEmail:function(n){var t=new RegExp(/^((([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/);return t.test(n.val())},isNumber:function(n){var t=n;return t?(typeof t=="string"&&(t=parseInt(t,10)),typeof t=="number"&&!isNaN(t)):!0}},f=function(n,t){$(n).tooltip({placement:"top",html:!0,title:""}).attr("data-original-title","<div class='warning-ttl'><div class='warning-icon'><\/div><\/div><div class='bdy'>"+t+"<\/div>").tooltip("fixTitle").tooltip("show")},e=function(n){var i,e;if(!r.isEmptyNullOrWhiteSpace(n.right.sphere)||!r.isEmptyNullOrWhiteSpace(n.right.addition)||!r.isEmptyNullOrWhiteSpace(n.right.cylinder)||!r.isEmptyNullOrWhiteSpace(n.right.axis)){if(r.isEmptyNullOrWhiteSpace(n.right.sphere))return f("shamir-combox[sc-name='sph-r']",u.requiredField()),!1;if(i=n.right.addition,i=="0.00"&&(i=""),e=n.left.addition,e=="0.00"&&(e=""),r.isEmptyNullOrWhiteSpace(i)&&!r.isEmptyNullOrWhiteSpace(e))return f("shamir-combox[sc-name='add-r']",u.additionInvalid()),!1;if(!r.isEmptyNullOrWhiteSpace(n.right.cylinder)&&r.isEmptyNullOrWhiteSpace(n.right.axis))return f("shamir-combox[sc-name='axs-r']",u.axisInvalid()),!1;if(r.isEmptyNullOrWhiteSpace(n.right.cylinder)&&!r.isEmptyNullOrWhiteSpace(n.right.axis))return f("shamir-combox[sc-name='cyl-r']",u.cylinderInvalid()),!1;if(r.isEmptyNullOrWhiteSpace(n.right.pd)||!r.isDouble(n.right.pd))return f("#pdrInput",u.pdInvalid()),!1;if(!r.inNumericRange(n.right.pd,t.Defaults.minPD,t.Defaults.maxPD))return f("#pdrInput",u.invalidRange(t.Defaults.minPD,t.Defaults.maxPD)),!1}if(!r.isEmptyNullOrWhiteSpace(n.left.sphere)||!r.isEmptyNullOrWhiteSpace(n.left.addition)||!r.isEmptyNullOrWhiteSpace(n.left.cylinder)||!r.isEmptyNullOrWhiteSpace(n.left.axis)){if(r.isEmptyNullOrWhiteSpace(n.left.sphere))return f("shamir-combox[sc-name='sph-l']",u.requiredField()),!1;if(i=n.right.addition,i=="0.00"&&(i=""),e=n.left.addition,e=="0.00"&&(e=""),!r.isEmptyNullOrWhiteSpace(i)&&r.isEmptyNullOrWhiteSpace(e))return f("shamir-combox[sc-name='add-l']",u.additionInvalid()),!1;if(!r.isEmptyNullOrWhiteSpace(n.left.cylinder)&&r.isEmptyNullOrWhiteSpace(n.left.axis))return f("shamir-combox[sc-name='axs-l']",u.axisInvalid()),!1;if(r.isEmptyNullOrWhiteSpace(n.left.cylinder)&&!r.isEmptyNullOrWhiteSpace(n.left.axis))return f("shamir-combox[sc-name='cyl-l']",u.cylinderInvalid()),!1;if(r.isEmptyNullOrWhiteSpace(n.left.pd)||!r.isDouble(n.left.pd))return f("#pdrInput",u.pdInvalid()),!1;if(!r.inNumericRange(n.left.pd,t.Defaults.minPD,t.Defaults.maxPD))return f("#pdrInput",u.invalidRange(t.Defaults.minPD,t.Defaults.maxPD)),!1}return r.isEmptyNullOrWhiteSpace(n.right.sphere)&&r.isEmptyNullOrWhiteSpace(n.left.sphere)&&r.isEmptyNullOrWhiteSpace(n.right.sphere)?(f("shamir-combox[sc-name='sph-r']",u.requiredField()),!1):!0},o=function(n){if(!r.isEmptyNullOrWhiteSpace(n.right.cartesian.hdir)||!r.isEmptyNullOrWhiteSpace(n.right.cartesian.hprism)||!r.isEmptyNullOrWhiteSpace(n.right.cartesian.vdir)||!r.isEmptyNullOrWhiteSpace(n.right.cartesian.vprism)){if(r.isEmptyNullOrWhiteSpace(n.right.cartesian.hdir))return f("shamir-selectbox[sc-name='hdir-r']",u.prismInvalid()),!1;if(r.isEmptyNullOrWhiteSpace(n.right.cartesian.hprism))return f("shamir-combox[sc-name='hprism-r']",u.prismInvalid()),!1;if(r.isEmptyNullOrWhiteSpace(n.right.cartesian.vdir))return f("shamir-selectbox[sc-name='vdir-r']",u.prismInvalid()),!1;if(r.isEmptyNullOrWhiteSpace(n.right.cartesian.vprism))return f("shamir-combox[sc-name='vprism-r']",u.prismInvalid()),!1}if(!r.isEmptyNullOrWhiteSpace(n.left.cartesian.hdir)||!r.isEmptyNullOrWhiteSpace(n.left.cartesian.hprism)||!r.isEmptyNullOrWhiteSpace(n.left.cartesian.vdir)||!r.isEmptyNullOrWhiteSpace(n.left.cartesian.vprism)){if(r.isEmptyNullOrWhiteSpace(n.left.cartesian.hdir))return f("shamir-selectbox[sc-name='hdir-l']",u.prismInvalid()),!1;if(r.isEmptyNullOrWhiteSpace(n.left.cartesian.hprism))return f("shamir-combox[sc-name='hprism-l']",u.prismInvalid()),!1;if(r.isEmptyNullOrWhiteSpace(n.left.cartesian.vdir))return f("shamir-selectbox[sc-name='vdir-l']",u.prismInvalid()),!1;if(r.isEmptyNullOrWhiteSpace(n.left.cartesian.vprism))return f("shamir-combox[sc-name='vprism-l']",u.prismInvalid()),!1}return!r.isEmptyNullOrWhiteSpace(n.right.polar.prism)&&r.isEmptyNullOrWhiteSpace(n.right.polar.direction)?(f("shamir-combox[sc-name='direction-r']",u.prismInvalid()),!1):r.isEmptyNullOrWhiteSpace(n.right.polar.prism)&&!r.isEmptyNullOrWhiteSpace(n.right.polar.direction)?(f("shamir-combox[sc-name='prism-r']",u.prismInvalid()),!1):!r.isEmptyNullOrWhiteSpace(n.left.polar.prism)&&r.isEmptyNullOrWhiteSpace(n.left.polar.direction)?(f("shamir-combox[sc-name='direction-l']",u.prismInvalid()),!1):r.isEmptyNullOrWhiteSpace(n.left.polar.prism)&&!r.isEmptyNullOrWhiteSpace(n.left.polar.direction)?(f("shamir-combox[sc-name='prism-l']",u.prismInvalid()),!1):!0},s=function(n,t){return r.isEmptyNullOrWhiteSpace(n.right.sphere)&&r.isEmptyNullOrWhiteSpace(n.left.sphere)?!1:r.isEmptyNullOrWhiteSpace(t.frameType)?!1:!0},h=function(n){return r.isEmptyNullOrWhiteSpace(n.frameType)?(f("shamir-selectbox[sc-name='frame-type']",u.frameTypeInvalid()),!1):r.isEmptyNullOrWhiteSpace(n.hbox)||!r.isDouble(n.hbox)?(f("#hboxInput",u.hboxInvalid()),!1):r.inNumericRange(n.hbox,t.Defaults.minHBOX,t.Defaults.maxHBOX)?r.isEmptyNullOrWhiteSpace(n.vbox)||!r.isDouble(n.vbox)?(f("#vboxInput",u.vboxInvalid()),!1):r.inNumericRange(n.vbox,t.Defaults.minVBOX,t.Defaults.maxVBOX)?r.isEmptyNullOrWhiteSpace(n.dbl)||!r.isDouble(n.dbl)?(f("#dblInput",u.dblInvalid()),!1):r.inNumericRange(n.dbl,t.Defaults.minDBL,t.Defaults.maxDBL)?n.shapeId?!0:(f("#shapesR1",u.shapeInvalid()),!1):(f("#dblInput",u.invalidRange(t.Defaults.minDBL,t.Defaults.maxDBL)),!1):(f("#vboxInput",u.invalidRange(t.Defaults.minVBOX,t.Defaults.maxVBOX)),!1):(f("#hboxInput",u.invalidRange(t.Defaults.minHBOX,t.Defaults.maxHBOX)),!1)},c=function(n,t,i){if(!r.isInt(n.designId))return f("shamir-selectbox[sc-name='design']",u.designInvalid()),!1;if(!r.isInt(n.materialId))return f("shamir-selectbox[sc-name='material']",u.indexInvalid()),!1;if(!r.isEmptyNullOrWhiteSpace(n.panoramicAngle)){if(!r.isDouble(n.panoramicAngle))return f("#panoInput",u.invalidInput()),!1;if(t.min&&t.max&&!r.inNumericRange(n.panoramicAngle,t.min,t.max))return f("#panoInput",u.invalidRange(t.min,t.max)),!1}if(!r.isEmptyNullOrWhiteSpace(n.pantoscopicAngle)){if(!r.isDouble(n.pantoscopicAngle))return f("#pantoInput",u.invalidInput()),!1;if(i.min&&i.max&&!r.inNumericRange(n.pantoscopicAngle,i.min,i.max))return f("#pantoInput",u.invalidRange(i.min,i.max)),!1}return!0},l=function(){$(".tooltip:has(.warning-ttl)").tooltip("destroy")};return{validatePresc:e,validatePrism:o,validateFrame:h,validateProduct:c,clearValidationMsgs:l,validateMinForProduct:s}};n.factory("validateService",["i18nService","$rootScope","utilities",t])}(angular.module("TCS")),function(n){var t=function(){return{prescriptionObj:{right:{sphere:"",cylinder:"",axis:"",addition:"",pd:""},left:{sphere:"",cylinder:"",axis:"",addition:"",pd:""}},clinicPrismObj:{right:{cartesian:{hdir:"",hprism:"",vdir:"",vprism:""},polar:{prism:"",direction:""}},left:{cartesian:{hdir:"",hprism:"",vdir:"",vprism:""},polar:{prism:"",direction:""}}},frameObj:{frameType:null,shapeId:null,hbox:"",vbox:"",dbl:""},productObj:{designId:"",materialId:"",thinningPrism:!0,panoramicAngle:"",pantoscopicAngle:""}}};n.factory("appObjects",[t])}(angular.module("TCS")),function(n){var t=function(n,t,i,r,u){var f=function(){n.CurrentUser=undefined;n.UserParameters=undefined;n.PrismConvensions=undefined;n.FrameTypes=undefined;n.Defaults=undefined;n.Products=undefined;n.Designs=undefined;n.Materials=undefined;n.Shapes=undefined},e=function(){var r=i.defer();try{t.post("api/appstart/loadLanguages").then(function(t){if(t.IsSuccess===!0){var i=t.returnObj;n.Languages=i;r.resolve(i)}else r.resolve(t)},function(n){r.reject(n)}).finally(function(){})}catch(u){r.reject(u)}return r.promise},o=function(){var r=i.defer();try{t.post("api/app/loadConfigurations").then(function(t){if(t.IsSuccess===!0){var i=t.returnObj;n.CurrentUser=i.CurrentUser;n.CurrentUser.ConnectionDateTime=u.getCurrentDate();n.UserParameters=i.UserParameters;n.PrismConvensions=i.PrismConvensions;n.FrameTypes=i.FrameTypes;n.Defaults=u.defaultsToObject(i.Defaults);n.Languages=i.Languages;n.Products=i.Products;n.Designs=i.Designs;n.Materials=i.Materials;n.Shapes=i.Shapes;r.resolve(i)}else r.resolve(t)},function(n){r.reject(n)})}catch(f){r.reject(f)}return r.promise};return f(),{loadConfigurations:o,loadLanguages:e,cleanConfigurations:f,validations:r}};n.factory("config",["$rootScope","apiService","$q","validation","utilities",t])}(angular.module("TCS")),function(n){var t=function(){function n(t,i){var u,r;if(t!==null){i(t);for(u in t)r=t[u],r=ko.utils.unwrapObservable(r),typeof r=="object"&&n(r,i)}}var t=function(n){var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e,o,s,h,c,l,a,t,r=0,y=0,f="",v=[],u;if(!n)return n;do e=n.charCodeAt(r++),o=n.charCodeAt(r++),s=n.charCodeAt(r++),t=e<<16|o<<8|s,h=t>>18&63,c=t>>12&63,l=t>>6&63,a=t&63,v[y++]=i.charAt(h)+i.charAt(c)+i.charAt(l)+i.charAt(a);while(r<n.length);return f=v.join(""),u=n.length%3,(u?f.slice(0,u-3):f)+"===".slice(u||3)},i=function(n){var i=0,r,t;if(!n)return i;for(r=n.split(" "),t=0;t<r.length;t++)r[t].length>i&&(i=r[t].length);return i},r=function(n,t){var i=n?typeof n=="function"?n():n:n;return i&&i.length>t?i.substr(0,t-4)+" ...":i},u=function(){Number.prototype.padLeft=function(n,t){var i=String(n||10).length-String(this).length+1;return i>0?new Array(i).join(t||"0")+this:this};var n=new Date;return[(n.getMonth()+1).padLeft(),n.getDate().padLeft(),n.getFullYear()].join("/")+" "+[n.getHours().padLeft(),n.getMinutes().padLeft(),n.getSeconds().padLeft()].join(":")},f=function(n){for(var i={},t=0;t<n.length;++t)n[t]!==undefined&&(i[n[t].Name]=n[t].Value);return i},e=function(n){return!n||n==""?0:parseFloat(n)};return{base64Encode:t,traversObject:n,longestString:i,formatLongStrings:r,getCurrentDate:u,defaultsToObject:f,stringToFloat:e}};n.factory("utilities",t)}(angular.module("TCS")),function(n){var t=function(n){function i(t){var i,r;if(t.attr("inNumericRange").split(",").length===2)r=parseInt(t.attr("inNumericRange").split(",")[0]),i=parseInt(t.attr("inNumericRange").split(",")[1]);else if(t.attr("inNumericRange").split(",").length===1)i=parseInt(t.attr("inNumericRange").split(",")[0]),r=0;else return"Invalid range parameters";return isNaN(r)||isNaN(i)?"Invalid range parameters":r===0?n.getTranslation("validations.Value must be a number between the values of 0 and")+i:i===0?n.getTranslation("validations.Value must be a number between the values of")+r+n.getTranslation("validations.and 0"):n.getTranslation("validations.Value must be a number between the values of")+r+n.getTranslation("validations.and")+i}function r(t){var i=parseInt(t.attr("inMaxLength"));return isNaN(i)?"Invalid length parameter":n.getTranslation("validations.maximum length is")+i+n.getTranslation("validations.characters")}var t={required:function(){return n.getTranslation("validations.This field is required")},isDouble:function(){return n.getTranslation("validations.This field should be a number")},isInt:function(){return n.getTranslation("validations.This field should be a number")},isNumber:function(){return n.getTranslation("validations.This field should be a number")},isPositive:function(){return n.getTranslation("validations.This value must be a positive number")},isAlphanumeric:function(){return n.getTranslation("validations.This field must be alphanumeric value")},isEmail:function(){return n.getTranslation("validations.Email address should be of the form joe@examplecom")},inMaxLength:function(n){return r(n)},inNumericRange:function(n){return i(n)}},u={required:function(n){return n.is("[required]")?n.val().length>0&&n.val().trim()!=="":!0},isDouble:function(n){return n.is("[isDouble]")?!isNaN(parseFloat(n.val()))&&isFinite(n.val()):!0},isInt:function(n){return n.is("[isInt]")?!isNaN(parseInt(n.val()))&&isFinite(n.val()):!0},isPositive:function(n){return n.is("[isPositive]")&&parseInt(n.val())<0?!1:!0},isAlphanumeric:function(n){if(n.is("[isAlphanumeric]")){var t=new RegExp(/^[a-zA-Z0-9 \u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/);return t.test(n.val())||n.val().trim()===""}return!0},inMaxLength:function(n){var i=parseInt(n.attr("inMaxLength"));return n.is("[inMaxLength]")&&!isNaN(i)&&n.val().length>i?(t.inMaxLength="This field must be "+i+" characters or less",!1):!0},inNumericRange:function(n){if(n.is("[inNumericRange]")){var t,i;if(n.attr("inNumericRange").split(",").length===2)i=parseInt(n.attr("inNumericRange").split(",")[0]),t=parseInt(n.attr("inNumericRange").split(",")[1]);else if(n.attr("inNumericRange").split(",").length===1)t=parseInt(n.attr("inNumericRange").split(",")[0]),i=0;else return!0;return!isNaN(t)&&!isNaN(t)&&(n.val()>t||n.val()<i)?!1:!0}return!0},isEmail:function(n){if(n.is("[isEmail]")){if(n.val()=="")return!0;var t=new RegExp(/^((([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/);return t.test(n.val())}return!0},isNumber:function(n){if(n.is("[isNumber]")){var t=n.val();return t?(typeof t=="string"&&(t=parseInt(t,10)),typeof t=="number"&&!isNaN(t)):!0}return!0}};return{rules:u,messages:t}};n.factory("validation",["i18nService",t])}(angular.module("TCS")),function(n){var t=function(n,t,i){n.modalOptions=i.getTempModalOptions();n.modalOptions.ok=function(n){t.close(n)};n.modalOptions.close=function(){t.dismiss("cancel")}};n.controller("modalCtrl",["$scope","$uibModalInstance","modalService",t])}(angular.module("TCS")),function(n,t,i,r){"use strict";i.module("ngFitText",[]).value("ftConfig",{debounce:!1,delay:250,loadDelay:10,min:r,max:r}).directive("fittext",["$timeout","ftConfig","fitTextConfig","i18nService","$rootScope","utilities",function(t,r,u,f,e){return{restrict:"A",scope:!0,link:function(o,s,h){var l=h.fittextI18n;i.extend(r,u.ftConfig);s[0].style.display="inline-block";s[0].style.lineHeight="1";var a=s.parent(),v=h.fittext||1,y=h.fittextLoadDelay||r.loadDelay,p=s[0].querySelectorAll("[fittext-nl],[data-fittext-nl]").length||1,w=h.fittextMin||r.min||Number.NEGATIVE_INFINITY,b=h.fittextMax||r.max||Number.POSITIVE_INFINITY,c=function(){l&&(s[0].innerHTML=f.getTranslation(l));s[0].style.fontSize="10px";var n=s[0].offsetHeight/s[0].offsetWidth/p;s[0].style.fontSize=Math.max(Math.min((a[0].offsetWidth-6)*n*v,parseFloat(b)),parseFloat(w))+"px"};t(function(){c()},y);o.$watch(h.ngModel,function(){c()});e.$on("languageChanged",function(){c()});r.debounce?i.element(n).bind("resize",r.debounce(function(){o.$apply(c)},r.delay)):i.element(n).bind("resize",function(){o.$apply(c)})}}}]).provider("fitTextConfig",function(){var n=this;return this.ftConfig={},this.$get=function(){var t={};return t.ftConfig=n.ftConfig,t},this})}(window,document,angular),function(n){var t=function(n){function t(t,i,r){var u=[],o=0,f,e,s;for(r.scDefault||u.push(""),r.scWidth=r.scWidth?r.scWidth:"80px",parseFloat(t.scStart)>0&&u.push("0.00"),f=parseFloat(t.scStart);f<=parseFloat(t.scEnd);f=f+parseFloat(t.scJump))u.push(f.toFixed(2));if(r.scDefault)for(e=0;e<u.length;e++)parseFloat(r.scDefault)==parseFloat(u[e])&&(o=e);s=function(){function f(){var t,i;t=n.text()==""?0:parseFloat(n.text());i=t*100%25==0?t.toFixed(2):t>0?(t+.05).toFixed(2):(t-.05).toFixed(2);i!="NaN"&&n.search(i);!Enumerable.From(u).Where(function(t){return t.slice(0,n.text().length)==n.text()}).ToArray().length>0&&n.value("")}var i=!1,n;$("#combobox-"+r.scName).kendoComboBox({enable:t.scEnabled,dataSource:u,index:o,filter:"startswith",template:'<span id="'+r.scName+'-val_#:data#">#:data#<\/span>',open:function(){r.scDefault||i||n.value("0.00")},close:function(f){if(i){var e=parseFloat(f.sender.text()).toFixed(2);Enumerable.From(u).Where(function(n){return n.slice(0,e.length)==e}).ToArray().length>0?n.value(e):(n.value(""),i=!1);t.scModel=n.value();t.$$phase||t.$apply();$("shamir-combox[sc-name='"+r.scName+"']").tooltip("destroy")}else n.value("")},select:function(){i=!0}});n=$("#combobox-"+r.scName).data("kendoComboBox");t.$watch("scModel",function(n){$("#combobox-"+r.scName).data("kendoComboBox").value(n);n==""&&(i=!1)});t.$watch("scEnabled",function(n){$("#combobox-"+r.scName).data("kendoComboBox").enable(n)});n.input.bind("keyup",function(t){var r=t.keyCode||t.charCode;if(r!=9&&r!=16){if(r==13||r==40||r==38){n.open();return}if(i=!0,n.text().indexOf(",")>-1){n.text(n.text().replace(/,/g,"."));n.search(n.text());return}r!=8&&r!=46&&(f(),n.search(n.text()))}})};n(s,0)}return{scope:{scStart:"=",scEnd:"=",scDefault:"@",scName:"@",scJump:"=",scWidth:"@",scModel:"=",scEnabled:"="},templateUrl:"App/directives/shamirCombox/shamirComboxTmpl.html",link:t}};n.directive("shamirCombox",["$timeout",t])}(angular.module("TCS")),function(n){var t=function(n){function t(t,i,r){var u=[],e=0,f,o;if(r.scWidth=r.scWidth?r.scWidth:"80px",r.scItemsArray?(t.$watch("scItemsArray",function(n){u=Enumerable.From(n).Select(function(n){return n.Name}).ToArray();u.unshift("");var t=$("#selectbox-"+r.scName).data("kendoDropDownList");t&&t.setDataSource(u)}),u=r.scItemsArray):(r.scDefault||(r.scItems=","+r.scItems),u=r.scItems.split(",")),r.scDefault)for(f=0;f<u.length;f++)r.scDefault==u[f]&&(e=f);o=function(){$("#selectbox-"+r.scName).kendoDropDownList({enable:t.scEnabled,dataSource:u,index:e,template:'<span id="'+r.scName+'-val_#:data#">#:data#<\/span>',close:function(){t.scModel=n.value();$("shamir-selectbox[sc-name='"+r.scName+"']").tooltip("destroy");t.$$phase||t.$apply()},change:function(){t.scModel=n.value();$("shamir-selectbox[sc-name='"+r.scName+"']").tooltip("destroy");t.$$phase||t.$apply()}});var n=$("#selectbox-"+r.scName).data("kendoDropDownList");t.$watch("scModel",function(n){$("#selectbox-"+r.scName).data("kendoDropDownList").value(n)});t.$watch("scEnabled",function(n){$("#selectbox-"+r.scName).data("kendoDropDownList").enable(n)})};n(o,0)}return{scope:{scDefault:"@",scName:"@",scItems:"@",scItemsArray:"=",scWidth:"@",scModel:"=",scEnabled:"="},templateUrl:"App/directives/shamirSelectbox/shamirSelectboxTmpl.html",link:t}};n.directive("shamirSelectbox",["$timeout",t])}(angular.module("TCS")),function(n){var t=function(n,t,i){var r=function(r,u,f){!r.ttTitle&&r.ttTitleI18n&&(r.ttTitle=t.getTranslation(r.ttTitleI18n));!r.ttBody&&r.ttBodyI18n&&(r.ttBody=t.getTranslation(r.ttBodyI18n));var e=function(){$("#"+(f.ttElemId?f.ttElemId:"tooltip-"+f.ttId)).attr("title",'<span class="ttl">'+r.ttTitle+'<\/span><div class="'+r.ttImageClass+'"><\/div><div class="bdy">'+r.ttBody+"<\/div>").tooltip({html:!0})};i.$on("languageChanged",function(){r.ttTitle=t.getTranslation(r.ttTitleI18n);r.ttBody=t.getTranslation(r.ttBodyI18n);$("#"+(f.ttElemId?f.ttElemId:"tooltip-"+f.ttId)).attr("title",'<span class="ttl">'+r.ttTitle+'<\/span><div class="'+r.ttImageClass+'"><\/div><div class="bdy">'+r.ttBody+"<\/div>").tooltip("fixTitle")});n(e,0)};return{scope:{ttId:"@",ttTitleI18n:"@",ttBodyI18n:"@",ttTitle:"@",ttBody:"@",ttImageClass:"@",ttElemId:"@"},templateUrl:"App/directives/shamirTooltip/shamirTooltipTmpl.html",link:r}};n.directive("shamirTooltip",["$timeout","i18nService","$rootScope",t])}(angular.module("TCS"))