/* ============================================================ MANDIDEEP STEEL INDUSTRIES — GLOBAL SCRIPT Handles: sticky nav state, mobile menu, reveal animations, footer year, active link, marquee duplication. ============================================================ */ (function () { 'use strict'; // ---------- Sticky nav (transparent -> solid on scroll) ---------- const nav = document.getElementById('siteNav'); const setNavState = () => { if (!nav) return; if (window.scrollY > 30) nav.classList.add('scrolled'); else nav.classList.remove('scrolled'); }; setNavState(); window.addEventListener('scroll', setNavState, { passive: true }); // ---------- Mobile menu toggle ---------- const toggle = document.getElementById('navToggle'); const menu = document.getElementById('mobileMenu'); if (toggle && menu) { toggle.addEventListener('click', () => { toggle.classList.toggle('open'); menu.classList.toggle('open'); }); // Close menu when a link inside is clicked menu.querySelectorAll('a').forEach(a => { a.addEventListener('click', () => { toggle.classList.remove('open'); menu.classList.remove('open'); }); }); } // ---------- Active nav link based on current page ---------- const path = window.location.pathname.replace(/\/$/, ''); document.querySelectorAll('.nav-links .nav-btn').forEach(link => { const href = link.getAttribute('href'); if (!href) return; if ((path === '' && href.endsWith('index.html')) || path.endsWith(href)) { link.classList.add('active'); } else if (link.classList.contains('active') && !path.endsWith(href) && !(path === '' && href.endsWith('index.html'))) { link.classList.remove('active'); } }); // ---------- Reveal on scroll ---------- const revealEls = document.querySelectorAll('.reveal'); if ('IntersectionObserver' in window) { const io = new IntersectionObserver((entries) => { entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add('in'); io.unobserve(e.target); } }); }, { threshold: 0.12 }); revealEls.forEach(el => io.observe(el)); } else { revealEls.forEach(el => el.classList.add('in')); } // ---------- Footer year ---------- const y = document.getElementById('year'); if (y) y.textContent = new Date().getFullYear(); // ---------- Marquee: duplicate track children for seamless loop ---------- window.addEventListener("load", () => { document.querySelectorAll(".marquee-track").forEach(track=>{ if(track.dataset.cloned==="1") return; track.innerHTML += track.innerHTML; track.dataset.cloned="1"; }); }); })();