
//*****************************************************************************************
//Nombre función: VACIO
//Descripción: Comprueba si un campo está vacío
//Parámetros: campo - path javascript hasta llegar al campo
//Resultado: true si el campo está vacío
//           false si el campo está informado
//*****************************************************************************************

function vacio(campo)
{
    cadena = new String(eval(campo + ".value"));
    if (cadena.length == 0)
    {
        return true;
    }
    return false;
}

//*****************************************************************************************
//Nombre función: OBLIGATORIO
//Descripción: Comprueba si un campo es obligatorio o no, mostrando el error correspondiente
//Parámetros: campo - path javascript hasta llegar al campo
//            nombre_campo - nombre que se mostrará en los mensajes de error
//Resultado: true si el campo es obligatorio y no está lleno
//           false si el campo está informado
//*****************************************************************************************

function obligatorio(campo, nombre_campo)
{
    cadena = new String(eval(campo + ".value"));
    if (cadena.length == 0)
    {
        alert("El campo " + nombre_campo + " es obligatorio");
        eval(campo + ".select()");
        return true;
    }else if(eval(campo + ".value") == undefined)
    {
        alert("El campo " + nombre_campo + " es obligatorio");
        eval(campo + ".select()");
        return true;
    }
    return false;
}
function obligatorio2(campo, campo1, nombre_campo)
{
    cadena = new String(eval(campo + ".value"));
    cadena1 = new String(eval(campo1 + ".value"));

    if (cadena.length == 0 && cadena1.length == 0)
    {
        alert("El campo " + nombre_campo + " es obligatorio");
        eval(campo + ".select()");
        eval(campo1 + ".select()");
        return true;

    }
    else if(eval(campo + ".value") == undefined && eval(campo1 + ".value") == undefined)
    {
        alert("El campo " + nombre_campo + " es obligatorio");
        eval(campo + ".select()");
        eval(campo1 + ".select()");
        return true;
    }
    return false;
}
//*****************************************************************************************
//Nombre función: SUPERA
//Descripción: Comprueba si un campo supera el límite estipulado en longitud
//Parámetros: campo - path javascript hasta llegar al campo
//            maximo - límite de caracteres establecido
//            nombre_campo - nombre que se mostrará en los mensajes de error
//Resultado: true si el campo supera el límite
//           false si el campo no supera el límite
//*****************************************************************************************

function supera(campo, maximo, nombre_campo)
{
    cadena = new String(eval(campo + ".value"));
    if (cadena.length > maximo)
    {
        alert("El campo " + nombre_campo + " no puede tener más de " + maximo + " caracteres");
        eval(campo + ".select()");
        return true;
    }
    return false;   
}

//*****************************************************************************************
//Nombre función: NO_ALCANZA
//Descripción: Comprueba si un campo alcanza un mínimo estipulado en longitud
//Parámetros: campo - path javascript hasta llegar al campo
//            minimo - unmbral mínimo de caracteres establecido
//            nombre_campo - nombre que se mostrará en los mensajes de error
//Resultado: true si el campo no alcanza el mínimo
//           false si el campo alcanza el mínimo
//*****************************************************************************************

function no_alcanza(campo, minimo, nombre_campo)
{
    cadena = new String(eval(campo + ".value"));
    if (cadena.length < minimo)
    {
        alert("El campo " + nombre_campo + " ha tener como mínimo " + minimo + " caracteres");
        eval(campo + ".select()");
        return true;
    }
    return false;   
}
    

//*****************************************************************************************
//Nombre función: ESEMAIL
//Descripción: Comprueba si un string se corresponde a una dirección email válida
//Parámetros: campo - path javascript hasta llegar al campo
//            nombre_campo - nombre que se mostrará en los mensajes de error
//Resultado: true si el campo es válido como email
//           false si el campo no es válido como email
//*****************************************************************************************

function esemail(campo, nombre_campo)
{
    str = new String(eval(campo+".value"));
    // are regular expressions supported?
    var supported = 0;
    if (window.RegExp) {
        var tempStr = "a";
        var tempReg = new RegExp(tempStr);
        if (tempReg.test(tempStr)) supported = 1;
    }
    if (!supported) return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
    var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
    var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
    if (!r1.test(str) && r2.test(str))
    {
        return true;
    } else {
        alert("El formato de mail del campo " + nombre_campo + " no es válido");
        eval(campo + ".select()");
        return false;
    }
}


//*****************************************************************************************
//Nombre función: UNO_MARCADO
//Descripción: Comprueba si un check o radio tienen por lo menos una opcion marcada
//Parámetros: formulario: nombre del formulario
//            campo - path javascript hasta llegar al campo
//            alerta - nombre del campo para el alert
//Resultado: true por lo menos tiene uno marcado
//           false si no tiene ninguno marcado
//*****************************************************************************************

function uno_marcado(formulario, campo, alerta){
    limite = eval("document." + formulario + "." + campo + ".length")
    uno_seleccionado = false;
    for (i=0;i<limite;i++){
        if (eval("document." + formulario + "." + campo + "[" + i + "].checked")){
            i=limite;
            uno_seleccionado = true;
        }
    }
    if (!uno_seleccionado){
        alert ("Debes seleccionar como mínimo una opción de " + alerta)
    }
    
    return uno_seleccionado;
}   
