/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

var matriculas = [];
var bloqueo = 0;


$("#cveCtl").keyup(function (e) {
    var cveCtl = this.value;
    if (e.keyCode == 13) {
//traerInfo(cveCtl);
        $("#cveCtl").val("");
        apilar(cveCtl);
        $("#cveCtl").focus();
    }
});
function validar() {
    var cveCtl = $("#cveCtl").val();
    if (cveCtl != "") {
        //traerInfo(cveCtl);
        $("#cveCtl").val("");
        apilar(cveCtl);
        $("#cveCtl").focus();
    }
}

function apilar(cveCtl) {
    /**
     * banderaApilar => 1 :: NO PUEDE APILAR
     * banderaApilar => 0 :: SE PUEDE APILAR
     */

    var banderaApilar = 0;
    for (i = 0; i <= matriculas.length; i++) {
        if (matriculas[i] == cveCtl) {
            banderaApilar = 1;
            break;
        } else {
            banderaApilar = 0;
        }
    }

    if (banderaApilar == 0) {
        matriculas.push(cveCtl);
        mostrarMatriculas();
    } else if (banderaApilar == 1) {
// NO HACE NADA
        mostrarMatriculas();
    }
}

function mostrarMatriculas() {
    console.log(matriculas);
    var texto = "";
    for (i = 0; i < matriculas.length; i++) {
        //matriculas[i];
        texto = texto + '<div class="col-lg-12">' +
                '<div class="panel panel-info" style="margin-bottom: 10px;">' +
                '<p style="text-align: center;font-weight: bold;font-size: x-large;margin-bottom: 0px;">' + matriculas[i] + '</p>' +
                '</div>' +
                '</div>';
    }

    document.getElementById('array-matriculas').innerHTML = texto;
}

function traerInfo(cveCtl) {
    $.ajax({
        // la URL para la petición
        url: '/ControlCeepam/web/app_dev.php/acceso',
        // la información a enviar
        // (también es posible utilizar una cadena de datos)
        data: {cveCtl: cveCtl},
        // especifica si será una petición POST o GET
        type: 'POST',
        // el tipo de información que se espera de respuesta
        dataType: 'html',
        // código a ejecutar si la petición es satisfactoria;
        // la respuesta es pasada como argumento a la función
        beforeSend: function () {
            $("#gifDetalles").show();
            document.getElementById("contenedor-acceso").innerHTML = "";
            document.getElementById("contenedor-acceso").innerHTML = '<i class="fa fa-spin fa-spinner"></i><strong> validando...</strong>';
        },
        success: function (respuesta) {
            //alert("Correcto");
            document.getElementById("contenedor-acceso").innerHTML = respuesta;
            $("#cveCtl").val("");
            $("#cveCtl").focus();
            bloqueo = 0;
        },
        // código a ejecutar si la petición falla;
        // son pasados como argumentos a la función
        // el objeto de la petición en crudo y código de estatus de la petición
        error: function (xhr, status) {
            alert('Disculpe, existió un problema');
            bloqueo = 0;
        },

        // código a ejecutar sin importar si la petición falló o no
        complete: function (xhr, status) {
            //alert('Petición realizada');
        }
    });
}


var cont = 0;
function contador() {
    $("#cveCtl").focus();
    cont++;
    if (bloqueo == 0) { // SI PUEDE PROCESAR UNA MATRICULA
        if (matriculas.length > 0) { // DEBE EXISTIR UNA MATRICULA PARA VALIDAR EN EL ARRAY
            bloqueo = 1;
            var matriculaParaValidar = matriculas[0];
            matriculas.shift();
            mostrarMatriculas();
            traerInfo(matriculaParaValidar);
        } else {
            document.getElementById("array-matriculas").innerHTML = "ESPERANDO..." + cont;
        }

    } else if (bloqueo == 1) { // NO PUEDE VALIDAR MATRICULA, YA QUE ACTUALMENTE SE ESTÁ VALIDANDO UNA

    }

}

setInterval('contador()', 1000);