// Mobile Language Dropdown Logic
document.addEventListener('DOMContentLoaded', function() {
const mobileLanguageContainer = document.getElementById('mobile-language-dropdown-container');
if (mobileLanguageContainer) {
const toggleButton = document.getElementById('mobile-language-dropdown-toggle');
const dropdownMenu = document.getElementById('mobile-language-dropdown-menu');
const dropdownIcon = document.getElementById('mobile-language-arrow-icon');
const searchInput = document.getElementById('mobile-language-search');
const languageItems = document.querySelectorAll('.mobile-language-item');
const noResultsMessage = document.getElementById('mobile-no-language-results');
// Toggle dropdown
if (toggleButton && dropdownMenu && dropdownIcon) {
toggleButton.addEventListener('click', function(event) {
event.stopPropagation();
const isHidden = dropdownMenu.classList.contains('hidden');
if (isHidden) {
dropdownMenu.classList.remove('hidden');
toggleButton.setAttribute('aria-expanded', 'true');
dropdownIcon.classList.add('rotate-180');
// Focus search input when opening
if (searchInput) {
setTimeout(() => searchInput.focus(), 100);
}
} else {
dropdownMenu.classList.add('hidden');
toggleButton.setAttribute('aria-expanded', 'false');
dropdownIcon.classList.remove('rotate-180');
}
});
}
// Search functionality
if (searchInput && languageItems.length > 0) {
searchInput.addEventListener('input', function(e) {
const searchTerm = e.target.value.toLowerCase().trim();
let visibleCount = 0;
languageItems.forEach(item => {
const searchText = item.getAttribute('data-search-text') || '';
const isVisible = !searchTerm || searchText.includes(searchTerm);
if (isVisible) {
item.style.display = 'flex';
visibleCount++;
} else {
item.style.display = 'none';
}
});
// Show/hide no results message
if (noResultsMessage) {
if (visibleCount === 0 && searchTerm) {
noResultsMessage.classList.remove('hidden');
} else {
noResultsMessage.classList.add('hidden');
}
}
});
// Prevent dropdown from closing when clicking search input
searchInput.addEventListener('click', function(event) {
event.stopPropagation();
});
}
// Close dropdown when clicking outside
document.addEventListener('click', function(event) {
if (!mobileLanguageContainer.contains(event.target)) {
if (dropdownMenu) {
dropdownMenu.classList.add('hidden');
}
if (toggleButton) {
toggleButton.setAttribute('aria-expanded', 'false');
}
if (dropdownIcon) {
dropdownIcon.classList.remove('rotate-180');
}
// Reset search
if (searchInput) {
searchInput.value = '';
languageItems.forEach(item => {
item.style.display = 'flex';
});
if (noResultsMessage) {
noResultsMessage.classList.add('hidden');
}
}
}
});
// Language selection functionality
if (languageItems.length > 0) {
languageItems.forEach(item => {
item.addEventListener('click', function(event) {
// Don't prevent default - allow navigation to href
// Update active state
languageItems.forEach(i => i.classList.remove('bg-gray-100'));
this.classList.add('bg-gray-100');
// Close dropdown
if (dropdownMenu) {
dropdownMenu.classList.add('hidden');
}
if (toggleButton) {
toggleButton.setAttribute('aria-expanded', 'false');
}
if (dropdownIcon) {
dropdownIcon.classList.remove('rotate-180');
}
// Navigate to the href URL
window.location.href = this.getAttribute('href');
});
});
}
}
});