document.addEventListener("DOMContentLoaded", function () { const campaignId = new URLSearchParams(window.location.search).get("campaignid"); if (!campaignId) return; let attempts = 0; const maxAttempts = 20; // 20 x 500ms = 10s const injectCampaignId = setInterval(() => { const valueInput = document.querySelector("#regardingobjectid"); const nameInput = document.querySelector("#regardingobjectid_name"); const entityInput = document.querySelector("#regardingobjectid_entityname"); if (valueInput && nameInput && entityInput) { valueInput.value = campaignId; entityInput.value = "campaign"; nameInput.value = "Campagne sélectionnée automatiquement"; // 🔒 Masque les blocs control + info du champ lookup const nameField = $("#regardingobjectid_name"); if (nameField.length > 0 && nameField.closest("tr").length > 0) { nameField.closest("tr").hide(); } else { console.warn("Impossible de cacher #regardingobjectid_name : élément introuvable."); } console.log("regardingobjectid injecté et masqué"); clearInterval(injectCampaignId); } else { attempts++; if (attempts > maxAttempts) { console.warn("Champ regardingobjectid non trouvé après 10s"); clearInterval(injectCampaignId); } } }, 0); const input = document.getElementById("stra_numberofpersons"); const validator = document.getElementById("RangeValidatorstra_numberofpersons"); const submitBtn = document.querySelector("input[type='submit'], button[type='submit']"); if (input) { input.setAttribute("type", "number"); input.setAttribute("min", "1"); input.setAttribute("max", "2"); input.setAttribute("step", "1"); console.log("champ input transformé en number"); const checkValue = () => { const value = parseInt(input.value, 10); if (!isNaN(value) && (value < 1 || value > 2)) { if (validator) { validator.style.visibility = "visible"; validator.style.color = "red"; validator.innerText = "De waarde dient kleiner te zijn dan of gelijk te zijn aan 2."; } return false; } else { if (validator) { validator.style.visibility = "hidden"; validator.innerText = "*"; } return true; } }; input.addEventListener("input", checkValue); if (submitBtn) { submitBtn.addEventListener("click", function (e) { if (!checkValue()) { e.preventDefault(); e.stopPropagation(); } }); } } // Validation du champ téléphone const phoneInput = document.getElementById("telephone"); if (phoneInput) { phoneInput.addEventListener("blur", function () { let value = phoneInput.value.trim(); let error = ""; // Remplace 00 par + if (value.startsWith("00")) { value = "+" + value.slice(2); } // Si pas de +, assume BE let country = ""; if (!value.startsWith("+")) { country = "BE"; } try { const phoneUtil = libphonenumber.PhoneNumberUtil.getInstance(); const number = phoneUtil.parseAndKeepRawInput(value, country || undefined); if (phoneUtil.isValidNumber(number)) { const formatted = phoneUtil.format(number, libphonenumber.PhoneNumberFormat.INTERNATIONAL); phoneInput.value = formatted; phoneInput.setCustomValidity(""); // ✅ Valide } else { error = "Ongeldig nummer"; phoneInput.setCustomValidity(error); } } catch (e) { error = "Ongeldig nummer"; phoneInput.setCustomValidity(error); } if (error) { phoneInput.reportValidity(); // ⛔ Affiche l’erreur HTML5 } }); } });