// Mobile menu toggle
document.addEventListener('DOMContentLoaded', function() {
  console.log("DOM loaded - initializing dark mode");
  
  const menuButton = document.querySelector('[aria-controls="mobile-menu"]');
  const mobileMenu = document.getElementById('mobile-menu');
  const menuIcons = menuButton.querySelectorAll('svg');
  
  if (menuButton && mobileMenu) {
    menuButton.addEventListener('click', function() {
      const expanded = menuButton.getAttribute('aria-expanded') === 'true';
      
      // Toggle aria-expanded
      menuButton.setAttribute('aria-expanded', !expanded);
      
      // Toggle menu visibility
      mobileMenu.classList.toggle('hidden');
      
      // Toggle icons
      menuIcons.forEach(icon => {
        icon.classList.toggle('hidden');
      });
    });
  }

  // Theme toggle functionality
  const themeToggleBtn = document.getElementById('theme-toggle');
  const themeToggleDarkIcon = document.getElementById('theme-toggle-dark-icon');
  const themeToggleLightIcon = document.getElementById('theme-toggle-light-icon');
  const mobileThemeToggleBtn = document.getElementById('mobile-theme-toggle');

  // Check if dark mode is already enabled
  const isDarkMode = localStorage.getItem('color-theme') === 'dark' || 
    (!localStorage.getItem('color-theme') && window.matchMedia('(prefers-color-scheme: dark)').matches);
  
  console.log("Initial dark mode state:", isDarkMode);

  // Set initial theme
  if (isDarkMode) {
    document.documentElement.classList.add('dark');
    if (themeToggleLightIcon && themeToggleDarkIcon) {
      themeToggleLightIcon.classList.remove('hidden');
      themeToggleDarkIcon.classList.add('hidden');
    }
  } else {
    document.documentElement.classList.remove('dark');
    if (themeToggleLightIcon && themeToggleDarkIcon) {
      themeToggleLightIcon.classList.add('hidden');
      themeToggleDarkIcon.classList.remove('hidden');
    }
  }

  // Toggle theme function
  function toggleTheme() {
    console.log("Toggle theme clicked");
    
    // Add transition class
    document.documentElement.classList.add('transition');
    
    // Toggle theme
    const isDark = document.documentElement.classList.contains('dark');
    console.log("Current dark mode:", isDark);
    
    if (isDark) {
      document.documentElement.classList.remove('dark');
      localStorage.setItem('color-theme', 'light');
      if (themeToggleLightIcon && themeToggleDarkIcon) {
        themeToggleLightIcon.classList.add('hidden');
        themeToggleDarkIcon.classList.remove('hidden');
      }
      console.log("Switched to light mode");
    } else {
      document.documentElement.classList.add('dark');
      localStorage.setItem('color-theme', 'dark');
      if (themeToggleLightIcon && themeToggleDarkIcon) {
        themeToggleLightIcon.classList.remove('hidden');
        themeToggleDarkIcon.classList.add('hidden');
      }
      console.log("Switched to dark mode");
    }
    
    // Remove transition class after transition completes
    setTimeout(() => {
      document.documentElement.classList.remove('transition');
    }, 300);
  }

  // Add event listeners to toggle buttons
  if (themeToggleBtn) {
    console.log("Adding event listener to theme toggle button");
    themeToggleBtn.addEventListener('click', toggleTheme);
  }
  
  if (mobileThemeToggleBtn) {
    console.log("Adding event listener to mobile theme toggle button");
    mobileThemeToggleBtn.addEventListener('click', toggleTheme);
  }
});
