function validacion() {
	if ( document.formulario.nombre.value != "" && document.formulario.apellidos.value != "" && document.formulario.fecha.value != "" && document.formulario.dni.value != "" && document.formulario.provincia.value != "" && document.formulario.ciudad.value != "" && document.formulario.email.value != "" && document.formulario.grupo.value != "" )
	{
		if (validar_email(document.formulario.email.value) && validar_dni(document.formulario.dni.value) && validar_fecha(document.formulario.dia.value,document.formulario.mes.value,document.formulario.ano.value) && validar_area())
			return true;
		else
			return false;
	}
	else
	{
		document.formulario.nombre.focus();
		window.alert('Rellena todos los campos antes de enviar');
		return false;
	}
}

function validar_area() {
	if (document.formulario.codArea.selectedIndex != "0")
		return true;
	else {
                document.formulario.codArea.focus();
                window.alert('Debes elegir un area de interes');
                return false;
	}
}

function validar_fecha(dia,mes,ano) {
	if (esnumerico(dia) && esnumerico(mes) && esnumerico(ano))
		return true;
	else {
		document.formulario.dia.focus();
		alert('Solo se admiten dígitos en el campo fecha');
		return false;
	}
}

function validar_email(direccion) {
	if (direccion.indexOf("@") != -1 && direccion.indexOf(".") != -1)
		return true;
	else
	{
		document.formulario.email.focus();
		alert('Debe escribir una dirección de correo electrónico válida');
		return false;
	} 
}

function validar_dni(dni) {
	var numeros=0;

	if (!esnumerico(dni)) {
		document.formulario.dni.focus();
                alert("Solo se admiten dígitos en el campo DNI");
                return false;
	}

	if (dni.length!=8)
	{
		document.formulario.dni.focus();
		alert("El dni introducido no es correcto");
		return false;
	}

	return true;
}

function esnumerico(cadena) {
        var caracter=0;

        for (var i=0; i<cadena.length; i++) {
                var ch = cadena.substring (i, i+1);

                if ( (ch < "0" || ch > "9") )
                        return false;

                if ( (ch >= "0" && ch <= "9") )
                        caracter++;
        }

	return true;
}	
