function validarFormulario(formulario){
	var bValido = true;
	var sAlert = "";
	var bRadio


	// Validamos que la suma de Adultos y niños no sobrepase el tope de Personas para una actividad...
	
	for (i=0;i<formulario.elements.length;i++){
		bRadio = false;
		//Genero el array
		arrayTemp = formulario.elements[i].name.split("_").reverse();
		if(arrayTemp[1]){//Para que no rompa en caso de no ser un campo a validar
			switch(arrayTemp[1]){
				case "requerido":

					switch(arrayTemp[0]){
						case "texto":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+="Cumplimente el campo '"+formulario.elements[i].title+"'\n";
							}							
							break;
						case "numero":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";							
							}else{
								if(isNaN(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "El campo '"+formulario.elements[i].title+"' ha de ser numérico\n";
								}
							}
							break;
						case "email":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";						
							}else{
								if(!validarEmail(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Cumplimente correctamente el campo '"+formulario.elements[i].title+"'\n";
								}
							}						
							break;
						case "fecha":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";
							}else{
								if(!validarFecha(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Cumplimente correctamente el campo '"+formulario.elements[i].title+"'\n";
								}
							}						
							break;
						case "avisolegal":
							if(!formulario.avisoLegal.checked){
								bValido = false;
								sAlert+= "Debe aceptar la 'Política de privacidad'\n";						
							}						
							break;
						case "dni":
							DNIRegexp =/^\d{8}[A-Z]|[a-z]{1}$/;
							if(!DNIRegexp.test(formulario.elements[i].value)){
								bValido = false;
								sAlert+= "Cumplimente el correctamente el campo '"+formulario.elements[i].title+"' (p.e. 456781579X)\n";
							}						
							break;							
					}
				break;
				case "norequerido":
					switch(arrayTemp[0]){
						case "numero":
							if(formulario.elements[i].value!=""){
								if(isNaN(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "El campo "+formulario.elements[i].title+" ha de ser numérico\n";
								}
							}							
							break;
						case "email":
							if(formulario.elements[i].value!=""){
								if(!validarEmail(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Cumplimente correctamente el campo "+formulario.elements[i].title+"\n";
								}
							}
							break;
						case "fecha":
							if(formulario.elements[i].value!=""){
								if(!validarFecha(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Cumplimente correctamente el campo '"+formulario.elements[i].title+"'\n";
								}
							}						
							break;							
					}				
				break;
			}
		}
      	}
	//alert(bValido);
      	if(bValido){
      		return true;
      	}else{
      		alert('Por favor, compruebe la siguiente información para poder continuar:\n\n'+sAlert);
      		return false;
	}
}

// Valida un determinado formulario mostrando al usuario los mensajes de error en inglés.
function validarFormularioEn(formulario){
	var bValido = true;
	var sAlert = "";
	var bRadio


	// Validamos que la suma de Adultos y niños no sobrepase el tope de Personas para una actividad...
	
	for (i=0;i<formulario.elements.length;i++){
		bRadio = false;
		//Genero el array
		arrayTemp = formulario.elements[i].name.split("_").reverse();
		if(arrayTemp[1]){//Para que no rompa en caso de no ser un campo a validar
			switch(arrayTemp[1]){
				case "requerido":

					switch(arrayTemp[0]){
						case "texto":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+="Fill in the field '"+formulario.elements[i].title+"'\n";
							}							
							break;
						case "numero":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "Fill in the field '"+formulario.elements[i].title+"'\n";							
							}else{
								if(isNaN(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "The field '"+formulario.elements[i].title+"' must be numeric\n";
								}
							}
							break;
						case "email":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "Fill in the field '"+formulario.elements[i].title+"'\n";						
							}else{
								if(!validarEmail(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly\n";
								}
							}						
							break;
						case "fecha":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "Fill in the field '"+formulario.elements[i].title+"'\n";
							}else{
								if(!validarFecha(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly\n";
								}
							}						
							break;
						case "avisolegal":
							if(!formulario.avisoLegal.checked){
								bValido = false;
								sAlert+= "You must accept the 'Confidentiality Policy '\n";						
							}						
							break;
						case "dni":
							DNIRegexp =/^\d{8}[A-Z]|[a-z]{1}$/;
							if(!DNIRegexp.test(formulario.elements[i].value)){
								bValido = false;
								sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly (For example: 456781579X)\n";
							}						
							break;							
					}
				break;
				case "norequerido":
					switch(arrayTemp[0]){
						case "numero":
							if(formulario.elements[i].value!=""){
								if(isNaN(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "The field '"+formulario.elements[i].title+"' must be numeric.\n";
								}
							}							
							break;
						case "email":
							if(formulario.elements[i].value!=""){
								if(!validarEmail(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly\n";
								}
							}
							break;
						case "fecha":
							if(formulario.elements[i].value!=""){
								if(!validarFecha(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly\n";
								}
							}						
							break;							
					}				
				break;
			}
		}
      	}
	//alert(bValido);
      	if(bValido){
      		return true;
      	}else{
      		alert('Please check the following information to continue:\n\n'+sAlert);
      		return false;
	}
}


function validarEmail(addressS){
   emailRegexp = /^(.+)@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    if (emailRegexp.test(addressS))
    {
        return true;
    }
    return false;
}

function validarFecha(fecha){
	//fechaRegexp = /^(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])(\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])(\d{4}))|((29)(\.|-|\/)(02)([/])([02468][048]00))|((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9][0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9][13579][26])))+$/;

	//if (fechaRegexp.test(fecha)){
	      return true;
	  // }
      //return false;
}

function validarRegistroAreaPrivada(formulario){
	
	var bValido = true;
	var sAlert = "";
	
	for (i=0;i<formulario.elements.length;i++){
		//Genero el array
		arrayTemp = formulario.elements[i].name.split("_").reverse();
		if(arrayTemp[1]){//Para que no rompa en caso de no ser un campo a validar
			switch(arrayTemp[1]){
				case "requerido":
					switch(arrayTemp[0]){
						case "texto":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+="Cumplimente el campo '"+formulario.elements[i].title+"'\n";
							}							
							break;
						case "numero":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";							
							}else{
								if(isNaN(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "El campo '"+formulario.elements[i].title+"' ha de ser numérico\n";
								}
							}
							break;
						case "email":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";						
							}else{
								if(!validarEmail(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Cumplimente correctamente el campo '"+formulario.elements[i].title+"'\n";
								}
							}						
							break;
						case "avisoLegal":
							if(!formulario.avisoLegal.checked){
								bValido = false;
								sAlert+= "Debe aceptar la 'Política de privacidad'\n";						
							}						
							break;
					}
				break;
				case "norequerido":
					switch(arrayTemp[0]){
						case "numero":
							if(formulario.elements[i].value!=""){
								if(isNaN(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "El campo "+formulario.elements[i].title+" ha de ser numérico\n";
								}
							}							
							break;
						case "email":
							if(formulario.elements[i].value!=""){
								if(!validarEmail(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Cumplimente correctamente el campo "+formulario.elements[i].title+"\n";
								}
							}
							break;
					}				
				break;
			}
		}
      	}
		
		
	if((formulario.password.value!=formulario.passwordR.value)||(formulario.password.value==""||formulario.password.value==""))
		{
			bValido= false;
			sAlert+="Compruebe que las contraseñas sean iguales\n"
		}
      	
      	if(bValido){
      		return true;
      	}else{
      		alert('Por favor, compruebe la siguiente información para poder continuar:\n\n'+sAlert);
      		return false;
	}
}



function validarFormulario_2(formulario){
	
	var bValido = true;
	var sAlert = "";
	for (i=0;i<formulario.elements.length;i++){
		//Genero el array
		arrayTemp = formulario.elements[i].name.split("_").reverse();
		if(arrayTemp[1]){//Para que no rompa en caso de no ser un campo a validar
			switch(arrayTemp[1]){
				case "requerido":
					switch(arrayTemp[0]){
						case "texto":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+="'"+formulario.elements[i].title+"' field needed\n";
							}							
							break;
						case "numero":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "'"+formulario.elements[i].title+"' field needed\n";							
							}else{
								if(isNaN(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "'"+formulario.elements[i].title+"' field must be numerical\n";
								}
							}
							break;
						case "email":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "'"+formulario.elements[i].title+"' field needed\n";						
							}else{
								if(!validarEmail(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "'"+formulario.elements[i].title+"' field must contain a correct email \n";
								}
							}						
							break;
						case "fecha":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "'"+formulario.elements[i].title+"' field needed\n";						
							}else{
								if(!validarFecha(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "'"+formulario.elements[i].title+"' must contain a correct date\n";
								}
							}						
							break;
						case "avisolegal":
							if(!formulario.avisoLegal.checked){
								bValido = false;
								sAlert+= "You must accept the 'Privacy policy'\n";						
							}						
							break;
					}
				break;
				case "norequerido":
					switch(arrayTemp[0]){
						case "numero":
							if(formulario.elements[i].value!=""){
								if(isNaN(formulario.elements[i].value)){
									bValido = false;
									sAlert+= ""+formulario.elements[i].title+" must be numerical\n";
								}
							}							
							break;
						case "email":
							if(formulario.elements[i].value!=""){
								if(!validarEmail(formulario.elements[i].value)){
									bValido = false;
									sAlert+= ""+formulario.elements[i].title+" must contain a correct email\n";
								}
							}
							break;
						case "fecha":
							if(formulario.elements[i].value!=""){
								if(!validarFecha(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "'"+formulario.elements[i].title+"' must contain a correct date\n";
								}
							}						
							break;							
					}				
				break;
			}
		}
      	}
      	
      	if(bValido){
      		return true;
      	}else{
      		alert('Please, verify the following information before you continue:\n\n'+sAlert);
      		return false;
	}
}


function cambiarClave(formulario){
	
	var bValido = true;
	var sAlert = "";
		if(formulario.clave.value==""){
			bValido = false;
			sAlert+="Cumplimente el campo 'Contraseña'\n";
		}							
      	
		if(formulario.Rclave.value==""){
			bValido = false;
			sAlert+="Cumplimente el campo 'Repetir Contraseña'\n";
		}							
      	
		if(formulario.clave.value!=formulario.Rclave.value){
			bValido = false;
			sAlert+="'Contraseña' y 'Repetir Contraseña' debe ser iguales\n";
		}							
      	
		if(bValido){
      		return true;
      	}else{
      		alert('Por favor, compruebe la siguiente información para poder continuar:\n\n'+sAlert);
      		return false;
		}
}

function Provincias(formulario){
	if (document.getElementById('pais').selectedIndex != 'España'){
		document.getElementById('provincia').value='Fuera de España';
	}
}
function Paises(formulario){
	if (document.getElementById('provincia').selectedIndex != 'Fuera de España'){
		document.getElementById('pais').value='España';
	}
}


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function validarFormularioMaximo(formulario,maximo,minimo){
	var bValido = true;
	var sAlert = "";
	var bRadio
	var adultos = 0;
	var ninos = 0;

	// Vamos a buscar los campos que nos interesan del formulario...
	for (i=0;i<formulario.elements.length;i++)
	{
		if(formulario.elements[i].name == 'unidades')
			adultos = formulario.elements[i].value;
		
		if(formulario.elements[i].name == 'unidadesNinos')
			ninos = formulario.elements[i].value;
	}
	
	// Sumamos los valores introducidos por el usuario...
	var resultado = eval(adultos + "+" + ninos) 
	
	// Si la suma es mayor al número máximo de elementos...
	if(resultado > maximo)
	{
		sAlert+="El número máximo de personas para esta actividad es: " + maximo;
		bValido = false;
	}
	else
	{
		if(resultado < minimo)
		{
			sAlert+="El número mínimo de personas para esta actividad es: " + minimo;
			bValido = false;
		}
		else
		{
			// Validamos que la suma de Adultos y niños no sobrepase el tope de Personas para una actividad...
			
			for (i=0;i<formulario.elements.length;i++){
		
				bRadio = false;
				//Genero el array
				arrayTemp = formulario.elements[i].name.split("_").reverse();
				if(arrayTemp[1]){//Para que no rompa en caso de no ser un campo a validar
					switch(arrayTemp[1]){
						case "requerido":
							switch(arrayTemp[0]){
								case "texto":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+="Cumplimente el campo '"+formulario.elements[i].title+"'\n";
									}							
									break;
								case "numero":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";							
									}else{
										if(isNaN(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "El campo '"+formulario.elements[i].title+"' ha de ser numérico\n";
										}
									}
									break;
								case "email":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";						
									}else{
										if(!validarEmail(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Cumplimente correctamente el campo '"+formulario.elements[i].title+"'\n";
										}
									}						
									break;
								case "fecha":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";
									}else{
										if(!validarFecha(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Cumplimente correctamente el campo '"+formulario.elements[i].title+"'\n";
										}
									}						
									break;
								case "avisolegal":
									if(!formulario.avisoLegal.checked){
										bValido = false;
										sAlert+= "Debe aceptar la 'Política de privacidad'\n";						
									}						
									break;
								case "dni":
									DNIRegexp =/^\d{8}[A-Z]{1}$/;
									if(!DNIRegexp.test(formulario.elements[i].value)){
										bValido = false;
										sAlert+= "Cumplimente el correctamente el campo '"+formulario.elements[i].title+"' (p.e. 456781579X)\n";
									}						
									break;							
							}
						break;
						case "norequerido":
							switch(arrayTemp[0]){
								case "numero":
									if(formulario.elements[i].value!=""){
										if(isNaN(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "El campo "+formulario.elements[i].title+" ha de ser numérico\n";
										}
									}							
									break;
								case "email":
									if(formulario.elements[i].value!=""){
										if(!validarEmail(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Cumplimente correctamente el campo "+formulario.elements[i].title+"\n";
										}
									}
									break;
								case "fecha":
									if(formulario.elements[i].value!=""){
										if(!validarFecha(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Cumplimente correctamente el campo '"+formulario.elements[i].title+"'\n";
										}
									}						
									break;							
							}				
						break;
					}
				}
			}
		}
	}
      	if(bValido){
      		return true;
      	}else{
      		alert('Por favor, compruebe la siguiente información para poder continuar:\n\n'+sAlert);
      		return false;
	}
}

function validarFormularioMaximoEn(formulario,maximo,minimo){
	var bValido = true;
	var sAlert = "";
	var bRadio
	var adultos = 0;
	var ninos = 0;

	// Vamos a buscar los campos que nos interesan del formulario...
	for (i=0;i<formulario.elements.length;i++)
	{
		if(formulario.elements[i].name == 'unidades')
			adultos = formulario.elements[i].value;
		
		if(formulario.elements[i].name == 'unidadesNinos')
			ninos = formulario.elements[i].value;
	}
	
	// Sumamos los valores introducidos por el usuario...
	var resultado = eval(adultos + "+" + ninos) 
	
	// Si la suma es mayor al número máximo de elementos...
	if(resultado > maximo)
	{
		sAlert+="The maximum number of people for this activity is: " + maximo;
		bValido = false;
	}
	else
	{
		if(resultado < minimo)
		{
			sAlert+="The minimun number of people for this activity is: " + minimo;
			bValido = false;
		}
		else
		{
			// Validamos que la suma de Adultos y niños no sobrepase el tope de Personas para una actividad...
			
			for (i=0;i<formulario.elements.length;i++){
		
				bRadio = false;
				//Genero el array
				arrayTemp = formulario.elements[i].name.split("_").reverse();
				if(arrayTemp[1]){//Para que no rompa en caso de no ser un campo a validar
					switch(arrayTemp[1]){
						case "requerido":
							switch(arrayTemp[0]){
								case "texto":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+="Fill in the field '"+formulario.elements[i].title+"'\n";
									}							
									break;
								case "numero":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+= "Fill in the field '"+formulario.elements[i].title+"'\n";							
									}else{
										if(isNaN(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "The field '"+formulario.elements[i].title+"' must be numeric\n";
										}
									}
									break;
								case "email":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+= "Fill in the field '"+formulario.elements[i].title+"'\n";						
									}else{
										if(!validarEmail(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly\n";
										}
									}						
									break;
								case "fecha":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+= "Fill in the field '"+formulario.elements[i].title+"'\n";
									}else{
										if(!validarFecha(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly\n";
										}
									}						
									break;
								case "avisolegal":
									if(!formulario.avisoLegal.checked){
										bValido = false;
										sAlert+= "You must accept the 'Confidentiality Policy'\n";						
									}						
									break;
								case "dni":
									DNIRegexp =/^\d{8}[A-Z]{1}$/;
									if(!DNIRegexp.test(formulario.elements[i].value)){
										bValido = false;
										sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly (For example: 456781579X)\n";
									}						
									break;							
							}
						break;
						case "norequerido":
							switch(arrayTemp[0]){
								case "numero":
									if(formulario.elements[i].value!=""){
										if(isNaN(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "The field '"+formulario.elements[i].title+"' must be numeric\n";
										}
									}							
									break;
								case "email":
									if(formulario.elements[i].value!=""){
										if(!validarEmail(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly\n";
										}
									}
									break;
								case "fecha":
									if(formulario.elements[i].value!=""){
										if(!validarFecha(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly\n";
										}
									}						
									break;							
							}				
						break;
					}
				}
			}
		}
	}
      	if(bValido){
      		return true;
      	}else{
      		alert('Please check the following information to continue:\n\n'+sAlert);
      		return false;
	}
}


function validarFormularioMaximoHome(formulario){
	var bValido = true;
	var sAlert = "";
	var bRadio
	var adultos = 0;
	var ninos = 0;
	
	var maximo = formulario.iMaxP.value;
	var minimo = formulario.iMinP.value;	

	// Vamos a buscar los campos que nos interesan del formulario...
	for (i=0;i<formulario.elements.length;i++)
	{
		if(formulario.elements[i].name == 'unidades')
			adultos = formulario.elements[i].value;
		
		if(formulario.elements[i].name == 'unidadesNinos')
			ninos = formulario.elements[i].value;
	}
	
	// Sumamos los valores introducidos por el usuario...
	var resultado = eval(adultos + "+" + ninos) 
	
	// Si la suma es mayor al número máximo de elementos...
	if(resultado > maximo)
	{
		sAlert+="El número máximo de personas para esta actividad es: " + maximo;
		bValido = false;
	}
	else
	{
		if(resultado < minimo)
		{
			sAlert+="El número mínimo de personas para esta actividad es: " + minimo;
			bValido = false;
		}
		else
		{
			// Validamos que la suma de Adultos y niños no sobrepase el tope de Personas para una actividad...
			
			for (i=0;i<formulario.elements.length;i++){
		
				bRadio = false;
				//Genero el array
				arrayTemp = formulario.elements[i].name.split("_").reverse();
				if(arrayTemp[1]){//Para que no rompa en caso de no ser un campo a validar
					switch(arrayTemp[1]){
						case "requerido":
							switch(arrayTemp[0]){
								case "texto":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+="Cumplimente el campo '"+formulario.elements[i].title+"'\n";
									}							
									break;
								case "numero":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";							
									}else{
										if(isNaN(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "El campo '"+formulario.elements[i].title+"' ha de ser numérico\n";
										}
									}
									break;
								case "email":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";						
									}else{
										if(!validarEmail(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Cumplimente correctamente el campo '"+formulario.elements[i].title+"'\n";
										}
									}						
									break;
								case "fecha":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";
									}else{
										if(!validarFecha(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Cumplimente correctamente el campo '"+formulario.elements[i].title+"'\n";
										}
									}						
									break;
								case "avisolegal":
									if(!formulario.avisoLegal.checked){
										bValido = false;
										sAlert+= "Debe aceptar la 'Política de privacidad'\n";						
									}						
									break;
								case "dni":
									DNIRegexp =/^\d{8}[A-Z]{1}$/;
									if(!DNIRegexp.test(formulario.elements[i].value)){
										bValido = false;
										sAlert+= "Cumplimente el correctamente el campo '"+formulario.elements[i].title+"' (p.e. 456781579X)\n";
									}						
									break;							
							}
						break;
						case "norequerido":
							switch(arrayTemp[0]){
								case "numero":
									if(formulario.elements[i].value!=""){
										if(isNaN(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "El campo "+formulario.elements[i].title+" ha de ser numérico\n";
										}
									}							
									break;
								case "email":
									if(formulario.elements[i].value!=""){
										if(!validarEmail(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Cumplimente correctamente el campo "+formulario.elements[i].title+"\n";
										}
									}
									break;
								case "fecha":
									if(formulario.elements[i].value!=""){
										if(!validarFecha(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Cumplimente correctamente el campo '"+formulario.elements[i].title+"'\n";
										}
									}						
									break;							
							}				
						break;
					}
				}
			}
		}
	}
      	if(bValido){
      		return true;
      	}else{
      		alert('Por favor, compruebe la siguiente información para poder continuar:\n\n'+sAlert);
      		return false;
	}
}

function validarFormularioMaximoHomeEn(formulario){
	var bValido = true;
	var sAlert = "";
	var bRadio
	var adultos = 0;
	var ninos = 0;
	
	var maximo = formulario.iMaxP.value;
	var minimo = formulario.iMinP.value;	

	// Vamos a buscar los campos que nos interesan del formulario...
	for (i=0;i<formulario.elements.length;i++)
	{
		if(formulario.elements[i].name == 'unidades')
			adultos = formulario.elements[i].value;
		
		if(formulario.elements[i].name == 'unidadesNinos')
			ninos = formulario.elements[i].value;
	}
	
	// Sumamos los valores introducidos por el usuario...
	var resultado = eval(adultos + "+" + ninos) 
	
	// Si la suma es mayor al número máximo de elementos...
	if(resultado > maximo)
	{
		sAlert+="The maximum number of people for this activity is: " + maximo;
		bValido = false;
	}
	else
	{
		if(resultado < minimo)
		{
			sAlert+="The minimum number of people for this activity is: " + minimo;
			bValido = false;
		}
		else
		{
			// Validamos que la suma de Adultos y niños no sobrepase el tope de Personas para una actividad...
			
			for (i=0;i<formulario.elements.length;i++){
		
				bRadio = false;
				//Genero el array
				arrayTemp = formulario.elements[i].name.split("_").reverse();
				if(arrayTemp[1]){//Para que no rompa en caso de no ser un campo a validar
					switch(arrayTemp[1]){
						case "requerido":
							switch(arrayTemp[0]){
								case "texto":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+="Fill in the field '"+formulario.elements[i].title+"'\n";
									}							
									break;
								case "numero":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+= "Fill in the field '"+formulario.elements[i].title+"'\n";							
									}else{
										if(isNaN(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "The field '"+formulario.elements[i].title+"' must be numeric\n";
										}
									}
									break;
								case "email":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+= "Fill in the field '"+formulario.elements[i].title+"'\n";						
									}else{
										if(!validarEmail(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly\n";
										}
									}						
									break;
								case "fecha":
									if(formulario.elements[i].value==""){
										bValido = false;
										sAlert+= "Fill in the field '"+formulario.elements[i].title+"'\n";
									}else{
										if(!validarFecha(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly\n";
										}
									}						
									break;
								case "avisolegal":
									if(!formulario.avisoLegal.checked){
										bValido = false;
										sAlert+= "You must accept the 'Confidentiality Policy'\n";						
									}						
									break;
								case "dni":
									DNIRegexp =/^\d{8}[A-Z]{1}$/;
									if(!DNIRegexp.test(formulario.elements[i].value)){
										bValido = false;
										sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly (For example: 456781579X)\n";
									}						
									break;							
							}
						break;
						case "norequerido":
							switch(arrayTemp[0]){
								case "numero":
									if(formulario.elements[i].value!=""){
										if(isNaN(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "The field '"+formulario.elements[i].title+"' must be numeric\n";
										}
									}							
									break;
								case "email":
									if(formulario.elements[i].value!=""){
										if(!validarEmail(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly\n";
										}
									}
									break;
								case "fecha":
									if(formulario.elements[i].value!=""){
										if(!validarFecha(formulario.elements[i].value)){
											bValido = false;
											sAlert+= "Fill in the field '"+formulario.elements[i].title+"' correctly\n";
										}
									}						
									break;							
							}				
						break;
					}
				}
			}
		}
	}
      	if(bValido){
      		return true;
      	}else{
      		alert('Please check the following information to continue:\n\n'+sAlert);
      		return false;
	}
}