/**
 * Fusion Website Theme - Header Interactions
 * Expandable search bar - expands right from search button
 */

(function() {
    'use strict';
    
    function initExpandableSearch() {
        var searchTrigger = document.querySelector('.search-trigger');
        var searchExpanded = document.querySelector('.search-expanded');
        var searchClose = document.querySelector('.search-close');
        var searchInput = document.querySelector('.search-expanded input');
        
        if (!searchTrigger || !searchExpanded) {
            return;
        }
        
        // Open search
        searchTrigger.addEventListener('click', function(e) {
            e.preventDefault();
            e.stopPropagation();
            document.body.classList.add('search-open');
            searchExpanded.classList.add('active');
            
            // Focus the input after animation
            setTimeout(function() {
                if (searchInput) searchInput.focus();
            }, 250);
        });
        
        // Close search on X button
        if (searchClose) {
            searchClose.addEventListener('click', function(e) {
                e.preventDefault();
                e.stopPropagation();
                closeSearch();
            });
        }
        
        // Close on Escape key
        document.addEventListener('keydown', function(e) {
            if (e.key === 'Escape' && document.body.classList.contains('search-open')) {
                closeSearch();
            }
        });
        
        // Close when clicking outside
        document.addEventListener('click', function(e) {
            if (document.body.classList.contains('search-open')) {
                if (!searchExpanded.contains(e.target) && !searchTrigger.contains(e.target)) {
                    closeSearch();
                }
            }
        });
        
        function closeSearch() {
            document.body.classList.remove('search-open');
            searchExpanded.classList.remove('active');
            if (searchInput) searchInput.value = '';
        }
    }
    
    // Initialize when DOM is ready
    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', initExpandableSearch);
    } else {
        initExpandableSearch();
    }
    
    // Also try after a small delay in case elements are loaded dynamically
    setTimeout(initExpandableSearch, 500);
})();
