document.addEventListener('DOMContentLoaded', function() {
    const useLocationBtn = document.getElementById('use-my-location');
    const latInput = document.getElementById('lat-input');
    const lngInput = document.getElementById('lng-input');
    const locationInput = document.getElementById('location-input');

    if (useLocationBtn && 'geolocation' in navigator) {
        useLocationBtn.addEventListener('click', function() {
            this.textContent = '📍 Getting location...';
            this.disabled = true;
            
            navigator.geolocation.getCurrentPosition(
                function(position) {
                    latInput.value = position.coords.latitude;
                    lngInput.value = position.coords.longitude;
                    locationInput.value = `${position.coords.latitude.toFixed(6)}, ${position.coords.longitude.toFixed(6)}`;
                    useLocationBtn.textContent = '✅ Location set';
                    setTimeout(() => {
                        useLocationBtn.textContent = '📍 Use My Location';
                        useLocationBtn.disabled = false;
                    }, 2000);
                },
                function(error) {
                    useLocationBtn.textContent = '❌ Location failed';
                    console.error('Geolocation error:', error);
                    setTimeout(() => {
                        useLocationBtn.textContent = '📍 Use My Location';
                        useLocationBtn.disabled = false;
                    }, 2000);
                }
            );
        });
    } else if (useLocationBtn) {
        useLocationBtn.style.display = 'none';
    }

    // Autocomplete for location search
    if (locationInput) {
        locationInput.addEventListener('input', function() {
            const query = this.value;
            if (query.length < 3) {
                return;
            }

            fetch(`/search/location/suggestions/?q=${query}`)
                .then(response => response.json())
                .then(data => {
                    // This is a simplified example. A more robust solution would use a library like Awesomplete or build a custom dropdown.
                    console.log('Suggestions:', data.suggestions);
                })
                .catch(error => console.error('Error fetching suggestions:', error));
        });
    }
});