
//*****************************************************************************************
//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;
	}
	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 más de " + 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;
	}
}

