try{
(()=>{function t(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,s)}return r}function e(e){for(var s=1;s<arguments.length;s++){var i=null!=arguments[s]?arguments[s]:{};s%2?t(Object(i),!0).forEach((function(t){r(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function r(t,e,r){return(e=function(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}void 0===TCB_Front.js_modules.login&&TCB_Front.setModuleLoadedStatus("login",!1),(t=>{if(TCB_Front.isModuleLoaded("login"))return;t(window).on("tcb_after_dom_ready",(()=>{TCB_Front.Utils.isEditorPage()||t(".thrv-login-element").tve_login_element()})),TCB_Front.loginCallbacks={redirect(t,e){if(e.success&&!0===e.success&&t.redirect_url.length){let e=TCB_Front.Utils.addHttp(t.redirect_url);t.urlParams&&t.urlParams.length&&(e=TCB_Front.Utils.appendFormParamsToURL(e,t.urlParams)),e=TCB_Front.Utils.appendRandomParamToURL(e),(t["login.show_success"]||t.show_success)&&window.location.hostname===function(t){try{return new URL(t).hostname}catch(t){return""}}(e)&&sessionStorage.setItem("tcb_toast_message",t.success_message),TCB_Front.loginKeepLoader=!0,document.location.href=TCB_Front.Utils.addHttp(e)}},refresh(t,e){TCB_Front.loginKeepLoader=!0,e.success&&!0===e.success&&t["login.show_success"]&&sessionStorage.setItem("tcb_toast_message",t.success_message),location.reload()},noRedirect(t,e){e.success&&!0===e.success&&t["login.show_success"]&&TCB_Front.Utils.toast(t.success_message,!1)},showMessage(t,e){e.success&&!0===e.success&&TCB_Front.Utils.toast(t.success_message,!1)}};class r{constructor(e){this.$wrapper=e,this.data={action:"tve_login_submit"},this._config=TCB_Front.Utils.unserialize(TCB_Front.Base64.decode(this.$wrapper.find('input[name="config"]').val())),this._config.form_type=e.attr("data-type")||"login",this.initStates(),this.switchState(tve_frontend_options.current_user.user_email?"logged_in":this.determineDefaultState()),this.$wrapper.find("[data-state]").on("tcb.change_state",((t,e)=>{this.switchState(e.state)})),this.$wrapper.fadeIn("slow"),t(window).on("hashchange",(()=>{const t=this.getStateFromHash();t&&this.switchState(t)}));const r=new URL(location.href).searchParams.get("ret");r&&(this._config.submit_action=this._config.post_register_action="redirect",this._config.redirect_url=this._config["post_register_action.redirect_url"]=r)}hasState(t){return"both"===this._config.form_type||this._config.form_type===t}getStateFromHash(){if(window.location.hash){const t=window.location.hash.replace("#tcb-","");if(["login","register"].includes(t)&&this.hasState(t))return t}return null}determineDefaultState(){const t=this.$wrapper.attr("data-default-state")||"login";return this.getStateFromHash()||t}initStates(){this.states={},this.$wrapper.find("[data-state]").each(((t,e)=>this.states[e.dataset.state]=this.stateFactory(e.dataset.state)))}stateFactory(t){const e={form:this.$wrapper.find(`[data-state="${t}"]`),config:this._config};let r;switch(t){case"login":r=new i(e);break;case"forgot_password":r=new o(e);break;case"register":r=new n(e);break;default:r=new s(e)}return r}getAjaxData(){const e=this.activeState.getAjaxData();return"string"==typeof e?t.param(this.data)+"&"+e:t.extend({},this.data,e)}switchState(t){this.activeState&&this.activeState.resetErrors().clearForm(),this.$wrapper.find(".tcb-login-form-wrapper").removeClass("tve-active-state").addClass("tcb-permanently-hidden"),this.$wrapper.find('[data-state="'+t+'"]').removeClass("tcb-permanently-hidden").addClass("tve-active-state"),this.activeState=this.states[t],requestAnimationFrame(this.activeState.focusFirstInput.bind(this.activeState))}bindEvents(){return this.$wrapper.find(".tar-login-submit").off("click").on("click",(()=>(this.activeState.getForm().trigger("submit"),!1))),this.$wrapper.find(".tve-dynamic-link:not(.tar-login-submit *)").off("click").on("click",(t=>{if(this._onSwitchState(t),"logout"!==t.currentTarget.dataset.shortcodeId)return!1})),this.$wrapper.find("form").off("submit.tar_login_element thrive_submit user_loggedin").on("submit.tar_login_element thrive_submit",(t=>{this._onSubmit(t)})).on("user_loggedin",(()=>{TCB_Front.$body.addClass("logged-in").find(".tcb-hide-logged-in").remove()})),t.each(this.states,((t,e)=>e.afterInit())),this}_getStateToSwitch(t){let e=null;switch(t){case"bk_to_login":case"login":e="login";break;case"forgot_password":e="forgot_password";break;case"register":e="register"}return e}_onSwitchState(t){const e=this.$wrapper.find(t.currentTarget);if("thrive_login_form_shortcode"!==e.data("dynamic-link"))return;const r=this._getStateToSwitch(e.data("shortcode-id"));r&&(t.preventDefault(),this.switchState(r))}_onSubmit(t){if(t.preventDefault(),t.stopPropagation(),!0!==this.validate())return this.error();this.send()}validate(){return this.activeState.validate()}error(){return this.activeState.showErrors()}send(){const e=this.activeState;e.beforeSend(),delete TCB_Front.loginKeepLoader,t.ajax({type:"post",xhrFields:{withCredentials:!0},url:tve_frontend_options.ajaxurl,data:this.getAjaxData()}).fail((t=>e.onFail(t))).done((t=>e.onSuccess(t))).always((()=>{TCB_Front.loginKeepLoader||e.removeLoader()}))}}class s{constructor(t){this.$form=t.form,this.config=t.config,this.attributes={},this.action="",this.errors=[],this.init(),this._dataBind()}getForm(){return this.$form.find("form").first()}init(){}afterInit(){}_dataBind(){Object.keys(this.attributes).forEach((t=>{const e=this.$form.find('input[name="'+t+'"]');"checkbox"===e.attr("type")?e.on("change",(()=>{this.attributes[t]=e.prop("checked")?1:0})):e.on("input",(()=>{this.attributes[t]=e.val()})),setTimeout((()=>{e.trigger("input")}),240)}))}getAjaxData(){return t.extend({after_submit:this.config.submit_action},this.attributes,{custom_action:this.action})}removeLoader(){this.loader(!0),this.$form.find("button[type=submit]").hide()}onSuccess(){}onFail(){}beforeSend(){this.loader()}loader(e=!1){return!0===e?(this.$form.find(".tcb-form-loader").remove(),this):(t('<div class="tcb-form-loader"><span class="tcb-form-loader-icon thrv-icon-spinner9"></span></div>').appendTo(this.$form).show(),this.$form.find("input,a,button").blur(),this)}clearForm(){return Object.keys(this.attributes).forEach((t=>{this.attributes[t]="",this.$form.find('input[name="'+t+'"]').val("")})),this}resetErrors(){return this.errors=[],this.$form.find(".tcb-form-error").remove(),this.$form.find(".tcb-form-input-error").removeClass("tcb-form-input-error"),this}validate(){return this.resetErrors(),!0}showErrors(){this.$form.find(".tcb-form-error").remove(),Object.keys(this.attributes).forEach((t=>{const e="empty_"+t;this.errors.includes(e)&&"string"==typeof tve_frontend_options.translations[e]&&this.showError(this.$form.find('input[name="'+t+'"]'),tve_frontend_options.translations[e])}))}showError(t,e){t.is(":radio,:checkbox")&&(t=t.parents(".tve_lg_input_container").first()),t.hasClass("tcb-form-input-error")||(t.addClass("tcb-form-input-error").parent().addClass("tcb-form-input-error").after(`<span class="tcb-form-error">${e}</span>`),setTimeout((()=>{this.resetErrors()}),5e3))}focusFirstInput(){TCB_Front.isInViewport(this.$form)&&this.$form.find("input:visible").first().trigger("focus")}}class i extends s{init(){super.init(),this.attributes={username:"",password:"",remember_me:""},this.action="login",this.$form.find(".tcb-remember-me-item").off("click").on("click",(t=>{"checkbox"!==t.target.type&&this.$form.find('input[name="remember_me"]:not(.checkbox-update)').trigger("click")}))}onSuccess(t){super.onSuccess(t);const r=t.errors&&t.errors.length;if(r){let e="";t.errors.forEach((t=>{e+=t+"<br />"})),TCB_Front.Utils.toast(e,!0)}else"function"==typeof TCB_Front.loginCallbacks[this.config.submit_action]?TCB_Front.loginCallbacks[this.config.submit_action](this.config,t):t.external_redirect_url&&TCB_Front.loginCallbacks.redirect(e(e({},this.config),{},{redirect_url:t.external_redirect_url}),t);r||"noRedirect"!==this.config.submit_action&&"showMessage"!==this.config.submit_action||(this.$form.trigger("tcb.change_state",{state:"logged_in"}),this.getForm().trigger("user_loggedin")),TCB_Front.loginKeepLoader||this.clearForm()}validate(){return this.resetErrors(),this.attributes.username.length||this.errors.push("empty_username"),this.attributes.password.length||this.errors.push("empty_password"),0===this.errors.length}}class o extends s{init(){super.init(),this.attributes={login:""},this.action="recover_password"}onSuccess(t){super.onSuccess(t);let e="";t.errors&&(Array.isArray(t.errors)?e=t.errors.join("<br>"):Object.keys(t.errors).forEach((r=>{e+=(e?"<br>":"")+t.errors[r]}))),e?TCB_Front.Utils.toast(e,!0):(this.clearForm(),this.$form.trigger("tcb.change_state",{state:"reset_confirmation"}))}validate(){return this.resetErrors(),this.attributes.login.length||this.errors.push("empty_login"),0===this.errors.length}}class n extends s{init(){super.init(),this.attributes={},this.action="register",this.config.error_messages=tve_frontend_options.translations.registration_err;try{this.config.error_messages=e(e({},this.config.error_messages),JSON.parse(this.$form.find(".tve-lg-err-msg").val()))}catch(t){}}hasLoginState(){return"register"!==this.config.form_type}getAjaxData(){let t=this.getForm().serialize()+`&post_id=${tve_frontend_options.post_id}&custom_action=${this.action}&_tcb_id=${this.$form.find(".tcb-registration-form").attr("data-settings-id")||""}&tcb_token=${(10*Date.now()).toString(32)}`;return TCB_Front.isModuleLoaded("file-upload")&&this.uploader&&(t=this.uploader.appendExtraData(t)),t+="&after_submit="+this.config.post_register_action,t}afterInit(){const t=this;this.getForm().off("submit.tar_login_element").attr("action","#");const e=this.$form.find(".tcb-registration-form").tve_front_lead_generation({renderError(e,r,s){let i,o;switch(e.length||(e=t.$form.find(".tar-login-submit")),s){case"captcha":o=r,e=e.children().first();break;case"upload":e=e.children().first(),o=r;break;case"email":i="invalid_email";break;case"passwordmismatch":i="passwordmismatch";break;default:i=s+"_"+e.attr("name")}o||(o=t.config.error_messages[i]||t.config.error_messages.required_field||"Please check this field"),t.showError(e,o)},clearErrors(){t.resetErrors()},showFormLoader(){t.loader()},submitHandler(e,r){e.preventDefault();const s=t.getForm();return r.token&&s.find(".tve-recaptcha-response").remove().end().append(`<input type="hidden" name="g-recaptcha-response" value="${r.token}" class="tve-recaptcha-response">`),s.trigger("thrive_submit"),!1}});TCB_Front.isModuleLoaded("file-upload")&&(this.uploader=e.data("tcb-file-upload"))}onFail(t){if(t.responseJSON&&t.responseJSON.error){let e;if(t.responseJSON.field&&(e=this.getForm().find(`[name="${t.responseJSON.field}"]`),"email"===t.responseJSON.field&&this.getForm().find('[name*="password"]').val("").trigger("keyup")),e&&e.length||(e=this.getForm().find(".tar-login-submit .tcb-button-link").first()),this.showError(e,t.responseJSON.error),"undefined"!=typeof grecaptcha&&"function"==typeof grecaptcha.reset&&(!tve_dash_front.recaptcha.connection||tve_dash_front.recaptcha.connection&&"v3"!==tve_dash_front.recaptcha.connection.version))try{grecaptcha.reset()}catch(t){}if("undefined"!=typeof turnstile&&"function"==typeof turnstile.reset)try{turnstile.reset()}catch(t){}}}onSuccess(t){switch(TCB_Front.isModuleLoaded("file-upload")&&this.uploader&&this.uploader.clear(),this.config.post_register_action){case"refresh":TCB_Front.loginKeepLoader=!0,t.success&&!0===t.success&&this.config["post_register_action.show_success"]&&sessionStorage.setItem("tcb_toast_message",this.config["post_register_action.success_message"]),location.reload();break;case"showMessage":TCB_Front.Utils.toast(this.config["post_register_action.success_message"]);let r="login";t.logged_in&&(TCB_Front.$body.addClass("logged-in"),r="logged_in"),"login"!==r||this.hasLoginState()?this.$form.trigger("tcb.change_state",{state:r}):this.$form.closest(".thrv-login-element").hide();break;default:const s=TCB_Front.loginCallbacks[this.config.post_register_action],i=1===parseInt(this.config["register.send_form_values"])?TCB_Front.Utils.buildFormParams(this.getForm()):[];"function"==typeof s?s.call(TCB_Front.loginCallbacks,{redirect_url:this.config["post_register_action.redirect_url"],submit_action:this.config.post_register_action,success_message:this.config["post_register_action.success_message"],show_success:this.config["post_register_action.show_success"],urlParams:i},t):t.external_redirect_url&&TCB_Front.loginCallbacks.redirect(e(e({},this.config),{},{redirect_url:t.external_redirect_url,success_message:this.config["post_register_action.success_message"],show_success:this.config["post_register_action.show_success"],urlParams:i}),t)}TCB_Front.loginKeepLoader||(this.getForm()[0].reset(),"undefined"!=typeof grecaptcha&&"function"==typeof grecaptcha.reset&&(!tve_dash_front.recaptcha.connection||tve_dash_front.recaptcha.connection&&"v3"!==tve_dash_front.recaptcha.connection.version)&&grecaptcha.reset(),"undefined"!=typeof turnstile&&"function"==typeof turnstile.reset&&turnstile.reset(),this.$form.find('input[type="password"]').trigger("keyup"))}}const a=!tve_frontend_options.is_editor_page&&tve_frontend_options.current_user&&tve_frontend_options.current_user.id;t.fn.tve_login_element=function(){return this.hasClass("thrv-login-element")?this.each(((e,s)=>{const i=t(s);a&&i.hasClass("tcb-hide-logged-in")?i.remove():i.data("tcbLoginForm")||i.data("tcbLoginForm",new r(i).bindEvents())})):this},TCB_Front.setModuleLoadedStatus("login",!0)})(ThriveGlobal.$j)})()
}catch(e){console.error("An error has occurred. [ File: https://www.jvmlaw.com/wp-content/plugins/thrive-leads/tcb/editor/js/dist/modules/login.min.js?v=10.3&ver=10.3 ] [ "+e.stack+" ]");}