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 camp " + nombre + " és obligatori. Si us plau introdueixi un número enter.");
				Resultado = false;
				return;
			}
		}
		if(er_entero.test(eval("document." + formu + "." + elemento + ".value"))==false)
		{
			alert("Format del camp " + nombre + " erroni. Si us palu introdueixi un número enter.");
			Resultado = false;
			return;
		}
	}

	if(tipo=="real")
	{
		if(oblig==true)
		{
			if(eval("document." + formu + "." + elemento + ".value")=="")
			{
				alert("El camp " + nombre + " és obligatori. Si us plau introdueixi un número real.");
				Resultado = false;
				return;
			}
		}
		if(er_real.test(eval("document." + formu + "." + elemento + ".value"))==false)
		{
			alert("Format del camp " + nombre + " erroni. Si us plau introdueixi un número real");
			Resultado = false;
			return;
		}
	}

	if(tipo=="telefono")
	{
		if(oblig==true)
		{
			if(eval("document." + formu + "." + elemento + ".value")=="")
			{
				alert("El camp " + nombre + " és obligatori. Si us plau introdueixi un número de telèfon.");
				Resultado = false;
				return;
			}
		}
		if(er_telefono.test(eval("document." + formu + "." + elemento + ".value"))==false)
		{
			alert("Format del camp " + nombre + " erroni. Si us plau introdueixi un número de telèfon.");
			Resultado = false;
			return;
		}
	}
	
	if(tipo=="email")
	{
		if(oblig==true)
		{
			if(eval("document." + formu + "." + elemento + ".value")=="")
			{
				alert("El camp " + nombre + " és obligatori. Si us plau introdueixi un email.");
				Resultado = false;
				return;
			}
		}
		if(er_email.test(eval("document." + formu + "." + elemento + ".value"))==false)
		{
			alert("Format del camp " + nombre + " erroni. Si us plau introdueixi un email correcte.");
			Resultado = false;
			return;
		}
	}
	
	if(tipo=="fecha")
	{
		if(oblig==true)
		{
			if(eval("document." + formu + "." + elemento + ".value")=="")
			{
				alert("El camp " + nombre + " és obligatori. Si us plau introdueixi una data amb el format dd/mm/aaaa.");
				Resultado = false;
				return;
			}
		}
		if(er_fecha.test(eval("document." + formu + "." + elemento + ".value"))==false)
		{
			alert("Format del camp " + nombre + " erroni. Si us plau introdueixi una data amb el format 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 camp " + nombre + " és obligatori. Si us plau introdueixi una cadena alfanumèrica.");
				Resultado = false;
				return;
			}
		}
	}

	if(tipo=="directorio")
	{
		if(oblig==true)
		{
			if(eval("document." + formu + "." + elemento + ".value")=="")
			{
				alert("El camp " + nombre + " és obligatori. Si us plau introdueixi una cadena alfanumèrica sense caràcters especials.");
				Resultado = false;
				return;
			}
		}
		if(er_directorio.test(eval("document." + formu + "." + elemento + ".value"))==false)
		{
			alert("Format del camp " + nombre + " erroni. Si us plau introdueixi una cadena alfanumèrica sense caràcters especials.");
			Resultado = false;
			return;
		}
	}

	if(tipo=="url")
	{
		if(oblig==true)
		{
			if(eval("document." + formu + "." + elemento + ".value")=="")
			{
				alert("El camp " + nombre + " és obligatori. Si us plau introdueixi una data amb el format dd/mm/aaaa.");
				Resultado = false;
				return;
			}
		}
		if((eval("document." + formu + "." + elemento + ".value")!="")&&(eval("document." + formu + "." + elemento + ".value.indexOf('http://')")!=0))
		{
			alert("El camp " + nombre + " té un format incorrecte. Si us plau introdueixi una URL vàlida. ( http:// ... )");
			Resultado = false;
			return;
		}
	}
	
}