/** * Media Inquiry Form Handler */ const form = document.getElementById('media-inquiry-form'); const submitButton = document.getElementById('submit-button'); const successMessage = document.getElementById('success-message'); const errorMessage = document.getElementById('error-message'); form.addEventListener('submit', async (e) => { e.preventDefault(); // Hide previous messages successMessage.style.display = 'none'; errorMessage.style.display = 'none'; // Disable submit button submitButton.disabled = true; submitButton.textContent = 'Submitting...'; // Collect form data const formData = { contact: { name: document.getElementById('contact-name').value, email: document.getElementById('contact-email').value, outlet: document.getElementById('contact-outlet').value, phone: document.getElementById('contact-phone').value || null }, inquiry: { subject: document.getElementById('inquiry-subject').value, message: document.getElementById('inquiry-message').value, deadline: document.getElementById('inquiry-deadline').value || null, topic_areas: [] } }; try { const response = await fetch('/api/media/inquiries', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(formData) }); const data = await response.json(); if (response.ok) { // Success successMessage.textContent = data.message || 'Thank you for your inquiry. We will review and respond shortly.'; successMessage.style.display = 'block'; form.reset(); window.scrollTo({ top: 0, behavior: 'smooth' }); } else { // Error errorMessage.textContent = data.message || 'An error occurred. Please try again.'; errorMessage.style.display = 'block'; window.scrollTo({ top: 0, behavior: 'smooth' }); } } catch (error) { console.error('Submit error:', error); errorMessage.textContent = 'Network error. Please check your connection and try again.'; errorMessage.style.display = 'block'; window.scrollTo({ top: 0, behavior: 'smooth' }); } finally { // Re-enable submit button submitButton.disabled = false; submitButton.textContent = 'Submit Inquiry'; } });