// Elementi DOM
const header = document.getElementById('header');
const menuToggle = document.getElementById('menuToggle');
const navLinks = document.getElementById('navLinks');
const contactForm = document.getElementById('contactForm');

// Cambia stile dell'header quando si scrolla
function handleScroll() {
	if (window.scrollY > 100) {
		header.classList.add('scrolled');
	} else {
		header.classList.remove('scrolled');
	}
}

// Gestisce il menu mobile
function toggleMenu() {
	navLinks.classList.toggle('active');

	// Cambia l'icona del menu
	const icon = menuToggle.querySelector('i');
	if (navLinks.classList.contains('active')) {
		icon.classList.replace('fa-bars', 'fa-times');
	} else {
		icon.classList.replace('fa-times', 'fa-bars');
	}
}

// Chiude il menu mobile quando si clicca su un link
function closeMenu() {
	if (window.innerWidth <= 992 && navLinks.classList.contains('active')) {
		navLinks.classList.remove('active');
		menuToggle.querySelector('i').classList.replace('fa-times', 'fa-bars');
	}
}

// Gestisce l'invio del form
function handleFormSubmit(e) {
	e.preventDefault();

	const name = document.getElementById('name').value;
	alert(`Grazie ${name}! La tua richiesta è stata inviata. Ti risponderò al più presto.`);

	contactForm.reset();
}

// Event listeners
window.addEventListener('scroll', handleScroll);
menuToggle.addEventListener('click', toggleMenu);
contactForm.addEventListener('submit', handleFormSubmit);

// Aggiungi l'event listener per chiudere il menu quando si clicca su un link
document.querySelectorAll('.nav-links a').forEach(link => {
	link.addEventListener('click', closeMenu);
});

// Smooth scroll per link interni
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
	anchor.addEventListener('click', function (e) {
		e.preventDefault();

		const targetId = this.getAttribute('href');
		if (targetId === '#') return;

		const targetElement = document.querySelector(targetId);
		if (targetElement) {
			const headerHeight = header.offsetHeight;
			const targetPosition = targetElement.getBoundingClientRect().top + window.pageYOffset - headerHeight;

			window.scrollTo({
				top: targetPosition,
				behavior: 'smooth'
			});
		}
	});
});

// Inizializza lo stato dell'header al caricamento
handleScroll();
