function atras(pag){
		
	if(validate_edad()!="menor") pag--;

	switch (pag){
		case 2: 			
			var layer = document.getElementById("paso1");
			document.getElementById("paso2").style.display="none";	
			document.getElementById("paso3").style.display="none";	
			document.getElementById("paso4").style.display="none";						
			layer.style.display="block";		
			break;		
		case 3: 
			var layer = document.getElementById("paso2");
			document.getElementById("paso3").style.display="none";	
			document.getElementById("paso4").style.display="none";					
			layer.style.display="block";		
			break;		
		case 4: 				
			var layer = document.getElementById("paso3");
			document.getElementById("paso2").style.display="none";
			document.getElementById("paso4").style.display="none";						
			layer.style.display="block";		
			break;		
	}
}
	
	

// funciones de validaci?n de los campos
function check_empty(text) {
	return ((text.length > 0)&&(text!="-1")); 
}

//valida campo email
function checkEmail() {
	var valor = document.verActividadPublicaForm.txtEmail.value;
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
		return (true);
	} else {
		return (false);
	}
}

//hay algun campo seleccionado
function validateSelected(form) {

	validity = true;

	var frm = form;
	var count = countCheckedValues(frm.txtSexo);

	if (count == 0) {
		return false;
	}
	return true;
}

//cuenta los campos seleccionados
function countCheckedValues(ctrl) {
	count = 0;
	if (ctrl.length != undefined)
	{
		for(i=0;i<ctrl.length; i++)
			if (ctrl[i].checked) count++;
		}
	else{
		if (ctrl.checked)
		count = 1;
	}
	return count;
}


/** Funciones para validar fecha **/
function esDigito(sChr){
	var sCod = sChr.charCodeAt(0);
	return ((sCod > 47) && (sCod < 58));
}

function valSep(oTxt){
	var bOk = false;
	bOk = bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-"));
	bOk = bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/"));
	return bOk;
}

function finMes(oTxt){
	var nMes = parseInt(oTxt.value.substr(3, 2), 10);
	var nRes = 0;
	switch (nMes){ 
		case 1: nRes = 31; break;
		case 2: nRes = 29; break;
		case 3: nRes = 31; break;
		case 4: nRes = 30; break;
		case 5: nRes = 31; break;
		case 6: nRes = 30; break;
		case 7: nRes = 31; break;
		case 8: nRes = 31; break;
		case 9: nRes = 30; break;
		case 10: nRes = 31; break;
		case 11: nRes = 30; break;
		case 12: nRes = 31; break;
	}
	return nRes;
}

function valDia(oTxt){
	var bOk = false;
	var nDia = parseInt(oTxt.value.substr(0, 2), 10);
	bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
	return bOk;
}

function valMes(oTxt){
	var bOk = false;
	var nMes = parseInt(oTxt.value.substr(3, 2), 10);
	bOk = bOk || ((nMes >= 1) && (nMes <= 12));
	return bOk;
}

function valAno(oTxt){
	var bOk = true;
	var nAno = oTxt.value.substr(6);
	bOk = bOk && (nAno.length == 4);
	if (bOk){
		for (var i = 0; i < nAno.length; i++){
			bOk = bOk && esDigito(nAno.charAt(i));
		}
	}
	return bOk;
}

function valFecha(oTxt){
	var bOk = true;
	if (oTxt.value != ""){
		bOk = bOk && (valAno(oTxt));
		bOk = bOk && (valMes(oTxt));
		bOk = bOk && (+valDia(oTxt));
		bOk = bOk && (valSep(oTxt));
		if (!bOk){
			alert("Fecha incorrecta");
			oTxt.value = "";
			oTxt.focus();
		}
	}
	return bOk;
}
function validate_edad()
{
	var fecha = window.document.verActividadPublicaForm.txtFechaNac.value;
	var edad = calcular_edad(fecha);

	if (edad< 18){
		return "menor";
	}else{
		return "mayor";
	}
}


	function esMenorEdad()
	{
		var fecha = window.document.inscripcionForm.fechaNacimiento.value;
		
		var edad = calcular_edad(fecha);

		if (!edad)
		{
			alert('Debe introducir una fecha de nacimiento correcta');
			window.document.inscripcionForm.fechaNacimiento.focus();
			validity = false;
			return false;
		}
		else
		{
			return edad < 18;
		}
	}
	
	function calcular_edad(fecha)
	{
		fecha = fecha.replace('/','-');
		fecha = fecha.replace('/','-');
	    //calculo la fecha de hoy
	    hoy=new Date()
	    
	  //  alert(hoy)
	
	    //calculo la fecha que recibo
	    //La descompongo en un array
	    var array_fecha = fecha.split("-")
	    //si el array no tiene tres partes, la fecha es incorrecta
	    if (array_fecha.length!=3)
	       return false
	
	    //compruebo que los ano, mes, dia son correctos
	    var ano
	    if (!validarEntero(array_fecha[2]))
	    	return false;
	    ano = parseInt(array_fecha[2]);
	  //  alert(ano);
	    if (isNaN(ano))
	       return false
	
	    var mes
	    if (!validarEntero(array_fecha[1]))
	    	return false;
	    mes = parseInt(array_fecha[1]);
	   // alert(mes);
	    if (isNaN(mes))
	       return false
	
	    var dia
	    if (!validarEntero(array_fecha[0]))
	    	return false;
	    dia = parseInt(array_fecha[0]);
	    if (isNaN(dia))
	       return false
	
	
	    //si el a?o de la fecha que recibo solo tiene 2 cifras hay que cambiarlo a 4
	    if (ano<=99)
	       ano +=1900
	
	    //resto los a?os de las dos fechas
	    edad=hoy.getFullYear()- ano - 1; //-1 porque no se si ha cumplido a?os ya este a?o
	    //alert("Ano: "+ano +"hoy: "+ hoy.getFullYear());
	//alert(edad);
	    //si resto los meses y me da menor que 0 entonces no ha cumplido a?os. Si da mayor si ha cumplido
	    if (hoy.getMonth() + 1 - mes < 0) //+ 1 porque los meses empiezan en 0
	       return edad
	    if (hoy.getMonth() + 1 - mes > 0)
	       return edad+1
	
	    //entonces es que eran iguales. miro los dias
	    //si resto los dias y me da menor que 0 entonces no ha cumplido a?os. Si da mayor o igual si ha cumplido
	    if (hoy.getUTCDate() - dia >= 0)
	       return edad + 1
	
	    return edad
	} 	

function validarEntero(valor)
{
	if (valor!=""){
    //intento convertir a entero.
    //si era un entero no le afecta, si no lo era lo intenta convertir
	
    //Compruebo si es un valor num?rico
    if (isNaN(valor) || valor.indexOf('.') > 0 || valor.indexOf(',') > 0) {
       //entonces (no es numero) devuelvo el valor cadena vacia
       return "";
    }else{
       //En caso contrario (Si era un n?mero) devuelvo el valor
       return valor;
    }
    }
    else return true;
}

function textArea(frm)
{
	if (frm.txtVacunas.value.length>0){
		if (frm.txtVacunas.value.length<=500);
		else {(alert("El texto vacunas es demasiado largo"));return false;}
	}
	if (frm.txtAlergias.value.length>0){
		if (frm.txtAlergias.value.length<=500);
		else {(alert("El texto alergias es demasiado largo"));return false;}
	}
	if (frm.txtPropenso.value.length>0){
		if (frm.txtPropenso.value.length<=500);
		else {(alert("El texto propenso es demasiado largo"));return false;}
	}
	if (frm.txtMedicacion.value.length>0){
		if (frm.txtMedicacion.value.length<=500);
		else {(alert("El texto medicaci\xF3n es demasiado largo"));return false;}
	}
	if (frm.txtOtrosDtMed.value.length>0){
		if (frm.txtOtrosDtMed.value.length<=500);
		else {(alert("El texto otros datos m\xE9dicos es demasiado largo"));return false;}
	}
	return true;
}

function validaPaso1(frm){
	if (check_empty(frm.txtNombre.value)&&check_empty(frm.txtApellidos.value)&&validateSelected(frm)&&check_empty(frm.txtFechaNac.value));
	else {alert("Debe rellenar todos los campos obligatorios");return false;}									

	if (valFecha(frm.txtFechaNac));
	else return false;  
	
	if (validarEntero(frm.txtPeso.value));
	else {alert("Peso incorrecto");return false;}  
	
	if (validarEntero(frm.txtAltura.value));
	else {alert("Altura incorrecta");return false;}  

	if (textArea(frm)) return true;
	else return false;
}

function validaPaso3(frm){
	if (check_empty(document.forms[0].txtDireccion.value)
		&&check_empty(document.forms[0].txtCP.value)
		&&check_empty(document.forms[0].txtPoblacion.value)
		&&check_empty(document.forms[0].txtLocalidad.value)
		&&(check_empty(document.forms[0].txtTelefono.value)||check_empty(document.forms[0].txtMovil.value)));
	else {alert("Debe rellenar todos los campos obligatorios");return false;}									
	
	if (validarEntero(frm.txtCP.value));
	else {alert("C\xF3digo postal incorrecto");return false;}  
	
	if (validarEntero(frm.txtTelefono.value))
	{
		if(frm.txtEmail.value==""){
				return true;
			}else{
			;
			}
	}else {alert("Tel\xE9fono incorrecto");return false;}  
	
	if (validarEntero(frm.txtMovil.value))
		{
			if(frm.txtEmail.value==""){
				return true;
			}else{
			;
			}
		}else{
			alert("Movil incorrecto");
			return false;
		}
 

	if(frm.txtEmail.value!=""){
		if (checkEmail(frm.txtEmail.value)) {
			return true;
		}else {
			alert("Email incorrecto");
			return false;
		}
	}else{
		return true;
	}
}
	
// Inscripcion de actividades

function envia(valor,info,pag){	
	    switch (pag){
			case 2: 				
				if (validaPaso1(document.forms[0])){
					
					if(validate_edad()=="menor"){				
						var layer = document.getElementById("paso2");
						document.getElementById("paso1").style.display="none";
						layer.style.display="block";
						document.getElementById("contenedor").focus()
						document.forms[0].txtNombreTutor.focus();
					}else{
						if(document.verActividadPublicaForm.txtDni.value==""){
							alert("Debe introducir su Dni al ser mayor de edad");
							document.verActividadPublicaForm.txtDni.focus();
						}else{
							var layer = document.getElementById("paso3");
							document.getElementById("paso1").style.display="none";
							layer.style.display="block";
							document.getElementById("contenedor").focus()
							document.forms[0].txtDireccion.focus();
						}
						
						// borramos los datos del paso 2
						document.forms[0].txtDniTutor.value = "";
						document.forms[0].txtParentesco.value = "";
						document.forms[0].txtNombreTutor.value = "";
						document.forms[0].txtApellidosTutor.value = "";
					}
				}		
				break;		
			case 3: 
				if (check_empty(document.forms[0].txtNombreTutor.value)&&check_empty(document.forms[0].txtApellidosTutor.value)&&check_empty(document.forms[0].txtParentesco.value)&&check_empty(document.forms[0].txtDniTutor.value)){
						var layer = document.getElementById("paso3");
						document.getElementById("paso2").style.display="none";						
						layer.style.display="block";
						document.getElementById("contenedor").focus()
						document.forms[0].txtDireccion.focus();
					}
				else alert("Debes rellenar todos los campos obligatorios");break;
			case 4: 				
				if (validaPaso3(document.forms[0])){
						var layer = document.getElementById("paso4");
						document.getElementById("paso3").style.display="none";						
						layer.style.display="block";
				}
				break;
		}
	}
	
	function muestraInscripcion(){	
		var layer = document.getElementById("inscripcion");
		
		if(document.forms[0].categoriaSeleccionada.value == ""){
			document.getElementById("infoInscripcion").style.display="none";			
			document.getElementById("paso1").style.display="block";
			layer.style.display="block";
		}else{
			layer.style.display="none";
			document.getElementById("infoInscripcion").style.display="none";
		}
	}
	
	function muestraInscripcionPaso4(paso){	
		document.getElementById("paso1").style.display="none";
		var layer = document.getElementById("inscripcion");
		document.getElementById("infoInscripcion").style.display="none";			
		if (paso=="4") document.getElementById("paso4").style.display="block";
		else document.getElementById("paso5").style.display="block";
		layer.style.display="block";					
	}
