// Main JavaScript file document.addEventListener('DOMContentLoaded', function() { // Smooth scrolling for all links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { e.preventDefault(); document.querySelector(this.getAttribute('href')).scrollIntoView({ behavior: 'smooth' }); }); }); // Add active class to navigation items based on scroll position const sections = document.querySelectorAll('section'); const navLinks = document.querySelectorAll('nav a'); window.addEventListener('scroll', () => { let current = ''; sections.forEach(section => { const sectionTop = section.offsetTop; const sectionHeight = section.clientHeight; if (pageYOffset >= (sectionTop - 300)) { current = section.getAttribute('id'); } }); navLinks.forEach(link => { link.classList.remove('text-red-600'); if (link.getAttribute('href') === `#${current}`) { link.classList.add('text-red-600'); } }); }); // Form submission handling const contactForm = document.querySelector('form'); if (contactForm) { contactForm.addEventListener('submit', function(e) { e.preventDefault(); // Get form values const name = document.getElementById('name').value; const email = document.getElementById('email').value; const subject = document.getElementById('subject').value; const message = document.getElementById('message').value; // Here you would typically send the form data to a server console.log({name, email, subject, message}); // Show success message alert('Thank you for your message! I will get back to you soon.'); contactForm.reset(); }); } });