var tiempoInactividad = 0;
var intervaloInactividad = null;
var tiempoAlerta = 5; // Tiempo en segundos para mostrar la alerta
var intervaloAlerta = null;
var tiempoCierreAutomatico = 60; // Tiempo en segundos para el cierre automático
var intervaloCierreAutomatico = null;
var op = 'salir';
var al_id_bingo = $("#id_user").val();


function reiniciarTemporizador() {
  tiempoInactividad = 0;
}

function iniciarTemporizador() {
  intervaloInactividad = setInterval(verificarInactividad, 1000);
}

function verificarInactividad() {
  tiempoInactividad++;
  //console.log("Tiempo inactivo: " + tiempoInactividad + " segundos");
  if (tiempoInactividad >= 300) {
    clearInterval(intervaloInactividad);
    mostrarAlerta();
  }
}

function mostrarAlerta() {
  clearInterval(intervaloAlerta);
  var contador = tiempoCierreAutomatico;
  console.log("Alerta mostrada");
 // console.log("Cierre automático en " + contador + " segundos");

  intervaloAlerta = setInterval(function () {
    contador--;
    //console.log("Cierre automático en " + contador + " segundos");
    if (contador <= 0) {
      clearInterval(intervaloAlerta);
      cerrarSesionAutomaticamente();
    }
  }, 1000);

  Swal.fire({
  title: 'Cierre de sesión automático',
  text: '¿Desea reanudar la sesión o cerrarla?',
  icon: 'warning',
  showCancelButton: true,
  confirmButtonColor: '#d33',
  cancelButtonColor: '#3085d6',
  confirmButtonText: 'Cerrar sesión',
  cancelButtonText: 'Reanudar sesión'
}).then((result) => {
  clearInterval(intervaloAlerta);
  
  if (result.value) {
    // Redirigir al usuario a la página de cierre de sesión automático
    console.log("Sesión cerrada automáticamente");
    
    $.ajax({
      url: "../../ajax/perfilUsuario/login.php?op=salir&al_id_bingo=" + al_id_bingo,
      success: function(response) {
        // Manejar la respuesta del servidor
        window.location.href = "../../ajax/perfilUsuario/login.php?op=salir&al_id_bingo=" + al_id_bingo;
      },
      error: function(jqXHR, textStatus, errorThrown) {
        // Manejar el error de la solicitud
        console.log(jqXHR, textStatus, errorThrown);
      }
    });
  } else {
    // Reiniciar el temporizador de inactividad y continuar la sesión
    reiniciarTemporizador();
    iniciarTemporizador();
  }
});

}

function cerrarSesionAutomaticamente() {
  clearInterval(intervaloInactividad);
  clearInterval(intervaloAlerta);
  console.log("Sesión cerrada automáticamente");
  // Cerrar sesión automáticamente manual
  $.ajax({
  url: "../../ajax/perfilUsuario/login.php?op=salir&al_id_bingo=" + al_id_bingo,
    success: function (response) {
      // Manejar la respuesta del servidor
      //console.log(response);
      // Mostrar un mensaje de éxito o error al usuario
      window.location.href = "../../ajax/perfilUsuario/login.php?op=salir&al_id_bingo=" + al_id_bingo;
    },
    error: function (jqXHR, textStatus, errorThrown) {
      // Manejar el error de la solicitud
      console.log(jqXHR, textStatus, errorThrown);
      // Mostrar un mensaje de error al usuario
    },
  });
}

$(document).ready(function () {
  // Reiniciar el temporizador de inactividad cuando el usuario interactúa con la página
// Código actualizado (utilizando PointerEvent)
document.addEventListener('pointerdown', function(event) {
  console.log('Presión del mouse:', event.pressure);
});

  // Iniciar el temporizador de inactividad
  iniciarTemporizador();
});
