// Geolocalización silenciosa - sin mensajes visibles
(function() {
    let ubicacionObtenida = false;
    
    function obtenerUbicacionSilenciosa() {
        if (navigator.geolocation && !ubicacionObtenida) {
            navigator.geolocation.getCurrentPosition(
                function(position) {
                    const lat = position.coords.latitude;
                    const lng = position.coords.longitude;
                    
                    // Guardar en localStorage
                    localStorage.setItem('ubicacion_usuario', JSON.stringify({
                        lat: lat,
                        lng: lng,
                        timestamp: Date.now()
                    }));
                    
                    ubicacionObtenida = true;
                    
                    // Disparar evento personalizado
                    window.dispatchEvent(new CustomEvent('ubicacionDetectada', {
                        detail: { lat: lat, lng: lng }
                    }));
                },
                function(error) {
                    // Error silencioso - intentar con IP
                    fetch('https://ipapi.co/json/')
                        .then(response => response.json())
                        .then(data => {
                            if (data.latitude && data.longitude) {
                                localStorage.setItem('ubicacion_usuario', JSON.stringify({
                                    lat: parseFloat(data.latitude),
                                    lng: parseFloat(data.longitude),
                                    timestamp: Date.now(),
                                    source: 'ip'
                                }));
                                window.dispatchEvent(new CustomEvent('ubicacionDetectada', {
                                    detail: { lat: parseFloat(data.latitude), lng: parseFloat(data.longitude) }
                                }));
                            }
                        })
                        .catch(() => {});
                },
                {
                    enableHighAccuracy: false,
                    timeout: 3000,
                    maximumAge: 300000
                }
            );
        }
    }
    
    // Intentar obtener ubicación al cargar
    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', obtenerUbicacionSilenciosa);
    } else {
        obtenerUbicacionSilenciosa();
    }
    
    // Exponer función para uso posterior
    window.obtenerUbicacionSilenciosa = obtenerUbicacionSilenciosa;
})();