"use strict";var affiniForm={isValidCard:function(e){for(var a=e.replace(/\s/g,""),r=a?a.length:0,t=[0,2,4,6,8,1,3,5,7,9],n=1,i=0;r--;)i+=(n^=1)?t[a[r]]:parseInt(a[r],10);return i%10==0&&i>0},formatAmount:function(e){var a=parseFloat(e.val().trim().replace("$",""));if(isNaN(a))return e.val("");e.val(a.toFixed(2))}};!function(e){e.fn.AffiniPayPaymentForm=function(){function a(){var a=e(".affinipay-exp_year label"),r=e(".affinipay-exp_year span"),t=new Date(C.val()+"/1/"+k.val()),n=t>new Date;a.toggleClass("affinipay_error",!n),r.toggleClass("affinipay_error",!n).html(n?"":"Card is expired"),v("exp_year",!n)}function r(e){e.preventDefault()}function t(a){var r=e(a.currentTarget);"number"==r.attr("id")&&l(a),r.hasClass("affinipay_error")&&i(a)}function n(a){if(!(a.key.length>1)){var r=e(a.currentTarget),t=e(".affinipay-"+r.attr("id")+" span");if(r.attr("maxlength")!=r.val().length)return void t.removeClass("warning");t.addClass("warning").html("Length may not exceed "+r.attr("maxlength")+" characters.")}}function i(a){var r=e(a.currentTarget).val(),t=e(a.currentTarget).data("validate"),n=null,i=!0,s=".affinipay-"+e(a.currentTarget).attr("id"),l={field:a.currentTarget,error_label:s+" span",rule_type:t,required:e(a.currentTarget).attr("required"),value:r};if("cc"===t?(o(a),i=affiniForm.isValidCard(r)):void 0!==t&&(n=_[t],i=u(r.trim(),n)),l.required||""!==r.trim()||(i=!0),!0===i){var c=l.error_label.replace("span","label");e(a.currentTarget).removeClass("affinipay_error"),e(l.error_label).removeClass("affinipay_error").html(""),e(c).removeClass("affinipay_error");v(e(a.currentTarget).attr("id"),!1)}else f(l)}function s(e){e.preventDefault()}function l(e){var a=o(e);return null!=a?a.patterns:new RegExp(/\*/)}function o(e){var a=null,r=g.val();return""!==r&&(h.visa.patterns.test(r)&&(a="visa"),h.mastercard.patterns.test(r)&&(a="mastercard"),h.discover.patterns.test(r)&&(a="discover"),h.amex.patterns.test(r)&&(a="amex"),h.jcb.patterns.test(r)&&(a="jcb")),c(a,e)}function c(e,a){return b=h[e],g.removeClass("visa mastercard amex discover"),g.addClass(e),d(a),b}function d(e){if(8!==e.keyCode&&null!=b){var a="",r=g.val(),t=r.replace(/\D/g,"").match(b.format);if(t){for(var n=1;n<5;n++)a+=void 0!==t[n]?t[n].replace(/$/," "):"";g.val(a)}}}function u(e,a){var r=!1;return null!=a&&null!=e&&(r=a.test(e)),null==a&&(r=!0),r}function f(a){if(""===a.value.trim())return void m(a,"Cannot be blank");var r;switch(a.rule_type){case"email":r="Please enter a valid Email Address";break;case"numeric":r="Must contain only numbers";break;case"alpha":r="Must contain only letters";break;case"alphanumeric":r="Must contain only letters and numbers";break;case"month":r=2!==a.value.length?"Must be in MM format":"Must be a number";break;case"year":r=4!==a.value.length?"Must be in YYYY format":"Must be a number";break;case"postal_code":r=a.value.length<3?"Length must be at least 3 characters":"Please enter a valid Postal Code";break;case"cvv":r=a.value.length<3?"Length must be at least 3 characters":"Please enter a valid CVV.";break;case"phone":r="Must be a number";break;case"cc":r="Please enter a valid Card Number.";break;default:return void e(a.error_label).removeClass("affinipay_error").html("")}m(a,r)}function m(a,r){a.txt=a.error_label.replace("span","label"),e(a.field).addClass("affinipay_error"),e(a.error_label).addClass("affinipay_error").html(r),e(a.txt).addClass("affinipay_error"),v(e(a.field).attr("id"),!0)}function v(e,a){var r=x.indexOf(e);a?r<0&&x.push(e):r>-1&&x.splice(r,1),y.prop("disabled",x.length>0)}var p=this;const h={visa:{brand:"visa",patterns:/^4/,format:/^(\d{4})(\d{4})?(\d{4})?(\d{4})?$/,length:[13,16],cvcLength:[3],luhn:!0},mastercard:{brand:"mastercard",patterns:/^(51|52|53|54|55|22|23|24|25|26|27)/,format:/^(\d{4})(\d{4})?(\d{4})?(\d{4})?$/,length:[16],cvcLength:[3],luhn:!0},amex:{brand:"amex",patterns:/^(34|37)/,format:/^(\d{4})(\d{6})?(\d{5,6})?$/,length:[15],cvcLength:[3,4],luhn:!0},diners:{brand:"diners",patterns:/^(30|36|38|39)/,format:/^(\d{4})(\d{4})?(\d{4})?(\d{4})?$/,length:[14],cvcLength:[3],luhn:!0},discover:{brand:"discover",patterns:/^(60|64|65)/g,format:/^(\d{4})(\d{4})?(\d{4})?(\d{4})?$/,length:[16],cvcLength:[3],luhn:!0},jcb:{brand:"jcb",patterns:/^35/,format:/^(\d{4})(\d{4})?(\d{4})?(\d{4})?$/,length:[16],cvcLength:[3],luhn:!0}},_={numeric:/[0-9]/,alpha:/[A-Z]/i,any:/.+/,alphanumeric:/^[a-z\d\-_\s]+$/i,state:/^[A-Z]{2}$/,postal_code:/^[\w\d\s-]{3,9}$/,email:/^[^@\s]+@[^@\s]+\.[^@\s]+$/,month:/^\d{2}$/,year:/^\d{4}$/,cvv:/^\d{3,4}$/};var b=null,g=e("#number"),y=e("#btn_payment_submit"),x=[];y.prop("disabled","disabled"),e("#amount").on("blur",function(){affiniForm.formatAmount(e(this))});var C=e("#exp_month"),k=e("#exp_year");C.on("change",a),k.on("change",a),this.find("input").each(function(){e(this).on("change",s).on("keyup",t).on("keydown",n).on("focus",r).on("blur",i)}),affiniForm.validateAllFields=function(){return a(),p.find("input").each(function(){i({currentTarget:this})}),0===x.length}}}(jQuery),function(e){function a(){number.removeAttribute("name"),exp_month.removeAttribute("name"),exp_year.removeAttribute("name"),cvv.removeAttribute("name")}function r(){number.name="number",exp_month.name="exp_month",exp_year.name="exp_year",cvv.name="cvv"}function t(e){"card_number_invalid"==e.code&&n(number,e.message),"invalid_data"==e.code&&("method.number"==e.context&&n(number,e.message),"method.exp_month"==e.context&&n(exp_month,e.message),"method.exp_year"==e.context&&n(exp_year,e.message),"method.cvv"==e.context&&n(cvv,e.message))}function n(a,r){var t="#"+e(a).attr("id")+" label span",n="#"+e(a).attr("id")+" label";e(a).addClass("affinipay_error"),e(n).addClass("affinipay_error"),e(t).addClass("affinipay_error").css("display","block").html(r)}ChargeIO.init({public_key:affinipay.public_key}),ChargeIO.ready(function(){function n(a){r();var n=e(".affinipay_payment_form"),i=(e("#frm_affinipay_payment"),e("#affinipay_error_message"));i.length&&i.html("").css("display","none");var s="";a.messages.forEach(function(e){s+=e.message+"
",t(e)});var l='
'+s+"
";i.length?i.html(s).css("display","block").addClass("alert alert-danger").fadeOut(100).fadeIn(100):n.before(l),e("html, body").animate({scrollTop:e(n).offset().top-120},300)}var i=e("#frm_affinipay_payment"),s=e("#btn_payment_submit"),l=e("#amount"),o=e("#frm_affinipay_payment #account"),c=(e("#reference"),e("#number"),e("#exp_month"),e("#exp_year"),e("#cvv"),e("#name")),d=e("#address1"),u=e("#address2"),f=e("#city"),m=e("#state"),v=e("#postal_code"),p=e("#email"),o=e("#account"),h=e("#phone"),_=e("#recurring_interval"),b=e("#recurring_ends"),g=function(e){return void 0!==c&&(e.customer_name=c.val()),void 0!==d&&(e.customer_address=d.val()),void 0!==u&&(e.customer_address2=u.val()),void 0!==f&&(e.customer_city=f.val()),void 0!==m&&(e.customer_state=m.val()),void 0!==v&&(e.customer_postal=v.val()),void 0!==p&&(e.customer_email=p.val()),void 0!==h&&(e.customer_phone=h.val()),void 0!==_&&(e.recurring_interval=_.val()),void 0!==b&&(e.recurring_ends=b.val()),e},y=function(a){var r=a.method.email?"An email has been sent to "+a.method.email+"":"";i.fadeOut(100,function(){e(this).replaceWith("

Payment Successful

"+r)})},x=function(r){if(r.preventDefault(),affiniForm.validateAllFields()){e(r.currentTarget).prop("disabled",!0),affiniForm.formatAmount(l);var t=ChargeIO.payment_params(i);t.amount=parseInt(l.val().replace(/\D/g,"")),ChargeIO.create_token(t,function(r){var t={action:"affinipay_submit_charge",amount:r.form_data.amount,token:r.id,redirect_url:affinipay.redirect_url,account_id:o.val()};g(t),a(),e.post(affinipay.ajax_url,t).done(function(e){if(t.redirect_url)return void(window.location=t.redirect_url+"&payment="+e.id);y(e)}).fail(function(e){n(e.responseJSON||{messages:[{message:"An unexpected error occurred"}]})}).always(function(){s.attr("disabled",!1)})})}};i.on("submit",function(e){return e.preventDefault(),!1}),s.click(x)})}(jQuery); //# sourceMappingURL=maps/affinipay.min.js.map