function EsEntero(iCampo,iTexto) {
	if (document.getElementById(iCampo).value.length>0) {
		inputStr=""+document.getElementById(iCampo).value;
		for (var i=0; i<inputStr.length; i++) {
			var oneChar=inputStr.charAt(i)
			if (i==0 && oneChar=="-") {
				continue;
			}
			if (oneChar<"0" || oneChar>"9") {
				alert("Tiene que introducir un valor numérico entero en el campo "+iTexto+".\nNo se admiten puntos ni comas.");
				document.getElementById(iCampo).focus();
				return false;
			}
		}
		return true;
	} else {
		alert("Tiene que introducir un valor numérico entero en el campo "+iTexto+".\nNo se admiten puntos ni comas.");
		document.getElementById(iCampo).focus();
		return false;
	}
}

function EsOpcEntero(iCampo,iTexto) {
	if (document.getElementById(iCampo).value.length==0) {
		return true;
	} else {
		inputStr=""+document.getElementById(iCampo).value;
		for (var i=0; i<inputStr.length; i++) {
			var oneChar=inputStr.charAt(i)
			if (i==0 && oneChar=="-") {
				continue;
			}
			if (oneChar<"0" || oneChar>"9") {
				alert("Tiene que introducir un valor numérico entero en el campo "+iTexto+".\nNo e admiten puntos ni comas.");
				document.getElementById(iCampo).focus();
				return false;
			}
		}
		return true;
	}
}

function EsNulo(iCampo,iTexto) {
	if (document.getElementById(iCampo).value.length==0) {
		alert("Tiene que introducir un valor en el campo "+iTexto);
		document.getElementById(iCampo).focus();
		return true;
	} else {
		return false;
	}
}

function EsVacio(iCampo) {
	if (document.getElementById(iCampo).value.length==0) {
		return true;
	} else {
		return false;
	}
}

function EsOpcion(iCampo,iTexto) {
	var radio = 0;
	campo = eval('document.dat.'+iCampo);
	for(var i=0;i<campo.length;i++) {
		if(campo[i].checked==true) {
			radio=radio+1;
		}
	}
	if(radio>0) {
		return true;
	} else {
		alert("Debe elegir una opción en el campo "+iTexto);
		document.getElementById(iCampo+"1").focus();
		return false;
	}
}

function privEntero(iCampo) {
	if (document.getElementById(iCampo).value.length>0) {
		inputStr=""+document.getElementById(iCampo).value;
		for (var i=0; i<inputStr.length; i++) {
			var oneChar=inputStr.charAt(i)
			if (i==0 && oneChar=="-") {
				continue;
			}
			if (oneChar<"0" || oneChar>"9") {
				return false;
			}
		}
		return true;
	} else {
		return false;
	}
}

function validar() {
	if (document.getElementById("comunidad").value == "0") {
		alert("Debe seleccionar su Comunidad Autónoma (0)");
		document.getElementById("comunidad").focus();
		return false;
	}
	// bloque A
	if(EsNulo("aActividad","Actividad (1)")) { return false; }
	if(!EsEntero("aPlantilla","Plantilla (2)")) { return false; }
	if(!EsEntero("aFundacion","Año de fundación (3)")) { return false; }
	if(!EsOpcion("aSector","Sector Productivo (4)")) { return false; }
	if(!EsOpcion("aAmbito","Ambito de actuación (5)")) { return false; }
	
	// bloque B
	if(!EsEntero("bFacturacion2006","Facturación 2006 (6)")) { return false; }
	if(!EsOpcion("bFondo2006","Fondo de Educación 2006 (7)")) { return false; }
	if(document.getElementById("bFondo20061").checked) {
		if(!EsEntero("bImporte2006","Fondo de Educación 2006 (7)")) { return false; }
	}
	if(!EsEntero("bFacturacion2007","Facturación 2007 (8)")) { return false; }
	if(!EsOpcion("bFondo2007","Fondo de Educación 2007 (9)")) { return false; }
	if(document.getElementById("bFondo20071").checked) {
		if(!EsEntero("bImporte2007","Fondo de Educación 2007 (9)")) { return false; }
	}
	if(EsVacio("bCliente1") && EsVacio("bCliente2") && EsVacio("bCliente3") && EsVacio("bCliente4")) {
		alert("Indique al menos un porcentaje en el tipo de clientes de la cooperativa (10)");
		document.getElementById("bCliente1").focus();
		return false;
	}
	if(!EsOpcEntero("bCliente1","Cliente: Administración y entidades dependientes (10)")) { return false; }
	if(!EsOpcEntero("bCliente2","Cliente: Empresas privadas y dstribuidores (10)")) { return false; }
	if(!EsOpcEntero("bCliente3","Cliente: Venta al público, clientes privados (10)")) { return false; }
	if(!EsOpcEntero("bCliente4","Cliente: Otras entidades (10)")) { return false; }
	if(sumaclientes()==false) {
		alert("La suma de los porcentajes de los clientes debe ser igual a 100 (10)");
		document.getElementById("bCliente1").focus();
		return false;
	}
	if(!EsOpcion("bRegimenSS","Régimen de la Seguridad Social (11)")) { return false; }
	if(!EsOpcEntero("bParcialsocios","Trabajadores a tiempo partial, socios (12)")) { return false; }
	if(!EsOpcEntero("bParcialnosocios","Trabajadores a tiempo parcial, no socios (12)")) { return false; }
	if(!EsEntero("bCostes2007","Costes salariales de 2007 (13)")) { return false; }

	// bloque C
	if(!EsEntero("cTotal","Número total de trabajadores (14)")) { return false; }
	if(!EsOpcEntero("cIndefinidos","Socios indefinidos (15)")) { return false; }
	if(!EsOpcEntero("cDeterminada","Socios de duración determinada (15)")) { return false; }
	if(!EsOpcEntero("cFijos","No socios fijos (16)")) { return false; }
	if(!EsOpcEntero("cTemporales","No socios temporales (16)")) { return false; }
	if(!EsOpcEntero("cOtros","Otros trabajadores (17)")) { return false; }
	if(!EsOpcEntero("cD1","Directivos socios (18)")) { return false; }
	if(!EsOpcEntero("cD2","Directivos contratados (18)")) { return false; }
	if(!EsOpcEntero("cD3","Directivos otros (18)")) { return false; }
	if(!EsOpcEntero("cM1","Mandos socios (18)")) { return false; }
	if(!EsOpcEntero("cM2","Mandos contratados (18)")) { return false; }
	if(!EsOpcEntero("cM3","Mandos otros (18)")) { return false; }
	if(!EsOpcEntero("cA1","Administración socios (18)")) { return false; }
	if(!EsOpcEntero("cA2","Administración contratados (18)")) { return false; }
	if(!EsOpcEntero("cA3","Administración otros (18)")) { return false; }
	if(!EsOpcEntero("cC1","Trab. cualificados socios (18)")) { return false; }
	if(!EsOpcEntero("cC2","Trab. cualificados contratados (18)")) { return false; }
	if(!EsOpcEntero("cC3","Trab. cualificados otros (18)")) { return false; }
	if(!EsOpcEntero("cN1","Trab. no cualificados socios (18)")) { return false; }
	if(!EsOpcEntero("cN2","Trab. no cualificados contratados (18)")) { return false; }
	if(!EsOpcEntero("cN3","Trab. no cualificados otros (18)")) { return false; }

	// bloque D
	if(!EsOpcEntero("dIncorp2006","Incorporaciones 2006 (19)")) { return false; }
	if(!EsOpcEntero("dIncorp2007","Incorporaciones 2007 (19)")) { return false; }
	if(!EsOpcEntero("dIncorpsocios","Incorporaciones socios (19)")) { return false; }
	if(!EsOpcEntero("dIncorpfijos","Incorporaciones fijos (19)")) { return false; }
	if(!EsOpcEntero("dIncorptemporales","Incorporaciones temporales (19)")) { return false; }
	if(!EsOpcion("dFormacion","Actividades de formación realizadas (20)")) { return false; }
	if(!EsOpcion("dReticencias","Reticencias para acudir a cursos (21)")) { return false; }
	if(!EsOpcion("dExisten","Existen planes específicos (22)")) {
		return false;
	} else {
		if(document.getElementById("dExisten0").checked) {
			if(!EsOpcion("dIntencion","Intención de planes de formación (23)")) { return false; }
		}
	}
	if(!EsOpcEntero("dMujersocia","Mujeres socias (24)")) { return false; }
	if(!EsOpcEntero("dMujerfija","Mujeres fijas (24)")) { return false; }
	if(!EsOpcEntero("dMujertemporal","Mujeres temporales (24)")) { return false; }
	if(!EsOpcEntero("dMujerotra","Mujeres otras (24)")) { return false; }

	if(document.getElementById("dFormacion1").checked==true) {
		// bloque E
		if(!EsOpcEntero("eSocios","Socios que han participado en cursos de formación (25)")) { return false; }
		if(!EsOpcEntero("eSocias","Socias que han participado en cursos de formación (25)")) { return false; }
		if(!EsOpcEntero("eNosocios","No socios que han participado en cursos de formación (25)")) { return false; }
		if(!EsOpcEntero("eNosocias","No socias que han participado en cursos de formación (25)")) { return false; }
		if(!EsOpcion("eCambios","Cambios en la organización (26)")) { return false; }
		if(!EsOpcion("eProductividad","Aumento de productividad (27)")) { return false; }
		if(!EsOpcion("eReal","Se han utilizado realmente los conocimientos (28)")) { return false; }
		if(!EsOpcion("ePeriodo","Periodicidad de los cursos (29)")) { return false; }

		// bloque F
		if(document.getElementById("fInformatica").checked==false && document.getElementById("fCooperativas").checked==false && document.getElementById("fGestion").checked==false && document.getElementById("fCalidad").checked==false && document.getElementById("fGeneral").checked==false && document.getElementById("fEspecifico").checked==false && document.getElementById("fPrevencion").checked==false && document.getElementById("fOtros").checked==false) {
			alert("Debe marcar al menos una casilla en el tipo de formación (30)");
			document.getElementById("fInformatica").focus();
			return false;
		}
		if(document.getElementById("fDirectivos").checked==false && document.getElementById("fTecnicos").checked==false && document.getElementById("fAdministrativos").checked==false && document.getElementById("fCualificados").checked==false && document.getElementById("fNocualificados").checked==false) {
			alert("Debe marcar al menos una casilla en las categorías del personal (31)");
			document.getElementById("fDirectivos").focus();
			return false;
		}
		if(!EsOpcion("fAdecuados","Los contenidos son adecuados (32)")) { return false; }
		if(document.getElementById("fpGestion").checked==false && document.getElementById("fpLegislacion").checked==false && document.getElementById("fpEconomia").checked==false && document.getElementById("fpProduccion").checked==false && document.getElementById("fpComercial").checked==false && document.getElementById("fpRse").checked==false && document.getElementById("fpInformatica").checked==false && document.getElementById("fpGestioncoop").checked==false && document.getElementById("fpEspecifico").value.length==0) {
			alert("Debe marcar al menos una casilla en Cursos para el próximo año (33)");
			document.getElementById("fpGestion").focus();
			return false;
		}
		if(document.getElementById("fRecpropios").checked==false && document.getElementById("fRectrabajadores").checked==false && document.getElementById("fRecpublicos").checked==false && document.getElementById("fRecotros").checked==false) {
			alert("Debe marcar al menos una casilla en el tipo de financiación de los cursos (34)");
			document.getElementById("fRecpropios").focus();
			return false;
		}
	}

	// bloqueG
	if(!EsOpcion("gDistancia","Ha realizado algún curso a distancia (35)")) { return false; }
	if (document.getElementById("gDistancia1").checked==true) {
		if(document.getElementById("gEficaz1").checked==false && document.getElementById("gEficaz2").checked==false && document.getElementById("gEficaz3").checked==false && document.getElementById("gEficaz4").checked==false && document.getElementById("gEficaz5").checked==false) {
			alert("Debe elegir una opción en la fila Eficaz/Ineficaz (37)");
			document.getElementById("gEficaz3").focus();
			return false;
		}
		if(document.getElementById("gAdecuada1").checked==false && document.getElementById("gAdecuada2").checked==false && document.getElementById("gAdecuada3").checked==false && document.getElementById("gAdecuada4").checked==false && document.getElementById("gAdecuada5").checked==false) {
			alert("Debe elegir una opción en la fila Adecuada/Inadecuada (37)");
			document.getElementById("gAdecuada3").focus();
			return false;
		}
		if(document.getElementById("gSuficiente1").checked==false && document.getElementById("gSuficiente2").checked==false && document.getElementById("gSuficiente3").checked==false && document.getElementById("gSuficiente4").checked==false && document.getElementById("gSuficiente5").checked==false) {
			alert("Debe elegir una opción en la fila Suficiente/Insuficiente (37)");
			document.getElementById("gSuficiente3").focus();
			return false;
		}
		if(document.getElementById("gSatisfactoria1").checked==false && document.getElementById("gSatisfactoria2").checked==false && document.getElementById("gSatisfactoria3").checked==false && document.getElementById("gSatisfactoria4").checked==false && document.getElementById("gSatisfactoria5").checked==false) {
			alert("Debe elegir una opción en la fila Satisfactoria/Insatisfactoria (37)");
			document.getElementById("gSatisfactoria3").focus();
			return false;
		}
		if(document.getElementById("gUtil1").checked==false && document.getElementById("gUtil2").checked==false && document.getElementById("gUtil3").checked==false && document.getElementById("gUtil4").checked==false && document.getElementById("gUtil5").checked==false) {
			alert("Debe elegir una opción en la fila Util/Inútil (37)");
			document.getElementById("gUtil3").focus();
			return false;
		}
		if(document.getElementById("gSencilla1").checked==false && document.getElementById("gSencilla2").checked==false && document.getElementById("gSencilla3").checked==false && document.getElementById("gSencilla4").checked==false && document.getElementById("gSencilla5").checked==false) {
			alert("Debe elegir una opción en la fila Sencilla/Compleja (37)");
			document.getElementById("gSencilla3").focus();
			return false;
		}
		if(document.getElementById("gAccesible1").checked==false && document.getElementById("gAccesible2").checked==false && document.getElementById("gAccesible3").checked==false && document.getElementById("gAccesible4").checked==false && document.getElementById("gAccesible5").checked==false) {
			alert("Debe elegir una opción en la fila Accesible/Inaccesible (37)");
			document.getElementById("gAccesible3").focus();
			return false;
		}
		if(document.getElementById("gInteresante1").checked==false && document.getElementById("gInteresante2").checked==false && document.getElementById("gInteresante3").checked==false && document.getElementById("gInteresante4").checked==false && document.getElementById("gInteresante5").checked==false) {
			alert("Debe elegir una opción en la fila Interesante/Aburrida (37)");
			document.getElementById("gInteresante3").focus();
			return false;
		}
		if(document.getElementById("gRecomendable1").checked==false && document.getElementById("gRecomendable2").checked==false && document.getElementById("gRecomendable3").checked==false && document.getElementById("gRecomendable4").checked==false && document.getElementById("gRecomendable5").checked==false) {
			alert("Debe elegir una opción en la fila Recomendable/No recomendable (37)");
			document.getElementById("gRecomendable3").focus();
			return false;
		}
		if(document.getElementById("gComoda1").checked==false && document.getElementById("gComoda2").checked==false && document.getElementById("gComoda3").checked==false && document.getElementById("gComoda4").checked==false && document.getElementById("gComoda5").checked==false) {
			alert("Debe elegir una opción en la fila Cómoda/Incómoda (37)");
			document.getElementById("gComoda3").focus();
			return false;
		}
		if(document.getElementById("gConcreta1").checked==false && document.getElementById("gConcreta2").checked==false && document.getElementById("gConcreta3").checked==false && document.getElementById("gConcreta4").checked==false && document.getElementById("gConcreta5").checked==false) {
			alert("Debe elegir una opción en la fila Concreta/Genérica (37)");
			document.getElementById("gConcreta3").focus();
			return false;
		}
		if(document.getElementById("gAgradable1").checked==false && document.getElementById("gAgradable2").checked==false && document.getElementById("gAgradable3").checked==false && document.getElementById("gAgradable4").checked==false && document.getElementById("gAgradable5").checked==false) {
			alert("Debe elegir una opción en la fila Agradable/Desagradable (37)");
			document.getElementById("gAgradable3").focus();
			return false;
		}
		if(document.getElementById("gAplicable1").checked==false && document.getElementById("gAplicable2").checked==false && document.getElementById("gAplicable3").checked==false && document.getElementById("gAplicable4").checked==false && document.getElementById("gAplicable5").checked==false) {
			alert("Debe elegir una opción en la fila Aplicable/Inaplicable (37)");
			document.getElementById("gAplicable3").focus();
			return false;
		}
		if(document.getElementById("gFlexible1").checked==false && document.getElementById("gFlexible2").checked==false && document.getElementById("gFlexible3").checked==false && document.getElementById("gFlexible4").checked==false && document.getElementById("gFlexible5").checked==false) {
			alert("Debe elegir una opción en la fila Flexible/Inflexible (37)");
			document.getElementById("gFlexible3").focus();
			return false;
		}
		if(document.getElementById("gEspecializada1").checked==false && document.getElementById("gEspecializada2").checked==false && document.getElementById("gEspecializada3").checked==false && document.getElementById("gEspecializada4").checked==false && document.getElementById("gEspecializada5").checked==false) {
			alert("Debe elegir una opción en la fila Especializada/Básica (37)");
			document.getElementById("gEspecializada3").focus();
			return false;
		}
		if(document.getElementById("gActiva1").checked==false && document.getElementById("gActiva2").checked==false && document.getElementById("gActiva3").checked==false && document.getElementById("gActiva4").checked==false && document.getElementById("gActiva5").checked==false) {
			alert("Debe elegir una opción en la fila Activa/Pasiva (37)");
			document.getElementById("gActiva3").focus();
			return false;
		}
		if(document.getElementById("gImaginativa1").checked==false && document.getElementById("gImaginativa2").checked==false && document.getElementById("gImaginativa3").checked==false && document.getElementById("gImaginativa4").checked==false && document.getElementById("gImaginativa5").checked==false) {
			alert("Debe elegir una opción en la fila Imaginativa/Convencional (37)");
			document.getElementById("gImaginativa3").focus();
			return false;
		}
		if(document.getElementById("gRapida1").checked==false && document.getElementById("gRapida2").checked==false && document.getElementById("gRapida3").checked==false && document.getElementById("gRapida4").checked==false && document.getElementById("gRapida5").checked==false) {
			alert("Debe elegir una opción en la fila Rápida/Lenta (37)");
			document.getElementById("gRapida3").focus();
			return false;
		}
	}

	if (dispPrompt()==true) {
		return true;
	} else {
		alert("Código incorrecto. Por favor, vuelva a intentarlo pulsando de nuevo el botón 'enviar datos'.");
		return false;
	}

}

function dispPrompt() {
	var dispMensaje = prompt("Por favor, introduzca el código que le mostramos a continuación:\n"+codigo);
	if(dispMensaje==codigo) {
		return true;
	} else {
		return false;
	}
}

function showfondo(dato) {
	document.getElementById("importefondo"+dato).style.display = 'inline';
}

function hidefondo(dato) {
	document.getElementById("importefondo"+dato).style.display = 'none';
}

function showformacion(dato) {
	document.getElementById("formacion1").style.display = 'inline';
	document.getElementById("formacion0").style.display = 'none';
	document.getElementById("bloquesEF").style.display = 'inline';
}

function hideformacion(dato) {
	document.getElementById("formacion1").style.display = 'none';
	document.getElementById("formacion0").style.display = 'inline';
	document.getElementById("bloquesEF").style.display = 'none';
}

function disintencion(dato) {
	if(dato==1) {
		document.getElementById("dIntencion1").disabled=true;
		document.getElementById("dIntencion0").disabled=true;
	} else {
		document.getElementById("dIntencion1").disabled=false;
		document.getElementById("dIntencion0").disabled=false;
	}
}

function sumasocios() {
	var ssocios = 0;
	var ssocias = 0;
	if(privEntero("eSocios")) {
		ssocios = parseInt(document.getElementById("eSocios").value,10);
	}
	if(privEntero("eSocias")) {
		ssocias = parseInt(document.getElementById("eSocias").value,10);
	}
	document.getElementById("eTotal1").value = parseInt(ssocios)+parseInt(ssocias);
}

function sumanosocios() {
	var nsocios = 0;
	var nsocias = 0;
	if(privEntero("eNosocios")) {
		nsocios = parseInt(document.getElementById("eNosocios").value,10);
	}
	if(privEntero("eNosocias")) {
		nsocias = parseInt(document.getElementById("eNosocias").value,10);
	}
	document.getElementById("eTotal2").value = parseInt(nsocios)+parseInt(nsocias);
}

function sumaclientes() {
	var nclientes1 = 0;
	var nclientes2 = 0;
	var nclientes3 = 0;
	var nclientes4 = 0;
	if(privEntero("bCliente1")) {
		nclientes1 = parseInt(document.getElementById("bCliente1").value,10);
	}
	if(privEntero("bCliente2")) {
		nclientes2 = parseInt(document.getElementById("bCliente2").value,10);
	}
	if(privEntero("bCliente3")) {
		nclientes3 = parseInt(document.getElementById("bCliente3").value,10);
	}
	if(privEntero("bCliente4")) {
		nclientes4 = parseInt(document.getElementById("bCliente4").value,10);
	}
	var totClientes = parseInt(nclientes1)+parseInt(nclientes2)+parseInt(nclientes3)+parseInt(nclientes4);
	if(totClientes!=100) {
		return false;
	} else {
		return true;
	}
}