VCM Logo

Victorious Christian

Montessori

VCM Logo

Academic Programs

Comprehensive education from Pre-Elementary to Senior High School

Our Programs

Quality Christian education with specialized tracks for every student

Pre-Elementary

Foundation learning through play-based activities and Christian values development.

Elementary

Building strong academic foundations while fostering creativity and independence.

Junior High School

Comprehensive secondary education preparing students for senior high school.

Senior High School

Specialized tracks preparing students for college and career success.

Senior High School Strands

Specialized tracks for diverse career paths

ABM

Accountancy, Business & Management

STEM

Science, Technology, Engineering & Mathematics

HUMSS

Humanities & Social Sciences

TVL-ICT

Technical Vocational Livelihood - ICT

TVL-HE

Technical Vocational Livelihood - Home Economics

Start Your Journey

Choose the program that's right for you and begin your path to success

return; } console.log(' Menu elements found'); // Ensure hamburger button is clickable hamburgerBtn.style.pointerEvents = 'auto'; hamburgerBtn.style.zIndex = '1000'; hamburgerBtn.style.position = 'relative'; // State management let isAnimating = false; let currentOpenDropdown = null; /** * Open menu with staggered animations */ function openMenu() { if (isAnimating || !isMobile()) { console.log(' Cannot open menu:', { isAnimating, isMobile: isMobile() }); return; } isAnimating = true; console.log(' Opening menu'); // Add active classes hamburgerBtn.classList.add('active', 'menu-open'); menuOverlay.classList.add('active'); slideMenu.classList.add('active'); body.classList.add('menu-open'); // Allow animations to complete setTimeout(() => { isAnimating = false; }, 600); } /** * Close menu and cleanup */ function closeMenu() { if (isAnimating) return; isAnimating = true; console.log(' Closing menu'); // Remove active classes hamburgerBtn.classList.remove('active', 'menu-open'); menuOverlay.classList.remove('active'); slideMenu.classList.remove('active'); body.classList.remove('menu-open'); // Close all dropdowns closeAllDropdowns(); // Allow animations to complete setTimeout(() => { isAnimating = false; }, 400); } /** * Toggle menu state */ function toggleMenu() { if (!isMobile()) return; const isActive = slideMenu.classList.contains('active'); if (isActive) { closeMenu(); } else { openMenu(); } } /** * Close all open dropdowns */ function closeAllDropdowns() { const dropdowns = document.querySelectorAll('.menu-dropdown'); dropdowns.forEach(dropdown => { dropdown.classList.remove('active'); }); currentOpenDropdown = null; } // ===== EVENT LISTENERS ===== /** * Hamburger button click */ hamburgerBtn.addEventListener('click', function(e) { e.preventDefault(); e.stopPropagation(); console.log(' Hamburger clicked'); toggleMenu(); }); // Add additional event listeners for better mobile compatibility hamburgerBtn.addEventListener('touchstart', function(e) { e.preventDefault(); }, { passive: false }); hamburgerBtn.addEventListener('touchend', function(e) { e.preventDefault(); e.stopPropagation(); if (isMobile()) { toggleMenu(); } }, { passive: false }); /** * Close button click */ if (closeBtn) { closeBtn.addEventListener('click', function(e) { e.preventDefault(); e.stopPropagation(); closeMenu(); }); } /** * Overlay click to close */ menuOverlay.addEventListener('click', function(e) { if (e.target === menuOverlay) { closeMenu(); } }); /** * Dropdown functionality */ const dropdownBtns = document.querySelectorAll('.menu-dropdown-btn'); dropdownBtns.forEach(btn => { btn.addEventListener('click', function(e) { e.preventDefault(); e.stopPropagation(); const dropdown = this.closest('.menu-dropdown'); const isCurrentlyActive = dropdown.classList.contains('active'); // Close all other dropdowns first if (!isCurrentlyActive) { closeAllDropdowns(); } // Toggle current dropdown dropdown.classList.toggle('active'); // Update current open dropdown reference if (dropdown.classList.contains('active')) { currentOpenDropdown = dropdown; } else { currentOpenDropdown = null; } }); }); /** * Keyboard navigation */ document.addEventListener('keydown', function(e) { const isActive = slideMenu.classList.contains('active'); if (e.key === 'Escape' && isActive) { closeMenu(); } }); /** * Responsive behavior - clean up on desktop */ let resizeTimeout; const handleResponsiveResize = () => { clearTimeout(resizeTimeout); resizeTimeout = setTimeout(() => { const currentWidth = window.innerWidth; if (currentWidth >= 768) { // Desktop mode - clean up mobile menu state const isActive = slideMenu.classList.contains('active'); if (isActive) { closeMenu(); } // Ensure complete cleanup for desktop body.classList.remove('menu-open'); hamburgerBtn.classList.remove('active', 'menu-open'); menuOverlay.classList.remove('active'); slideMenu.classList.remove('active'); closeAllDropdowns(); } }, 150); }; // Resize handling window.addEventListener('resize', handleResponsiveResize, { passive: true }); /** * Menu item clicks - close menu after navigation */ const menuLinks = document.querySelectorAll('.menu-item[href], .sub-menu-item[href]'); menuLinks.forEach(link => { link.addEventListener('click', function() { // Close menu with delay setTimeout(() => { closeMenu(); }, 150); }); }); /** * Prevent menu from closing when clicking inside */ slideMenu.addEventListener('click', function(e) { e.stopPropagation(); }); console.log('✅ Inline Mobile Menu setup complete (no scroll animations)'); });