define(["jquery","knockout","pubsub","moment","ccPasswordValidator","notifier","storageApi","ccResourceLoader!global/frigelarGlobalUtils"],function(e,t,n,r,i,s,o,u){"use strict";function a(e){var t=e.split("/");return r(t.reverse().join("-")).format()}function f(e,t){if(e.setSelectionRange)e.focus(),e.setSelectionRange(t,t);else if(e.createTextRange){var n=e.createTextRange();n.collapse(!0),n.moveEnd("character",t),n.moveStart("character",t),n.select()}}return{recaptchaId:t.observable(!1),name:t.observable(""),surname:t.observable(""),cpf:t.observable(""),birthDate:t.observable(""),gender:t.observable("female"),mobilePhone:t.observable(""),phone:t.observable(""),email:t.observable(""),emailConfirmation:t.observable(""),passwordRegistration:t.observable(""),passwordConfirmation:t.observable(""),allowEmails:t.observable(!0),allowMobilePhoneMessages:t.observable(!0),acceptTerms:t.observable(!0),privacyTerms:t.observable(!0),readTerms:t.observable(!1),cnpj:t.observable(""),companyName:t.observable(""),tradingName:t.observable(""),ie:t.observable(""),withoutIe:t.observable(!1),city:t.observable(""),complement:t.observable(""),neighborhood:t.observable(""),number:t.observable(""),publicPlace:t.observable(""),zipCode:t.observable(""),state:t.observable(""),CNPJstatus:t.observable(""),showConfirmation:t.observable(!1),showErrorMessage:t.observable(!1),showRegistrationErrorMessage:t.observable(!1),disableSendInfoBtn:t.observable(!0),toggleCloseModal:t.observable(!1),minCharactersAmount:t.observable(6),showIeMessage:t.observable(!1),checkFocus:t.observable(!1),registrationErrorMessage:t.observable(""),isConsultCNPJ:t.observable(!1),isPjRegistration:t.observable(!1),showPreloader:t.observable(!1),showRestrictionAlert:t.observable(!1),showUnavailabilityAlert:t.observable(!1),showTimeoutAlert:t.observable(!1),showSuccessMessage:t.observable(!1),enableButton:t.observable(!1),invalidCNPJ:t.observable(!1),disableCompanyName:t.observable(!1),disableTradingName:t.observable(!1),disableIe:t.observable(!1),nonExistentCNPJ:t.observable(!1),phoneMessage:t.observable(""),mobilePhoneMessage:t.observable(""),ipBuyer:t.observable(""),minCharacters:t.observable(!0),notContainsSpecialCharacters:t.observable(!0),notContainsUpperCase:t.observable(!0),notContainsNumber:t.observable(!0),notContainsLowerCase:t.observable(!0),isNotTheSameAsEmail:t.observable(!0),hasFocusPassword:t.observable(!1),passwordTypeConfirmation:t.observable("password"),passwordType:t.observable("password"),CONSTANTS:function(){return{VERIFY_USER_REGISTERED:this.site().extensionSiteSettings.frigelarSiteCustomConfigurations.registrationAPI,REGISTER_SUBMIT:this.site().extensionSiteSettings.frigelarSiteCustomConfigurations.azyxUrlRegister,KEY:this.site().extensionSiteSettings.frigelarSiteCustomConfigurations.azyxToken}},beforeAppear:function(){var e=this;this.user().loggedIn()||e.resetFields(),e.minCharactersAmount(e.user().passwordPolicies().minPasswordLength)},checkPassword:function(e){var t=this;if(!e){t.minCharacters(!0),t.notContainsSpecialCharacters(!0),t.notContainsUpperCase(!0),t.notContainsNumber(!0),t.notContainsLowerCase(!0),t.isNotTheSameAsEmail(!1);return}var n=t.user().passwordPolicies().allowedSymbols,r=Array.from(n),i=/(?=(?:.*?[A-Z]){1})/,s=/(?=.*\d)/,o=/(?=(?:.*?[a-z]){1})/;if(t.user().passwordPolicies().useSymbol){var u=r.find(function(t){return e.includes(t)});u?t.notContainsSpecialCharacters(!1):t.notContainsSpecialCharacters(!0)}t.user().passwordPolicies().useNumber&&(s.test(e)?t.notContainsNumber(!1):t.notContainsNumber(!0)),t.user().passwordPolicies().useMixedCase&&(i.exec(e)?t.notContainsUpperCase(!1):t.notContainsUpperCase(!0),o.exec(e)?t.notContainsLowerCase(!1):t.notContainsLowerCase(!0)),t.user().passwordPolicies().useMinPasswordLength&&(e.length>=t.user().passwordPolicies().minPasswordLength?t.minCharacters(!1):t.minCharacters(!0)),t.user().passwordPolicies().cannotUseUsername&&t.email()&&(t.email().toLowerCase()==e.toLowerCase()?t.isNotTheSameAsEmail(!1):t.isNotTheSameAsEmail(!0))},onLoad:function(t){u.getIP().then(function(e){t.ipBuyer(e)}),e.Topic("OPEN_REGISTRATION_MODAL").subscribe(t.openRegistrationModal.bind(t)),e.Topic("CLOSE_REGISTRATION_MODAL").subscribe(t.closeModal.bind(t)),e.Topic("RECAPTCHA_REGISTRATION_RESPONSE").subscribe(function(e){t.processUserInfo_v3(e)}),t.withoutIe.subscribe(t.cleanIE.bind(t)),e.Topic(n.topicNames.USER_AUTO_LOGIN_SUCCESSFUL).subscribe(function(){t.showConfirmation(!0)}.bind(t)),e.Topic(n.topicNames.USER_AUTO_LOGIN_FAILURE).subscribe(function(){t.showConfirmation(!0),s.sendMessage("autoLoginFailed","Falha ao realizar login","error",!0)}.bind(t)),e.Topic(n.topicNames.USER_CREATION_FAILURE).subscribe(function(){t.disableSendInfoBtn(!1),t.registrationErrorMessage(t.translate("registrationErrorMsgGeneric")),this.showRegistrationErrorMessage(!0),setTimeout(function(){this.showRegistrationErrorMessage(!1)}.bind(this),7e3),t.scrollToFirstError()}.bind(t)),t.initValidator(),t.createRegistrationViewModel(),t.resetFields(),t.checkIe=function(e){var n=e;e&&n.value.length==0&&t.showIeMessage(!0),n.addEventListener("keyup",function(e){n.value.length<4?t.showIeMessage(!0):t.showIeMessage(!1)})},t.passwordRegistration.subscribe(function(e){t.checkPassword(e)}),t.email.subscribe(function(){t.checkPassword(t.passwordRegistration())})},resetFields:function(){var e=this;e.disableCompanyName(!1),e.disableTradingName(!1),e.disableIe(!1),e.enableButton(!1),e.isConsultCNPJ(!1),e.showPreloader(!1),e.showRestrictionAlert(!1),e.showUnavailabilityAlert(!1),e.showTimeoutAlert(!1),e.showSuccessMessage(!1),e.showConfirmation(!1),e.showErrorMessage(!1),e.showRegistrationErrorMessage(!1),e.passwordTypeConfirmation("password"),e.passwordType("password"),e.name(null),e.surname(null),e.cpf(null),e.birthDate(null),e.gender("female"),e.mobilePhone(null),e.phone(null),e.email(null),e.emailConfirmation(null),e.passwordRegistration(null),e.passwordConfirmation(null),e.allowEmails(!0),e.allowMobilePhoneMessages(!0),e.acceptTerms(!0),e.privacyTerms(!0),e.readTerms(!1),e.cnpj(null),e.companyName(null),e.tradingName(null),e.ie(null),e.withoutIe(!1),e.CNPJstatus(null),e.invalidCNPJ(!1),e.nonExistentCNPJ(!1),e.city(null),e.complement(null),e.neighborhood(null),e.number(null),e.publicPlace(null),e.zipCode(null),e.state(null),e.name.isModified(!1),e.surname.isModified(!1),e.cpf.isModified(!1),e.birthDate.isModified(!1),e.mobilePhone.isModified(!1),e.phone.isModified(!1),e.email.isModified(!1),e.emailConfirmation.isModified(!1),e.passwordRegistration.isModified(!1),e.passwordConfirmation.isModified(!1),e.acceptTerms.isModified(!1),e.cnpj.isModified(!1),e.companyName.isModified(!1),e.tradingName.isModified(!1),e.ie.isModified(!1),e.cleanFieldsErrors(),e.disableSendInfoBtn(!0)},resetVisualFields:function(){document.getElementById("passwordIconRegistration").classList.remove("fa-eye"),document.getElementById("passwordIconRegistration").classList.add("fa-eye-slash"),document.getElementById("confirmPasswordIcon").classList.remove("fa-eye"),document.getElementById("confirmPasswordIcon").classList.add("fa-eye-slash")},openRegistrationModal:function(){var t=this;t.resetFields(),e("#registrationModal").modal(),e("html, body").css("overflow","auto"),t.resetVisualFields(),setTimeout(function(){var t=e("#registrationModal.modal.fade.right.in");t.unbind("click")},500),t.loadInputMasks(),o.getInstance().setItem("productToAddToWishlist","null")},closeModal:function(){var t=this;t.disableSendInfoBtn(!0),e("#registrationModal").modal("toggle")},changeRegistrationType:function(e){var t=this;t.showRegistrationErrorMessage(!1),t.isPjRegistration(e),t.passwordTypeConfirmation("password"),t.passwordType("password"),t.loadInputMasks(),t.resetFields()},togglePassword:function(){var e=this;e.passwordType()=="password"?(document.getElementById("passwordIconRegistration").classList.remove("fa-eye-slash"),document.getElementById("passwordIconRegistration").classList.add("fa-eye"),e.passwordType("text")):(document.getElementById("passwordIconRegistration").classList.remove("fa-eye"),document.getElementById("passwordIconRegistration").classList.add("fa-eye-slash"),e.passwordType("password"))},toggleConfirmPassword:function(){var e=this;e.passwordTypeConfirmation()=="password"?(document.getElementById("confirmPasswordIcon").classList.remove("fa-eye-slash"),document.getElementById("confirmPasswordIcon").classList.add("fa-eye"),e.passwordTypeConfirmation("text")):(document.getElementById("confirmPasswordIcon").classList.remove("fa-eye"),document.getElementById("confirmPasswordIcon").classList.add("fa-eye-slash"),e.passwordTypeConfirmation("password"))},toggleTerms:function(){var e=this;e.toggleCloseModal(!e.toggleCloseModal()),e.readTerms(!e.readTerms());var t=document.getElementById("pjRegistration");e.isPjRegistration()&&t&&(t.style.opacity=1)},loadInputMasks:function(){var t=this;e("#cpf").mask("000.000.000-00"),e("#cnpj").mask("00.000.000/0000-00"),e("#mobilePhone").mask("(00) 0 0000-0000"),e("#phone").mask("(00) 0000-0000"),e("#birthDate").mask("00/00/0000"),e("#ie").mask("00000000000000000000000000000000000000000000000000"),t.isConsultCNPJ()?(document.getElementById("phone").oninput=function(t,n){n=n?n:t.currentTarget;var r=n.value.replace(/\D/g,"");r.length<=3&&r.includes("0")&&(n.value=n.value.substring(0,n.value.length-1)),r.length==10?e("#phone").unmask().mask("(00) 0000-0000"):r.length==10?e("#phone").unmask().mask("(00) 0000-0000"):e("#phone").unmask().mask("0000000000"),f(n,n.value.length)},document.getElementById("mobilePhone").oninput=function(t,n){n=n?n:t.currentTarget;var r=n.value.replace(/\D/g,"");r.length<=3&&r.includes("0")&&(n.value=n.value.substring(0,n.value.length-1)),r.length==11||r.length==10?e("#mobilePhone").unmask().mask("(00) 0 0000-0000"):e("#mobilePhone").unmask().mask("00000000000"),f(n,n.value.length)}):(document.getElementById("phone").oninput=function(e,t){t=t?t:e.currentTarget;var n=t.value.replace(/\D/g,"");n.length<=3&&n.includes("0")&&(t.value=t.value.substring(0,t.value.length-1))},document.getElementById("mobilePhone").oninput=function(e,t){t=t?t:e.currentTarget;var n=t.value.replace(/\D/g,"");n.length<=3&&n.includes("0")&&(t.value=t.value.substring(0,t.value.length-1))})},isPhoneValid:function(e){var t=this;t.phoneMessage("Número de contato inválido"),t.mobilePhoneMessage("Número de contato inválido");var n=[11,12,13,14,15,16,17,18,19,21,22,24,27,28,31,32,33,34,35,37,38,41,42,43,44,45,46,47,48,49,51,53,54,55,61,62,63,64,65,66,67,68,69,71,73,74,75,77,79,81,82,83,84,85,86,87,88,89,91,92,93,94,95,96,97,98,99];if([14,16].indexOf(e.length)==-1)return!1;e=e.replace("(",""),e=e.replace(")",""),e=e.replace("-","");var r=e.split(" ");if(n.indexOf(parseInt(r[0]))==-1)return t.phoneMessage("DDD inválido"),t.mobilePhoneMessage("DDD inválido"),!1;if(parseInt(r[1])==0)return!1;if(r[1].length==8){var i=!0,s=r.join("");for(var o=1;o=1;u--)s+=r.charAt(n-u)*o--,o<2&&(o=9);var a=s%11<2?0:11-s%11;if(a!=i.charAt(0))return!1;n+=1,r=e.substring(0,n),s=0,o=n-7;for(u=n;u>=1;u--)s+=r.charAt(n-u)*o--,o<2&&(o=9);return a=s%11<2?0:11-s%11,a!=i.charAt(1)?!1:t.nonExistentCNPJ()?!1:!0},eventsCredentialInput:function(){var t=this,n=e("#cnpj"),r="";n.on("keyup input paste",function(){t.nonExistentCNPJ(!1),n[0].value.length>17?(r=t.isCNPJValid(n[0].value),r?t.invalidCNPJ(!1):t.invalidCNPJ(!0)):(r=!1,t.invalidCNPJ(!0)),t.enableButton(r)})},processUserInfo_v3:function(t){var n=this;if(n.isValidForPf()||n.isValidForPj()){n.showErrorMessage(!1),n.disableSendInfoBtn(!0);var r=n.removelAllFormatation(n.isPjRegistration()?n.cnpj():n.cpf());if(t.googleTokenAllow===!0){var i={profile:{email:n.email(),x_document:r,siteID:n.site().siteInfo.id}};document.location.href.indexOf("dev-")!=-1&&(i.env="dev"),e.ajax({url:n.CONSTANTS().VERIFY_USER_REGISTERED,method:"POST",data:JSON.stringify(i),crossDomain:!0,contentType:"application/json",headers:{Authorization:"Basic "+n.CONSTANTS().KEY},success:function(e){n.disableSendInfoBtn(!0),n.createProfile(n)},error:function(e){n.disableSendInfoBtn(!1),n.registrationVerificationError(e)}})}else t.googleTokenAllow===!1?s.sendMessage("reCAPTCHAError","Ops! Ocorreu um erro ao verificar a solicitação.","error",!0):e.Topic("GOOGLE_RECAPTCHA_GET_TOKEN").publish(n.setReCaptchaToken)}else n.disableSendInfoBtn(!1),n.showErrorMessage(!0),n.showErrorMessages(),setTimeout(function(){n.showErrorMessage(!1)},7e3),n.scrollToFirstError()},processPjInfo:function(){var t=this,n=t.removelAllFormatation(t.cnpj());t.disableSendInfoBtn(!0),t.showPreloader(!0);var r={profile:{x_document:n,siteID:t.site().siteInfo.id}};document.location.href.indexOf("dev-")!=-1&&(r.env="dev"),e.ajax({url:t.CONSTANTS().VERIFY_USER_REGISTERED,method:"POST",data:JSON.stringify(r),crossDomain:!0,contentType:"application/json",success:function(e){t.callConsultAzyxDataCNPJ_sync(n)},error:function(e){t.enableButton(!1),t.showPreloader(!1),t.registrationVerificationError(e)}})},callConsultAzyxDataCNPJ_sync:function(e){var t=this;u.consultAzyxDataCNPJ(e,!0,"modal").then(function(e){t.CNPJstatus(e?e.code?e.code:"504":"504");if(t.CNPJstatus()==="200"){var n=e.result.company,r=n.stateRegistry.toUpperCase(),i=e.result.postaladdresses;n.companyName&&(t.companyName(n.companyName),t.disableCompanyName(!0)),n.businessName&&(t.tradingName(n.businessName),t.disableTradingName(!0)),r&&r!=="ISENTO"?t.ie(r):t.withoutIe(!0),t.disableIe(!0),t.city(i.city),t.complement(i.compliment),t.neighborhood(i.neighborhood),t.number(i.number),t.publicPlace(i.publicPlace),t.zipCode(i.zipCode),t.state(i.federativeUnit),t.name.isModified(!0),t.surname.isModified(!0),t.cpf.isModified(!0),t.birthDate.isModified(!0),t.gender.isModified(!0),t.mobilePhone.isModified(!0),t.email.isModified(!0),t.emailConfirmation.isModified(!0),t.passwordRegistration.isModified(!0),t.passwordConfirmation.isModified(!0),t.acceptTerms.isModified(!0),t.showSuccessMessage(!0)}else t.CNPJstatus()==="011"?t.showNonExistentCNPJAlert():t.CNPJstatus()==="404"?t.showRestrictionAlert(!0):t.CNPJstatus()===504?t.showTimeoutAlert(!0):t.showUnavailabilityAlert(!0);t.showPreloader(!1),t.disableSendInfoBtn(!1)})},createProfile:function(t){var n=t.removelAllFormatation(t.isPjRegistration()?t.cnpj():t.cpf()),r={lastName:t.surname(),country:"BR",address3:t.complement(),address2:t.number(),city:t.city(),address1:t.publicPlace(),postalCode:t.zipCode(),county:t.neighborhood(),firstName:t.name(),state:t.state(),x_telephone:t.removelAllFormatation(t.phone()),x_cellphone:t.removelAllFormatation(t.mobilePhone())},i={active:!0,GDPRProfileP13nConsentGranted:!1,email:t.email(),login:t.email(),firstName:t.name(),lastName:t.surname(),password:t.passwordRegistration(),receiveEmail:t.allowEmails()?"yes":"no",shippingAddress:t.CNPJstatus()==="200"?r:{},x_IE:t.withoutIe()?"":t.ie(),x_able_to_receive_order_discount:!1,x_cellphone:t.removelAllFormatation(t.mobilePhone()),x_cellphoneNotification:t.allowMobilePhoneMessages(),x_companyName:t.companyName(),x_cpf:t.removelAllFormatation(t.cpf()),x_dateOfBirth:a(t.birthDate()),x_document:n,x_gender:t.gender(),x_isPJ:t.isPjRegistration(),x_siteId:t.site().siteInfo.id,x_stateSelectedInCheckout:null,x_telephone:t.removelAllFormatation(t.phone()),x_tradingName:t.tradingName(),x_vtxUser:!1,x_ipBuyer:t.ipBuyer()};e.ajax({url:t.CONSTANTS().REGISTER_SUBMIT,method:"POST",data:JSON.stringify(i),contentType:"application/json",headers:{Authorization:"Basic "+t.CONSTANTS().KEY},success:function(e){t.closeModal(),t.doLogin(t)},error:function(e){t.registrationErrorMessage(t.translate("registrationErrorMsgGeneric")),t.showRegistrationErrorMessage(!0),setTimeout(function(){t.showRegistrationErrorMessage(!1)},7e3),t.scrollToFirstError()}})},doLogin:function(t){return t.user().login(t.email()),t.user().password(t.passwordRegistration()),t.user().validateLogin(),t.user().updateLocalData(!1,!1),e.Topic(n.topicNames.USER_LOGIN_SUBMIT).publishWith(t.user(),[{message:"success"}]),!0},showNonExistentCNPJAlert:function(){var e=this;e.invalidCNPJ(!0),e.nonExistentCNPJ(!0),e.registrationErrorMessage(e.translate("registrationErrorMsgNonExistent")),e.showRegistrationErrorMessage(!0),setTimeout(function(){e.showRegistrationErrorMessage(!1)},7e3)},closeModalRestrictionAlert:function(){var e=this;e.showRestrictionAlert(!1),e.isConsultCNPJ(!0)},closeModalUnavailabilityAlert:function(){var e=this;e.showUnavailabilityAlert(!1),e.isConsultCNPJ(!0)},closeModalTimeoutAlert:function(){var e=this;e.showTimeoutAlert(!1),e.isConsultCNPJ(!0)},closeModalSuccessMessage:function(){var e=this;e.showSuccessMessage(!1),e.isConsultCNPJ(!0)},registrationVerificationError:function(e){var t=this,n=e.responseJSON;t.disableSendInfoBtn(!0),t.showRegistrationErrorMessage(!0);if(n.message){n.message.toLowerCase().indexOf("email")!=-1&&(t.registrationErrorMessage(t.translate("registrationErrorMsgEmail")),t.addErrorClass("emailRegistration"),t.addErrorClass("emailConfirmation"),t.scrollToFirstError());if(n.message.toLowerCase().indexOf("user")!=-1){var r=t.translate("registrationErrorMsgDocument");t.isPjRegistration()?(r=r.replace("CPF/",""),t.addErrorClass("cnpj"),t.invalidCNPJ(!0)):(r=r.replace("/CNPJ",""),t.addErrorClass("cpf")),t.registrationErrorMessage(r),t.scrollToFirstError()}}else t.registrationErrorMessage(t.translate("registrationErrorMsgGeneric")),t.scrollToFirstError();setTimeout(function(){t.showRegistrationErrorMessage(!1)},7e3)},addErrorClass:function(e){document.getElementById(e).classList.add("input-error")},removeErrorClass:function(e){document.getElementById(e)&&document.getElementById(e).classList.remove("input-error")},cleanIE:function(e){var t=this;e==1&&t.ie("")},clearError:function(e){e!=undefined&&e.target!=undefined&&e.target.classList!=undefined&&e.target.classList.remove("input-error")},parseDate:function(){var e=document.getElementById("birth-date"),t=e.match(/(\d+)/g);e.val(new Date(t[0],t[1]-1,t[2]))},processText:function(){var e=this,t=e.site().extensionSiteSettings.frigelarSiteCustomConfigurations.useTerms;return t},lostOfFocusAlert:function(e){e.isModified(!0)},cleanFieldsErrors:function(){var e=this;e.isPjRegistration()&&(e.removeErrorClass("cnpj"),e.removeErrorClass("companyName"),e.removeErrorClass("tradingName"),e.removeErrorClass("ie")),e.removeErrorClass("passwordRegistration"),e.removeErrorClass("passwordConfirmation"),e.removeErrorClass("birthDate"),e.removeErrorClass("cpf"),e.removeErrorClass("emailRegistration"),e.removeErrorClass("emailConfirmation"),e.removeErrorClass("surname"),e.removeErrorClass("name"),e.removeErrorClass("mobilePhone"),e.removeErrorClass("phone")},removelAllFormatation:function(e){return e?e.replace(/\D/g,""):null},initValidator:function(){var e=this;t.validation.rules.cnpj={validator:function(t,n){return e.isCNPJValid(t)===n},message:"CNPJ inválido"},t.validation.rules.cpf={validator:function(t,n){return e.isCPFValid(t)===n},message:"CPF inválido"},t.validation.rules.date={validator:function(e,t){return e.length<10?!1:(e=a(e),new Date(e)!="Invalid Date"?(new Date(e)).getMonth()===1&&(new Date(e)).getDate()>=30?!1:r().diff(r(new Date(e)),"years")<200&&r().diff(r(new Date(e)),"years")>0:!1)},message:"Data inválida"},t.validation.rules.textDate={validator:function(e,t){e=a(e);if(new Date(e)!="Invalid Date")return(new Date(e)).getMonth()===1&&(new Date(e)).getDate()>=30?!1:r(new Date(e))=18||r().diff(r(new Date(e)),"years")<=0},message:"Cadastro permitido para maiores de 18 anos"},t.validation.rules.gender={validator:function(e,t){return t.includes(e)},message:"Data inválida"},t.validation.rules.minPhoneLength={validator:function(t,n){return t?e.removelAllFormatation(t).length>=10===n:!0},message:"Número deve ter no mínimo 10 dígitos"},t.validation.rules.maxPhoneLength={validator:function(t,n){return t?e.removelAllFormatation(t).length<=10===n:!0},message:"Número deve ter no máximo 10 dígitos"},t.validation.rules.minMobilePhoneLength={validator:function(t,n){return t?e.removelAllFormatation(t).length>=11===n:!1},message:"Número deve ter no mínimo 11 dígitos"},t.validation.rules.maxMobilePhoneLength={validator:function(t,n){return t?e.removelAllFormatation(t).length<=11===n:!1},message:"Número deve ter no máximo 11 dígitos"},t.validation.rules.phone={validator:function(t,n){return t?e.removelAllFormatation(t).length==10||e.removelAllFormatation(t).length==11?e.isPhoneValid(t)===n:!0:!0},message:function(){return e.phoneMessage()}},t.validation.rules.mobilePhone={validator:function(t,n){return t?e.removelAllFormatation(t).length==10||e.removelAllFormatation(t).length==11?e.isPhoneValid(t)===n:!0:!0},message:function(){return e.mobilePhoneMessage()}},t.validation.rules.areEquals={validator:function(e,t){return e===t},message:"Os campos devem ser iguais"},t.validation.rules.passwordPolicies={validator:function(t,n){return t?e.email()?i.validate(t,e.email(),e.passwordPolicies()):i.validate(t,"temp@email.com",e.passwordPolicies()):!1},message:"Senha inválida"},t.validation.rules.mustBeChecked={validator:function(e,t){return e===t},message:"O campo é obrigatório"},t.validation.init({registerExtenders:!0,insertMessages:!1,messagesOnModified:!1,parseInputAttributes:!0,errorElementClass:"input-error",errorClass:"error-message",decorateElementOnModified:!0,decorateInputElement:!0},!0),t.validation.registerExtenders()},createRegistrationViewModel:function(){var e=this;e.cnpj=t.observable().extend({required:{params:!0,message:"CNPJ obrigatório"},cnpj:!0}),e.companyName=t.observable().extend({required:{params:!0,message:"Razão social obrigatório"}}),e.tradingName=t.observable().extend({required:{params:!0,message:"Nome fantasia obrigatório"}}),e.withoutIe=t.observable().extend({required:{params:!1,message:"Selecione a opção ou informe o IE"}}),e.ie=t.observable().extend({required:{onlyIf:function(){return!e.withoutIe()},message:"Informe o IE"}}),e.name=t.observable().extend({required:{params:!0,message:"Nome obrigatório"},pattern:{message:"Nome não deve conter dígitos numéricos ou símbolos",params:/^[\sa-zA-Z\u00C0-\u00FF]*$/}}),e.surname=t.observable().extend({required:{params:!0,message:"Sobrenome obrigatório"},pattern:{message:"Sobrenome não deve conter dígitos numéricos ou símbolos",params:/^[\sa-zA-Z\u00C0-\u00FF]*$/}}),e.cpf=t.observable().extend({required:{params:!0,message:"CPF obrigatório"},cpf:!0}),e.birthDate=t.observable().extend({required:{params:!0,message:"Data de nascimento obrigatória"},date:!0,textDate:!0}),e.gender=t.observable().extend({required:{params:!0,message:"Gênero obrigatório"},gender:["female","male"]}),e.mobilePhone=t.observable().extend({required:{params:!0,message:"Celular obrigatório"},minMobilePhoneLength:!0,maxMobilePhoneLength:!0,mobilePhone:!0}),e.phone=t.observable().extend({required:{params:!1,message:"Telefone não obrigatório"},minPhoneLength:!0,maxPhoneLength:!0,phone:!0}),e.email=t.observable().extend({required:{params:!0,message:"Email obrigatório"},email:{params:!0,message:"E-mail inválido"}}),e.emailConfirmation=t.observable().extend({required:{params:!0,message:"E-mail de confirmação obrigatório"},email:{params:!0,message:"E-mail inválido"},areEquals:t.computed(function(){return e.email()},this)}),e.passwordRegistration=t.observable().extend({required:{params:!0,message:"Senha obrigatória"},passwordPolicies:!0}),e.passwordConfirmation=t.observable().extend({required:{params:!0,message:"Confirmação obrigatória"},areEquals:t.computed(function(){return e.passwordRegistration()},this),passwordPolicies:!0}),e.allowEmails=t.observable().extend({required:{params:!1,message:"Receber emails não obrigatório"}}),e.allowMobilePhoneMessages=t.observable().extend({required:{params:!1,message:"Receber sms não obrigatório"}}),e.acceptTerms=t.observable().extend({required:{params:!0,message:"Aceitar os termos de uso é obrigatório"},mustBeChecked:{params:!0,message:"Aceitar os termos de uso é obrigatório"}}),e.privacyTerms=t.observable().extend({required:{params:!0,message:"Aceitar a política de privacidade é obrigatório"},mustBeChecked:{params:!0,message:"Aceitar a política de privacidade é obrigatório"}}),e.isValidForPf=t.computed(function(){return e.name.isValid()&&e.surname.isValid()&&e.cpf.isValid()&&e.birthDate.isValid()&&e.gender.isValid()&&e.mobilePhone.isValid()&&(!e.phone()||e.phone()&&e.phone.isValid())&&e.email.isValid()&&e.emailConfirmation.isValid()&&e.passwordRegistration.isValid()&&e.passwordConfirmation.isValid()&&e.acceptTerms.isValid()&&e.privacyTerms.isValid()},this),e.isValidForPj=t.computed(function(){return e.cnpj.isValid()&&e.companyName.isValid()&&e.tradingName.isValid()&&e.ie.isValid()&&e.withoutIe.isValid()&&e.name.isValid()&&e.surname.isValid()&&e.cpf.isValid()&&e.birthDate.isValid()&&e.mobilePhone.isValid()&&(!e.phone()||e.phone()&&e.phone.isValid())&&e.email.isValid()&&e.emailConfirmation.isValid()&&e.passwordRegistration.isValid()&&e.passwordConfirmation.isValid()&&e.acceptTerms.isValid()&&e.privacyTerms.isValid()},this),e.registrationErrorMessage=t.observable(),t.validation.init({registerExtenders:!0,insertMessages:!1,messagesOnModified:!1,parseInputAttributes:!0,errorElementClass:"input-error",errorClass:"error-message",decorateElementOnModified:!0,decorateInputElement:!0},!0)},showErrorMessages:function(){var e=this;e.name.isModified(!0),e.surname.isModified(!0),e.cpf.isModified(!0),e.birthDate.isModified(!0),e.mobilePhone.isModified(!0),e.phone.isModified(!0),e.email.isModified(!0),e.emailConfirmation.isModified(!0),e.passwordRegistration.isModified(!0),e.passwordConfirmation.isModified(!0),e.cnpj.isModified(!0),e.companyName.isModified(!0),e.tradingName.isModified(!0),e.ie.isModified(!0)},scrollToFirstError:function(){var t=Array.from(document.querySelectorAll("input.input-error"));if(t.length!=0){var n=t[0];n.classList.contains("date-desktop")&&u.isMobile()&&!u.isMobile()&&(n=t[1]);if(n){var r=n.offsetTop+50;e("#registrationModal").scrollTop(r)}}else e("#registrationModal").scrollTop(0)},getPasswordFieldLength:function(){var e=this;return""+(parseInt(e.minCharactersAmount())+2)},getOtherPasswordRules:function(){var e=this,t=e.user().passwordPolicies(),n=t.useNumber,r=t.useSymbol,i=t.useMixedCase,s=t.cannotUsePreviousPasswords,o=t.cannotUseUsername,u=[n,r,i,s,o].reduce(function(e,t){return e+(t=="true"?1:0)},0);if(u>=1){var a="";return n=="true"&&(a+=", um número"),r=="true"&&(a+=", um símbolo"),i=="true"&&(a+=", uma letra maiúscula"),a}return""},setReCaptchaToken:function(t){var n={ip:null,token:t};u.getIP().then(function(t){n.ip=t,e.Topic("GOOGLE_RECAPTCHA_REGISTRATION_TOKEN").publish(n)}).catch(function(t){e.Topic("GOOGLE_RECAPTCHA_REGISTRATION_TOKEN").publish(n)})},generatePrivacyPolicyUrl:function(){var e=this,t="";if(e.site&&e.site()&&e.site().siteInfo&&e.site().siteInfo.id){var n=e.site().siteInfo.id,r=location.href.indexOf("a7833275c1")!==-1;n==="200003"&&r?t="/webar":n==="300001"&&r?t="/eos":n==="100001"&&r?t="/webar":n==="100002"&&r&&(t="/eos")}return t+"/politica-de-privacidade"},removeInputsValues:function(){e("form").each(function(){e(this).find("input").val("")})}}})