document.addEventListener('DOMContentLoaded', function () { // Smooth scroll for anchor links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { e.preventDefault(); document.querySelector(this.getAttribute('href')).scrollIntoView({ behavior: 'smooth' }); }); }); // Navbar scroll effect const navbar = document.querySelector('.navbar'); window.addEventListener('scroll', () => { if (window.scrollY > 50) { navbar.classList.add('navbar-scrolled'); } else { navbar.classList.remove('navbar-scrolled'); } }); // Contact form validation const form = document.querySelector('#contactForm'); const form = document.querySelector('#contactForm'); if (form) { form.addEventListener('submit', function(event) { let isValid = true; // Clear previous errors document.querySelectorAll('.invalid-feedback').forEach(el => el.style.display = 'none'); document.querySelectorAll('.form-control').forEach(el => el.classList.remove('is-invalid')); // Name validation const name = document.querySelector('#name'); if (name.value.trim() === '') { isValid = false; name.classList.add('is-invalid'); document.querySelector('#nameError').style.display = 'block'; } // Email validation const email = document.querySelector('#email'); const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!emailPattern.test(email.value)) { isValid = false; email.classList.add('is-invalid'); document.querySelector('#emailError').style.display = 'block'; } // Message validation const message = document.querySelector('#message'); if (message.value.trim() === '') { isValid = false; message.classList.add('is-invalid'); document.querySelector('#messageError').style.display = 'block'; } if (!isValid) { event.preventDefault(); } }); } });