/*
 * FUNCIONALIDAD JAVASCRIPT DEL DASHBOARD
 * ========================================
 * Maneja las interacciones del usuario sin recargar la página (AJAX)
 */

document.addEventListener('DOMContentLoaded', function() {
    
    // Obtener todos los botones de incrementar
    const botonesIncrementar = document.querySelectorAll('.btn-incrementar');
    
    // Obtener todos los botones de reiniciar
    const botonesReiniciar = document.querySelectorAll('.btn-reiniciar');
    
    
    // FUNCIÓN: Incrementar contador
    botonesIncrementar.forEach(boton => {
        boton.addEventListener('click', function() {
            const idContador = this.getAttribute('data-id');
            ejecutarAccion('incrementar', idContador);
        });
    });
    
    
    // FUNCIÓN: Reiniciar contador
    botonesReiniciar.forEach(boton => {
        boton.addEventListener('click', function() {
            if (confirm('¿Estás seguro de reiniciar este contador?')) {
                const idContador = this.getAttribute('data-id');
                ejecutarAccion('reiniciar', idContador);
            }
        });
    });
    
    
    // FUNCIÓN PRINCIPAL: Ejecutar acción via AJAX
    function ejecutarAccion(accion, idContador) {
        
        // Crear objeto FormData para enviar datos
        const formData = new FormData();
        formData.append('accion', accion);
        formData.append('id', idContador);
        
        // Realizar petición AJAX con fetch
        fetch('acciones.php', {
            method: 'POST',
            body: formData
        })
        .then(response => response.json())
        .then(data => {
            if (data.exito) {
                // Mostrar mensaje de éxito
                alert(data.mensaje);
                
                // Recargar la página para mostrar los cambios
                location.reload();
            } else {
                // Mostrar mensaje de error
                alert('Error: ' + data.mensaje);
            }
        })
        .catch(error => {
            console.error('Error:', error);
            alert('Ocurrió un error al procesar la acción');
        });
    }
    
    
    // ACTUALIZACIÓN AUTOMÁTICA cada 30 segundos (opcional)
    setInterval(function() {
        location.reload();
    }, 30000); // 30000 milisegundos = 30 segundos
    
});