(function () {
window.apacsCaptchaFixLoaded = true;
if (window.location.pathname.indexOf('/contact-us') !== 0) return;
function preparePhonePattern(form) {
var tel = form.querySelector('input[type="tel"][pattern]');
if (tel) {
tel.removeAttribute('pattern');
tel.removeAttribute('title');
}
}
function runElementorSubmit(form) {
form.setAttribute('data-apacs-recaptcha-token-ready', '1');
preparePhonePattern(form);
if (window.jQuery) {
window.jQuery(form).trigger('submit');
} else if (form.requestSubmit) {
form.requestSubmit();
} else {
form.submit();
}
setTimeout(function () {
form.removeAttribute('data-apacs-recaptcha-token-ready');
}, 2500);
}
function submitWithRecaptcha(form) {
var widget = form.querySelector('.elementor-g-recaptcha[data-type="v3"]');
var response = form.querySelector('textarea[name="g-recaptcha-response"]');
if (!widget || !response || !window.grecaptcha || !grecaptcha.execute) return false;
grecaptcha.ready(function () {
grecaptcha.execute(widget.getAttribute('data-sitekey'), {
action: widget.getAttribute('data-action') || 'Form'
}).then(function (token) {
response.value = token;
response.dispatchEvent(new Event('input', { bubbles: true }));
response.dispatchEvent(new Event('change', { bubbles: true }));
runElementorSubmit(form);
});
});
return true;
}
function intercept(form, event) {
if (!form || !form.matches || !form.matches('form.elementor-form')) return;
preparePhonePattern(form);
if (form.getAttribute('data-apacs-recaptcha-token-ready') === '1') return;
if (!form.querySelector('.elementor-g-recaptcha[data-type="v3"]')) return;
if (submitWithRecaptcha(form)) {
event.preventDefault();
event.stopImmediatePropagation();
}
}
document.addEventListener('click', function (event) {
var button = event.target && event.target.closest ? event.target.closest('form.elementor-form button[type="submit"]') : null;
if (button) intercept(button.closest('form.elementor-form'), event);
}, true);
document.addEventListener('submit', function (event) {
intercept(event.target, event);
}, true);
})();