!function(d){window.onLoadPPReCaptcha=function(){var s,e=d(".pp-grecaptcha");0<e.length&&e.each(function(e){var t=d(this),a=t.attr("data-widgetid"),n=d(this).attr("id");typeof a!=typeof undefined&&!1!==a||(t.attr("id",n),s=grecaptcha.render(n,{sitekey:t.data("sitekey"),theme:t.data("theme"),size:t.data("validate"),callback:function(e){""!=e&&(t.attr("data-pp-grecaptcha-response",e),"invisible"==t.data("validate"))&&t.closest(".elementor-widget").find(".pp-submit-button").trigger("click")}}),t.attr("data-widgetid",s))})},d(window).on("elementor/frontend/init",()=>{class e extends elementorModules.frontend.handlers.Base{getDefaultSettings(){var e=this.getElementSettings();return{selectors:{loginForm:".pp-login-form",loginFormWrap:".pp-login-form-wrap",passwordField:".pp-lf-field-pw-toggle"},messages:{empty_username:ppLogin.empty_username,empty_password:ppLogin.empty_password,empty_password_1:ppLogin.empty_password_1,empty_password_2:ppLogin.empty_password_2,empty_recaptcha:ppLogin.empty_recaptcha,email_sent:ppLogin.email_sent,reset_success:ppLogin.reset_success},i18n:{pw_toggle_text:{show:ppLogin.show_password,hide:ppLogin.hide_password}},page_url:this.$element.find(".pp-login-form-wrap").data("page-url"),facebook_login:"yes"===e.facebook_login,facebook_app_id:this.$element.find(".pp-fb-login-button").data("appid"),enable_recaptcha:"yes"===e.enable_recaptcha}}getDefaultElements(){var e=this.getSettings("selectors");return{$loginForm:this.$element.find(e.loginForm),$loginFormWrap:this.$element.find(e.loginFormWrap),$passwordField:this.$element.find(e.passwordField)}}bindEvents(){var e=this.getElementSettings(),t=this.getSettings();0<this.elements.$passwordField.find(".pp-lf-toggle-pw").length&&this.elements.$passwordField.find(".pp-lf-toggle-pw").on("click",d.proxy(this.passwordToggle,this)),t.facebook_login&&this.initFacebookLogin(),0<this.$element.find("#pp-form-"+this.getID()).length&&"yes"===e.enable_ajax&&this.$element.find("#pp-form-"+this.getID()).on("submit",d.proxy(this.loginFormSubmit,this)),0<this.$element.find(".pp-login-form--lost-pass").length&&this.$element.find(".pp-login-form--lost-pass").on("submit",d.proxy(this.lostPassFormSubmit,this)),0<this.$element.find(".pp-login-form--reset-pass").length&&this.$element.find(".pp-login-form--reset-pass").on("submit",d.proxy(this.resetPassFormSubmit,this)),t.enable_recaptcha&&this.initReCaptcha()}passwordToggle(){var e=this.getSettings(),t=this.elements.$passwordField,a=t.find('.elementor-field[name="pwd"]');"text"===a.attr("type")?(a.attr("type","password"),t.find(".pp-lf-toggle-pw").attr("aria-label",e.i18n.pw_toggle_text.show).find("span").removeClass("fa-eye-slash").addClass("fa-eye")):(a.attr("type","text"),t.find(".pp-lf-toggle-pw").attr("aria-label",e.i18n.pw_toggle_text.hide).find("span").removeClass("fa-eye").addClass("fa-eye-slash"))}initReCaptcha(){var e=this.$element.find(".pp-grecaptcha");elementorFrontend.isEditMode()&&undefined==e.attr("data-widgetid")&&onLoadPPReCaptcha()}initFacebookLogin(){""!==this.getSettings().facebook_app_id&&0<this.$element.find(".pp-fb-login-button").length&&(this.initFacebookSDK(),this.$element.find(".pp-fb-login-button").on("click",d.proxy(this.facebookLoginClick,this)))}initFacebookSDK(){const e=this.getSettings();0===d("#fb-root").length&&d("body").prepend('<div id="fb-root"></div>');var t=document,a="script",n="facebook-jssdk",s=t.getElementsByTagName(a)[0];t.getElementById(n)||((a=t.createElement(a)).id=n,a.src="//connect.facebook.net/en_US/sdk.js",s.parentNode.insertBefore(a,s),window.fbAsyncInit=function(){FB.init({appId:e.facebook_app_id,cookie:!0,xfbml:!0,version:"v2.12"})})}facebookLoginClick(){var e=this.getSettings(),a=this,t=this.$element.find(".pp-login-form").find('input[name="redirect_to"]'),n={action:"pp_lf_process_social_login",provider:"facebook",page_url:e.page_url,nonce:a.getNonce()};0<t.length&&""!==t.val()&&(n.redirect=t.val()),this.disableForm(),FB.login(function(e){"connected"===e.status?FB.api("/me",{fields:"id, email, name, first_name, last_name"},function(e){var t=FB.getAuthResponse();n.user_data=e,n.auth_response=t,a._ajax(n,function(e){e.success?e.data.redirect_url?window.location.href=e.data.redirect_url:window.location.reload():(console.error(e.data),a.enableForm())})}):(e.authResponse&&console.error("PP Login Form: Unable to connect Facebook account."),a.enableForm())},{scope:"email",return_scopes:!0})}loginFormSubmit(e){e.preventDefault();var t=this.getSettings(),a=d(e.target),e=a.find('input[name="log"]'),n=a.find('input[name="pwd"]'),s=n.closest(".pp-lf-field-inner"),i=a.find('input[name="rememberme"]'),r=a.find('input[name="redirect_to"]'),o=a.find(".pp-grecaptcha"),p=o.data("pp-grecaptcha-response"),l=this;if(e.parent().find(".pp-lf-error").remove(),n.parent().find(".pp-lf-error").remove(),o.parent().find(".pp-lf-error").remove(),""===e.val().trim())d('<span class="pp-lf-error">').insertAfter(e).html(t.messages.empty_username);else if(""===n.val())d('<span class="pp-lf-error">').insertAfter(s).html(t.messages.empty_password);else{if(0<o.length&&(void 0===p||!1===p)){if("normal"==o.data("validate"))return void d('<span class="pp-lf-error">').insertAfter(o).html(t.messages.empty_recaptcha);"invisible"==o.data("validate")&&grecaptcha.execute(o.data("widgetid"))}s=new FormData(a[0]);s.append("action","ppe_lf_process_login"),s.append("page_url",t.page_url),s.append("username",e.val()),s.append("password",n.val()),0<r.length&&""!==r.val()&&s.append("redirect",r.val()),0<i.length&&i.is(":checked")&&s.append("remember","1"),0<o.length&&(s.append("recaptcha",!0),s.append("recaptcha_validate",o.data("validate")),s.append("recaptcha_validate_type",o.data("validate-type"))),p&&s.append("recaptcha_response",p),this.disableForm(),this._ajax(s,function(e){var t;e.success?!e.data.redirect_url||(t=location.protocol+"//"+location.host,(""===e.data.redirect_url.split(t)[0]?e.data.redirect_url.split(t)[1]:e.data.redirect_url.split(t)[0])===location.href.split(t)[1])?window.location.reload():window.location.href=e.data.redirect_url:(l.enableForm(),a.find(".pp-lf-error").remove(),d('<span class="pp-lf-error">').appendTo(a).html(e.data))})}}lostPassFormSubmit(e){e.preventDefault();const a=this.getSettings();var t,n=d(e.target),s=n.find('input[name="user_login"]'),e=n.find('input[name="lost_redirect_to"]'),i=n.find('input[name="is_lost_redirect"]'),r=this;s.parent().find(".pp-lf-error").remove(),""===s.val().trim()?d('<span class="pp-lf-error">').insertAfter(s).html(a.messages.empty_username):((t=new FormData(n[0])).append("action","pp_lf_process_lost_pass"),t.append("page_url",a.page_url),0<e.length&&""!==e.val()&&t.append("redirect",e.val()),this.disableForm(),this._ajax(t,function(e){var t;r.enableForm(),e.success?"0"===i.val()?(d('<p class="pp-lf-success">').insertAfter(n).html(a.messages.email_sent),n.hide()):!e.data.redirect_url||(t=location.protocol+"//"+location.host,(""===e.data.redirect_url.split(t)[0]?e.data.redirect_url.split(t)[1]:e.data.redirect_url.split(t)[0])===location.href.split(t)[1])?window.location.reload():(window.location.href=e.data.redirect_url,d('<p class="pp-lf-success">').insertAfter(n).html(a.messages.email_sent),n.hide()):(s.parent().find(".pp-lf-error").remove(),d('<span class="pp-lf-error">').insertAfter(s).html(e.data))}))}resetPassFormSubmit(e){e.preventDefault();const t=this.getSettings();let a=d(e.target),n=a.find('input[name="password_1"]'),s=a.find('input[name="password_2"]'),i=this;n.parent().find(".pp-lf-error").remove(),s.parent().find(".pp-lf-error").remove(),""===n.val()?d('<span class="pp-lf-error">').insertAfter(n).html(t.messages.empty_password_1):""===s.val()?d('<span class="pp-lf-error">').insertAfter(s).html(t.messages.empty_password_2):((e=new FormData(a[0])).append("action","pp_lf_process_reset_pass"),e.append("page_url",t.page_url),this.disableForm(),this._ajax(e,function(e){i.enableForm(),e.success?(d('<p class="pp-lf-success">').insertAfter(a).html(t.messages.reset_success),a.hide()):(a.find(".pp-lf-error").remove(),d('<span class="pp-lf-error">').appendTo(a).html(e.data))}))}enableForm(){this.$element.find(".pp-login-form-wrap").removeClass("pp-event-disabled")}disableForm(){this.$element.find(".pp-login-form-wrap").addClass("pp-event-disabled")}getNonce(){return this.$element.find('.pp-login-form input[name="ppe-lf-login-nonce"]').val()}_ajax(e,t){var a={type:"POST",url:ppLogin.ajax_url,data:e,dataType:"json",success:function(e){"function"==typeof t&&t(e)},error:function(e,t){console.log(t)}};"undefined"==typeof e.provider&&(a.processData=!1,a.contentType=!1),d.ajax(a)}}elementorFrontend.elementsHandler.attachHandler("pp-login-form",e)})}(jQuery);