function TopViewModel(n,t,i){function o(n,i){n.SignIn===!0?(amplify.store("__KreezeeSession__",i.getResponseHeader("__KreezeeSession__")),$("#local-storage-iframe").get(0).contentWindow.postMessage({action:"setSession",session:i.getResponseHeader("__KreezeeSession__")},"*"),window.location.href=n.RedirectUrl?n.RedirectUrl:t!=""?"/redirect/"+t:core.getUserUrl(!1)):n.Status===e.pending?(r.showMessages(!0),r.errorMessage(language.top.pendingAccount),Utilities.unblockObject("#login-register-modal .modal-content")):(r.showMessages(!0),r.errorMessage(language.messages.accessDenied),r.email(u),r.password(""),Utilities.unblockObject("#login-register-modal .modal-content"));r.logingIn(!1)}function s(n){n!=0?(Utilities.setCookie("Email",r.emailNewAccount(),30),window.location.href=language.top.confirmAccountCreationUrl+"/"+t):(Utilities.unblockObject("#login-register-modal .modal-content"),r.showAccountCreationMessages(!0),r.accountCreationErrorMessage(language.messages.accountCreationError));r.creatingAccount(!1)}function f(){switch(document.location.hash){case"#nouveau-compte":case"#new-account":r.resetForms();r.popupMode("register");$("#login-register-modal").modal("show");break;case"#se-connecter":case"#sign-in":r.resetForms();r.popupMode("login");$("#login-register-modal").modal("show");break;case"#reset":r.resetForms();r.popupMode("reset");$("#login-register-modal").modal("show")}}var r=this,u=i,e={online:1,offline:2,passwordRecovery:3,pending:4,activate:6};ko.validation.init({insertMessages:!1,decorateElement:!0,errorElementClass:"form-error"},!0);r.errors=ko.validation.group(r);r.culture=n;r.popupMode=ko.observable("login");r.email=ko.observable(u).extend({required:!0,email:!0});r.password=ko.observable("").extend({required:!0});r.stayConnected=ko.observable(!0);r.logingIn=ko.observable(!1);r.showMessages=ko.observable(!1);r.errorMessage=ko.observable("");r.loginForm=ko.validatedObservable({email:r.email,password:r.password});r.showLoginFormValidation=ko.observable(!1);r.emailNewAccount=ko.observable().extend({required:!0,email:!0,validation:{validator:function(){return!core.isEmailExist(r.emailNewAccount())},message:language.messages.emailAlreadyExists}});r.passwordNewAccount=ko.observable().extend({required:!0});r.confirmPassword=ko.observable().extend({required:!0,areSame:{params:r.passwordNewAccount,message:language.messages.confirmPassword}});r.firstname=ko.observable().extend({required:!0});r.lastname=ko.observable().extend({required:!0});r.acceptTermsConditions=ko.observable(!1);r.creatingAccount=ko.observable(!1);r.showAccountCreationMessages=ko.observable(!1);r.accountCreationErrorMessage=ko.observable("");r.createAccountForm=ko.validatedObservable({emailNewAccount:r.emailNewAccount,passwordNewAccount:r.passwordNewAccount,confirmPassword:r.confirmPassword,firstName:r.firstname,lastName:r.lastname});r.showCreateAccountFormValidation=ko.observable(!1);r.resetPasswordEmail=ko.observable("").extend({required:!0,email:!0});r.resetPasswordForm=ko.validatedObservable({resetPasswordEmail:r.resetPasswordEmail});r.showResetPasswordFormValidation=ko.observable(!1);r.resetPasswordSuccess=ko.observable(!1);t!=""&&core.isAccountFromToken(t).done(function(n){r.popupMode(n?"login":"register")});switch(document.location.hash){case"#nouveau-compte":case"#new-account":u!=undefined&u!=""&&r.emailNewAccount(u);break;case"#se-connecter":case"#sign-in":u!=undefined&u!=""&&r.email(u)}r.login=function(){r.showMessages(!1);r.loginForm.isValid()?r.logingIn()||(r.logingIn(!0),Utilities.blockObject("#top-section"),core.signIn(r.email(),r.password(),r.stayConnected(),o,"#login-register-modal .modal-content")):(r.loginForm.errors.showAllMessages(!0),r.showLoginFormValidation(!0))};r.createAccount=function(){r.showAccountCreationMessages(!1);r.createAccountForm.isValid()?r.creatingAccount()||(r.creatingAccount(!0),Utilities.blockObject("#login-register-modal .modal-content"),core.createAccount(r.emailNewAccount(),r.passwordNewAccount(),r.lastname(),r.firstname(),1,Utilities.getCookie("Language"),t,s,"#login-register-modal .modal-content")):(r.createAccountForm.errors.showAllMessages(!0),r.showCreateAccountFormValidation(!0))};r.resetPassword=function(){if(r.resetPasswordForm.isValid()){r.showResetPasswordFormValidation(!1);Utilities.blockObject("#reset-password-modal .modal-content");var n=core.resetPassword(r.resetPasswordEmail());n>0?r.resetPasswordSuccess(!0):r.showResetPasswordFormValidation(!0);Utilities.unblockObject("#reset-password-modal .modal-content")}};r.resetForms=function(){r.email(u);r.email.isModified(!1);r.password("");r.password.isModified(!1);r.emailNewAccount(u);r.emailNewAccount.isModified(!1);r.passwordNewAccount("");r.passwordNewAccount.isModified(!1);r.confirmPassword("");r.confirmPassword.isModified(!1);r.firstname("");r.firstname.isModified(!1);r.lastname("");r.lastname.isModified(!1);r.resetPasswordEmail("");r.resetPasswordEmail.isModified(!1);r.acceptTermsConditions(!1);r.stayConnected(!0);r.showLoginFormValidation(!1);r.showCreateAccountFormValidation(!1)};window.onhashchange=function(){f()};f();$("#login-register-modal").on("hidden.bs.modal",function(){document.location.hash="!"})}