(function(){"use strict";window.kadenceAdvancedForm={error_item:1,clearForm(a){a.reset()},insertAfter(a,b){b.parentNode.insertBefore(a,b.nextSibling)},markError(a,b,c){let d="";if(c.classList.contains("kb-adv-form-has-error")||c.classList.add("kb-adv-form-has-error"),a.classList.add("has-error"),b){switch(b){case"required":const c=a.getAttribute("data-kb-required-message");if(c&&""!==c){d=c;break}d=a.getAttribute("data-required-message"),d&&""!==d&&void 0!==d||(d=a.getAttribute("data-label"),(!d||""===d||void 0===d)&&(d=kb_adv_form_params.item),d=d+" "+kb_adv_form_params[b]);break;case"mismatch":d=a.getAttribute("data-mismatch-message"),d&&""!==d&&void 0!==d||(d=a.getAttribute("data-label"),(!d||""===d||void 0===d)&&(d=kb_adv_form_params.item),d=d+" "+kb_adv_form_params[b]);break;case"validation":d=a.getAttribute("data-validation-message"),d&&""!==d&&void 0!==d||(d=a.getAttribute("data-label"),(!d||""===d||void 0===d)&&(d=kb_adv_form_params.item),d=d+" "+kb_adv_form_params[b])}const c=a.parentNode.querySelector(".kb-adv-form-error-msg");c&&c.remove();const e=a.getAttribute("name")+"-error";a.setAttribute("aria-describedby",e),a.setAttribute("aria-invalid","true");const f=document.createElement("div");f.id=e,f.classList.add("kb-adv-form-error-msg"),f.classList.add("kb-adv-form-message"),f.classList.add("kb-adv-form-warning"),f.setAttribute("role","alert"),f.innerHTML=window.kadenceAdvancedForm.strip_tags(d,"<div><a><b><i><u><p><ol><ul>"),a.classList.contains("kb-accept-field")?a.parentNode.parentNode.append(f):a.classList.contains("kb-checkbox-field")||a.classList.contains("kb-radio-field")?a.parentNode.append(f):window.kadenceAdvancedForm.insertAfter(f,a)}1===window.kadenceAdvancedForm.error_item&&a.focus(),window.kadenceAdvancedForm.error_item++},addErrorNotice(a){let b=a.getAttribute("data-error-message");b&&""!==b&&void 0!==b||(b=kb_adv_form_params.error_message);const c=document.createElement("div");c.classList.add("kb-adv-form-message"),c.classList.add("kb-adv-form-warning"),c.innerHTML=window.kadenceAdvancedForm.strip_tags(b,"<div><a><b><i><u><p><ol><ul>"),window.kadenceAdvancedForm.insertAfter(c,a)},isValidEmail(a){const b=new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);return b.test(a)},isValidURL(a){return /^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.|http:\/\/|https:\/\/){1}([0-9A-Za-z]+.)/.test(a)},isValidTel(a){return /\/^[+]?[(]?[0-9]{3}[)]?[-s.]?[0-9]{3}[-s.]?[0-9]{4,6}$\/im/.test(a)},removeErrors(a){a.classList.contains("kb-adv-form-has-error")&&a.classList.remove("kb-adv-form-has-error");const b=a.querySelectorAll(".has-error");if(b.length)for(var c=0;c<b.length;c++){b[c].classList.remove("has-error"),b[c].removeAttribute("aria-describedby"),b[c].removeAttribute("aria-invalid");const a=b[c].parentNode.querySelector(".kb-adv-form-error-msg");a&&a.remove()}const d=document.querySelectorAll(".kb-adv-form-message");if(d.length)for(var c=0;c<d.length;c++)d[c].remove();const e=a.querySelectorAll(".kb-adv-form-errors");if(e.length)for(var c=0;c<e.length;c++)e[c].remove()},serialize(a){const b={};for(const[c,d]of a)void 0===b[c]?b[c]=d:(Array.isArray(b[c])||(b[c]=[b[c]]),b[c].push(d));return b},validateForm(a){let b=!1,c="";window.kadenceAdvancedForm.removeErrors(a);const d=a.querySelectorAll("[data-required=\"yes\"]:not([disabled])");if(d.length)for(let h=0;h<d.length;h++){var e=d[h].getAttribute("data-type"),f="";switch(e){case"textarea":case"text":f=d[h].value.trim(),""===f&&(b=!0,c="required",window.kadenceAdvancedForm.markError(d[h],c,a));break;case"tel":f=d[h].value.trim(),""!==f||""===f&&(b=!0,c="required",window.kadenceAdvancedForm.markError(d[h],c,a));break;case"accept":!1==d[h].checked&&(b=!0,c="required",window.kadenceAdvancedForm.markError(d[h],c,a));break;case"select":f=d[h].value,d[h].multiple?(null===f||0===f.length)&&(b=!0,c="required",window.kadenceAdvancedForm.markError(d[h],c,a)):(!f||"-1"===f)&&(b=!0,c="required",window.kadenceAdvancedForm.markError(d[h],c,a));break;case"radio":var g=d[h].querySelector("input:checked");g||(b=!0,c="required",window.kadenceAdvancedForm.markError(d[h],c,a));break;case"checkbox":var g=d[h].querySelector("input:checked");g||(b=!0,c="required",window.kadenceAdvancedForm.markError(d[h],c,a));break;case"email":var f=d[h].value.trim();""===f?""===f&&(b=!0,c="required",window.kadenceAdvancedForm.markError(d[h],c,a)):!window.kadenceAdvancedForm.isValidEmail(f)&&(b=!0,c="validation",window.kadenceAdvancedForm.markError(d[h],c,a));break;case"url":var f=d[h].value.trim();""===f?""===f&&(b=!0,c="required",window.kadenceAdvancedForm.markError(d[h],c,a)):!window.kadenceAdvancedForm.isValidURL(f)&&(b=!0,c="validation",window.kadenceAdvancedForm.markError(d[h],c,a));break;case"file":f=d[h].value.trim(),""===f&&(b=!0,c="required",window.kadenceAdvancedForm.markError(d[h],c,a));break;case"number":f=d[h].value.trim(),""===f&&(b=!0,c="required",window.kadenceAdvancedForm.markError(d[h],c,a))}}if(b)return window.kadenceAdvancedForm.addErrorNotice(a),!1;const h=new FormData(a);return h.set("_kb_form_verify",kb_adv_form_params.nonce),h},strip_tags(a,b){b=(((b||"")+"").toLowerCase().match(/<[a-z][a-z0-9]*>/g)||[]).join("");return a.replace(/<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi,"").replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,function(a,c){return-1<b.indexOf("<"+c.toLowerCase()+">")?a:""})},createElementFromHTML(a){const b=document.createElement("div");return b.innerHTML=window.kadenceAdvancedForm.strip_tags(a,"<div><a><b><i><u><p><ol><ul><li>"),b.firstChild},submit(a,b){a.preventDefault();const c=new Event("kb-adv-form-start-submit");window.document.body.dispatchEvent(c);const d=b.querySelector(".kb-adv-form-submit-button"),e=window.kadenceAdvancedForm.validateForm(b);if(e){const a=document.createElement("div");a.classList.add("kb-adv-form-loading"),a.innerHTML="<div class=\"kb-adv-form-loading-spin\"><div></div><div></div><div></div><div></div></div>",b.append(a),d.setAttribute("disabled","disabled"),d.classList.add("button-primary-disabled");fetch(kb_adv_form_params.ajaxurl,{method:"POST",body:e}).then(a=>{if(b.querySelector(".g-recaptcha")&&grecaptcha.reset(),d.removeAttribute("disabled"),d.classList.remove("button-primary-disabled"),b.querySelector(".kb-adv-form-loading").remove(),200<=a.status&&400>a.status)return a.json()}).then(a=>{const c=a;if(c.success){const a=c?.submissionResults,d=new CustomEvent("kb-advanced-form-success",{detail:{uniqueId:b.querySelector("input[name=\"_kb_adv_form_id\"]")?b.querySelector("input[name=\"_kb_adv_form_id\"]").value:"",submissionResults:a}});window.document.body.dispatchEvent(d),window.kadenceAdvancedForm.event("submitted",b),c.redirect?window.location.replace(c.redirect):(window.kadenceAdvancedForm.insertAfter(window.kadenceAdvancedForm.createElementFromHTML(c.html),b),window.kadenceAdvancedForm.clearForm(b),c?.hide&&b.remove())}else c.data&&(window.kadenceAdvancedForm.event("failed",b),window.kadenceAdvancedForm.insertAfter(window.kadenceAdvancedForm.createElementFromHTML(c.data.html),b),c.data.required&&b.querySelector("[name=\""+c.data.required+"\"]")&&window.kadenceAdvancedForm.markError(b.querySelector("[name=\""+c.data.required+"\"]"),"required",b))}).catch(function(){console.log("Connection error")})}},event(a,b){if("yes"===b.getAttribute("data-kb-events")){const c=new FormData;c.set("action","kadence_adv_form_event"),c.set("type",a),c.set("_kb_form_verify",kb_adv_form_params.nonce),c.set("_kb_adv_form_post_id",b.querySelector("input[name=\"_kb_adv_form_post_id\"]").value);fetch(kb_adv_form_params.ajaxurl,{method:"POST",body:c}).then(a=>{if(200<=a.status&&400>a.status)return a.json()}).then(()=>{}).catch(function(){console.log("Connection error")})}},initForms(){const a=document.querySelectorAll("form.kb-advanced-form");if(!a.length)return;const b=function(a){return function(){window.kadenceAdvancedForm.event("started",a)}},c=function(a){return function(b){window.kadenceAdvancedForm.submit(b,a)}};for(let d=0;d<a.length;d++)window.kadenceAdvancedForm.event("viewed",a[d]),a[d].addEventListener("change",b(a[d]),{once:!0}),a[d].addEventListener("submit",c(a[d]))},initFloatingLabels(){const a=document.querySelectorAll(".kb-adv-form-label-style-float .kb-adv-form-text-type-input input, .kb-adv-form-label-style-float .kb-adv-form-text-type-input textarea");if(!a.length)return;const b=function(a){return function(){a.parentNode.classList.add("kb-form-field-focus")}},c=function(a){return function(){a.value||a.parentNode.classList.remove("kb-form-field-focus")}};for(let d=0;d<a.length;d++)a[d].value&&a[d].parentNode.classList.add("kb-form-field-focus"),a[d].addEventListener("focus",b(a[d])),a[d].addEventListener("blur",c(a[d]))},init(){return"undefined"!=typeof kb_adv_form_params&&void(window.kadenceAdvancedForm.initForms(),window.kadenceAdvancedForm.initFloatingLabels())}},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",window.kadenceAdvancedForm.init):window.kadenceAdvancedForm.init()})();