function evaluar(obligatori, espai, tipus) {
	this.obligatori = obligatori;
	this.espai = espai;
	this.tipus = tipus;
}
var avisar;

function corregir() {
	var acabar = false;
	var i = 0;
	while (i < valor.length && acabar == false) {
		if(valor[i].obligatori == "o" || document.form1.elements[i].value != "") {
			avisar = "Información de la casilla:\n-----------------------------------------------\n\n";
			if(valor[i].obligatori == "o") {
				avisar = avisar + "- Campo '" + document.form1.elements[i].name + "' obligatorio.\n";
				}
			var cadena = document.form1.elements[i].value; 		//## retorna el contingut de la casella
			var llargcadena = cadena.length;  			//## mira la llargada del contingut de la casella
			var blanc = false;
			var sortir = false;
			var x = 0;
			if(llargcadena != 0) { 					//## mira si la cadena esta buida
//## mira si pot tenir espais
		   	    if (valor[i].espai == "ne") {
				while (x < llargcadena && sortir == false) {    //## comprova que a la casella no hi hagui espais en blanc; pero si ke deixa ke l´ultim caracter sigui un espai en blanc
					if (cadena.charAt(x) == " ") {
						blanc = true;
						sortir = true;
					if(cadena.charAt(0) != " ") {if (x == (llargcadena - 1) && cadena.charAt(x) == " ") { blanc = false; }}
					};
					x++;
				};
				if (blanc) { avisar = avisar + "- No puede contener espacios.\n"; acabar = true;}
		   	   }
//## COMPROVACIÓ QUE SIGUI SOLS CARACTERS
			      if(valor[i].tipus != "mx") {
				if(valor[i].tipus == "c") {
					var lletra = false;
					var y = 0;
					sortir = false;
					while (y < llargcadena && sortir == false) {
						if (!isNaN(parseInt(cadena.charAt(y)))) {
							lletra = true;
							sortir = true;
						}
						y++
					}
					if (lletra) { avisar = avisar + "- No puede contener números.\n"; acabar = true;}
				}
//## COMPORVACIÓ QUE SOLS SIGUI NUMEROS
				if(valor[i].tipus == "n") {
					var numero = false;
					var z = 0;
					sortir = false;
					while (z < llargcadena && sortir == false) {
						if (isNaN(parseInt(cadena.charAt(z)))) {
							numero = true;
							sortir = true;
						}
						z++
					}
					if (numero) { avisar = avisar + "- No puede contener letras.\n"; acabar = true;}
				}
//## COMPROVACIÓ QUE L´EMAIL ESTIGUI CORRECTE.				
				if(valor[i].tipus == "m") {
					var email = false;
					var carc1 = cadena.indexOf('@');
					var carc2 = cadena.indexOf('.');
					if(carc1 == -1 || carc2 == -1) {
						email = true;
					}
					else {
						if(carc1 < 1) {
							email = true;
						}
						else {
							var ps = carc1 + 2
							if(carc2 < ps) {
								email = true;
							}
							else { 
								if(cadena.charAt((carc2 + 2)) == "") {
									email = true;
								}
							}
						}
					}
						if (email) { avisar = avisar + "- La dirección electrónica no tiene un formato correcto.\n"; acabar = true;}
				}
			    }

				if(blanc == true || lletra == true || numero == true || email == true) { alert(avisar); document.form1.elements[i].select(); }
			}
			else { alert(avisar); acabar = true; document.form1.elements[i].select();}				//## Avisa si esta Buida

		}


		i++;
	}
if(acabar == false) { document.form1.submit()}
}