function checkForm(theForm) {
		
		var resultado = true;
		var primer_error="";

		theForm = document.getElementById(theForm);
		
		// array con los campos a validar, la clave es la id del campo el valor la función que usaremos
		var campos = { 
						'centro': 'isEmpty',
						'direccion': 'isEmpty', 
						'cp': 'checkNumero', 
						'poblacion': 'isEmpty', 
						'provincia': 'checkDropdown',
						'c_autonoma': 'checkDropdown',
						'telefono': 'checkPhone',
						'fax': 'checkPhone',
						'email': 'checkEmail',
						'responsable_proyecto': 'isEmpty',
						'movil_responsable': 'checkPhone',
						'email_responsable': 'checkEmail',
						'metodologia_formacion': 'isEmpty',
						'fundamentacion': 'isEmpty',
						'objetivos_generales': 'isEmpty',
						'objetivos_especificos': 'isEmpty',
						'metas_proyecto': 'isEmpty',
						'metodologia_actividades_tareas': 'isEmpty',
						'tecnicas_instrumentos': 'isEmpty',
						'duracion_proyecto': 'isEmpty',
						'indicadores_evaluacion': 'isEmpty',
						'recursos_materiales': 'isEmpty',
						'recursos_tecnicos': 'isEmpty',
						'recursos_financieros': 'isEmpty',
						'recursos_humanos': 'isEmpty',
						'recursos_institucionales': 'isEmpty',
						'prevision_impacto': 'isEmpty',
						'horas_formacion_diarias': 'checkNumero',
						'horas_libre_acceso_diarias': 'checkNumero',
						'barreras_arquitectonicas': 'checkDropdown',
						'n_usuarios': 'checkNumero',
						'n_usuarios_proyecto': 'checkNumero',
						'n_pc_solicitados': 'checkNumero',
						'conexion_velocidad': 'isEmpty',
						'conexion_cia': 'isEmpty',
						'instalaciones_switch': 'checkDropdown',
						'otros_profesionales_num': 'checkNumero',
						'otros_voluntarios_num': 'checkNumero',
						'otros_usuarios_num': 'checkNumero'
					};
 		
			
			for (var i in campos) { 
				
				valor = document.getElementById(i).value;
				id = "'" + valor + "'";
				fcall = campos[i] + "(" +  id + ',' + "'" + i + "'" + ");";
				span = "l" + i;
				
				e = eval(fcall);
				// Si la validación devuleve error
				if( e != ""){
					if(primer_error=="") primer_error= i; // Si es el primer error de validación lo almaceno aqui para luego enviarle
					
					document.getElementById(span).style.background = "";
					document.getElementById(span).style.color = "#FF0000";
					document.getElementById(span).innerHTML = e;
				}
				else
				{
					document.getElementById(span).style.background = "lightgreen";
					document.getElementById(span).style.color = "#FFFFFF";
					document.getElementById(span).innerHTML = "Campo correcto";
				}
			}
			
		// Elegir al menos un CHECKBOX
		
		/****** GRUPOS DE CAMPOS DE LOS QUE DEBE SELECCIONARSE AL MENOS UNO ******/
		
		var lambito = 'zona_pueblo,zona_barrio,zona_ciudad,zona_provincia';
		var lformacion = 'objetivos_formacion_alfabetizacion_digital,objetivos_formacion_uso_internet,objetivos_formacion_ofimatica,objetivos_formacion_orientacion_laboral,objetivos_formacion_educativas,objetivos_formacion_terapeutica';
		var linfluencia = 'is_habilidades_sociales,is_autonomia_personal,is_relaciones_sociales,is_entorno_referencia,is_habilidades_busqueda_empleo,is_tratamiento_terapeutico';
		var lso = 'so_linux,so_windows';
		var ldificultades = 'dificultades_fisicas,dificultades_auditivas,dificultades_visuales,dificultades_psiquicas,dificultades_educativas,dificultades_linguisticas,dificultades_culturales,dificultades_socioeconomicas,dificultades_geograficas';
		var linfrastuctura = 'infra_local,infra_piso,infra_edificio,infra_centro';
		var lconexion = 'conexion_adsl_router,conexion_adsl_modem,conexion_tarifa,conexion_rdsi,conexion_no';
		
		
		// Array donde las claves son las id donde poner los mensajes de error y los valores los campos separados por comas para hacerlos después un array via SPLIT
		var checkbox = new Array ();
		
			checkbox['lambito'] = lambito;
			checkbox['lformacion'] = lformacion;
			checkbox['linfluencia'] = linfluencia;
			checkbox['lso'] = lso;
			checkbox['ldificultades'] = ldificultades;
			checkbox['linfrastuctura'] = linfrastuctura;
			checkbox['lconexion'] = lconexion;
			

		for (var i in checkbox) { 
		
		e = checkCajas(checkbox[i].split(","));
		span = i;
			
			if( e != "") {
				
				if(primer_error == "") primer_error = i;
				
				document.getElementById(span).style.background = "";
				document.getElementById(span).style.color = "#FF0000";
				document.getElementById(span).innerHTML = e;

			}
			else {
				document.getElementById(span).style.background = "lightgreen";
				document.getElementById(span).style.color = "#FFFFFF";
				document.getElementById(span).innerHTML = "Campo correcto";
			}
		}
		
		// Grupos de Campos que deben sumar 100
		
		var ldestinatarios = 'colectivo_mayores,colectivo_discapacitados_fisicos,colectivo_discapacitados_psiquicos,colectivo_discapacitados_sensoriales';
		
		var sumas = new Array();
			sumas['ldestinatarios'] = ldestinatarios;
		
		for (var i in sumas) { 
		
		e = suma100(sumas[i].split(","),0);
		span = i;
			
			if( e != "") {
				
				if(primer_error == "") primer_error = i;
				
				document.getElementById(span).style.background = "";
				document.getElementById(span).style.color = "#FF0000";
				document.getElementById(span).innerHTML = e;

			}
			else {
				document.getElementById(span).style.background = "lightgreen";
				document.getElementById(span).style.color = "#FFFFFF";
				document.getElementById(span).innerHTML = "Campo correcto";
			}
		}
			

if(primer_error.length != 0){
	resultado = false;
	document.getElementById(primer_error).focus();
}
return resultado;
}