// VARIABLE DEFINITIONS

digits = "1234567890";
float_chars= digits+".+-eE";
int_chars= digits + "+-";
phone_chars = digits + "()- ";
zip_chars = digits+"-";
email_chars = ".@";
alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

//Evalua los datos ingresados en el formulario de Logueo para poder ingresar solo caracteres alfa numéricos.

function ValLogueo(formulario)
{
// Usuario
var expreg = /\W/i;
var campo = formulario.usuario;

if ( campo.value == "" || expreg.test(campo.value) ){
alert("Introduzca un valor válido. Caracteres permitidos: a-z A-Z 0-9.");
campo.focus();
return false;
}

// Clave
var expreg = /\W/i;
var campo = formulario.clave;

if ( campo.value == "" || expreg.test(campo.value) )
{

alert("Introduzca un valor válido. Caracteres permitidos: a-z A-Z 0-9.");
campo.focus();
return false;
}

return true;
}


//Valida que se ingrese un número Hexa del tamaño len
//Permite espacio en blanco
function HexaString(checkString,mens,len)
{
        var message="Ingrese solo letras y números";
    newString = "";    // REVISED/CORRECTED STRING
    count = 0;         // COUNTER FOR LOOPING THROUGH STRING

        if (mens != null) message=mens;
        if (checkString == null) return null;

    // LOOP THROUGH STRING CHARACTER BY CHARACTER
    for (i = 0; i < checkString.length; i++) {
        ch = checkString.substring(i, i+1);

        // ENSURE CHARACTER IS AN ALPHA OR NUMERIC CHARACTER
        if ((ch >= "a" && ch <= "f") || (ch >= "A" && ch <= "F") || (ch >= "0" && ch <= "9"))

        {
            newString += ch;
                        // || (ch == String.fromCharCode(13)) || (ch == String.fromCharCode(10))
        }
    }

    if (((checkString != newString) || (len != checkString.length)) && (checkString.length != 0))
                return message;
    return null;
}

// Valida que el valor sea númerico
function integerCheck(val,mens,minimo,maximo) {
   var i=0, start=0;
   var message = "Ingrese un valor numerico";

   if (mens!=null) message = mens;
   if (val == null) return null;

   if (val.length==0) return null;
   if (val.length>0 && (val.charAt(0)=="+" || val.charAt(0)=="-"))
      start=1;

   for (i=start; i<val.length; i++)
      if ("0123456789".indexOf(val.charAt(i))==-1)
         return message;

   if ((maximo != null) && (minimo != null)) {
                if (parseInt(maximo) < parseInt(val)) {
                        //message = "El valor no puede ser mayor que " . maximo;
                        return message;
                }
                if (parseInt(minimo) > parseInt(val)) {
                        //message = "El valor no puede ser menor que " . minimo;
                        return message;
                }
   }

   return null;
}

function notEmptyCheck(val,mens) {
   var message="Ingrese un valor";

   if (val == null)  return null;
   if (mens!=null) message=mens;
   if (val.length==0) return message;
   return null;
}

function AlphaNumber(checkString,mens)
{
        var message="Ingrese solo letras y números";
    newString = "";    // REVISED/CORRECTED STRING
    count = 0;         // COUNTER FOR LOOPING THROUGH STRING

        if (mens != null) message=mens;
        if (checkString == null) return null;

    // LOOP THROUGH STRING CHARACTER BY CHARACTER
    for (i = 0; i < checkString.length; i++) {
        ch = checkString.substring(i, i+1);

        // ENSURE CHARACTER IS AN ALPHA OR NUMERIC CHARACTER
        if ((ch >= "a" && ch <= "z") || (ch >= "A" && ch <= "Z") ||
            (ch >= "0" && ch <= "9") || (ch == "ñ") || (ch == "Ñ") || (ch == "á")||
            (ch == "é") || (ch == "í") || (ch == "ó") || (ch == "ú") )

        {
            newString += ch;
        }
    }

    if (checkString != newString)
                return message;
    return null;
}

function ValidarValorCombo (combo, valor, mens)
{

        var message = "No puede dejar el combo con ese valor.";
        if (mens != null) message = mens;

        if (combo[combo.selectedIndex].value == valor)
                return mens;

        return null;

}

function RadioChecked (radio, mens)
{
        var message = "Debe seleccionar al menos una opción.";
        var tmp = -1;

        if (mens != null) message = mens;

        for (var i = 0; i < radio.length; i++ )
        {
                if (radio[i].checked)
                        tmp = 1;
        }

        if (tmp < 0) return mens;

        return null;

}

// Muestra un mensaje y se posiciona en el control dado
function validatePrompt(Ctrl,PromptStr)
{
     Ctrl.focus();
     Ctrl.select();
     alert(PromptStr);
}

function CheckboxChecked (checkbox, max, total)
{
        var message = "Debe seleccionar al menos " + max + " de las "+ total +" opciones.";
        var contador = 0;
        for (var i = 1; i <= total; i++ ){
             if (eval(checkbox + i).checked){
              contador = contador + 1;
             }
        }

        if (contador < max){
            return message;
        }

        return null;
}

