// Rutinas de validación del formulario
// Albert Nieto Barbas (nhur15@gmail.com)


function validarForm(f){
	
	if (f.chkLegal.checked!=true){
		alert("Debe aceptar los términos legales.");
		f.chkLegal.focus();
		return(false);
	}
	
	
	if (f.vc_nombre.value==""){
		alert("El 'nombre' es un campo requerido.");
		f.vc_nombre.focus();
		return(false);
	}
	

	if ((f.vc_genero[0].checked!=true)&&(f.vc_genero[1].checked!=true)){
		alert("El 'Género' es un campo requerido.");
		f.vc_genero[0].focus();
		return(false);
	}
	
	
	if (!validarEmail(f.vc_email.value)){
		alert("La dirección de e-mail es incorrecta.");
		f.vc_email.focus();
		return(false);
	}
	
	
	if (!validarSiNumero(f.vc_cpostal.value)){
		alert("El 'Código postal' es un campo requerido y debe ser un numero de 5 cifras.");
		f.vc_cpostal.focus();
		return(false);
	}
	
	
	f.vc_nacimiento.value = f.txtDiaNac.value + "/" + f.txtMesNac.value + "/" + f.txtAnyNac.value;	
	if (!esFecha(f.vc_nacimiento.value)) {
		alert("Introduzca una fecha correcta en el formato dd/mm/aaaa");
		return false;
	}
	
	return(true);
}



function validarEmail(valor) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
		//alert("La dirección de email " + valor + " es correcta.");
		return (true);
	} else {
		return (false);
	}
}

function validarSiNumero(numero){
	if ((!/^([0-9])*$/.test(numero))||(numero=="")){
		return false;
	}
	else{
		return true;
	}
}



function esFecha(Cadena){
	
	//Format correcte dd/mm/aaaa
	
	var Fecha= new String(Cadena)	// Crea un string
	var RealFecha= new Date()	// Para sacar la fecha de hoy
	
	
	// comprovar si té el format adecuat amb barres "/"
	
	if (Fecha.lastIndexOf("/")==-1) return false;	
	
	// Cadena Año
	var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length))
	// Cadena Mes
	var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")))
	// Cadena Día
	var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")))

	// Comprobar que no sean cadenas de texto vacías
	if ((Ano=="")||(Mes=="")||(Dia==""))
		return false;

	// Valido el año
	if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900 || parseFloat(Ano)>3000 ){
        alert('Año inválido');
		return false;
	}
	// Valido el Mes
	if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){
		alert('Mes inválido');
		return false;
	}
	// Valido el Dia
	if (isNaN(Dia) || parseFloat(Dia)<1 || parseFloat(Dia)>31){
		alert('Día inválido');
		return false;
	}
	if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
		if (Mes==2 && Dia > 28 || Dia>30) {
			alert('Día inválido');
			return false;
		}
	}
	
  return true;

}


