!function(d){window.onLoadPPReCaptcha=function(){var o,e=d(".pp-grecaptcha");0<e.length&&e.each(function(e){var t=d(this),i=t.attr("data-widgetid"),n=d(this).attr("id");typeof i!=typeof undefined&&!1!==i||(t.attr("id",n),o=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",o))})};PPLoginForm=function(e,t,i){this.node=e,this.id=i.id,this.messages=i.messages,this.settings=i,this.elementSettings=t,this._init()},PPLoginForm.prototype={settings:{},isGoogleLoginClicked:!1,_init:function(){this.settings.facebook_login&&this._initFacebookLogin(),this.settings.google_login&&this._initGoogleLogin(),0<this.node.find("#pp-form-"+this.id).length&&"yes"===this.elementSettings.enable_ajax&&this.node.find("#pp-form-"+this.id).on("submit",d.proxy(this._loginFormSubmit,this)),0<this.node.find(".pp-login-form--lost-pass").length&&this.node.find(".pp-login-form--lost-pass").on("submit",d.proxy(this._lostPassFormSubmit,this)),0<this.node.find(".pp-login-form--reset-pass").length&&this.node.find(".pp-login-form--reset-pass").on("submit",d.proxy(this._resetPassFormSubmit,this)),this.settings.enable_recaptcha&&this._initReCaptcha()},_initReCaptcha:function(){var e=this.node.find(".pp-grecaptcha");elementorFrontend.isEditMode()&&undefined==e.attr("data-widgetid")&&onLoadPPReCaptcha()},_initFacebookLogin:function(){""!==this.settings.facebook_app_id&&0<this.node.find(".pp-fb-login-button").length&&(this._initFacebookSDK(),this.node.find(".pp-fb-login-button").on("click",d.proxy(this._facebookLoginClick,this)))},_initFacebookSDK:function(){var e=this;0===d("#fb-root").length&&d("body").prepend('<div id="fb-root"></div>');var t,i=document,n="script",o="facebook-jssdk",a=i.getElementsByTagName(n)[0];i.getElementById(o)||((t=i.createElement(n)).id=o,t.src="//connect.facebook.net/en_US/sdk.js",a.parentNode.insertBefore(t,a),window.fbAsyncInit=function(){FB.init({appId:e.settings.facebook_app_id,cookie:!0,xfbml:!0,version:"v2.12"})})},_facebookLoginClick:function(){var i=this,e=this.node.find(".pp-login-form").find('input[name="redirect_to"]'),n={action:"pp_lf_process_social_login",provider:"facebook",page_url:i.settings.page_url,nonce:i._getNonce()};0<e.length&&""!==e.val()&&(n.redirect=e.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,i._ajax(n,function(e){e.success?e.data.redirect_url?window.location.href=e.data.redirect_url:window.location.reload():(console.error(e.data),i._enableForm())})}):(e.authResponse&&console.error("PP Login Form: Unable to connect Facebook account."),i._enableForm())},{scope:"email",return_scopes:!0})},_initGoogleLogin:function(){""!==this.settings.google_client_id&&0<this.node.find(".pp-google-login-button").length&&(this._initGoogleApi(),this.node.find(".pp-google-login-button").on("click",d.proxy(this._googleLoginClick,this)))},_initGoogleApi:function(){var i,n=this,e=this.node.find(".pp-login-form").find('input[name="redirect_to"]');"undefined"!=typeof gapi&&""!==n.settings.google_client_id&&(i={action:"pp_lf_process_social_login",provider:"google",page_url:n.settings.page_url,nonce:n._getNonce()},0<e.length&&""!==e.val()&&(i.redirect=e.val()),gapi.load("auth2",function(){auth2=gapi.auth2.init({client_id:n.settings.google_client_id,cookiepolicy:"single_host_origin"}),auth2.attachClickHandler("pp-google-login-button",{},function(e){var t=e.getBasicProfile();i.user_data={name:t.getName(),email:t.getEmail(),hash:e.getAuthResponse().id_token},n.isGoogleLoginClicked&&n._ajax(i,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):window.location.reload():(console.error(e.data),n._enableForm()),n.isGoogleLoginClicked=!1})},function(e){console.error(e),n._enableForm()})}))},_googleLoginClick:function(){this.isGoogleLoginClicked=!0,this._disableForm()},_loginFormSubmit:function(e){e.preventDefault();var i=d(e.target),t=i.find('input[name="log"]'),n=i.find('input[name="pwd"]'),o=i.find('input[name="rememberme"]'),a=i.find('input[name="redirect_to"]'),s=i.find(".pp-grecaptcha"),r=s.data("pp-grecaptcha-response"),l=this;if(t.parent().find(".pp-lf-error").remove(),n.parent().find(".pp-lf-error").remove(),s.parent().find(".pp-lf-error").remove(),""!==t.val().trim())if(""!==n.val()){if(0<s.length&&(void 0===r||!1===r)){if("normal"==s.data("validate"))return void d('<span class="pp-lf-error">').insertAfter(s).html(this.messages.empty_recaptcha);"invisible"==s.data("validate")&&grecaptcha.execute(s.data("widgetid"))}var p=new FormData(i[0]);p.append("action","ppe_lf_process_login"),p.append("page_url",this.settings.page_url),p.append("username",t.val()),p.append("password",n.val()),0<a.length&&""!==a.val()&&p.append("redirect",a.val()),0<o.length&&o.is(":checked")&&p.append("remember","1"),0<s.length&&(p.append("recaptcha",!0),p.append("recaptcha_validate",s.data("validate")),p.append("recaptcha_validate_type",s.data("validate-type"))),r&&p.append("recaptcha_response",r),this._disableForm(),this._ajax(p,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):window.location.reload():(l._enableForm(),i.find(".pp-lf-error").remove(),d('<span class="pp-lf-error">').appendTo(i).html(e.data))})}else d('<span class="pp-lf-error">').insertAfter(n).html(this.messages.empty_password);else d('<span class="pp-lf-error">').insertAfter(t).html(this.messages.empty_username)},_lostPassFormSubmit:function(e){e.preventDefault();var t,i=d(e.target),n=i.find('input[name="user_login"]'),o=i.find('input[name="lost_redirect_to"]'),a=i.find('input[name="is_lost_redirect"]'),s=this;n.parent().find(".pp-lf-error").remove(),""!==n.val().trim()?((t=new FormData(i[0])).append("action","pp_lf_process_lost_pass"),t.append("page_url",this.settings.page_url),0<o.length&&""!==o.val()&&t.append("redirect",o.val()),this._disableForm(),this._ajax(t,function(e){var t;s._enableForm(),e.success?"0"===a.val()?(d('<p class="pp-lf-success">').insertAfter(i).html(s.messages.email_sent),i.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(i).html(s.messages.email_sent),i.hide())):window.location.reload():(n.parent().find(".pp-lf-error").remove(),d('<span class="pp-lf-error">').insertAfter(n).html(e.data))})):d('<span class="pp-lf-error">').insertAfter(n).html(this.messages.empty_username)},_resetPassFormSubmit:function(e){e.preventDefault();var t,i=d(e.target),n=i.find('input[name="password_1"]'),o=i.find('input[name="password_2"]'),a=this;n.parent().find(".pp-lf-error").remove(),o.parent().find(".pp-lf-error").remove(),""!==n.val()?""!==o.val()?((t=new FormData(i[0])).append("action","pp_lf_process_reset_pass"),t.append("page_url",this.settings.page_url),this._disableForm(),this._ajax(t,function(e){a._enableForm(),e.success?(d('<p class="pp-lf-success">').insertAfter(i).html(a.messages.reset_success),i.hide()):(i.find(".pp-lf-error").remove(),d('<span class="pp-lf-error">').appendTo(i).html(e.data))})):d('<span class="pp-lf-error">').insertAfter(o).html(this.messages.empty_password_2):d('<span class="pp-lf-error">').insertAfter(n).html(this.messages.empty_password_1)},_enableForm:function(){this.node.find(".pp-login-form-wrap").removeClass("pp-event-disabled")},_disableForm:function(){this.node.find(".pp-login-form-wrap").addClass("pp-event-disabled")},_getNonce:function(){return this.node.find('.pp-login-form input[name="ppe-lf-login-nonce"]').val()},_ajax:function(e,t){var i={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&&(i.processData=!1,i.contentType=!1),d.ajax(i)}}}(jQuery);