document.addEventListener('DOMContentLoaded', function () { const contactForm = document.getElementById('contactForm'); if (contactForm) { contactForm.addEventListener('submit', function (e) { e.preventDefault(); const name = document.getElementById('name').value; const email = document.getElementById('email').value; const message = document.getElementById('message').value; const alertDiv = document.getElementById('form-messages'); if (name === '' || email === '' || message === '') { showAlert('Please fill out all fields.', 'danger'); return; } if (!validateEmail(email)) { showAlert('Please enter a valid email address.', 'danger'); return; } const formData = new FormData(contactForm); fetch('contact.php', { method: 'POST', body: formData }) .then(response => response.json()) .then(data => { if (data.success) { showAlert(data.message, 'success'); contactForm.reset(); } else { showAlert(data.message, 'danger'); } }) .catch(error => { showAlert('An error occurred. Please try again later.', 'danger'); }); }); } function showAlert(message, type) { const alertDiv = document.getElementById('form-messages'); alertDiv.innerHTML = `
${message}
`; } function validateEmail(email) { const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(String(email).toLowerCase()); } });