//variables globales


var clockInterval;
var xhr; // Variable global para almacenar el objeto XMLHttpRequest



//Iniciar Sesion//
/*$(document).ready(function(){

    var cobroTipo = document.getElementById("tipo_cobro").value;

    if (cobroTipo=="ALMUERZO") {
        //alert("Ha seleccionado"+cobroTipo);
    }else if (cobroTipo=="REFACCION") {
        //alert("Ha seleccionado"+cobroTipo);
        }
        else{
            $('#popupInicial').toggleClass('ocultar mostrar');
        }
});*/

$(document).ready(function(){

    $("#formsession").submit(function() {

    var usuario = document.getElementById("usuario").value;
    var password = document.getElementById('password').value;


    $.ajax({
                url: 'validar.php',
                type: 'POST',
                data: {
                    usuario: usuario,
                    password: password
                    
                },

                cache: false,
    beforeSend: function(){ $("#login").val('Connecting...');},
    success: function(data){

    if(data=="1")
    {
    $("body").load("index.php").hide().fadeIn(1500).delay(6000);
    $(".mensaje").html("Bienvenido").delay(2000).fadeIn(250); 

//or
window.location.href = "index.php";
}
        else
        {
            $(".mensaje").html(data);

            setTimeout(function(){
    
                $(".mensaje").html("Vuelva a intentarlo")
            },2000);
            
            
        }

    },

    beforeSend: function(){ $("#login").val('Iniciar').delay(1000).fadeIn(250);},

        });

 

 });
});


//abrir y cerrar menu
function abrirmenu(){

$(".menuinterno").removeClass("dis");
$(".equis").removeClass("dis");
$(".barrasabiertas").addClass("dis");

}
function cerrarmenu(){

$(".menuinterno").addClass("dis");
$(".equis").addClass("dis");
$(".barrasabiertas").removeClass("dis");

};






//registrar ingresos

$(document).ready(function(){

    $("#registrarIngreso").submit(function() {

        //alert("funciona");

         $.ajax({
            url: 'registrarIngreso.php',
            type: 'POST',
            data: {
                codeConsult: $("#codeConsult").val(),
                userSession: $("#userSession").val()
            },
            success: function(responses) {

                $("#mensajeValidar").removeClass("esconder");
                $("#mensajeValidar").addClass("mostrar");
                $("#resultIngreso").html(responses);

                


            },
        });


});
});





// Variable para almacenar el temporizador
var timer;

// Función para consultar el cliente con key
function consultarAsociado() {
  // Limpiar el temporizador existente
  clearTimeout(timer);


  if (xhr && xhr.readyState !== 4) {
    xhr.abort();
}

  // Resto del código...

 

  // Resto del código...
  
      
  var clienteCod = document.getElementById("codCliente").value;
  var tokenActual = document.getElementById("tokenActual").value;

  if (clienteCod==""||clienteCod=="0"||clienteCod==null) {
       $(".infoConsult").html("Inserte un dato");
       
       if (clockInterval) {
          clearInterval(clockInterval);
      }

  }else{

      

      // Verificar y eliminar el intervalo existente si lo hay
      if (clockInterval) {
          clearInterval(clockInterval);
      }

          // Iniciar el reloj
          var startTime = new Date().getTime();
          clockInterval = setInterval(function() {
              var currentTime = new Date().getTime();
              var elapsedTime = currentTime - startTime;
              var seconds = Math.floor(elapsedTime / 1000);
              var minutes = Math.floor(seconds / 60);
              seconds %= 60;
              minutes %= 60;
              var timeString = minutes.toString().padStart(2, "0") + ":" + seconds.toString().padStart(2, "0");
              $("#reloj").html("<i class='fa-regular fa-clock'></i> " + timeString);
          }, 1000);


       //alert("funciona"); 

       xhr = $.ajax({

          //reemplazar cuando deje de ser prueba
          
          //url: 'http://192.168.1.245:16600/Servicios/PlanillaValidarEmpleado',
          
          url: 'includes/pruebaJson.php',
          type: 'GET',
          data: {
              Codigo: clienteCod,
              Token: tokenActual
          },
          beforeSend: function() {
              // Muestra el mensaje de carga
              $('.infoConsult').html('Buscando...');
            },
          success: function(responses) {
              //Frenar reloj
              clearInterval(clockInterval);

              //Obtener json de respuesta
              //var jsonResponse = JSON.parse(responses);
              var jsonResponse = responses;
              
              // Extraer los datos del JSON y asignarlos a variables
              var codigoRespuesta = jsonResponse.CodigoRespuesta;
              var mensajeRespuesta = jsonResponse.MensajeRespuesta;
              var empleadoID = jsonResponse.EmpleadoID;
              var codigo = jsonResponse.Codigo;
              var nombres = jsonResponse.Nombres;
              var apellidos = jsonResponse.Apellidos;
              var extra1 = jsonResponse.Extra1;
              var extra2 = jsonResponse.Extra2;
              

              //console.log(responses);

             if (codigoRespuesta == -1){
               $(".infoConsult").html("El Token no es válido");
             } // Iniciar el temporizador para llamar a las funciones después de 500 ms
             timer = setTimeout(function() {
               if (codigoRespuesta === 2) {
                 desAsociarCliente(jsonResponse);
                 $(".infoConsult").html("Cargando...");
               } else if (codigoRespuesta === 1) {
                 validarCliente(jsonResponse);
               }
             }, 1000);
        
          },
          error: function(xhr, status, error) {
              // Verificar si la ejecución se ha detenido debido a un error real
              if (xhr.readyState !== 0 && xhr.status !== 0) {
                  // Frenar reloj
                  clearInterval(clockInterval);

                  console.log("xhr");
                  // Tu código de manejo de error aquí
                  $(".infoConsult").html("<i class='fa-solid fa-triangle-exclamation'></i> No se pudo conectar con el servidor");
             
              } else if (xhr.readyState == 0) {
                  // Frenar reloj
                  clearInterval(clockInterval);
                  // Se ha frenado
                  console.log("frenado");
                  $(".infoConsult").html("<i class='fa-solid fa-triangle-exclamation'></i> No se recibió respuesta del servidor");
              }
          }
      });
      
      }
    
}  




function consultarAsociadoEnter(event) {
    // Verificar si la tecla presionada es Enter (código 13)
    if (event.keyCode === 13) {
        // Cancelar la consulta AJAX en curso si existe
       
       
        if (xhr && xhr.readyState !== 4) {
        xhr.abort();
    }

    var clienteCod = document.getElementById("codCliente").value;
    var tokenActual = document.getElementById("tokenActual").value;

    if (clienteCod==""||clienteCod=="0"||clienteCod==null) {
         $(".infoConsult").html("Inserte un dato");
         
         if (clockInterval) {
            clearInterval(clockInterval);
        }

    }else{

        

        // Verificar y eliminar el intervalo existente si lo hay
        if (clockInterval) {
            clearInterval(clockInterval);
        }

            // Iniciar el reloj
            var startTime = new Date().getTime();
            clockInterval = setInterval(function() {
                var currentTime = new Date().getTime();
                var elapsedTime = currentTime - startTime;
                var seconds = Math.floor(elapsedTime / 1000);
                var minutes = Math.floor(seconds / 60);
                seconds %= 60;
                minutes %= 60;
                var timeString = minutes.toString().padStart(2, "0") + ":" + seconds.toString().padStart(2, "0");
                $("#reloj").html("<i class='fa-regular fa-clock'></i> " + timeString);
            }, 1000);


         //alert("funciona"); 

         xhr = $.ajax({

            //reemplazar cuando deje de ser prueba
            
            //url: 'http://192.168.1.245:16600/Servicios/PlanillaValidarEmpleado',
            
            url: 'includes/pruebaJson.php',
            type: 'GET',
            data: {
                Codigo: clienteCod,
                Token: tokenActual
            },
            beforeSend: function() {
                // Muestra el mensaje de carga
                $('.infoConsult').html('Buscando...');
              },
            success: function(responses) {
                //Frenar reloj
                clearInterval(clockInterval);

                //Obtener json de respuesta
                //var jsonResponse = JSON.parse(responses);
                var jsonResponse = responses;
                
                // Extraer los datos del JSON y asignarlos a variables
                var codigoRespuesta = jsonResponse.CodigoRespuesta;
                var mensajeRespuesta = jsonResponse.MensajeRespuesta;
                var empleadoID = jsonResponse.EmpleadoID;
                var codigo = jsonResponse.Codigo;
                var nombres = jsonResponse.Nombres;
                var apellidos = jsonResponse.Apellidos;
                var extra1 = jsonResponse.Extra1;
                var extra2 = jsonResponse.Extra2;
                

                //console.log(responses);

               if (codigoRespuesta == -1){
                 $(".infoConsult").html("El Token no es válido");
               }
               else if(codigoRespuesta == 2){
                //hacer una funcion para buscarlo en la base de datos actual y si existe actualizar el estatus a inactivo y si no existe responder con "No aplica actualización"
                desAsociarCliente(jsonResponse);

                $(".infoConsult").html("Cargando...");

                

               }
               else if(codigoRespuesta == 1){

                //Mandar a la funcion validar cliente

                validarCliente(jsonResponse); // Pasa el objeto JSON como argumento


               }
            },
            error: function(xhr, status, error) {
                // Verificar si la ejecución se ha detenido debido a un error real
                if (xhr.readyState !== 0 && xhr.status !== 0) {
                    // Frenar reloj
                    clearInterval(clockInterval);

                    console.log("xhr");
                    // Tu código de manejo de error aquí
                    $(".infoConsult").html("<i class='fa-solid fa-triangle-exclamation'></i> No se pudo conectar con el servidor");
               
                } else if (xhr.readyState === 0) {
                    // Frenar reloj
                    clearInterval(clockInterval);
                    // Se ha frenado
                    console.log("frenado");
                    $(".infoConsult").html("<i class='fa-solid fa-triangle-exclamation'></i> No se recibió respuesta del servidor");
                }
            }
        });
        
        }
    }
}


//validar si el cliente ya consultado está disponible
function validarCliente(jsonResponse) {

    var clienteCod = document.getElementById("codCliente").value;
    console.log(jsonResponse.CodigoRespuesta);
    if (clienteCod == "" || clienteCod == "0" || clienteCod == null) {
        $(".infoConsult").html("Inserte un dato");
    } else {
        // ...código adicional

        $.ajax({
            url: 'includes/consultarClientes.php',
            type: 'POST',
            data: {
                codeConsult: clienteCod,
                codigoRespuesta: jsonResponse.CodigoRespuesta,
                mensajeRespuesta: jsonResponse.MensajeRespuesta,
                empleadoID: jsonResponse.EmpleadoID,
                codigo: jsonResponse.Codigo,
                nombres: jsonResponse.Nombres,
                apellidos: jsonResponse.Apellidos,
                extra1: jsonResponse.Extra1,
                extra2: jsonResponse.Extra2
                
            },
            success: function(responses) {
                if(responses=="1"){
                    $(".infoConsult").html("No se ha encontrado asociado");
                }else{
                     // Generar token combinando fecha y hora actual
                     var currentDate = new Date();
                     var token = currentDate.getFullYear() + "" + (currentDate.getMonth() + 1) + "" + currentDate.getDate() + "" + currentDate.getHours() + "" + currentDate.getMinutes() + "" + currentDate.getSeconds();

                     // Eliminar guiones y puntos del token
                     token = token.replace(/[-.]/g, '');

                     // Utilizar el token en tu código
                     $("#tokenTemporalTrans").val(token);

                    $(".infoConsult").html(responses);
                    enfocar();
                
                    function enfocar(){
                    document.getElementById('iniciarPedido').focus();
                    }
                }
            },
        });
    }
};



//Actualizar cliente ya no está disponible

function desAsociarCliente(jsonResponse) {
    var clienteCod = document.getElementById("codCliente").value;

    if (clienteCod == "" || clienteCod == "0" || clienteCod == null) {
        $(".infoConsult").html("Inserte un dato");
    } else {
        // ...código adicional



        $.ajax({
            url: 'includes/desAsociarCliente.php',
            type: 'POST',
            data: {
                codeConsult: clienteCod,
                codigoRespuesta: jsonResponse.CodigoRespuesta,
                mensajeRespuesta: jsonResponse.MensajeRespuesta,
                empleadoID: jsonResponse.EmpleadoID,
                codigo: jsonResponse.Codigo,
                nombres: jsonResponse.Nombres,
                apellidos: jsonResponse.Apellidos,
                extra1: jsonResponse.Extra1,
                extra2: jsonResponse.Extra2
            },
            success: function(responses) {
                if(responses==1){
                    $(".infoConsult").html("No existe registro de asociado");
                }else{
                    $(".infoConsult").html(responses);
                    console.log(responses);
                    
                }
                
                
            },
        });
    }
};










//Consultar Cliente antiguo

function validarClienteAntiguo() {

  // Limpiar el temporizador existente
  clearTimeout(timer);


  if (xhr && xhr.readyState !== 4) {
    xhr.abort();
}


    
    var clienteCod = document.getElementById("codCliente").value;

    if (clienteCod==""||clienteCod=="0"||clienteCod==null) {
         $(".infoConsult").html("Inserte un dato");

    }else{

        

         //alert("funciona"); 

         xhr =  $.ajax({
                url: 'includes/consultarClientesAntiguo.php',
                type: 'POST',
                data: {
                    codeConsult: clienteCod
                },
                beforeSend: function() {
                    // Muestra el mensaje de carga
                    $('.infoConsult').html('Buscando...');
                  },
                success: function(responses) {


                    timer = setTimeout(function() {
                      
                   





                    if(responses==1){
                        $(".infoConsult").html("No se ha encontrado asociado");
                    }else{

                            // Generar token combinando fecha y hora actual
                            var currentDate = new Date();
                            var token = currentDate.getFullYear() + "" + (currentDate.getMonth() + 1) + "" + currentDate.getDate() + "" + currentDate.getHours() + "" + currentDate.getMinutes() + "" + currentDate.getSeconds();

                            // Eliminar guiones y puntos del token
                            token = token.replace(/[-.]/g, '');

                            // Utilizar el token en tu código
                            $("#tokenTemporalTrans").val(token);


                        $(".infoConsult").html(responses);
                        enfocar();
                    
                        function enfocar(){
                        document.getElementById('iniciarPedido').focus();
                        }
                        
                    }

                }, 1000);

                    
                },
                error: function(status, error) {
                    console.log("doc");
                    
                },
            });
        }
    
};

//Pedido

function pedido(numeral){
var clienteFinal = document.getElementById("usuarioConsultado").value;    
var codigoFinal = document.getElementById("codigoConsultado").value;    
var barFinal = document.getElementById("barcodeConsultado").value;    
mostrarPopup()
var form = document.getElementById("formVenta");

$.ajax({


                url: 'includes/mostrarFormulario.php',
                type: 'POST',
                data: {
                    clienteRecibido: clienteFinal,
                    codiClienteRecibido: codigoFinal,
                    codBarrRecibido: barFinal,
                    productoRecibido: numeral
                },  beforeSend: function () {
                    $(".cont_intern").html("cargando...");
                    if (form) {
                        form.reset();
                      }
                      
                    
            },
                success: function(responses) {

                    if(responses==1){
                        $(".cont_intern").html("Algo ha salido mal");
                    }else{
                        $(".cont_intern").html(responses);
                        $( ".inCobro" ).focus();

                    
                    }
                },
            });

}

//funcion mostrar popup

function mostrarPopup(){
    $('#popupInicial').toggleClass('ocultar mostrar');
}



//ejecutar codigo con esc

function pressEsc(){
    var escVar = 27;

    teclaEsc=event.keyCode;

    if (teclaEsc==escVar) {
        //window.location.reload();
        
        $('.mostrar').toggleClass('ocultar mostrar');
        $('.infoConsult').html('Realice una nueva busqueda');
        document.getElementById("searchClient").reset();
        document.getElementById('codCliente').focus();
    }

}

//activar funcion ESC
window.onkeydown = pressEsc;

function borrarDatosMostrados(){

    document.getElementById("searchClient").reset();
}

var isCtrl = false,
        ctrlKey = 17,
        cmdKey = 91,
        sKey = 83,
        escVar = 27;
document.onkeyup=function(e){
if(e.which == cmdKey||e.which == ctrlKey) isCtrl=false;
}
document.onkeydown=function(e){
if(e.which == cmdKey||e.which == ctrlKey) isCtrl=true;
if(e.which == sKey && isCtrl == true) {
    borrarDatosMostrados();
    $('.mostrar').toggleClass('ocultar mostrar');
    $('.infoConsult').html('Realice una nueva busqueda');
    document.getElementById('codCliente').focus();
    return false}
}

//pagar

function pagar(){
    var nombreCliente=document.getElementById("clientConsult").value;
    var codigoCliente=document.getElementById("codigoCons").value;
    var codigoBarras=document.getElementById("barcodeCons").value;
    var codigoProducto=document.getElementById("codProdRec").value;
    var producto=document.getElementById("nombreProdCons").value;
    var categoriaProd=document.getElementById("catProdCons").value;
    var tipoProducto=document.getElementById("tipoProdCons").value;
    var subsidioProducto=document.getElementById("precioCreditRec").value;
    var valorContado=document.getElementById("precioCashRec").value;
    var tokenTemporal=document.getElementById("tokenTemporalTrans").value;

   

    if (valorContado==""||valorContado==false) {
        valorContado=0;
    }    
   if (valorContado==0&&tipoProducto=="CONTADO"||valorContado==""&&tipoProducto=="CONTADO"||valorContado=="null"&&tipoProducto=="CONTADO") {
    Swal.fire({
      icon: 'error',
      title: 'Oops...',
      text: 'El valor del producto no ha sido agregado',
    });
   }
else if (subsidioProducto==0&&tipoProducto=="CREDITO"||subsidioProducto==""&&tipoProducto=="CREDITO"||subsidioProducto==null&&tipoProducto=="CREDITO") {
   
    Swal.fire({
      icon: 'error',
      title: 'Oops...',
      text: 'El valor del producto no ha sido agregado',
    });
   }

   else{

    $.ajax({


                url: 'includes/registrarVenta.php',
                type: 'POST',
                data: {
                    cliente: nombreCliente,
                    codCliente: codigoCliente,
                    codBarras: codigoBarras,
                    codProduct: codigoProducto,
                    nombProduct: producto,
                    categoria: categoriaProd,
                    tipo: tipoProducto,
                    subsidio: subsidioProducto,
                    contado: valorContado,
                    tokenTemporal: tokenTemporal
                },
                success: function(responses) {

                    if(responses==1){
                        Swal.fire({
                              icon: 'error',
                              title: 'No se ha realizado el registro',
                              html: 'Verifique los datos y su conexión',
                            });

                    }else if (responses==3){

                        Swal.fire({
                            icon: 'warning',
                            title: 'Ya existe un registro',
                            html: 'Revise que no esté duplicando la información',
                          });


                    }else{

                        Swal.fire({
                              icon: 'success',
                              title: 'Registro Correcto',
                              html: responses,
                            }).then((result) => {
                                        if (result.isConfirmed) {
                                            
                            
                                            borrarDatosMostrados();
                                            $('.mostrar').toggleClass('ocultar mostrar');
                                            $('.infoConsult').html('Realice una nueva busqueda');
                                            document.getElementById('codCliente').focus();
                                            
                                  }
                                });


                    


                    
                    }
                },
            });

   }

    

}

//cerrar modal

$(document).ready(function(){
$(".popupUno").click(function(){
    $('.mostrar').toggleClass('ocultar mostrar');


});

$(".intPopup").click(function(e){
     e.stopPropagation();
});


});


//Actualizar BD con Excel
 function uploadContacts()
    {

        var form = new FormData($('#filesForm')[0]);
        var startTime;

        $.ajax({

            url: "actualizarSocios.php",
            type: "post",
            data : form,
            processData: false,
            contentType: false,
             beforeSend: function () {

                 // Iniciar el reloj
                 startTime = new Date().getTime();
                 clockInterval = setInterval(function() {
                var currentTime = new Date().getTime();
                var elapsedTime = currentTime - startTime;
                var seconds = Math.floor(elapsedTime / 1000);
                var minutes = Math.floor(seconds / 60);
                seconds %= 60;
                minutes %= 60;
                var timeString = minutes.toString().padStart(2, "0") + ":" + seconds.toString().padStart(2, "0");
                $(".reloj").text(timeString);
            }, 1000);

                        
                        swal.fire({
                      title: "Cargando...",
                      html: "Transcurrido <div class='reloj'></div> <br>Espere un momento",
                      imageUrl: "../img/loader.gif",
                       imageWidth: 50,

                      showConfirmButton: false,
                      allowOutsideClick: false
                    });


                },
            success: function(data) {

                var currentTime = new Date().getTime();
                var elapsedTime = currentTime - startTime;
                var seconds = Math.floor(elapsedTime / 1000);
                var minutes = Math.floor(seconds / 60);
                seconds %= 60;
                minutes %= 60;
                var timeString = minutes.toString().padStart(2, "0") + ":" + seconds.toString().padStart(2, "0");
                // Resto del código...


                clearInterval(clockInterval);


                    

               if (data==1) {
                Swal.fire({
                    icon: 'error',
                    title: 'El tipo de Archivo no es compatible',
                  });
              }

              else if(data==2) {

                Swal.fire({
                  icon: 'error',
                  title: 'Error',
                  html: 'El documento debe tener una sola hoja<br> <b>Revise y vuelva a intentarlo<b>',
                });


              } else if(data==3) {

                Swal.fire({
                  icon: 'error',
                  title: 'Datos erroneos',
                  html: 'Se ha identificado una o mas celdas vacias<br> <b>Revise y vuelva a intentarlo<b>',
                });


              }
              else{
                Swal.fire({
                  icon: 'success',
                  title: 'Tome Nota',
                  html: data + "<br>Tiempo transcurrido: " + timeString,
                });

              };
            }
        });
    };

//registrar usuarios nuevos

function regUsr()
{
var usuario = document.getElementById("user").value;    
var rol = document.getElementById("role").value;

    if (usuario==""||rol=="") {

        Swal.fire({
            icon: 'error',
            title: 'Datos Invalidos',
            text: 'Alguno delos datos está vacío',
       });


    }   else{ 

        $.ajax({


                url: 'crearUsuario.php',
                type: 'POST',
                data: {
                    usuario: usuario,
                    rol: rol
                },
                success: function(responses) {

                    if(responses==1){

                        Swal.fire({
                            icon: 'error',
                            title: 'No se ha registrado',
                            text: 'Vuelva a intentarlo',
                        });
                        }

                        else if (responses==2){
                            Swal.fire({
                                icon: 'error',
                                title: 'Usuario ya existe',
                                text: 'Vuelva a intentarlo',
                             });
                        }


                        else{
                            Swal.fire({
                                icon: 'success',
                                title: 'Usuario Creado',
                                html:   responses,
                             });
                        };
                },
            });
        }
}


function menuAdmin(idInfo,idPropio)
{
    $(".menuAdminSelec").removeClass("menuAdminSelec");
    $("#"+idPropio).addClass("menuAdminSelec");
    $(".mostrarDos").removeClass('mostrarDos');
    $("#"+idInfo).addClass('mostrarDos');
    
}

//Generar reporte
function genRep()
{
var fInicio = document.getElementById("fechaInicio").value;    
var fFinal = document.getElementById("fechaFinal").value;

    if (fInicio==""||fFinal=="") {

        Swal.fire({
            icon: 'error',
            title: 'error de rango',
            text: 'Llene los datos de rango',
       });


    }   else{ 

        $.ajax({


                url: 'consultReport.php',
                type: 'POST',
                data: {
                    fechaInicio: fInicio,
                    fechaFinal: fFinal
                },
                success: function(responses) {
                    console.log(responses);

                    if(responses==1){
                        Swal.fire({
                                title: 'Informe Generado',
                                text: 'Puede descargar el archivo',
                                html: '',

                                icon: 'success',
                                showCancelButton: true,
                                confirmButtonColor: '#3085d6',
                                cancelButtonColor: '#d33',
                                confirmButtonText: '<i class="fa-solid fa-circle-down"></i> Descargar',
                                cancelButtonText: 'Cerrar'
                                }).then((result) => {
                                    if (result.isConfirmed) {
                                            document.formReport.submit();
                                            Swal.fire(
                                            'Descargado',
                                            'Puede encontrar el archivo en sus descargas',
                                            'success'
                                )
                              }
                            });

                        
                        }

                        else{

                            Swal.fire({
                                icon: 'error',
                                title: 'Rango erroneo',
                                text: 'No se encontraron resultados en el rango de fechas',
                            });
                         
                        };
                },
            });
        }
}


//anular Transacción

function searchError()
{
var codigoEr = document.getElementById("codError").value;    
var usuario = document.getElementById("userName").value;    
var rol = document.getElementById("userRol").value;

    if (rol!="ADMIN") {

        Swal.fire({
            icon: 'error',
            title: 'Invalido',
            text: 'El usuario no tiene privilegios',
       });


    }   else{ 

        $.ajax({


                url: 'consultarError.php',
                type: 'POST',
                data: {
                    codigoEr: codigoEr,
                    usuario: usuario,
                    rol: rol
                },
                success: function(responses) {

                    if(responses==0){

                        Swal.fire({
                            icon: 'error',
                            title: 'No se han encontrado registros',
                            text: 'Vuelva a intentarlo',
                        });
                        }

                        else{
                            Swal.fire({
                                icon: 'success',
                                title: 'Datos Encontrados',
                             });

                             $("#consultaError").html(responses);
                        };
                },
            });
        }
}


function anularFun(){
    var codigoErId = document.getElementById("idTrans").value;    
    var codigoUsEr = document.getElementById("codigoAso").value;    
    var usuarioAut = document.getElementById("usrAutoriza").value;    
    var rolAut = document.getElementById("roleAutoriza").value;

    Swal.fire({
          title: 'Are you sure?',
          text: "You won't be able to revert this!",
          icon: 'warning',
          showCancelButton: true,
          confirmButtonColor: '#3085d6',
          cancelButtonColor: '#d33',
          confirmButtonText: 'Yes, delete it!'
        }).then((result) => {
          if (result.isConfirmed) {


            $.ajax({


                url: 'anularError.php',
                type: 'POST',
                data: {
                    codigoErId: codigoErId,
                    codigoUsEr: codigoUsEr,
                    usuarioAut: usuarioAut,
                    rolAut: rolAut
                },
                success: function(responses) {

                    if(responses==0){

                        Swal.fire({
                            icon: 'error',
                            title: 'No se ha borrado',
                            text: 'Vuelva a intentarlo',
                        });
                        }

                        else{
                            Swal.fire({
                                icon: 'success',
                                title: 'Borrado',
                            
                             });

                             $("#consultaError").html(responses);

                        };
                },
            });



            



          }
        })
}


//Actualizar base de datons en linea


function sincronizarBaseDatos()
{

        // Verificar y eliminar el intervalo existente si lo hay
        if (clockInterval) {
            clearInterval(clockInterval);
        }

        // Mostrar mensaje de "Actualizando datos..."
        $("#resultado").html("Actualizando datos...");

        // Iniciar el reloj
            var startTime = new Date().getTime();
            clockInterval = setInterval(function() {
                var currentTime = new Date().getTime();
                var elapsedTime = currentTime - startTime;
                var seconds = Math.floor(elapsedTime / 1000);
                var minutes = Math.floor(seconds / 60);
                seconds %= 60;
                minutes %= 60;
                var timeString = minutes.toString().padStart(2, "0") + ":" + seconds.toString().padStart(2, "0");
                $(".reloj").text(timeString);
            }, 1000);

        // Realizar la solicitud HTTP al script PHP
        $.ajax({
            url: "sincronizar.php",
            type: "POST",
            success: function(response) {
                // Detener el reloj
                clearInterval(clockInterval);

                // Mostrar la respuesta en el div de resultado
                $("#resultado").html(response);
            },
            error: function(xhr, status, error) {
                console.log(error);
            }
        });
    


};


//Actualizar Token


function registroToken(){

    var tokenCode = document.getElementById("tokenId").value; 
    
    

    if (tokenCode==""||tokenCode=="0"||tokenCode==null) {
        $("#responseToken").html("<i class='fa-solid fa-triangle-exclamation'></i>  Inserte un dato");
        
        if (clockInterval) {
           clearInterval(clockInterval);
       }
    }

       else if (tokenCode=="UNDEFINED") {
        $("#responseToken").html("<i class='fa-solid fa-triangle-exclamation'></i> Debe insertar un dato valido");
        
        if (clockInterval) {
           clearInterval(clockInterval);
       }

   }else{



    // Iniciar el reloj
    var startTime = new Date().getTime();
    clockInterval = setInterval(function() {
        var currentTime = new Date().getTime();
        var elapsedTime = currentTime - startTime;
        var seconds = Math.floor(elapsedTime / 1000);
        var minutes = Math.floor(seconds / 60);
        seconds %= 60;
        minutes %= 60;
        var timeString = minutes.toString().padStart(2, "0") + ":" + seconds.toString().padStart(2, "0");
        $(".reloj").text(timeString);
    }, 1000);




    $("#responseToken").html("Actualizanto Token...");

     // Guardar Token
     $.ajax({


        url: 'guardarToken.php',
        type: 'POST',
        data: {
            tokenCode: tokenCode
        },
        beforeSend: function(){ 
            $("#responseToken").val('Esperando Respuesta...');
        },
        success: function(responses) {

            // Detener el reloj
            clearInterval(clockInterval);

            var jsonResponse=responses;

            console.log(jsonResponse);

            var codigoRespuesta = jsonResponse.CodigoRespuesta;
            var mensajeRespuesta = jsonResponse.MensajeRespuesta;

          

            if(codigoRespuesta == 1){
                Swal.fire({
                    icon: 'warning',
                    title: 'Token Actualizado',
                 });


                $("#responseToken").html('<b>' + mensajeRespuesta + '</b><br> Ahora se encuentra activo');
                $("#tokenId").val(mensajeRespuesta);
            }else if(codigoRespuesta == 2){

                Swal.fire({
                    icon: 'error',
                    title: 'No se ha registrado el nuevo token',
                    text: 'Vuelva a intentarlo',
                });

                $("#responseToken").html('Codigo');
                
            
            }
            else if(codigoRespuesta == -1){

                Swal.fire({
                    icon: 'error',
                    title: 'Ha ocurrido un error durante la consulta',
                 });


                $("#responseToken").html('Error tk-03');

            
            }
            else if(codigoRespuesta == 11){

                Swal.fire({
                    icon: 'succes',
                    title: 'Codigo Actualizado',
                    text: mensajeRespuesta
                 });


                $("#responseToken").html('<b>' + mensajeRespuesta + '</b> Actualizado');
                $("#tokenId").val(mensajeRespuesta);
            }


        },
        error: function(status, error) {

            // Detener el reloj
            clearInterval(clockInterval);

            Swal.fire({
                icon: 'error',
                title: 'Ha ocurrido un error durante la consulta',
             });
            $("#responseToken").html('<i class="fa-solid fa-triangle-exclamation"></i>  No se ha recibido respuesta del servidor');
        },
    });

    


};

}



//ver pass


function togglePasswordVisibility() {

    console.log("ver Pass")
    var passwordInput = document.getElementById("password");
    var icon = document.getElementById("iconView");
    
    if (passwordInput.type === "password") {
      passwordInput.type = "text";
      icon.classList.remove("iconViewPass-active");
      icon.classList.add("iconViewPass-inactive");

    } else {
      passwordInput.type = "password";
      icon.classList.remove("iconViewPass-inactive");
      icon.classList.add("iconViewPass-active");

    }
  }