$.validator.validateSingleElement=function(a,t){var i,n,o={},r=!0,s={errorElement:"label",ignore:".ignore-validate",hideError:!1};return $.extend(s,t),!(a=$(a).not(s.ignore)).length||(t=a.get(0).form,(i=t?$(t).data("validator"):null)?i.element(a.get(0)):(t=a.prop("class").split(" "),i=a.parent().data("validator")||$.mage.validation(s,a.parent()).validate,a.removeClass(i.settings.errorClass),i.toHide=i.toShow,i.hideErrors(),i.toShow=i.toHide=$([]),$.each(t,$.proxy(function(t,e){if(n=a.val(),(a.is(":checkbox")||a.is(":radio"))&&(n=a.is(":checked")||null),this.methods[e]&&!this.methods[e](n,a.get(0)))return r=!1,o[a.get(0).name]=this.messages[e],i.invalid[a.get(0).name]=!0,s.hideError||i.showErrors(o),r},this)),r))},$.widget("missy.formValidate",{options:{dataAttribute:"data-validate"},formRules:{},isAddedCustomToken:!1,_create:function(){this.$validateInputs=this.element.find("["+this.options.dataAttribute+"]"),this._initCustomMessage()._initValidate()},_initCustomMessage:function(){return $.validator.messages.email="Please enter a valid email address (Ex: johndoe@domain.com).",$.validator.messages.equalTo="Please enter the same value again.",this},_initValidate:function(){this.$validateInputs.length&&(this._getValidateAttribute(),this.element.validate({rules:this.formRules,errorElement:"div",errorClass:"mage-error"}),this.element.on("submit",function(t){$(this).valid()||(t.preventDefault(),t.stopImmediatePropagation())}))},_getValidateAttribute:function(){var a=this;$.each(this.$validateInputs,function(){var t=$(this),e=t.attr(a.options.dataAttribute);a.formRules[t.attr("name")]=JSON.parse(e.replace(/'/g,'"'))})},_initCustomRecaptchaAddToken:function(){var i=this;this.element.focusin(function(){i.isAddedCustomToken||"function"!=typeof window.Shopify.recaptchaV3?.addToken||(window.Shopify.recaptchaV3.addToken=function(a,t){var e;grecaptcha&&(e=window.Shopify.recaptchaV3.siteKey,grecaptcha.execute(e,{action:t}).then(function(t){var e=a.querySelector("input[name=recaptcha-v3-token]");e instanceof HTMLElement?e.setAttribute("value",t):((e=document.createElement("input")).setAttribute("name","recaptcha-v3-token"),e.setAttribute("type","hidden"),e.setAttribute("value",t),a.appendChild(e,a)),$(a).valid()&&a.submit()}),i.isAddedCustomToken=!0)})})}}),$(document).ready(function(){$(".js-form-validate").formValidate()});