function validarFormulario(formulario){
	var bValido = true;
	var sAlert = "";
	var bRadio
	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 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;
		}
}