//Se llama desde el onKeyPress="return validarValor(event, this.value)" de la caja de texto
function validarValor(evt, valorEvaluar) {
    var bContienePunto = false;

    for(i=0; i<valorEvaluar.length; i++)
    {
        if(valorEvaluar.charAt(i) == '.')
        {
          bContienePunto = true;
        }
    }

    var nav4 = window.Event ? true : false;
	var key = nav4 ? evt.which : evt.keyCode;

        if((bContienePunto == true) && (key == 46)){
            alert('Este campo solo puede contener un punto que indica que el valor contiene decimales');
            return false;
        }
        else{
            return acceptNumEspeciales01(evt);
        }
}

function acceptNumEspeciales01(evt)
{
	// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57
	var nav4 = window.Event ? true : false;
	var key = nav4 ? evt.which : evt.keyCode;
	return (key <= 13 || (key >= 48 && key <= 57) || (key==46));
}

function validarSoloLetras(nombre, valor) {
    var checkOK = "ABCDEFGHIJKLMN\u00d1OPQRSTUVWXYZ\u00c1\u00c9\u00cd\u00d3\u00daabcdefghijklmn\u00f1opqrstuvwxyz\u00e1\u00e9\u00ed\u00f3\u00fa ";
    var checkStr = valor.value;
    var allValid = true;
    for (i = 0;  i < checkStr.length;  i++) {
        ch = checkStr.charAt(i);
        for (j = 0;  j < checkOK.length;  j++)
            if (ch == checkOK.charAt(j))
                break;
            if (j == checkOK.length) {
                allValid = false;
                break;
            }
        }
        if (!allValid) {
            alert("Escriba s\u00f3lo letras en el campo \""+nombre+"\".");
            valor.focus();
            return (false);
        }
        return true;
    }


function validarAlfaNumerico(nombre, valor) {
    var checkOK = "'\"&?%";
    var checkStr = valor.value;
    var allValid = true;
    for (i = 0;  i < checkStr.length;  i++) {
        ch = checkStr.charAt(i);
        for (j = 0;  j < checkOK.length;  j++)
            if (ch == checkOK.charAt(j)){
                allValid = false;
                break;
            }
    }
    if (!allValid) {
        alert("El campo \""+nombre+"\" no acepta los siguientes caracteres: ' & \" ? %");
        valor.focus();
        return (false);
    }
    return true;
}

function validarAlfaNumerico2(nombre, valor) {
    var checkOK = "'\"";
    var checkStr = valor.value;
    var allValid = true;
    for (i = 0;  i < checkStr.length;  i++) {
        ch = checkStr.charAt(i);
        for (j = 0;  j < checkOK.length;  j++)
            if (ch == checkOK.charAt(j)){
                allValid = false;
                break;
            }
    }
    if (!allValid) {
        alert("El campo \""+nombre+"\" no acepta los siguientes caracteres: ' \"");
        valor.focus();
        return (false);
    }
    return true;
}


function validarObligatorio(nombre, valor){
    if (valor.value.length < 1){
        alert("El campo \""+nombre+"\" es obligatorio.");
        valor.focus();
        return (false);
    }
    return true;
}

function validarTamano(nombre, valor, tamano){
    if (valor.value.length >=tamano){
        alert("El campo \""+nombre+"\" debe de tener menos de \""+tamano+"\" caracteres.");
        valor.focus();
        return (false);
    }
    return true;
}

function validarPersonalizada(nombre, valor, conjuntoChar) {
    var caracteres = "' & \" ?";
    //var checkOK = conjuntoChar;
    var checkOK = "'\"&?";
    var checkStr = valor.value;
    var allValid = true;
    for (i = 0;  i < checkStr.length;  i++) {
        ch = checkStr.charAt(i);
        for (j = 0;  j < checkOK.length;  j++)

            if (ch == checkOK.charAt(j)){
              allValid = false;
              break;
            }
        }
        if (!allValid) {
            alert("El campo \""+nombre+"\" no acepta los siguientes caracteres: " + caracteres);
            valor.focus();
            return (false);
        }
    return true;
}


function validarCorreo(nombre, valor) {
    if (valor.value.length > 0) {
        if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor.value)){
            return (true)
        }
        else {
            alert("La direcci\u00f3n de e-mail del campo \""+nombre+"\" es incorrecta.");
            valor.focus();
            return (false);
        }
    }
    return true;
}

function validarSoloNumeros(nombre, valor) {
    var checkOK = "0123456789";
    var checkStr = valor.value;
    var allValid = true;
    var decPoints = 0;
    var allNum = "";
    for (i = 0;  i < checkStr.length;  i++) {
        ch = checkStr.charAt(i);
        for (j = 0;  j < checkOK.length;  j++)
            if (ch == checkOK.charAt(j))
                break;
            if (j == checkOK.length) {
                allValid = false;
                break;
            }
            allNum += ch;
        }
        if (!allValid) {
            alert("Escriba s\u00f3lo caracteres num\u00e9ricos en el campo \""+nombre+"\".");
            valor.focus();
            return (false);
        }
        return true;
    }

function validarCorreoSinMensaje(valor) {
    if (valor.length > 0) {
        if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
            return (true)
        }
        else {
            return (false);
        }
    }
    return true;
}

function validarCorreoUsuariosMensaje(nombre, campo){
    var cuentasCorreo = campo.value;
    var variasCuentas = cuentasCorreo.split(' ', 1000);

    var bResultado;
    for(i=0; i < variasCuentas.length; i++) {
        cuentasCorreo = variasCuentas[i];
        bResultado = validarCorreoSinMensaje(cuentasCorreo);
        if (bResultado == false && cuentasCorreo.length > 0) {
            alert("Verifique el formato de las cuentas de correo del campo \""+nombre+"\". Cada direcci\u00f3n de correo debe estar separada \u00fanicamente por espacios en blanco.");
            campo.focus();
            return false;
        }
    }
    return true;
}
  
