var wpforms = window.wpforms || ( (s, d, p) => { let a = "wpforms-field-readonly"; function e(e, t="") { return d?.wpforms_settings?.[e] ?? t } let m = { cache: {}, isUpdatingToken: !1, init() { p(m.ready), p(d).on("load", function() { "function" == typeof p.ready.then ? p.ready.then(m.load) : m.load() }), m.bindUIActions(), m.bindOptinMonster() }, ready() { m.clearUrlQuery(), m.setUserIdentifier(), m.loadValidation(), m.loadHoneypot(), m.loadDatePicker(), m.loadTimePicker(), m.loadInputMask(), setTimeout(function() { m.loadPayments() }, 50), m.loadMailcheck(), m.loadChoicesJS(), m.initTokenUpdater(), m.restoreSubmitButtonOnEventPersisted(), m.bindChoicesJS(), m.readOnlyFieldsInit(), p(".wpforms-randomize").each(function() { for (var e = p(this), t = e.children(); t.length; ) e.append(t.splice(Math.floor(Math.random() * t.length), 1)[0]) }), p(".wpforms-page-button").prop("disabled", !1), m.initFormsStartTime(), p(s).trigger("wpformsReady") }, load() {}, clearUrlQuery() { var e = d.location; let t = e.search; -1 !== t.indexOf("wpforms_form_id=") && (t = t.replace(/([&?]wpforms_form_id=[0-9]*$|wpforms_form_id=[0-9]*&|[?&]wpforms_form_id=[0-9]*(?=#))/, ""), history.replaceState({}, null, e.origin + e.pathname + t)) }, loadHoneypot() { p(".wpforms-form").each(function() { let e = p(this) , t = e.data("formid") , r = [] , a = []; var o, i, s, n; void 0 !== wpforms_settings.hn_data[t] && (p(`#wpforms-form-${t} .wpforms-field`).each(function() { var e = p(this); r.push(e.data("field-id")), a.push(e.find(".wpforms-field-label").text()) }), o = m.getHoneypotRandomLabel(a.join(" ").split(" ")), i = m.getHoneypotFieldId(r), n = r[Math.floor(Math.random() * r.length)], s = `wpforms-${t}-field_` + i, p(`#wpforms-${t}-field_${n}-container`, e).before(`
`), (n = p(`#wpforms-${t}-field_${wpforms_settings.hn_data[t]}-container`, e)).find("input").attr({ tabindex: "-1", "aria-hidden": "true" }), n.find("label").text(o).attr("aria-hidden", "true")) }) }, getHoneypotRandomLabel(t) { let r = ""; for (let e = 0; e < 3; e++) r += t[Math.floor(Math.random() * t.length)] + " "; return r.trim() }, getHoneypotFieldId(t) { var r = Math.max(...t); let a = 0; for (let e = 1; e < r; e++) if (!t.includes(e)) { a = e; break } return a = a || r + 1 }, loadValidation() { void 0 === p.fn.validate ? d.location.hash && "#wpformsdebug" === d.location.hash && console.log("jQuery Validation library not found.") : (p(".wpforms-input-temp-name").each(function(e, t) { var r = Math.floor(9999 * Math.random()) + 1; p(this).attr("name", "wpf-temp-" + r) }), p(s).on("change", ".wpforms-validate input[type=url]", function() { var e = p(this).val(); if (!e) return !1; "http://" !== e.substr(0, 7) && "https://" !== e.substr(0, 8) && p(this).val("https://" + e) }), p.validator.messages.required = wpforms_settings.val_required, p.validator.messages.url = wpforms_settings.val_url, p.validator.messages.email = wpforms_settings.val_email, p.validator.messages.number = wpforms_settings.val_number, p.validator.messages.min = e("val_min", "Please enter a value greater than or equal to {0}").replace("{value}", "{0}"), p.validator.messages.max = e("val_max", "Please enter a value less than or equal to {0}").replace("{value}", "{0}"), void 0 !== p.fn.payment && p.validator.addMethod("creditcard", function(e, t) { e = p.payment.validateCardNumber(e); return this.optional(t) || e }, wpforms_settings.val_creditcard), p.validator.addMethod("extension", function(e, t, r) { return r = "string" == typeof r ? r.replace(/,/g, "|") : "png|jpe?g|gif", this.optional(t) || e.match(new RegExp("\\.(" + r + ")$","i")) }, wpforms_settings.val_fileextension), p.validator.addMethod("maxsize", function(e, t, r) { var a = r , r = this.optional(t); let o, i; if (r) return r; if (t.files && t.files.length) for (o = 0, i = t.files.length; o < i; o++) if (t.files[o].size > a) return !1; return !0 }, wpforms_settings.val_filesize), p.validator.addMethod("camera-required", function(e, t) { var r = p(t).closest(".wpforms-field-camera"); return !r.length || !(t.hasAttribute("required") || r.hasClass("wpforms-field-required")) || t.files && 0 < t.files.length || 0 < r.find(".wpforms-camera-selected-file.wpforms-camera-selected-file-active").length }, wpforms_settings.val_required), p.validator.addMethod("step", function(e, t, r) { i = r; let a = Math.floor(i) !== i && i.toString().split(".")[1].length || 0; function o(e) { return Math.round(e * Math.pow(10, a)) } var i = o(p(t).attr("min")); return e = o(e) - i, this.optional(t) || o(e) % o(r) == 0 }), p.validator.methods.email = function(e, t) { return this.optional(t) || (e => { if ("string" != typeof e) return !1; var t = e.indexOf("@", 1); if (e.length < 6 || 254 < e.length || -1 === t) return !1; if (-1 !== e.indexOf("@", t + 1)) return !1; var [t,e] = e.split("@"); if (!t || !e) return !1; if (!/^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~.-]+$/.test(t) || 63 < t.length) return !1; if (/\.{2,}/.test(e) || e.trim(" \t\n\r\0\v.") !== e) return !1; if ((t = e.split(".")).length < 2) return !1; var r, a = /^[a-z0-9-]+$/i; for (r of t) if (63 < r.length || r.trim(" \t\n\r\0\v-") !== r || !a.test(r)) return !1; return !0 } )(e) } , p.validator.addMethod("restricted-email", function(e, t) { var r = p(t); return !r.val().length || (r = r.closest(".wpforms-form").data("formid"), Object.prototype.hasOwnProperty.call(m.cache, r) && Object.prototype.hasOwnProperty.call(m.cache[r], "restrictedEmailValidation") && Object.prototype.hasOwnProperty.call(m.cache[r].restrictedEmailValidation, e) ? m.cache[r].restrictedEmailValidation[e] : (m.restrictedEmailRequest(t, e), "pending")) }, wpforms_settings.val_email_restricted), p.validator.addMethod("confirm", function(e, t, r) { t = p(t).closest(".wpforms-field"); return p(t.find("input")[0]).val() === p(t.find("input")[1]).val() }, wpforms_settings.val_confirm), p.validator.addMethod("required-payment", function(e, t) { return 0 < m.amountSanitize(e) }, wpforms_settings.val_requiredpayment), p.validator.addMethod("time12h", function(e, t) { return this.optional(t) || /^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(e) }, wpforms_settings.val_time12h), p.validator.addMethod("time24h", function(e, t) { return this.optional(t) || /^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(\ ?[AP]M)?$/i.test(e) }, wpforms_settings.val_time24h), p.validator.addMethod("turnstile", function(e) { return e }, wpforms_settings.val_turnstile_fail_msg), p.validator.addMethod("time-limit", function(e, t) { var t = p(t) , r = t.data("min-time"); return void 0 === r || !(t.prop("required") || !m.empty(e)) || (t = t.data("max-time"), m.compareTimesGreaterThan(t, r) ? m.compareTimesGreaterThan(e, r) && m.compareTimesGreaterThan(t, e) : m.compareTimesGreaterThan(e, r) && m.compareTimesGreaterThan(e, t) || m.compareTimesGreaterThan(r, e) && m.compareTimesGreaterThan(t, e)) }, function(e, t) { t = p(t); let r = t.data("min-time") , a = t.data("max-time"); return r = r.replace(/^00:([0-9]{2})pm$/, "12:$1pm"), a = a.replace(/^00:([0-9]{2})pm$/, "12:$1pm"), r = r.replace(/(am|pm)/g, " $1").toUpperCase(), a = a.replace(/(am|pm)/g, " $1").toUpperCase(), wpforms_settings.val_time_limit.replace("{minTime}", r).replace("{maxTime}", a) }), p.validator.addMethod("check-limit", function(e, t) { var t = p(t).closest("ul") , r = parseInt(t.attr("data-choice-limit") || 0, 10); return 0 === r || t.find('input[type="checkbox"]:checked').length <= r }, function(e, t) { t = parseInt(p(t).closest("ul").attr("data-choice-limit") || 0, 10); return wpforms_settings.val_checklimit.replace("{#}", t) }), p.validator.addMethod("inputmask-incomplete", function(e, t) { return 0 === e.length || void 0 === p.fn.inputmask || p(t).inputmask("isComplete") }, wpforms_settings.val_inputmask_incomplete), p.validator.addMethod("required-positive-number", function(e, t) { return 0 < m.amountSanitize(e) }, wpforms_settings.val_number_positive), p.validator.addMethod("required-minimum-price", function(e, t, r) { t = p(t); return "" === e && !t.hasClass("wpforms-field-required") || Number(m.amountSanitize(m.amountFormat(r))) <= Number(m.amountSanitize(e)) }, wpforms_settings.val_minimum_price), p.validator.addMethod("password-strength", function(e, t) { var r = p(t) , t = WPFormsPasswordField.passwordStrength(e, t); return "" === e && !r.hasClass("wpforms-field-required") || t >= Number(r.data("password-strength-level")) }, wpforms_settings.val_password_strength), p(".wpforms-validate").each(function() { var e = p(this) , t = e.data("formid"); let r; r = void 0 !== d["wpforms_" + t] && d["wpforms_" + t].hasOwnProperty("validate") ? d["wpforms_" + t].validate : "undefined" != typeof wpforms_validate ? wpforms_validate : { errorElement: m.isModernMarkupEnabled() ? "em" : "label", errorClass: "wpforms-error", validClass: "wpforms-valid", ignore: ":hidden:not(textarea.wp-editor-area):not(.wpforms-field-camera input), .wpforms-conditional-hide textarea.wp-editor-area", ignoreTitle: !0, errorPlacement(e, t) { m.isLikertScaleField(t) ? (t.closest("table").hasClass("single-row") ? t.closest(".wpforms-field") : t.closest("tr").find("th")).append(e) : m.isWrappedField(t) ? t.closest(".wpforms-field").append(e) : m.isDateTimeField(t) ? m.dateTimeErrorPlacement(t, e) : m.isFieldInColumn(t) || m.isFieldHasHint(t) ? t.parent().append(e) : m.isLeadFormsSelect(t) ? t.parent().parent().append(e) : t.hasClass("wp-editor-area") ? t.parent().parent().parent().append(e) : m.isClassicFileUploadWithCamera(t) ? e.insertAfter(t.parent().find("p.wpforms-file-upload-capture-camera-classic")) : e.insertAfter(t), m.isModernMarkupEnabled() && e.attr({ role: "alert", "aria-label": wpforms_settings.errorMessagePrefix, for: "" }) }, highlight(e, t, r) { var a = p(e) , o = a.closest(".wpforms-field") , i = a.attr("name"); ("radio" === a.attr("type") || "checkbox" === a.attr("type") ? o.find('input[name="' + i + '"]') : a).addClass(t).removeClass(r), "password" === a.attr("type") && "" === a.val().trim() && d.WPFormsPasswordField && a.data("rule-password-strength") && a.hasClass("wpforms-field-required") && WPFormsPasswordField.passwordStrength("", e), o.addClass("wpforms-has-error") }, unhighlight(e, t, r) { var e = p(e) , a = e.closest(".wpforms-field") , o = e.attr("name"); ("radio" === e.attr("type") || "checkbox" === e.attr("type") ? a.find('input[name="' + o + '"]') : e).addClass(r).removeClass(t), a.find(":input.wpforms-error,[data-dz-errormessage]:not(:empty)").length || a.removeClass("wpforms-has-error"), m.isModernMarkupEnabled() && e.parent().find("em.wpforms-error").remove() }, submitHandler(s) { function n(e, t) { let r = "label" , a = ""; m.isModernMarkupEnabled() && (r = "em", a = 'role="alert"'); var o = `<${r} id="wpforms-field_recaptcha-error" class="wpforms-error" ${a}> ${wpforms_settings.val_recaptcha_fail_msg}`; e.find(".wpforms-recaptcha-container").append(o), m.restoreSubmitButton(e, t) } function l(e) { var t = e.find(".wpforms-submit"); t.prop("disabled", !0), WPFormsUtils.triggerEvent(e, "wpformsFormSubmitButtonDisable", [e, t]) } function e() { let e = p(s) , t = e.closest(".wpforms-container") , r = e.find(".wpforms-submit") , a = r.data("captchaInvalid") , o = r.data("alt-text") , i = r.get(0).recaptchaID; return e.data("token") && 0 === p(".wpforms-token", e).length && p('').val(e.data("token")).appendTo(e), e.find("#wpforms-field_recaptcha-error").remove(), l(e), o && r.text(o), a ? n(e, t) : m.empty(i) && 0 !== i ? (p(".wpforms-input-temp-name").removeAttr("name"), void m.formSubmit(e)) : (grecaptcha.execute(i).then(null, function() { grecaptcha.getResponse() || n(e, t) }), !1) } return "function" == typeof wpformsRecaptchaV3Execute ? (l(p(s)), wpformsRecaptchaV3Execute(e)) : e() }, invalidHandler(e, t) { void 0 !== t.errorList[0] && m.scrollToError(p(t.errorList[0].element)) }, onkeyup: WPFormsUtils.debounce(function(e, t) { p(e).hasClass("wpforms-novalidate-onkeyup") || 9 === t.which && "" === this.elementValue(e) || -1 !== p.inArray(t.keyCode, [16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144, 225]) || (e.name in this.submitted || e.name in this.invalid) && this.element(e) }, 1e3), onfocusout: function(e) { let t = !1; p(e).hasClass("wpforms-novalidate-onkeyup") && !e.value && (t = !0), this.checkable(e) || !(e.name in this.submitted) && this.optional(e) || (t = !0), (t = p(e).data("server-error") ? !1 : t) && this.element(e) }, onclick(e) { let t = !1; var r = (e || {}).type; let a = p(e); -1 < ["checkbox", "radio"].indexOf(r) && ((a = a.hasClass("wpforms-likert-scale-option") ? a.closest("tr") : a.closest(".wpforms-field")).find("label.wpforms-error, em.wpforms-error").remove(), t = !0), t && this.element(e) } }, e.validate(r), m.loadValidationGroups(e), e.find('.wpforms-field-camera input[ type="file" ], .wpforms-field-camera .dropzone-input').each(function() { var e = p(this); (e.closest(".wpforms-field-camera").hasClass("wpforms-field-required") || e.attr("required")) && e.rules("add", { "camera-required": !0 }) }) })) }, restrictedEmailRequest(r, a) { var e = p(r) , t = e.closest("form"); let o = t.data("validator") , i = t.data("formid"); t = e.closest(".wpforms-field").data("field-id"); m.cache[i] = m.cache[i] || {}, o.startRequest(r), p.post({ url: wpforms_settings.ajaxurl, type: "post", data: { action: "wpforms_restricted_email", form_id: i, field_id: t, email: a }, dataType: "json", success(e) { var t = {} , e = e.success && e.data; e || (t[r.name] = wpforms_settings.val_email_restricted, o.showErrors(t)), m.cache[i].restrictedEmailValidation = m.cache[i].restrictedEmailValidation || [], Object.prototype.hasOwnProperty.call(m.cache[i].restrictedEmailValidation, a) || (m.cache[i].restrictedEmailValidation[a] = e), o.stopRequest(r, e) } }) }, isFieldInColumn(e) { return e.parent().hasClass("wpforms-one-half") || e.parent().hasClass("wpforms-two-fifths") || e.parent().hasClass("wpforms-one-fifth") }, isFieldHasHint(e) { return 0 < e.nextAll(".wpforms-field-sublabel, .wpforms-field-description, .wpforms-field-limit-text, .wpforms-pass-strength-result").length }, isDateTimeField(e) { return e.hasClass("wpforms-timepicker") || e.hasClass("wpforms-datepicker") || e.is("select") && e.attr("class").match(/date-month|date-day|date-year/) }, isWrappedField(e) { return "checkbox" === e.attr("type") || "radio" === e.attr("type") || "range" === e.attr("type") || "select" === e.is("select") || 1 === e.data("is-wrapped-field") || e.parent().hasClass("iti") || e.hasClass("wpforms-validation-group-member") || e.hasClass("choicesjs-select") || e.hasClass("wpforms-net-promoter-score-option") || e.hasClass("wpforms-field-payment-coupon-input") }, isLikertScaleField(e) { return e.hasClass("wpforms-likert-scale-option") }, isClassicFileUploadWithCamera(e) { return 0 < e.parent().find("p.wpforms-file-upload-capture-camera-classic").length }, isLeadFormsSelect(e) { return e.parent().hasClass("wpforms-lead-forms-select") }, isCoupon(e) { return console.warn('WARNING! Function "wpforms.isCoupon( element )" has been deprecated'), e.closest(".wpforms-field").hasClass("wpforms-field-payment-coupon") }, dateTimeErrorPlacement(e, t) { var r = e.closest(".wpforms-field-row-block, .wpforms-field-date-time"); r.length ? r.find("label.wpforms-error, em.wpforms-error").length || r.append(t) : e.closest(".wpforms-field").append(t) }, loadDatePicker(e) { void 0 !== p.fn.flatpickr && (e = e?.length ? e : p(s)).find(".wpforms-datepicker-wrap").each(function() { let a = p(this), e = a.find("input"), t = a.closest(".wpforms-form"), r = t.data("formid"), o = a.closest(".wpforms-field").data("field-id"), i; var s; !(i = void 0 !== d["wpforms_" + r + "_" + o] && d["wpforms_" + r + "_" + o].hasOwnProperty("datepicker") ? d["wpforms_" + r + "_" + o].datepicker : void 0 !== d["wpforms_" + r] && d["wpforms_" + r].hasOwnProperty("datepicker") ? d["wpforms_" + r].datepicker : "undefined" != typeof wpforms_datepicker ? wpforms_datepicker : { disableMobile: !0 }).hasOwnProperty("locale") && "undefined" != typeof wpforms_settings && wpforms_settings.hasOwnProperty("locale") && (i.locale = wpforms_settings.locale), i.wrap = !0, i.dateFormat = e.data("date-format"), 1 === e.data("disable-past-dates") && (i.minDate = "today", 1 === e.data("disable-todays-date")) && (s = new Date, i.minDate = s.setDate(s.getDate() + 1)); let n = e.data("limit-days") , l = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"]; n && "" !== n && (n = n.split(","), i.disable = [function(e) { for (var t in n) if (l.indexOf(n[t]) === e.getDay()) return !1; return !0 } ]), i.onChange = function(e, t, r) { a.find(".wpforms-datepicker-clear").css("display", "" === t ? "none" : "block") } , i.onReady = function(e, t, r) { a.find(".wpforms-datepicker-clear").on("keydown", function(e) { "Enter" !== e.key && " " !== e.key || (e.preventDefault(), r.clear()) }), a.find(".wpforms-datepicker-clear").on("click", function(e) { e.preventDefault(), r.clear() }) } , a.flatpickr(i) }) }, loadTimePicker(e) { void 0 !== p.fn.timepicker && (e = e?.length ? e : p(s)).find(".wpforms-timepicker").each(function() { var e = p(this) , t = e.closest(".wpforms-form").data("formid") , r = e.closest(".wpforms-field").data("field-id"); let a; a = void 0 !== d["wpforms_" + t + "_" + r] && d["wpforms_" + t + "_" + r].hasOwnProperty("timepicker") ? d["wpforms_" + t + "_" + r].timepicker : void 0 !== d["wpforms_" + t] && d["wpforms_" + t].hasOwnProperty("timepicker") ? d["wpforms_" + t].timepicker : "undefined" != typeof wpforms_timepicker ? wpforms_timepicker : { scrollDefault: "now", forceRoundTime: !0 }; r = e.val(); e.timepicker(a), r && (e.val(r), e.trigger("changeTime")) }) }, loadInputMask(e) { void 0 !== p.fn.inputmask && (e = e?.length ? e : p(s)).find(".wpforms-masked-input").inputmask({ rightAlign: !1 }) }, fixPhoneFieldSnippets(t) { console.warn("WARNING! Obsolete function called. Function wpforms.fixPhoneFieldSnippets( $field ) has been deprecated, please use the wpforms.repairSmartPhoneHiddenField( $field ) function instead!"), t.siblings('input[type="hidden"]').each(function() { var e; p(this).attr("name").includes("function") && (e = (e = t.data("plugin_intlTelInput")).d || e.options) && ((d.intlTelInput?.getInstance(t[0]))?.destroy(), e.initialCountry = e.initialCountry.toLowerCase(), e.onlyCountries = e.onlyCountries.map(e => e.toLowerCase()), e.preferredCountries = e.preferredCountries.map(e => e.toLowerCase()), d.intlTelInput(t[0], e), t.siblings('input[type="hidden"]').each(function() { var e = p(this); e.attr("name", e.attr("name").replace("wpf-temp-", "")) })) }) }, repairSmartPhoneHiddenField(e) { console.warn('WARNING! Function "wpforms.repairSmartPhoneHiddenField()" has been deprecated, please use the new "WPFormsPhoneField.repairSmartHiddenField()" function instead!'), WPFormsPhoneField?.repairSmartHiddenField?.(e) }, getDefaultSmartPhoneFieldOptions() { return console.warn('WARNING! Function "wpforms.getDefaultSmartPhoneFieldOptions()" has been deprecated, please use the new "WPFormsPhoneField.getDefaultSmartFieldOptions()" function instead!'), WPFormsPhoneField?.getDefaultSmartFieldOptions?.() }, loadSmartPhoneField(e) { console.warn('WARNING! Function "wpforms.loadSmartPhoneField()" has been deprecated, please use the new "WPFormsPhoneField.loadSmartField()" function instead!'), WPFormsPhoneField?.loadSmartField?.(e) }, loadJqueryIntlTelInput() { console.warn('WARNING! Function "wpforms.loadJqueryIntlTelInput()" has been deprecated, please use the new "WPFormsPhoneField.loadJqueryIntlTelInput()" function instead!'), WPFormsPhoneField?.loadJqueryIntlTelInput?.() }, initSmartPhoneField(e, t) { console.warn('WARNING! Function "wpforms.initSmartPhoneField()" has been deprecated, please use the new "WPFormsPhoneField.initSmartField()" function instead!'), WPFormsPhoneField?.initSmartField?.(e, t) }, bindSmartPhoneField() { console.warn('WARNING! Function "wpforms.bindSmartPhoneField()" has been deprecated, please use the new "WPFormsPhoneField.bindSmartField()" function instead!'), WPFormsPhoneField?.bindSmartField?.() }, loadPayments() { p("input.wpforms-payment-total").each(function(e, t) { m.amountTotal(this) }), void 0 !== p.fn.payment && (p(".wpforms-field-credit-card-cardnumber").payment("formatCardNumber"), p(".wpforms-field-credit-card-cardcvc").payment("formatCardCVC")) }, loadMailcheck() { wpforms_settings.mailcheck_enabled && void 0 !== p.fn.mailcheck && (0 < wpforms_settings.mailcheck_domains.length && (Mailcheck.defaultDomains = Mailcheck.defaultDomains.concat(wpforms_settings.mailcheck_domains)), 0 < wpforms_settings.mailcheck_toplevel_domains.length && (Mailcheck.defaultTopLevelDomains = Mailcheck.defaultTopLevelDomains.concat(wpforms_settings.mailcheck_toplevel_domains)), p(s).on("blur", ".wpforms-field-email input", function() { var e = p(this); if (1 !== e.data("disable-suggestions")) { let o = e.attr("id"); e.mailcheck({ suggested(e, t) { t.full = t.full.replace(/%(?![0-9][0-9a-fA-F]+)/g, "%25"), t.address = t.address.replace(/%(?![0-9][0-9a-fA-F]+)/g, "%25"), t.domain = t.domain.replace(/%(?![0-9][0-9a-fA-F]+)/g, "%25"), t.address.match(/^xn--/) && (t.full = punycode.toUnicode(decodeURI(t.full)), r = t.full.split("@"), t.address = r[0], t.domain = r[1]), t.domain.match(/^xn--/) && (t.domain = punycode.toUnicode(decodeURI(t.domain))); var r = decodeURI(t.address).replaceAll(/[<>'"()/\\|:;=@%&\s]/gi, "").substr(0, 64) , a = decodeURI(t.domain).replaceAll(/[<>'"()/\\|:;=@%&+_\s]/gi, ""); t = '' + r + "@" + a + "", t = wpforms_settings.val_email_suggestion.replace("{suggestion}", t), e.closest(".wpforms-field").find("#" + o + "_suggestion").remove(), e.parent().append('") }, empty() { p("#" + o + "_suggestion").remove() } }) } }), p(s).on("click", ".wpforms-field-email .mailcheck-suggestion", function(e) { var t = p(this) , r = t.closest(".wpforms-field") , a = t.data("id"); e.preventDefault(), r.find("#" + a).val(t.text()), t.parent().remove() })) }, loadChoicesJS(i) { "function" == typeof d.Choices && (i = i?.length ? i : p(s)).find(".wpforms-field-select-style-modern .choicesjs-select, .wpforms-field-payment-select .choicesjs-select").each(function(e, t) { var r, a, o; p(t).data("choicesjs") || WPFormsUtils.triggerEvent(i, "wpformsBeforeLoadElementChoices", [t]).isDefaultPrevented() || (r = d.wpforms_choicesjs_config || {}, a = p(t).data("search-enabled"), o = p(t).data("remove-items-enabled"), r.searchEnabled = void 0 === a || a, r.removeItems = void 0 === o || o, r.removeItemButton = r.removeItems, r.allowHTML = !0, r.callbackOnInit = function() { let t = this , r = p(t.passedElement.element) , e = t.input?.element , a = p(e) , o = r.data("size-class") , i = r.attr("id") , s = this.dropdown.element.querySelector('[role="listbox"]') , n = this.passedElement.element.multiple; var l; t.containerOuter && t.containerOuter.element && i && n && (t.containerOuter.element.setAttribute("aria-haspopup", "listbox"), t.containerOuter.element.setAttribute("aria-labelledby", i)), e && s && (l = "choices-listbox-" + this.passedElement.element.id, s.id = l, e.setAttribute("aria-controls", l), e.setAttribute("aria-owns", l)), t.passedElement.element.addEventListener("showDropdown", () => { e && n && e.focus() } ), r.removeAttr("hidden").addClass(t.config.classNames.input + "--hidden"), o && p(t.containerOuter.element).addClass(o), r.prop("multiple") && (a.data("placeholder", a.attr("placeholder")).css("width", "auto"), t.getValue(!0).length && a.removeAttr("placeholder"), a.css("width", "1ch")), r.on("change", function() { r.prop("multiple") && (t.getValue(!0).length ? a.removeAttr("placeholder") : a.attr("placeholder", a.data("placeholder")).css("width", "auto")); var e = r.closest("form").data("validator"); e && e.element(r) }) } , r.callbackOnCreateTemplates = function() { let r = p(this.passedElement.element); return { option(e) { var t = Choices.defaults.templates.option.call(this, e); return void 0 !== e.placeholder && !0 === e.placeholder && t.classList.add("placeholder"), r.hasClass("wpforms-payment-price") && null != e.customProperties && (t.dataset.amount = e.customProperties), t } } } , p(t).data("choicesjs", new Choices(t,r))) }) }, bindChoicesJS() { p(s).on("click", ".choices", function(e) { var t = p(this) , r = t.find("select").data("choicesjs"); r && t.hasClass("is-open") && (e.target.classList.contains("choices__inner") || e.target.classList.contains("choices__arrow")) && r.hideDropdown() }) }, bindUIActions() { var e = p(s); e.on("click", ".wpforms-page-button", function(e) { e.preventDefault(), m.pagebreakNav(this) }); let t; e.on("change input", ".wpforms-payment-price", function() { clearTimeout(t), t = setTimeout( () => { m.amountTotal(this, !0) } , 0) }); let r; e.on("change", "select.wpforms-payment-quantity", function() { clearTimeout(r), r = setTimeout( () => { m.amountTotal(this, !0), m.updateOrderSummaryItemQuantity(p(this)) } , 0) }), e.on("input", ".wpforms-payment-user-input", function() { var e = p(this) , t = e.val(); e.val(t.replace(/[^0-9.,]/g, "")) }), e.on("focusout", ".wpforms-payment-user-input", function() { var e = p(this) , t = e.val(); if (!t) return t; t = m.amountSanitize(t), t = m.amountFormat(t); e.val(t) }); let a; e.on("wpformsProcessConditionals", function(e, t) { clearTimeout(a), a = setTimeout( () => { m.amountTotal(t, !0) } , 0) }), e.on("mouseenter", ".wpforms-field-rating-item", function() { p(this).parent().find(".wpforms-field-rating-item").removeClass("selected hover"), p(this).prevAll().addBack().addClass("hover") }).on("mouseleave", ".wpforms-field-rating-item", function() { p(this).parent().find(".wpforms-field-rating-item").removeClass("selected hover"), p(this).parent().find("input:checked").parent().prevAll().addBack().addClass("selected") }), p(s).on("change", ".wpforms-field-rating-item input", function() { var e = p(this) , t = e.closest(".wpforms-field-rating-items").find(".wpforms-field-rating-item"); e.focus(), t.removeClass("hover selected"), e.parent().prevAll().addBack().addClass("selected") }), p(function() { p(".wpforms-field-rating-item input:checked").trigger("change") }), e.on("keydown", ".wpforms-image-choices-item label", function(e) { var t = p(this); if (t.closest(".wpforms-field").hasClass("wpforms-conditional-hide")) return e.preventDefault(), !1; 32 === e.keyCode && (t.find("input").trigger("click"), e.preventDefault()) }), d.document.documentMode && e.on("click", ".wpforms-image-choices-item img", function() { p(this).closest("label").find("input").trigger("click") }), e.on("change", ".wpforms-field-checkbox input, .wpforms-field-radio input, .wpforms-field-payment-multiple input, .wpforms-field-payment-checkbox input, .wpforms-field-gdpr-checkbox input", function(e) { var t = p(this); if (t.closest(".wpforms-field").hasClass("wpforms-conditional-hide")) return e.preventDefault(), !1; switch (t.attr("type")) { case "radio": t.closest("ul").find("li").removeClass("wpforms-selected").find("input[type=radio]").removeProp("checked"), t.prop("checked", !0).closest("li").addClass("wpforms-selected"); break; case "checkbox": t.is(":checked") ? (t.closest("li").addClass("wpforms-selected"), t.prop("checked", !0)) : (t.closest("li").removeClass("wpforms-selected"), t.prop("checked", !1)) } }), e.on("input", ".wpforms-field-file-upload", function() { var e = p(this) , t = e.closest("form.wpforms-form").find('.wpforms-field-file-upload input:not(".dropzone-input")'); let a = 0 , r = Number(wpforms_settings.post_max_size) , o = '
' + wpforms_settings.val_post_max_size + "
"; e = e.closest("form.wpforms-form").find(".wpforms-submit-container"); let i = e.find("button.wpforms-submit") , s = e.prev(); var n = i.closest("form") , l = n.find(".wpforms-page-next:visible"); 0 !== n.find(".wpforms-page-indicator").length && 0 !== l.length && (i = l), t.each(function() { var e = p(this); let t = 0; for (var r = e[0].files.length; t < r; t++) a += e[0].files[t].size }), a < r ? (s.find(".wpforms-error-container-post_max_size").remove(), i.prop("disabled", !1), WPFormsUtils.triggerEvent(n, "wpformsFormSubmitButtonRestore", [n, i]), WPFormsUtils.triggerEvent(n, "wpformsCombinedUploadsSizeOk", [n, s])) : (a = Number((a / 1048576).toFixed(3)), r = Number((r / 1048576).toFixed(3)), o = o.replace(/{totalSize}/, a).replace(/{maxSize}/, r), s.hasClass("wpforms-error-container") ? (s.find(".wpforms-error-container-post_max_size").remove(), s.append(o)) : (e.before('
{errorMsg}
'.replace(/{errorMsg}/, o)), s = e.prev()), i.prop("disabled", !0), WPFormsUtils.triggerEvent(n, "wpformsFormSubmitButtonDisable", [n, i]), WPFormsUtils.triggerEvent(n, "wpformsCombinedUploadsSizeError", [n, s])) }), e.on("change input", ".wpforms-field-number-slider input[type=range]", function(e) { var t = p(e.target).siblings(".wpforms-field-number-slider-hint"); t.html(t.data("hint").replaceAll("{value}", "" + e.target.value + "")) }), e.on("keydown", ".wpforms-form input", function(e) { var t, r; 13 !== e.keyCode || 0 === (r = (t = p(this)).closest(".wpforms-page")).length || ["text", "tel", "number", "email", "url", "radio", "checkbox"].indexOf(t.attr("type")) < 0 || (t.hasClass("wpforms-datepicker") && t.flatpickr("close"), e.preventDefault(), (r.hasClass("last") ? r.closest(".wpforms-form").find(".wpforms-submit") : r.find(".wpforms-page-next")).trigger("click")) }), e.on("keypress", ".wpforms-field-number input", function(e) { return /^[-0-9.]+$/.test(String.fromCharCode(e.keyCode || e.which)) }), e.one("input", ".wpforms-field input, .wpforms-field textarea, .wpforms-field select", m.formChanged).one("change", ".wpforms-field-select-style-modern, .wpforms-timepicker", m.formChanged).one("focus", ".dropzone-input", m.formChanged).one("click touchstart", ".wpforms-signature-canvas", m.formChanged).one("wpformsRichTextContentChange", m.richTextContentChanged), p("form.wpforms-form").on("wpformsBeforePageChange", m.skipEmptyPages) }, skipEmptyPages(e, t, r, a) { var o = m.findNonEmptyPage(t, r, a); o !== t && (e.preventDefault(), 1 === o && "prev" === a ? (e = r.find(".wpforms-page-2"), a = r.find(".wpforms-page-" + t), t = (e.find(".wpforms-page-prev").length ? e : a).find(".wpforms-page-prev"), wpforms.navigateToPage(t, "prev", 2, r, e)) : (t = r.find(".wpforms-page-" + (a = o - 1)), wpforms.navigateToPage(t.find(".wpforms-page-next"), "next", a, r, t))) }, findNonEmptyPage(e, t, r) { let a = e; for (; m.isEmptyPage(t, a); ) "prev" === r ? a-- : a++; return a }, isEmptyPage(e, t) { return 1 !== t && !(e = e.find(".wpforms-page-" + t)).hasClass("last") && (t = e.find(".wpforms-field:not(.wpforms-field-pagebreak):not(.wpforms-field-hidden)"), e.find(".wpforms-conditional-hide").length === t.length) }, formChanged(e) { var t = p(this).closest(".wpforms-form"); m.maybeSetStartTime(t) }, richTextContentChanged(e, t, r) { r = r.getContainer(), r = p(r).closest(".wpforms-form"); m.maybeSetStartTime(r) }, initFormsStartTime() { p(".wpforms-form").each(function() { m.maybeSetStartTime(p(this)) }) }, maybeSetStartTime(e) { m.getStartTimestampData(e) || e.data("start_timestamp", m.getTimestampSec()) }, getStartTimestampData(e) { return e.hasClass("wpforms-form") && 0 < (e = parseInt(e.data("start_timestamp"), 10) || 0) ? e : 0 }, entryPreviewFieldPageChange(e, t, r) { console.warn("WARNING! Obsolete function called. Function wpforms.entryPreviewFieldPageChange has been deprecated, please use the WPFormsEntryPreview.pageChange function instead!"), WPFormsEntryPreview.pageChange(e, t, r) }, entryPreviewFieldUpdate(e, t) { console.warn("WARNING! Obsolete function called. Function wpforms.entryPreviewFieldUpdate has been deprecated, please use the WPFormsEntryPreview.update function instead!"), WPFormsEntryPreview.update(e, t) }, scrollToError(e) { if (0 !== e.length) { let t = e.find(".wpforms-field.wpforms-has-error"); 0 !== (t = 0 === t.length ? e.closest(".wpforms-field") : t).length && void 0 !== (e = t.offset()) && m.animateScrollTop(e.top - 75, 750).done(function() { var e = t.find(".wpforms-error").first(); "function" == typeof e.focus && e.trigger("focus") }) } }, pagebreakNav(e) { let t = p(e) , r = t.data("action") , a = t.data("page") , o = t.closest(".wpforms-form") , i = o.find(".wpforms-page-" + a); m.saveTinyMCE(), "next" === r && void 0 !== p.fn.validate ? m.checkForInvalidFields(o, i, function() { m.navigateToPage(t, r, a, o, i) }) : "prev" !== r && "next" !== r || m.navigateToPage(t, r, a, o, i) }, checkForInvalidFields(e, t, r) { var o = e.data("validator"); if (o) { let a = !0; t.find(":input").each(function(e, t) { var r = p(t); !r.attr("name") || r.hasClass("wpforms-field-skip-validation") || p(t).valid() || (a = !1) }), 0 < o.pendingRequest ? setTimeout(function() { m.checkForInvalidFields(e, t, r) }, 800) : a ? r() : m.scrollToError(t) } }, navigateToPage(t, r, a, o, e) { if (!t.hasClass("wpforms-disabled")) { let e = a; "next" === r ? e += 1 : "prev" === r && --e, WPFormsUtils.triggerEvent(t, "wpformsBeforePageChange", [e, o, r]).isDefaultPrevented() || (o.find(".wpforms-page").hide(), (a = o.find(".wpforms-page-" + e)).show(), m.toggleReCaptchaAndSubmitDisplay(o, r, a), m.checkTurnstileVisibility(o), (a = m.getPageScroll(o)) && m.animateScrollTop(o.offset().top - a, 750, null), t.trigger("wpformsPageChange", [e, o, r]), m.manipulateIndicator(e, o)) } }, toggleReCaptchaAndSubmitDisplay(e, t, r) { var a = e.find(".wpforms-submit-container") , e = e.find(".wpforms-recaptcha-container"); "next" === t && r.hasClass("last") ? (e.show(), a.show()) : "prev" === t && (e.hide(), a.hide()) }, checkTurnstileVisibility(e) { var t, e = e.find(".wpforms-recaptcha-container"); e.hasClass("wpforms-is-turnstile") && (t = e.find(".g-recaptcha").height(), 0 === parseInt(t, 10) ? e.addClass("wpforms-is-turnstile-invisible") : e.removeClass("wpforms-is-turnstile-invisible")) }, getPageScroll(e) { return !1 !== d.wpforms_pageScroll && (m.empty(d.wpform_pageScroll) ? 0 !== e.find(".wpforms-page-indicator").data("scroll") && 75 : d.wpform_pageScroll) }, manipulateIndicator(e, t) { var r, a = t.find(".wpforms-page-indicator"); a && ("connector" === (r = a.data("indicator")) || "circles" === r ? m.manipulateConnectorAndCirclesIndicator(a, r, e) : "progress" === r && m.manipulateProgressIndicator(a, t, e)) }, manipulateConnectorAndCirclesIndicator(e, t, r) { var a = e.data("indicator-color"); e.find(".wpforms-page-indicator-page").removeClass("active"), e.find(".wpforms-page-indicator-page-" + r).addClass("active"), e.find(".wpforms-page-indicator-page-number").removeAttr("style"), e.find(".active .wpforms-page-indicator-page-number").css("background-color", a), "connector" === t && (e.find(".wpforms-page-indicator-page-triangle").removeAttr("style"), e.find(".active .wpforms-page-indicator-page-triangle").css("border-top-color", a)) }, manipulateProgressIndicator(e, t, r) { var a = e.find(".wpforms-page-indicator-page-title") , o = e.find(".wpforms-page-indicator-page-title-sep") , t = r / t.find(".wpforms-page").length * 100; e.find(".wpforms-page-indicator-page-progress").css("width", t + "%"), e.find(".wpforms-page-indicator-steps-current").text(r), a.data("page-" + r + "-title") ? (a.css("display", "inline").text(a.data("page-" + r + "-title")), o.css("display", "inline")) : (a.css("display", "none"), o.css("display", "none")) }, bindOptinMonster() { s.addEventListener("om.Campaign.load", function(e) { m.ready(), m.optinMonsterRecaptchaReset(e.detail.Campaign.data.id) }), s.addEventListener("om.Campaign.afterShow", function(e) { "undefined" != typeof WPFormsRepeaterField && WPFormsRepeaterField.ready() }), p(s).on("OptinMonsterOnShow", function(e, t, r) { m.ready(), m.optinMonsterRecaptchaReset(t.optin), "undefined" != typeof WPFormsRepeaterField && WPFormsRepeaterField.ready() }) }, optinMonsterRecaptchaReset(e) { var e = p("#om-" + e).find(".wpforms-form") , a = e.find(".wpforms-recaptcha-container") , o = e.find(".g-recaptcha"); if (e.length && o.length) { let e = o.attr("data-sitekey") , t = "recaptcha-" + Date.now() , r = a.hasClass("wpforms-is-hcaptcha") ? hcaptcha : grecaptcha; o.remove(), a.prepend('
'), r.render(t, { sitekey: e, callback() { wpformsRecaptchaCallback(p("#" + t)) } }) } }, amountTotal(e, t) { t = t || !1; let r = p(e) , a = r.closest(".wpforms-form") , o = m.amountTotalCalc(a); if (m.allowAmountTotalCalc(a, r, o)) { let e = m.amountFormatSymbol(o); a.find(".wpforms-payment-total").each(function() { "hidden" === p(this).attr("type") || "text" === p(this).attr("type") ? (p(this).val(e), "text" === p(this).attr("type") && t && a.data("validator") && p(this).valid()) : p(this).text(e) }), m.updateOrderSummaryItems(a, r, e) } }, allowAmountTotalCalc(e, t, r) { var e = e.data("formid"); return m.getCache(e, "amountTotal") !== r ? (m.updateCache(e, "amountTotal", r), !0) : "radio" === (e = t.prop("type")) || "select-one" === e || "checkbox" === e }, updateOrderSummaryItems(e, t, r) { var a = e.find(".wpforms-order-summary-preview"); if (0 !== a.length) { let o = e.find(".wpforms-payment-price"); a.each(function() { let a = p(this) , e = ("" !== r && a.find(".wpforms-order-summary-preview-total .wpforms-order-summary-item-price").text(r), t => { let r = Math.min(t + 10, o.length); for (let e = t; e < r; e++) m.updateOrderSummaryItem(p(o[e]), a); r < o.length && setTimeout( () => e(r), 0) } ); e(0) }) } }, updateCache(e, t, r) { m.cache[e] = m.cache[e] || {}, m.cache[e][t] = r }, getCache(e, t) { return !(!Object.prototype.hasOwnProperty.call(m.cache, e) || !Object.prototype.hasOwnProperty.call(m.cache[e], t)) && m.cache[e][t] }, updateOrderSummaryItem(o, i) { if (o.hasClass("wpforms-payment-price")) { let t = o.closest(".wpforms-field") , e = t.data("field-id") , r = o.prop("type") , a = "block" === t.css("display"); var s, n; "checkbox" === r || "radio" === r || "select-one" === r ? i.find(`tr[data-field="${e}"]`).each(function() { var e = p(this).data("choice") , e = "select-one" === r ? e === parseInt(t.find("select").val(), 10) : t.find(`input[value="${e}"]`).is(":checked"); p(this).toggle(a && e) }) : (s = i.find(`tr[data-field="${e}"]`), n = o.val(), s.find(".wpforms-order-summary-item-price").text(m.amountFormatSymbol(m.amountSanitize(n))), s.toggle(a)), t.hasClass("wpforms-payment-quantities-enabled") ? m.updateOrderSummaryItemQuantity(o) : (m.updateSummaryPriceWidth(i), m.toggleSummaryPlaceholder(i)) } }, updateOrderSummaryItemQuantity(e) { let t = e.closest(".wpforms-field") , a = t.find("input.wpforms-payment-price, select.wpforms-payment-price") , r = e.closest(".wpforms-form") , o = t.data("field-id") , i = m.getPaymentFieldQuantity(a) , s = m.getPaymentFieldAmount(a) , n = a.prop("type"); r.find(".wpforms-order-summary-preview").each(function() { var e, t = p(this); let r; (r = "checkbox" === n || "radio" === n || "select-one" === n ? (e = a.val(), t.find(`tr[data-field="${o}"][data-choice="${e}"]`)) : t.find(`tr[data-field="${o}"]`)).toggle(0 < i), r.find(".wpforms-order-summary-item-quantity").text(i), r.find(".wpforms-order-summary-item-price").text(m.amountFormatSymbol(s * i)), m.updateSummaryPriceWidth(t), m.toggleSummaryPlaceholder(t) }) }, updateSummaryPriceWidth(e) { var t = Math.max(e.find(".wpforms-order-summary-preview-coupon-total .wpforms-order-summary-item-price").text().length, e.find(".wpforms-order-summary-preview-total .wpforms-order-summary-item-price").text().length + 3); e.find(".wpforms-order-summary-item-price").css("width", t + "ch") }, toggleSummaryPlaceholder(e) { var t = e.find(".wpforms-order-summary-placeholder"); let r = !0; e.find(".wpforms-order-summary-field").each(function() { if ("none" !== p(this).css("display")) return r = !1 }), t.toggle(r) }, amountTotalCalc(e) { let r = 0; p(".wpforms-payment-price", e).each(function() { var e, t = p(this); t.closest(".wpforms-field-payment-single").hasClass("wpforms-conditional-hide") || (e = m.getPaymentFieldAmount(t)) && (r = Number(r) + e * m.getPaymentFieldQuantity(t)) }); var t = p(s) , a = WPFormsUtils.triggerEvent(t, "wpformsAmountTotalCalculate", [e, r]); return r = void 0 !== a.result && 0 <= a.result ? a.result : r, WPFormsUtils.triggerEvent(t, "wpformsAmountTotalCalculated", [e, r]), r }, getPaymentFieldAmount(e) { var t = e.attr("type"); return "text" === t || "hidden" === t ? Number(m.amountSanitize(e.val())) : "radio" !== t && "checkbox" !== t || !e.is(":checked") ? e.is("select") && 0 < e.find("option:selected").length && e.find("option:selected").data("amount") ? Number(m.amountSanitize(e.find("option:selected").data("amount"))) : 0 : Number(m.amountSanitize(e.data("amount"))) }, getPaymentFieldQuantity(e) { e = e.attr("id"), e = p(`#${e}-quantity`); return e.length ? Number(e.val()) : 1 }, amountSanitize(e) { var t = m.getCurrency(); return e = e.toString().replace(t.symbol, "").replace(/[^0-9.,]/g, ""), "," === t.decimal_sep ? ("." === t.thousands_sep && -1 !== e.indexOf(t.thousands_sep) ? e = e.replace(new RegExp("\\" + t.thousands_sep,"g"), "") : "" === t.thousands_sep && -1 !== e.indexOf(".") && (e = e.replace(/\./g, "")), e = e.replace(t.decimal_sep, ".")) : "," === t.thousands_sep && -1 !== e.indexOf(t.thousands_sep) && (e = e.replace(new RegExp("\\" + t.thousands_sep,"g"), "")), m.numberFormat(e, t.decimals, ".", "") }, amountFormat(e) { var t, r = m.getCurrency(); return e = String(e), "," === r.decimal_sep && -1 !== e.indexOf(r.decimal_sep) && (t = e.indexOf(r.decimal_sep), e = e.substr(0, t) + "." + e.substr(t + 1, e.length - 1)), "," === r.thousands_sep && -1 !== e.indexOf(r.thousands_sep) && (e = e.replace(/,/g, "")), m.empty(e) && (e = 0), m.numberFormat(e, r.decimals, r.decimal_sep, r.thousands_sep) }, amountFormatSymbol(e) { var t = m.getCurrency() , e = m.amountFormat(e); return "left" === t.symbol_pos ? t.symbol + e : e + " " + t.symbol }, getCurrency() { var e = { code: "USD", thousands_sep: ",", decimals: 2, decimal_sep: ".", symbol: "$", symbol_pos: "left" }; return void 0 !== wpforms_settings.currency_code && (e.code = wpforms_settings.currency_code), void 0 !== wpforms_settings.currency_thousands && (e.thousands_sep = wpforms_settings.currency_thousands), void 0 !== wpforms_settings.currency_decimals && (e.decimals = wpforms_settings.currency_decimals), void 0 !== wpforms_settings.currency_decimal && (e.decimal_sep = wpforms_settings.currency_decimal), void 0 !== wpforms_settings.currency_symbol && (e.symbol = wpforms_settings.currency_symbol), void 0 !== wpforms_settings.currency_symbol_pos && (e.symbol_pos = wpforms_settings.currency_symbol_pos), e }, numberFormat(e, t, r, a) { e = (e + "").replace(/[^0-9+\-Ee.]/g, ""); var o, i, e = isFinite(+e) ? +e : 0, t = isFinite(+t) ? Math.abs(t) : 0, a = void 0 === a ? "," : a, r = void 0 === r ? "." : r, s = (t ? (s = e, o = t, i = Math.pow(10, o), "" + (Math.round(s * i) / i).toFixed(o)) : "" + Math.round(e)).split("."); return 3 < s[0].length && (s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, a)), (s[1] || "").length < t && (s[1] = s[1] || "", s[1] += new Array(t - s[1].length + 1).join("0")), s.join(r) }, empty(e) { var t; let r, a; var o = [void 0, null, !1, 0, "", "0"]; for (a = 0, t = o.length; a < t; a++) if (e === o[a]) return !0; if ("object" != typeof e) return !1; for (r in e) if (e.hasOwnProperty(r)) return !1; return !0 }, setUserIdentifier() { if ((!d.hasRequiredConsent && "undefined" != typeof wpforms_settings && wpforms_settings.uuid_cookie || d.hasRequiredConsent && d.hasRequiredConsent()) && !m.getCookie("_wpfuuid")) { var t = new Array(36) , r = "0123456789abcdef"; for (let e = 0; e < 36; e++) t[e] = r.substr(Math.floor(16 * Math.random()), 1); t[14] = "4", t[19] = r.substr(3 & t[19] | 8, 1), t[8] = t[13] = t[18] = t[23] = "-"; var e = t.join(""); m.createCookie("_wpfuuid", e, 3999) } }, createCookie(e, t, r) { let a = "" , o = ""; var i; wpforms_settings.is_ssl && (o = ";secure"), a = r ? -1 === r ? "" : ((i = new Date).setTime(i.getTime() + 24 * r * 60 * 60 * 1e3), ";expires=" + i.toGMTString()) : ";expires=Thu, 01 Jan 1970 00:00:01 GMT", s.cookie = e + "=" + t + a + ";path=/;samesite=strict" + o }, getCookie(e) { var r = e + "=" , a = s.cookie.split(";"); for (let t = 0; t < a.length; t++) { let e = a[t]; for (; " " === e.charAt(0); ) e = e.substring(1, e.length); if (0 === e.indexOf(r)) return e.substring(r.length, e.length) } return null }, removeCookie(e) { m.createCookie(e, "", -1) }, getFirstBrowserLanguage() { return console.warn('WARNING! Function "wpforms.getFirstBrowserLanguage()" has been deprecated, please use the new "WPFormsPhoneField.getFirstBrowserLanguage()" function instead!'), WPFormsPhoneField?.getFirstBrowserLanguage?.() }, mapLanguageToIso(e) { return console.warn('WARNING! Function "wpforms.mapLanguageToIso()" has been deprecated, please use the new "WPFormsPhoneField.mapLanguageToIso()" function instead!'), WPFormsPhoneField?.mapLanguageToIso?.(e) }, currentIpToCountry(e) { console.warn('WARNING! Function "wpforms.currentIpToCountry()" has been deprecated, please use the new "WPFormsPhoneField.currentIpToCountry()" function instead!'), WPFormsPhoneField?.currentIpToCountry?.(e) }, formSubmit(e) { e instanceof jQuery || (e = p(e)), m.saveTinyMCE(), WPFormsUtils.triggerEvent(e, "wpformsBeforeFormSubmit", [e]).isDefaultPrevented() ? m.restoreSubmitButton(e, e.closest(".wpforms-container")) : e.hasClass("wpforms-ajax-form") && "undefined" != typeof FormData ? m.formSubmitAjax(e) : m.formSubmitNormal(e) }, restoreSubmitButton(e, t) { var r = e.find(".wpforms-submit") , a = r.data("submit-text"); a && r.text(a), r.prop("disabled", !1), WPFormsUtils.triggerEvent(e, "wpformsFormSubmitButtonRestore", [e, r]), t.css("opacity", ""), e.find(".wpforms-submit-spinner").hide() }, formSubmitNormal(e) { var t, r; e.length && (r = (t = e.find(".wpforms-submit")).get(0).recaptchaID, m.empty(r) && 0 !== r || (t.get(0).recaptchaID = !1), e.append(''), e.append(''), e.get(0).submit()) }, formHasCaptcha(e) { return !(!e || !e.length || "undefined" == typeof hcaptcha && "undefined" == typeof grecaptcha && "undefined" == typeof turnstile) && (e = e.find(".wpforms-recaptcha-container"), Boolean(e.length)) }, resetFormRecaptcha(r) { if (m.formHasCaptcha(r)) { var a = r.find(".wpforms-recaptcha-container"); let e, t; e = a.hasClass("wpforms-is-hcaptcha") ? hcaptcha : a.hasClass("wpforms-is-turnstile") ? turnstile : grecaptcha, t = r.find(".wpforms-submit").get(0).recaptchaID, m.empty(t) && 0 !== t && (t = r.find(".g-recaptcha").data("recaptcha-id")), m.empty(t) && 0 !== t || e.reset(t) } }, consoleLogAjaxError(e) { e ? console.error("WPForms AJAX submit error:\n%s", e) : console.error("WPForms AJAX submit error") }, displayFormAjaxErrors(e, t) { "string" == typeof t ? m.displayFormAjaxGeneralErrors(e, t) : (t = t && "errors"in t ? t.errors : null, m.empty(t) || m.empty(t.general) && m.empty(t.field) ? m.consoleLogAjaxError() : (m.empty(t.general) || m.displayFormAjaxGeneralErrors(e, t.general), m.empty(t.field) || m.displayFormAjaxFieldErrors(e, t.field))) }, displayFormAjaxGeneralErrors(e, t) { var r, a; e && e.length && (m.empty(t) || (m.isModernMarkupEnabled() && e.attr({ "aria-invalid": "true", "aria-errormessage": "" }), "string" == typeof t ? (a = m.isModernMarkupEnabled() ? ' role="alert"' : "", r = m.isModernMarkupEnabled() ? `${wpforms_settings.formErrorMessagePrefix}` : "", e.find(".wpforms-submit-container").before(`
${r}${t}
`), m.setCurrentPage(e, {})) : (a = e.data("formid"), m.printGeneralErrors(e, t, a)))) }, printGeneralErrors(o, e, i) { p.each(e, function(e, t) { switch (e) { case "header": case "header_styled": o.prepend(t); break; case "footer": case "footer_styled": r = t, 0 === o.find(".wpforms-page-indicator").length ? o.find(".wpforms-submit-container").before(r) : o.find(".wpforms-page-1").append(r); break; case "recaptcha": r = t, o.find(".wpforms-recaptcha-container").append(r) } var r, a; m.isModernMarkupEnabled() && (a = o.attr("aria-errormessage") || "", o.attr("aria-errormessage", a + ` wpforms-${i}-${e}-error`)) }), o.find(".wpforms-error-container").length && m.animateScrollTop(o.find(".wpforms-error-container").first().offset().top - 100) }, clearFormAjaxGeneralErrors(e) { e.find(".wpforms-error-container").remove(), e.find("#wpforms-field_recaptcha-error").remove(), m.isModernMarkupEnabled() && e.attr({ "aria-invalid": "false", "aria-errormessage": "" }) }, displayFormAjaxFieldErrors(a, o) { var e; a && a.length && (m.empty(o) || (e = a.data("validator")) && (o = m.splitFieldErrors(o), p.each(o, function(e, t) { var r = p('[name="' + e + '"]', a); r.length ? r.attr("data-server-error", t) : delete o[e] }), e.showErrors(o), m.formHasCaptcha(a) || e.focusInvalid())) }, splitFieldErrors: i => (p.each(i, function(o, e) { "string" != typeof e && p.each(e, function(e, t) { var r = o.split("[").pop().replace("]", "") , a = o.replace("[" + r + "]", ""); r === e ? i[o] = t : "string" == typeof e && isNaN(e) && (i[a + "[" + e + "]"] = t) }) }), i), formSubmitAjax: a => { if (!a.length) return p.Deferred().reject(); let r = a.closest(".wpforms-container"), e = a.find(".wpforms-submit-spinner"), o; r.css("opacity", .6), e.show(), m.clearFormAjaxGeneralErrors(a); var t = new FormData(a.get(0)) , t = (t.append("action", "wpforms_submit"), t.append("start_timestamp", m.getStartTimestampData(a)), t.append("end_timestamp", m.getTimestampSec()), { type: "post", dataType: "json", url: wpforms_settings.ajaxurl, data: t, cache: !1, contentType: !1, processData: !1 }); return t.success = function(e) { var t; if (e) if (e.data && e.data.action_required) a.trigger("wpformsAjaxSubmitActionRequired", e); else if (e.success) { if (a.trigger("wpformsAjaxSubmitSuccess", e), e.data) return e.data.redirect_url ? (t = e.data.new_tab || !1, a.trigger("wpformsAjaxSubmitBeforeRedirect", e), t ? (d.open(e.data.redirect_url, "_blank"), void location.reload()) : void (d.location = e.data.redirect_url)) : void (e.data.confirmation && (r.html(e.data.confirmation), o = r.find("div.wpforms-confirmation-scroll"), r.trigger("wpformsAjaxSubmitSuccessConfirmation", e), o.length) && m.animateScrollTop(o.offset().top - 100)) } else m.resetFormRecaptcha(a), m.displayFormAjaxErrors(a, e.data), a.trigger("wpformsAjaxSubmitFailed", e), m.setCurrentPage(a, e.data); else m.consoleLogAjaxError() } , t.error = function(e, t, r) { m.consoleLogAjaxError(r), a.trigger("wpformsAjaxSubmitError", [e, t, r]) } , t.complete = function(e, t) { e.responseJSON && e.responseJSON.data && (e.responseJSON.data.action_required || "success" === t && e.responseJSON.data.redirect_url) || (m.restoreSubmitButton(a, r), a.trigger("wpformsAjaxSubmitCompleted", [e, t])) } , WPFormsUtils.triggerEvent(a, "wpformsAjaxBeforeSubmit", [a]).isDefaultPrevented() ? (m.restoreSubmitButton(a, r), p.Deferred().reject()) : p.ajax(t) } , setCurrentPage(a, o) { if (0 !== a.find(".wpforms-page-indicator").length) { let r = []; if (a.find(".wpforms-page").each(function(e, t) { if (1 <= p(t).find(".wpforms-has-error").length) return r.push(p(t)) }), 0 !== r.length || void 0 === o.errors || void 0 === o.errors.general || void 0 !== o.errors.general.footer || void 0 === o.errors.general.recaptcha) { var i = 0 < r.length ? r[0] : a.find(".wpforms-page-1"); let e, t = "prev"; 1 === i.data("page") || void 0 !== o.errors && void 0 !== o.errors.general.footer ? e = a.find(".wpforms-page-1").next() : (e = 0 !== i.next().length ? i.next() : i.prev(), t = 0 !== i.next().length ? "prev" : "next"); o = e.find(".wpforms-page-next"), i = e.data("page"); m.navigateToPage(o, t, i, a, p(".wpforms-page-" + i)) } } }, animateScrollTop(e, t, r) { return t = t || 1e3, r = "function" == typeof r ? r : function() {} , p("html, body").animate({ scrollTop: parseInt(e, 10) }, { duration: t, complete: r }).promise() }, saveTinyMCE() { "undefined" != typeof tinyMCE && tinyMCE.triggerSave() }, isFunction(e) { return !!(e && e.constructor && e.call && e.apply) }, compareTimesGreaterThan(e, t) { e = e.replace(/(am|pm)/g, " $1").toUpperCase(), t = t.replace(/(am|pm)/g, " $1").toUpperCase(); e = Date.parse("01 Jan 2021 " + e); return Date.parse("01 Jan 2021 " + t) <= e }, isModernMarkupEnabled() { return !!wpforms_settings.isModernMarkupEnabled }, initTokenUpdater() { p(".wpforms-form").on("focusin", function(e) { var t = p(e.target.closest("form")) , r = Date.now(); this.needsTokenUpdate(r, t) && this.updateToken(r, t, e) } .bind(this)) }, needsTokenUpdate(e, t) { return e - 1e3 * (t.attr("data-token-time") || 0) >= 1e3 * wpforms_settings.token_cache_lifetime && !this.isUpdatingToken }, updateToken(t, r, a) { var e = r.data("formid"); let o = r.find(".wpforms-submit"); this.isUpdatingToken = !0, o.prop("disabled", !0), p.post(wpforms_settings.ajaxurl, { action: "wpforms_get_token", formId: e }).done(function(e) { e.success ? (r.attr("data-token-time", t), r.attr("data-token", e.data.token), o.prop("disabled", !1), a.target === o[0] && o.trigger("click")) : console.error("Failed to update token: ", e) }).fail(function(e, t, r) { console.error("AJAX request failed: ", t, r) }).always(function() { this.isUpdatingToken = !1, o.prop("disabled", !1) } .bind(this)) }, restoreSubmitButtonOnEventPersisted() { d.onpageshow = function(e) { e.persisted && p(".wpforms-form").each(function() { var e = p(this); m.restoreSubmitButton(e, e.closest(".wpforms-container")) }) } }, loadValidationGroups(e) { var t = e.closest(".wpforms-form").data("validator"); t && p.extend(t.groups, m.getDateTimeValidationGroups(e)) }, getDateTimeValidationGroups(e) { let a = {}; return e.find(".wpforms-field.wpforms-field-date-time").each(function() { var e = p(this); if (e.find(".wpforms-field-date-dropdown-wrap").length) { let r = e.attr("id").replace("-container", ""); p.each(["month", "day", "year"], function(e, t) { t = p(`#${r}-` + t).attr("name"); a[t] = r }) } }), a }, getTimestampSec() { return Math.floor(Date.now() / 1e3) }, lockField(e) { var t = e.data("field-type"); (wpforms_settings.readOnlyDisallowedFields ?? []).includes(t) || (e.addClass(a).find("input, textarea, select:not(.wpforms-field-select-style-modern)").prop("readonly", !0).attr("tabindex", "-1"), e.hasClass("wpforms-field-select-style-modern") ? e.find("select").data("choicesjs")?.disable() : e.hasClass("wpforms-field-richtext") && d.WPFormsRichTextField?.lockField(e)) }, unlockField(e) { e.removeClass(a).find("input, textarea, select:not(.wpforms-field-select-style-modern)").prop("readonly", !1).attr("tabindex", null), e.hasClass("wpforms-field-select-style-modern") ? e.find("select").data("choicesjs")?.enable() : e.hasClass("wpforms-field-richtext") && d.WPFormsRichTextField?.unlockField(e) }, readOnlyFieldsInit() { p(".wpforms-field." + a).each(function() { m.lockField(p(this)) }) }, field: { lock(e, t) { m.lockField(p(`#wpforms-${e}-field_${t}-container`)) }, unlock(e, t) { m.unlockField(p(`#wpforms-${e}-field_${t}-container`)) }, toggle(e, t, r="auto") { e = p(`#wpforms-${e}-field_${t}-container`), t = e.hasClass(a); ("auto" === r ? !t : r) ? m.lockField(e) : m.unlockField(e) }, isLocked(e, t) { return p(`#wpforms-${e}-field_${t}-container`).hasClass(a) }, lockAll(e) { p(`#wpforms-${e} .wpforms-field`).each(function() { m.lockField(p(this)) }) }, unlockAll(e) { p("#wpforms-" + e).find(".wpforms-field").each(function() { m.unlockField(p(this)) }) } } }; return m } )(document, window, jQuery); wpforms.init();