;(function($,settings){"use strict";if(window.LP===undefined){window.LP={};}
var Checkout=LP.Checkout=function(options){var
$formCheckout=$('#learn-press-checkout'),$formLogin=$('#learn-press-checkout-login'),$formRegister=$('#learn-press-checkout-register'),$payments=$('.payment-methods'),$buttonCheckout=$('#learn-press-checkout-place-order'),selectedMethod='',$checkoutEmail=$('input[name="checkout-email"]'),$checkoutExistingAccount=$('#checkout-existing-account'),$checkoutNewAccount=$('#checkout-new-account');if(String.prototype.isEmail===undefined){String.prototype.isEmail=function(){return new RegExp('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$').test(this);}}
var _formSubmit=function(e){e.preventDefault();if(!($formCheckout.triggerHandler('learn_press_checkout_place_order')!==false&&$formCheckout.triggerHandler('learn_press_checkout_place_order_'+selectedMethod)!==false)){return;}
var $form=$payments.children('.selected'),data=$formCheckout.serializeJSON();removeMessage();if(options.i18n_processing){$buttonCheckout.html(options.i18n_processing);}
$buttonCheckout.prop('disabled',true);$.ajax({url:options.ajaxurl+'/?lp-ajax=checkout',dataType:'html',data:data,type:'post',success:function(response){response=LP.parseJSON(response);try{if('success'===response.result){if(response.redirect.match(/https?/)){window.location=response.redirect;}}else{throw"ERROR";}}catch(error){if(!response.messages){showMessage('<div class="learn-press-message error">'+options.i18n_unknown_error+'</div>');}else{showMessage(response.messages);}
$buttonCheckout.html(options.i18n_place_order);$buttonCheckout.prop('disabled',false);LP.unblockContent();}},error:function(jqXHR,textStatus,errorThrown){showMessage('<div class="learn-press-message error">'+errorThrown+'</div>');$buttonCheckout.html(options.i18n_place_order);$buttonCheckout.prop('disabled',false);LP.unblockContent();}});return false;}
var _selectPaymentChange=function(){var id=$(this).val(),$selected=$payments.children().filter('.selected').removeClass('selected'),buttonText=$selected.find('#payment_method_'+selectedMethod).data('order_button_text');$selected.find('.payment-method-form').slideUp();$selected.end().filter('#learn-press-payment-method-'+id).addClass('selected').find('.payment-method-form').hide().slideDown();selectedMethod=$selected.find('payment_method').val();if(buttonText){$buttonCheckout.html(buttonText);}}
var _guestCheckoutClick=function(){var showOrHide=$formCheckout.toggle().is(':visible');$formLogin.toggle(!showOrHide);$formRegister.toggle(!showOrHide);$('#learn-press-button-guest-checkout').toggle(!showOrHide);}
var showMessage=function(messages){removeMessage();$formCheckout.prepend(messages);$('html, body').animate({scrollTop:($formCheckout.offset().top-100)},1000);$(document).trigger('learn-press/checkout-error');}
var _checkEmail=function(){if(!this.value.isEmail()){$buttonCheckout.prop('disabled',true);$('#checkout-guest-options').hide();return;}
$buttonCheckout.prop('disabled',false);this.timer&&clearTimeout(this.timer);this.timer=setTimeout(function(){$.post({url:window.location.href,data:{'lp-ajax':'checkout-user-email-exists',email:$checkoutEmail.val()},success:function(res){res=LP.parseJSON(res);if(res&&res.exists){$checkoutExistingAccount.show().find('input[name="checkout-email-option"]').prop('checked',res.waiting_payment===res.exists);$checkoutNewAccount.hide().find('input[name="checkout-new-account"]').prop('checked',false);}else{$checkoutExistingAccount.hide().find('input[name="checkout-email-option"]').prop('checked',false);$checkoutNewAccount.show();}
$('#checkout-guest-options').show();}});},500);}
var removeMessage=function(){$('.learn-press-error, .learn-press-notice, .learn-press-message').remove();}
var _toggleRegisterForm=function(e,toggle){toggle=$formRegister.find('.learn-press-form-register').toggle(toggle).is(':visible');$formRegister.find('.checkout-form-register-toggle[data-toggle="show"]').toggle(!toggle);e&&(e.preventDefault(),_toggleLoginForm(null,!toggle));}
var _toggleLoginForm=function(e,toggle){toggle=$formLogin.find('.learn-press-form-login').toggle(toggle).is(':visible');$formLogin.find('.checkout-form-login-toggle[data-toggle="show"]').toggle(!toggle);e&&(e.preventDefault(),_toggleRegisterForm(null,!toggle));}
$buttonCheckout.on('click',function(e){});$('.lp-button-guest-checkout').on('click',_guestCheckoutClick);$('#learn-press-button-cancel-guest-checkout').on('click',_guestCheckoutClick)
$checkoutEmail.on('keyup changex',_checkEmail).trigger('changex');$payments.on('change select','input[name="payment_method"]',_selectPaymentChange);$formCheckout.on('submit',_formSubmit);$payments.children('.selected').find('input[name="payment_method"]').trigger('select');$formLogin.on('click','.checkout-form-login-toggle',_toggleLoginForm);$formRegister.on('click','.checkout-form-register-toggle',_toggleRegisterForm);if(options.user_waiting_payment===options.user_checkout){}
$formRegister.find('input').each(function(){if((-1!==$.inArray($(this).attr('type').toLowerCase(),['text','email','number']))&&$(this).val()){_toggleRegisterForm();return false;}});$formLogin.find('input:not([type="hidden"])').each(function(){if((-1!==$.inArray($(this).attr('type').toLowerCase(),['text','email','number']))&&$(this).val()){_toggleLoginForm();return false;}});if($formRegister.length&&!$formLogin.length){_toggleRegisterForm()}else if(!$formRegister.length&&$formLogin.length){_toggleLoginForm()}}
$(document).ready(function(){if(typeof lpCheckoutSettings!=='undefined'){LP.$checkout=new Checkout(lpCheckoutSettings);}})})(jQuery);