(function () { "use strict"; // 1. Mobile Menu Implementation function initMobileMenu() { var mobileMenu = document.querySelector('.mobile-menu'); var mainNav = document.querySelector('.main-header .nav-outer .main-menu') || document.querySelector('.nav-outer .main-menu'); // Sync sticky header navigation if empty var stickyNav = document.querySelector('.sticky-header .main-menu .navbar-collapse'); if (stickyNav && mainNav && (!stickyNav.children.length || stickyNav.innerHTML.trim() === '')) { var srcCollapse = mainNav.querySelector('.navbar-collapse'); if (srcCollapse) { stickyNav.innerHTML = srcCollapse.innerHTML; } } if (mobileMenu && mainNav) { var menuOuter = mobileMenu.querySelector('.menu-outer'); if (menuOuter && (!menuOuter.children.length || menuOuter.innerHTML.trim() === '')) { var navCollapse = mainNav.querySelector('.navbar-collapse'); if (navCollapse) { menuOuter.innerHTML = navCollapse.innerHTML; } else { menuOuter.innerHTML = mainNav.innerHTML; } } } // Click handlers using event delegation document.addEventListener('click', function (e) { var toggler = e.target.closest('.mobile-nav-toggler'); if (toggler) { e.preventDefault(); e.stopPropagation(); document.body.classList.add('mobile-menu-visible'); return; } if (e.target.closest('.mobile-menu .close-btn') || e.target.classList.contains('menu-backdrop') || e.target.closest('.menu-backdrop')) { document.body.classList.remove('mobile-menu-visible'); return; } if (e.target.closest('.mobile-menu .navigation li a')) { document.body.classList.remove('mobile-menu-visible'); return; } }); // Submenu dropdown toggles if (mobileMenu) { var dropdowns = mobileMenu.querySelectorAll('.navigation li.dropdown'); dropdowns.forEach(function (dropdown) { if (!dropdown.querySelector('.dropdown-btn')) { var btn = document.createElement('div'); btn.className = 'dropdown-btn'; btn.innerHTML = ''; dropdown.appendChild(btn); btn.addEventListener('click', function (evt) { evt.preventDefault(); evt.stopPropagation(); btn.classList.toggle('open'); var subMenu = dropdown.querySelector('ul'); if (subMenu) { subMenu.style.display = (subMenu.style.display === 'block') ? 'none' : 'block'; } }); } }); } } // 2. Floating Action Buttons (Call + WhatsApp) function initFloatingButtons() { if (!document.querySelector('.phone-call-btn') && !document.querySelector('.phone-call')) { var callBtn = document.createElement('a'); callBtn.href = 'tel:+910000000000'; callBtn.className = 'phone-call-btn'; callBtn.title = 'Call Now'; callBtn.innerHTML = '
Call Now
'; document.body.appendChild(callBtn); } if (!document.querySelector('.phone-wa-btn') && !document.querySelector('.phone')) { var waBtn = document.createElement('a'); waBtn.href = 'https://api.whatsapp.com/send?phone=+910000000000&text=Hello%20Ishika'; waBtn.target = '_blank'; waBtn.className = 'phone-wa-btn'; waBtn.title = 'WhatsApp Us'; waBtn.innerHTML = '
WhatsApp Now
'; document.body.appendChild(waBtn); } } // 3. Sticky Header & Scroll To Top function initStickyHeader() { var siteHeader = document.querySelector('.main-header'); var scrollLink = document.querySelector('.scroll-to-top'); if (!scrollLink) { scrollLink = document.createElement('div'); scrollLink.className = 'scroll-to-top scroll-to-target'; scrollLink.setAttribute('data-target', 'html'); scrollLink.innerHTML = ''; document.body.appendChild(scrollLink); } function checkScroll() { var windowpos = window.pageYOffset || document.documentElement.scrollTop; if (siteHeader) { if (windowpos >= 110) { siteHeader.classList.add('fixed-header'); } else { siteHeader.classList.remove('fixed-header'); } } if (scrollLink) { if (windowpos >= 150) { scrollLink.style.setProperty('display', 'flex', 'important'); scrollLink.classList.add('open'); } else { scrollLink.style.setProperty('display', 'none', 'important'); scrollLink.classList.remove('open'); } } } window.addEventListener('scroll', checkScroll, { passive: true }); window.addEventListener('resize', checkScroll, { passive: true }); checkScroll(); // Click handler for Scroll to Top button document.addEventListener('click', function (e) { var btn = e.target.closest('.scroll-to-top') || e.target.closest('.scroll-to-target'); if (btn) { e.preventDefault(); window.scrollTo({ top: 0, behavior: 'smooth' }); } }); } // 4. 18+ Age Verification Popup Modal function initAgeVerificationModal() { if (sessionStorage.getItem('ageVerified') === 'true') { return; } if (document.getElementById('ageVerificationModal')) { return; } var modalOverlay = document.createElement('div'); modalOverlay.id = 'ageVerificationModal'; modalOverlay.className = 'age-modal-overlay'; modalOverlay.innerHTML = `
18+

Age Verification Required

This website contains adult content. You must be at least 18 years old (or legal age in your jurisdiction) to enter.

`; document.body.appendChild(modalOverlay); var acceptBtn = document.getElementById('ageAcceptBtn'); if (acceptBtn) { acceptBtn.addEventListener('click', function () { sessionStorage.setItem('ageVerified', 'true'); modalOverlay.style.animation = 'fadeInModal 0.3s ease-in reverse'; setTimeout(function () { if (modalOverlay.parentNode) { modalOverlay.parentNode.removeChild(modalOverlay); } }, 300); }); } var declineBtn = document.getElementById('ageDeclineBtn'); if (declineBtn) { declineBtn.addEventListener('click', function () { window.location.href = 'https://www.google.com'; }); } } function runAllScripts() { initMobileMenu(); initFloatingButtons(); initStickyHeader(); initAgeVerificationModal(); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', runAllScripts); } else { runAllScripts(); } })();