function checkForm(){

	var args, numArgs, descError='Han ocurrido los siguientes errores:\n\n', tipoError, nombreCampo, valorCampo;

	//metemos en la variable 'args' los argumentos de la función
	args = checkForm.arguments;
	//y en 'numArgs' metemos el número de argumentos
	numArgs = args.length;
	
	//Con el 'for' recorremos los pares de valores y tratamos los posibles errores
	for (i=0; i<numArgs; i+=2){
		tipoError = args[i];
		nombreCampo = args[i+1];

		valorCampo = document.getElementById(nombreCampo).value;
		
		switch(tipoError){
			case 'ob':
				if (valorCampo==''){
					descError += "- Es obligatorio rellenar el campo '" + nombreCampo + "'\n"
				}
				break;
			case 'num':
				valorCampo=parseFloat(valorCampo)
				
				if(isNaN(valorCampo)){
					descError += "- El campo '" + nombreCampo + "' debe contener un número.\n"
				}
				break;			
			case 'email':
				if( valorCampo!='' && (valorCampo.indexOf('@')==-1 || valorCampo.indexOf('@')==0 || valorCampo.indexOf('@')==valorCampo.length-1) ){
					descError += "- El campo '" + nombreCampo + "' debe contener una dirección de correo electrónico.\n"
				}
				break;
			case 'dni':
				/* validamos el DNI */
					var tipodoc;
					var dato = valorCampo;
					while (dato.indexOf("-") != -1) {
						guion = dato.indexOf("-");
						dato = dato.substr(0,guion) + dato.substr(guion+1);
					}
					dato = dato.toUpperCase();
					var regex1 = /^(\d{8})(([a-zA-Z]{1})$)/; //NIF
					var regex2 = /^((X|T|x|t){1})(\d{7})([a-zA-Z]{1}$)/; //NIE
					var letra='TRWAGMYFPDXBNJZSQVHLCKET';
					if (regex1.test(dato)) { //si es nif
						//if (document.getElementById('tipodoc') != null) {document.getElementById('tipodoc').value = 1;}
						var numero = dato.substr(0,dato.length-1);
					} else if (regex2.test(dato)) { //si es nie
						//if (document.getElementById('tipodoc') != null) {document.getElementById('tipodoc').value = 2;}
						var numero = dato.substr(1,dato.length-1);
					} else {
						descError += "- El campo '" + nombreCampo + "' debe contener un DNI correcto.\n"	
					}
					var let = dato.substr(dato.length-1,1);
					numero = numero % 23;
					letra=letra.substring(numero,numero+1);
					if (letra!=let) {
						descError += "- El campo '" + nombreCampo + "' tiene un número identificativo incorrecto.\n"						
					}				
				break
		}//end_switch		
	}//end_for
	

	if (descError!='Han ocurrido los siguientes errores:\n\n'){
		alert(descError);
	}else{
		document.formulario.submit();
	}

}//end_checkForm

