var Resultado = true;
var formu = "form1";

function NombreFormulario(nombre)
{
	formu = nombre;
}

function ValidaTextArea(elemento, maxlen)
{
	str = eval("document." + formu + "." + elemento + ".value");
	if(str.length > --maxlen) 	eval("document." + formu + "." + elemento + ".value = str.slice(0, maxlen)");
}

function Valida(elemento,tipo,nombre,oblig)
{
	var er_alfabetico=/(^([a-z]|[A-Z]|á|é|í|ó|ú|ü|à|è|ò| |ñ|ç|Ñ|Ç|')+)$/
	var er_directorio=/(^([a-z]|[A-Z]|á|é|í|ó|ú|ü|à|è|ò| |ñ|ç|Ñ|Ç)+)$/
	var er_email=/^([a-z]|[A-Z]|[0-9]|_|-|.)+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/	
	var er_telefono=/(^([0-9\+-])+)$/
	var er_fecha=/(^([0-9]{1,2}\/[0-9]{1,2}\/[0-9]{2,4}))$/
	var er_entero=/(^([0-9]+))$/
	var er_real=/(^([0-9\.,]+))$/
	
	if(Resultado==false) return;
	
	if(tipo=="entero")
	{
		if(oblig==true)
		{
			if(eval("document." + formu + "." + elemento + ".value")=="")
			{
				alert("El campo " + nombre + " es obligatorio. Por favor introduzca un número entero.");
				Resultado = false;
				return;
			}
		}
		if(er_entero.test(eval("document." + formu + "." + elemento + ".value"))==false)
		{
			alert("Formato del campo " + nombre + " erroneo. Por favor introduzca un número entero");
			Resultado = false;
			return;
		}
	}

	if(tipo=="real")
	{
		if(oblig==true)
		{
			if(eval("document." + formu + "." + elemento + ".value")=="")
			{
				alert("El campo " + nombre + " es obligatorio. Por favor introduzca un número real.");
				Resultado = false;
				return;
			}
		}
		if(er_real.test(eval("document." + formu + "." + elemento + ".value"))==false)
		{
			alert("Formato del campo " + nombre + " erroneo. Por favor introduzca una número real");
			Resultado = false;
			return;
		}
	}

	if(tipo=="telefono")
	{
		if(oblig==true)
		{
			if(eval("document." + formu + "." + elemento + ".value")=="")
			{
				alert("El campo " + nombre + " es obligatorio. Por favor introduzca un número de teléfono.");
				Resultado = false;
				return;
			}
		}
		if(er_telefono.test(eval("document." + formu + "." + elemento + ".value"))==false)
		{
			alert("Formato del campo " + nombre + " erroneo. Por favor introduzca una número de teléfono.");
			Resultado = false;
			return;
		}
	}
	
	if(tipo=="email")
	{
		if(oblig==true)
		{
			if(eval("document." + formu + "." + elemento + ".value")=="")
			{
				alert("El campo " + nombre + " es obligatorio. Por favor introduzca un email.");
				Resultado = false;
				return;
			}
		}
		if(er_email.test(eval("document." + formu + "." + elemento + ".value"))==false)
		{
			alert("Formato del campo " + nombre + " erroneo. Por favor introduzca un email correcto.");
			Resultado = false;
			return;
		}
	}
	
	if(tipo=="fecha")
	{
		if(oblig==true)
		{
			if(eval("document." + formu + "." + elemento + ".value")=="")
			{
				alert("El campo " + nombre + " es obligatorio. Por favor introduzca una fecha con el formato dd/mm/aaaa.");
				Resultado = false;
				return;
			}
		}
		if(er_fecha.test(eval("document." + formu + "." + elemento + ".value"))==false)
		{
			alert("Formato del campo " + nombre + " erroneo. Por favor introduzca una fecha con el formato dd/mm/aaaa.");
			Resultado = false;
			return;
		}
	}
	
	if(tipo=="cadena")
	{
		if(oblig==true)
		{
			if((eval("document." + formu + "." + elemento + ".value")=="")||((eval("document." + formu + "." + elemento + ".value.indexOf(' ')")==0)))
			{
				alert("El campo " + nombre + " es obligatorio. Por favor introduzca una cadena alfanumérica.");
				Resultado = false;
				alert("validator: " + Resultado);
				return;
			}
		}
	}

	if(tipo=="directorio")
	{
		if(oblig==true)
		{
			if(eval("document." + formu + "." + elemento + ".value")=="")
			{
				alert("El campo " + nombre + " es obligatorio. Por favor introduzca una cadena alfanumérica sin carácteres especiales.");
				Resultado = false;
				return;
			}
		}
		if(er_directorio.test(eval("document." + formu + "." + elemento + ".value"))==false)
		{
			alert("Formato del campo " + nombre + " erroneo. Por favor introduzca una cadena alfanumérica sin carácteres especiales.");
			Resultado = false;
			return;
		}
	}

	if(tipo=="url")
	{
		if(oblig==true)
		{
			if(eval("document." + formu + "." + elemento + ".value")=="")
			{
				alert("El campo " + nombre + " es obligatorio. Por favor introduzca una fecha con el formato dd/mm/aaaa.");
				Resultado = false;
				return;
			}
		}
		if((eval("document." + formu + "." + elemento + ".value")!="")&&(eval("document." + formu + "." + elemento + ".value.indexOf('http://')")!=0))
		{
			alert("El campo " + nombre + " tiene un formato incorrecto. Por favor introduzca una URL valida. ( http:// ... )");
			Resultado = false;
			return;
		}
	}
	
}
