(function(){var e=[].indexOf;jQuery(function(t){return window.SV_WC_Payment_Form_Handler_v6_1_4=class{constructor(e){if(this.id=e.id,this.id_dasherized=e.id_dasherized,this.plugin_id=e.plugin_id,this.type=e.type,this.csc_required=e.csc_required,this.csc_required_for_tokens=e.csc_required_for_tokens,this.enabled_card_types=e.enabled_card_types,t("form.checkout").length)this.form=t("form.checkout"),this.handle_checkout_page();else if(t("form#order_review").length)this.form=t("form#order_review"),this.handle_pay_page();else if(t("form#add_payment_method").length)this.form=t("form#add_payment_method"),this.handle_add_payment_method_page();else{console.log("No payment form found!");return}this.params=window.sv_wc_payment_gateway_payment_form_params,"echeck"===this.type&&this.form.on("click",".js-sv-wc-payment-gateway-echeck-form-check-hint, .js-sv-wc-payment-gateway-echeck-form-sample-check",()=>this.handle_sample_check_hint()),t(document).trigger("sv_wc_payment_form_handler_init",{id:this.id,instance:this})}handle_checkout_page(){return"credit-card"===this.type&&t(document.body).on("updated_checkout",()=>this.format_credit_card_inputs()),t(document.body).on("updated_checkout",()=>this.set_payment_fields()),t(document.body).on("updated_checkout",()=>this.handle_saved_payment_methods()),this.form.on(`checkout_place_order_${this.id}`,()=>this.validate_payment_data())}handle_pay_page(){return this.set_payment_fields(),"credit-card"===this.type&&this.format_credit_card_inputs(),this.handle_saved_payment_methods(),this.form.submit(()=>{if(t("#order_review input[name=payment_method]:checked").val()===this.id)return this.validate_payment_data()})}handle_add_payment_method_page(){return this.set_payment_fields(),"credit-card"===this.type&&this.format_credit_card_inputs(),this.form.submit(()=>{if(t("#add_payment_method input[name=payment_method]:checked").val()===this.id)return this.validate_payment_data()})}set_payment_fields(){return this.payment_fields=t(`.payment_method_${this.id}`),this.payment_fields.find(".validate-required .input-text").each((e,a)=>!t(a).val()&&t(a).trigger("input"))}validate_payment_data(){var e,a;return!this.form.is(".processing")&&(this.saved_payment_method_selected=this.payment_fields.find(".js-sv-wc-payment-gateway-payment-token:checked").val(),a="credit-card"===this.type?this.validate_card_data():this.validate_account_data(),e=!1!==t(document.body).triggerHandler("sv_wc_payment_form_valid_payment_data",{payment_form:this,passed_validation:a}),a&&e)}format_credit_card_inputs(){var e,a,r;return e=t(".js-sv-wc-payment-gateway-credit-card-form-account-number").payment("formatCardNumber"),r=t(".js-sv-wc-payment-gateway-credit-card-form-expiry").payment("formatCardExpiry"),a=t(".js-sv-wc-payment-gateway-credit-card-form-csc").payment("formatCardCVC"),e.val()&&e.val().length>0&&e.trigger("change"),r.val()&&r.val().length>0&&r.trigger("change"),a.val()&&a.val().length>0&&a.trigger("change"),t(".js-sv-wc-payment-gateway-credit-card-form-input").on("change paste keyup",()=>this.do_inline_credit_card_validation())}do_inline_credit_card_validation(){var a,r,i,s;return(a=t(".js-sv-wc-payment-gateway-credit-card-form-account-number"),s=t(".js-sv-wc-payment-gateway-credit-card-form-expiry"),i=t(".js-sv-wc-payment-gateway-credit-card-form-csc"),r=t.payment.cardType(a.val()),0>e.call(this.enabled_card_types,r)?a.addClass("invalid-card-type"):a.removeClass("invalid-card-type"),t.payment.validateCardExpiry(s.payment("cardExpiryVal"))?s.addClass("identified"):s.removeClass("identified"),t.payment.validateCardCVC(i.val()))?i.addClass("identified"):i.removeClass("identified")}validate_card_data(){var e,a,r,i;return(r=[],null!=(a=this.payment_fields.find(".js-sv-wc-payment-gateway-credit-card-form-csc").val())&&(a?(/\D/.test(a)&&r.push(this.params.cvv_digits_invalid),(a.length<3||a.length>4)&&r.push(this.params.cvv_length_invalid)):this.csc_required&&(!this.saved_payment_method_selected||this.csc_required_for_tokens)&&r.push(this.params.cvv_missing)),this.saved_payment_method_selected||(e=this.payment_fields.find(".js-sv-wc-payment-gateway-credit-card-form-account-number").val(),i=t.payment.cardExpiryVal(this.payment_fields.find(".js-sv-wc-payment-gateway-credit-card-form-expiry").val()),(e=e.replace(/-|\s/g,""))?((e.length<12||e.length>19)&&r.push(this.params.card_number_length_invalid),/\D/.test(e)&&r.push(this.params.card_number_digits_invalid),t.payment.validateCardNumber(e)||r.push(this.params.card_number_invalid)):r.push(this.params.card_number_missing),t.payment.validateCardExpiry(i)||r.push(this.params.card_exp_date_invalid)),r.length>0)?(this.render_errors(r),!1):(this.payment_fields.find(".js-sv-wc-payment-gateway-credit-card-form-account-number").val(e),!0)}validate_account_data(){var e,t,a;return!!this.saved_payment_method_selected||((t=[],a=this.payment_fields.find(".js-sv-wc-payment-gateway-echeck-form-routing-number").val(),e=this.payment_fields.find(".js-sv-wc-payment-gateway-echeck-form-account-number").val(),a?(9!==a.length&&t.push(this.params.routing_number_length_invalid),/\D/.test(a)&&t.push(this.params.routing_number_digits_invalid)):t.push(this.params.routing_number_missing),e?((e.length<3||e.length>17)&&t.push(this.params.account_number_length_invalid),/\D/.test(e)&&t.push(this.params.account_number_invalid)):t.push(this.params.account_number_missing),t.length>0)?(this.render_errors(t),!1):(this.payment_fields.find(".js-sv-wc-payment-gateway-echeck-form-account-number").val(e),!0))}render_errors(e){return t(".woocommerce-error, .woocommerce-message").remove(),this.form.prepend('<ul class="woocommerce-error"><li>'+e.join("</li><li>")+"</li></ul>"),this.form.removeClass("processing").unblock(),this.form.find(".input-text, select").blur(),t("html, body").animate({scrollTop:this.form.offset().top-100},1e3)}handle_saved_payment_methods(){var e,a,r,i;if(i=this.id_dasherized,this.csc_required,r=this.csc_required_for_tokens,e=(a=t(`div.js-wc-${i}-new-payment-method-form`)).find(".js-sv-wc-payment-gateway-credit-card-form-csc").closest(".form-row"),t(`input.js-wc-${this.id_dasherized}-payment-token`).on("change",function(){if(t(`input.js-wc-${i}-payment-token:checked`).val()){if(a.slideUp(200),r)return e.removeClass("form-row-last").addClass("form-row-first"),a.after(e)}else if(a.slideDown(200),r)return e.removeClass("form-row-first").addClass("form-row-last"),a.find(".js-sv-wc-payment-gateway-credit-card-form-expiry").closest(".form-row").after(e)}).change(),t("input#createaccount").on("change",function(){var e;return(e=t(`input.js-wc-${i}-tokenize-payment-method`).closest("p.form-row"),t(this).is(":checked"))?(e.slideDown(),e.next().show()):(e.hide(),e.next().hide())}),!t("input#createaccount").is(":checked"))return t("input#createaccount").change()}handle_sample_check_hint(){var e;return(e=this.payment_fields.find(".js-sv-wc-payment-gateway-echeck-form-sample-check")).is(":visible")?e.slideUp():e.slideDown()}block_ui(){return this.form.block({message:null,overlayCSS:{background:"#fff",opacity:.6}})}unblock_ui(){return this.form.unblock()}},t(document.body).trigger("sv_wc_payment_form_handler_v6_1_4_loaded")})}).call({});