
function nullField(q) {  
    for ( i = 0; i < q.length; i++ ) {  
        if ( q.charAt(i) != " " ) {  
            return false; 
        }  
    }  
    return true;  
}  

function checkFields() {

	var i, args = checkFields.arguments, error_flag = false;
	var s_error = 'La informaci\xF3n solicitada est\xE1 incompleta o contiene errores:\t\n\n';
	var condiciones = document.getElementById('condiciones'), 
		e_condiciones = '\* Debe aceptar las condiciones de privacidad\n';
	var nombre = document.getElementById('nombre'), 
		e_nombre = '\* El campo \'Nombre\' est\xE1 vac\xEDo\n'; 
	var telefono = document.getElementById('telefono'), 
		e_telefono = '\* El campo \'Tel\xE9fono\' est\xE1 vac\xEDo\n', 
		e_telefono_inc = '\* El tel\xE9fono introducido no es v\xE1lido\n';
	var nacionalidad = document.getElementById('nacionalidad'), 
		e_nacion = '\* Debe indicar su nacionalidad\n';
	var email = document.getElementById('email');
		e_email = '\* El campo \'Email\' est\xE1 vac\xEDo\n', 
		e_email_inc = '\* El email introducido no es v\xE1lido\n'; 
		
	for(i=0; i<args.length;i=i+1) {
		var arg_actual = args[i];
		
		switch(arg_actual) {	
			
			case "nombre":		if(nullField(nombre.value) == true)	{ error_flag = true; s_error += e_nombre;  } break;
			case "apellidos":	if(nullField(apellidos.value) == true) { error_flag = true; s_error += e_apellidos; } break;			
			case "condiciones":	if(!condiciones.checked) { error_flag = true; s_error += e_condiciones; } break;
			case "curso":			if(nullField(curso.value) == true) { error_flag = true; s_error += e_curso; } break;
			case "provincia":		if(nullField(provincia.value) == true) { error_flag = true; s_error += e_provincia; } break;
			case "nacionalidad":	if(nullField(nacionalidad.value) == true) { error_flag = true; s_error += e_nacion; } break;			
			case "sexo":		if(!sexo[0].checked) {
									if(!sexo[1].checked) { error_flag = true; s_error += e_sexo; } 
								} break;
			case "telefono":	if(!nullField(telefono.value)) { 
									if(/^[9,6]{1}\d{8}$/.test(telefono.value)) {  
									} else { error_flag = true; s_error += e_telefono_inc; }  
								} else { error_flag = true; s_error += e_telefono; } break; 
			case "codigo_postal":	if(!nullField(codigo_postal.value)) { 
										if(/^\d{5}$/.test(codigo_postal.value)) { 
										} else { error_flag = true; s_error += e_codigo_postal_inc; } 	 
									} else { error_flag = true; s_error += e_codigo_postal; } break;
			case "email": 			if(!nullField(email.value)) { 
			if(/(^[0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*)@([0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,3})$/.test(email.value)) {
										} else { error_flag = true; s_error += e_email_inc; } 	 
									} else { error_flag = true; s_error += e_email; } break;
			default: break;
		}				
	}
	
	if(error_flag) {
		alert(s_error+'\n');
		return false;
	} else return true; 	
}
