function submitContactForm() { var contactForm = document.getElementById("contactForm"); if (contactFormIsValid(contactForm)) { document.getElementById('contactButton').disabled = 'true'; contactForm.submit(); } } function contactFormIsValid(contactForm) { resetContactFormErrors(contactForm); var result = validEmail(contactForm.emailAddress); if (!contactForm.subject.value) { displayError('subject', "Veuillez sélectionner votre sujet de conversation."); result = false; } if (contactForm.fullName.value.trim() == '') { displayError('fullName', "veuillez entrer un nom"); result = false; } if (!validatePhoneNumber(contactForm.customerTelephone.value)){ result = false; } if (!validateOrderNumber(contactForm.orderNumber.value, contactForm.subject.value)){ result = false; } if (contactForm.enquiry.value.trim() == '') { displayError('enquiry', "Veuillez écrire votre demande/message") result = false; } if (!grecaptcha.getResponse()) { displayError('recaptcha', "Veuillez prouver que vous n'êtes pas un robot") result = false; } return result; } function resetContactFormErrors(contactForm) { var errors = Array.from(contactForm.getElementsByTagName('small')) var inputs = Array.from(contactForm.getElementsByTagName('Input')) var textareas = Array.from(contactForm.getElementsByTagName('textarea')) var selects = Array.from(contactForm.getElementsByTagName('Select')) // Remove all errors errors.forEach(error => error.remove()) // Clear input error styling inputs.forEach(input => input.style.background = 'white') // Clear textarea error styling textareas.forEach(textarea => textarea.style.background = 'white') // Clear selects error styling selects.forEach(select => select.style.background = 'white') } function reCaptchaOnload() { grecaptcha.render('recaptcha', { 'sitekey' : '6LdY7IMfAAAAALGY67dMrNl_mVU6u4khLtIzYD4t', 'size' : 'compact', 'tabindex' : '6', 'expired-callback' : 'reCaptchaExpire' }); } function clearReCaptchaErrors() { var recaptchaContainer = document.getElementById("googleCaptchaContainer") var errors = Array.from(recaptchaContainer.getElementsByClassName("errorText")) errors.forEach(error => error.remove()) } function reCaptchaExpire() { clearReCaptchaErrors(); } function checkOrderNumberMandatory(){ var orderNumberLabel = document.getElementById("orderNumberLabel"); var currentText = orderNumberLabel.innerText; if (document.getElementById("contactForm").subject.value == 6){ var newText = `*${currentText}`; } else if(currentText[0] == "*"){ var newText = currentText.substring(1); } if (newText){ orderNumberLabel.innerText = newText; } } function validateOrderNumber(orderNumber, emailSubjectId){ var orderNumberValid = true; //Order Number is mandatory if the subject is 'Existing Order' if(emailSubjectId == 6 && orderNumber.trim() == ''){ var errorMessage = "Numéro de commande requis" } else if(orderNumber != '' && (!$.isNumeric(orderNumber) || orderNumber.includes(" ") || orderNumber.includes(".") || orderNumber.includes("-") || orderNumber.includes("+"))){ var errorMessage = "le numéro de commande contient uniquement des chiffres" } if (errorMessage){ displayError('orderNumber', errorMessage); orderNumberValid = false; } return orderNumberValid; }