(function () { 'use strict'; var form = document.querySelector('[data-support-form]'); if (!form || !window.fetch || !window.FormData) return; var button = form.querySelector('button[type="submit"]'); var status = form.querySelector('[data-support-status]'); var pending = false; var sent = false; button.disabled = false; form.addEventListener('submit', function (event) { event.preventDefault(); if (pending || sent || !form.reportValidity()) return; pending = true; button.disabled = true; form.setAttribute('aria-busy', 'true'); status.hidden = false; status.className = 'mt-3 mb-0 text-secondary'; status.textContent = 'Invio del messaggio in corso...'; fetch(form.getAttribute('action') || '/it', { method: 'POST', body: new FormData(form), credentials: 'same-origin' }) .then(function (response) { return response.json().catch(function () { throw new Error('Richiesta non completata. Ricarica la pagina e riprova.'); }); }) .then(function (payload) { if (!payload.success) throw new Error(payload.message || 'Invio non riuscito. Riprova tra poco.'); sent = true; form.querySelector('fieldset').disabled = true; status.className = 'mt-3 mb-0 text-success'; status.textContent = payload.message; status.focus(); }) .catch(function (error) { status.className = 'mt-3 mb-0 text-danger'; status.textContent = error.message || 'Invio non riuscito. Riprova tra poco.'; status.focus(); }) .then(function () { pending = false; button.disabled = sent; form.removeAttribute('aria-busy'); }); }); document.querySelectorAll('.kalia-support-topic').forEach(function (link) { link.addEventListener('click', function () { var detail = document.querySelector(link.getAttribute('href')); if (detail) detail.open = true; }); }); })();