(function(){"use strict";window.kadenceForm={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-form-has-error")||c.classList.add("kb-form-has-error"),a.classList.add("has-error"),b){"required"===b?(d=a.getAttribute("data-required-message"),d&&""!==d&&void 0!==d||(d=a.getAttribute("data-label"),(!d||""===d||void 0===d)&&(d=kadence_blocks_form_params.item),d=d+" "+kadence_blocks_form_params[b])):"mismatch"===b?(d=a.getAttribute("data-mismatch-message"),d&&""!==d&&void 0!==d||(d=a.getAttribute("data-label"),(!d||""===d||void 0===d)&&(d=kadence_blocks_form_params.item),d=d+" "+kadence_blocks_form_params[b])):"validation"===b?(d=a.getAttribute("data-validation-message"),d&&""!==d&&void 0!==d||(d=a.getAttribute("data-label"),(!d||""===d||void 0===d)&&(d=kadence_blocks_form_params.item),d=d+" "+kadence_blocks_form_params[b])):void 0;const c=a.parentNode.querySelector(".kb-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-form-error-msg"),f.classList.add("kadence-blocks-form-warning"),f.setAttribute("role","alert"),f.innerHTML=window.kadenceForm.strip_tags(d,"<div><a><b><i><u><p><ol><ul>"),a.classList.contains("kb-checkbox-style")?a.parentNode.append(f):window.kadenceForm.insertAfter(f,a)}1===window.kadenceForm.error_item&&a.focus(),window.kadenceForm.error_item++},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:""})},addErrorNotice(a){let b=a.getAttribute("data-error-message");b&&""!==b&&void 0!==b||(b=kadence_blocks_form_params.error_message);const c=document.createElement("div");c.classList.add("kadence-blocks-form-message"),c.classList.add("kadence-blocks-form-warning"),c.innerHTML=window.kadenceForm.strip_tags(b,"<div><a><b><i><u><p><ol><ul>"),window.kadenceForm.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-form-has-error")&&a.classList.remove("kb-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-form-error-msg");a&&a.remove()}const d=document.querySelectorAll(".kadence-blocks-form-message");if(d.length)for(var c=0;c<d.length;c++)d[c].remove();const e=a.querySelectorAll(".kb-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.kadenceForm.removeErrors(a);const d=a.querySelectorAll("[data-required=\"yes\"]");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.kadenceForm.markError(d[h],c,a));break;case"tel":f=d[h].value.trim(),""===f&&(b=!0,c="required",window.kadenceForm.markError(d[h],c,a));break;case"accept":!1==d[h].checked&&(b=!0,c="required",console.log("here"),window.kadenceForm.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.kadenceForm.markError(d[h],c,a)):(!f||"-1"===f)&&(b=!0,c="required",window.kadenceForm.markError(d[h],c,a));break;case"radio":var g=d[h].querySelector("input:checked");g||(b=!0,c="required",window.kadenceForm.markError(d[h],c,a));break;case"checkbox":var g=d[h].querySelector("input:checked");g||(b=!0,c="required",window.kadenceForm.markError(d[h],c,a));break;case"email":var f=d[h].value.trim();""===f?""===f&&(b=!0,c="required",window.kadenceForm.markError(d[h],c,a)):!window.kadenceForm.isValidEmail(f)&&(b=!0,c="validation",window.kadenceForm.markError(d[h],c,a));break;case"url":var f=d[h].value.trim();""===f?""===f&&(b=!0,c="required",window.kadenceForm.markError(d[h],c,a)):!window.kadenceForm.isValidURL(f)&&(b=!0,c="validation",window.kadenceForm.markError(d[h],c,a))}}if(b)return window.kadenceForm.addErrorNotice(a),!1;let h=new FormData(a);return h.set("_kb_form_verify",kadence_blocks_form_params.nonce),h=new URLSearchParams(h),h},createElementFromHTML(a){const b=document.createElement("div");return b.innerHTML=window.kadenceForm.strip_tags(a,"<div><a><b><i><u><p><ol><ul>"),b.firstChild},submit(a,b){a.preventDefault();const c=new Event("kb-form-start-submit");window.document.body.dispatchEvent(c);const d=b.querySelector(".kb-forms-submit"),e=window.kadenceForm.validateForm(b);if(e){const a=document.createElement("div");let c=!1;a.classList.add("kb-form-loading"),a.innerHTML="<div class=\"kb-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");const f=new XMLHttpRequest;f.open("POST",kadence_blocks_form_params.ajaxurl,!0),f.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),f.onload=function(){if(200<=this.status&&400>this.status){const a=JSON.parse(this.response);if(a.success){const d=new CustomEvent("kb-form-success",{detail:b.querySelector("input[name=\"_kb_form_id\"]")?b.querySelector("input[name=\"_kb_form_id\"]").value:""});window.document.body.dispatchEvent(d),a.redirect?(c=!0,window.location=a.redirect):(window.kadenceForm.insertAfter(window.kadenceForm.createElementFromHTML(a.html),b),b.querySelector(".g-recaptcha")&&grecaptcha.reset(),window.kadenceForm.clearForm(b))}else a.data&&(window.kadenceForm.insertAfter(window.kadenceForm.createElementFromHTML(a.data.html),b),a.data.required&&b.querySelector("[name=\""+a.data.required+"\"]")&&window.kadenceForm.markError(b.querySelector("[name=\""+a.data.required+"\"]"),"required",b))}b.querySelector(".g-recaptcha")&&grecaptcha.reset(),c||(d.removeAttribute("disabled"),d.classList.remove("button-primary-disabled")),b.querySelector(".kb-form-loading").remove()},f.onerror=function(){console.log("Connection error")},f.send(e.toString())}},checkParentClass(a,b){return!!a?.className&&(0<=a.className.split(" ").indexOf(b)?a.id:a.parentNode&&window.kadenceForm.checkParentClass(a.parentNode,b))},verifySource(a){const b=a.querySelector("input[name=\"_kb_form_post_id\"]");if(b&&(!b.value||"block-unknown"===b.value||"0"===b.value)){const c=window.kadenceForm.checkParentClass(a.parentNode,"widget_block");c&&(b.value=c)}},initForms(){const a=document.querySelectorAll("form.kb-form");if(a.length){const b=function(a){return function(b){window.kadenceForm.submit(b,a)}};for(let c=0;c<a.length;c++)window.kadenceForm.verifySource(a[c]),a[c].addEventListener("submit",b(a[c]))}},init(){return"undefined"!=typeof kadence_blocks_form_params&&void window.kadenceForm.initForms()}},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",window.kadenceForm.init):window.kadenceForm.init()})();