function comprobar_formulario()
{	
	
	// Comprobamos el campo NOMBRE:
	campo="document.form.tx_nombre";
	nombre_campo="Nombre";
		
	if (obligatorio(campo, nombre_campo))
	{
		return false;
	}
			
	
	// Comprobamos el campo APELLIDO:
	campo="document.form.tx_apellido";
	nombre_campo="Apellidos";
	if (obligatorio(campo, nombre_campo))
	{
		return false;
	}

	// Comprobamos el campo LOCALIDAD:
	campo="document.form.tx_poblacio";
	nombre_campo="Población";
	if (obligatorio(campo, nombre_campo))
	{
		return false;
	}

	// Comprobamos el campo CODIGO POSTAL:
	campo="document.form.tx_codigoP";
	nombre_campo="Código Postal";
	if (obligatorio(campo, nombre_campo))
	{
		return false;
	}
	
	// Comprobamos el campo PROVINCIA:
	campo="document.form.se_provincia";
	nombre_campo="Provincia";
	if (uno_seleccionado(campo, nombre_campo))
	{
		return false;
	}

	// Comprobamos el campo E-MAIL:
	campo="document.form.tx_mail";
	campo2="document.form.tx_mail_confirm";
	nombre_campo="E-mail";
	nombre_campo2="E-mail de confrimacion"
	if (!vacio(campo))
	{
		if (!esemail(campo, nombre_campo))
		{
			return false;
		}
		if (!comprobar_mail(campo, campo2, nombre_campo2, nombre_campo))
		{
			return false;
		}
	}
	else 
	{
		if (obligatorio(campo, nombre_campo))
		{
			return false;
		}
	}
	
	// Ahora pasamos a comprobar los campos de fecha para cada hijo
	num_hijos = document.form.num_hijos.value;
	for (i=0;i<num_hijos;i++)
	{
		//Primero el campo nombre
		nombre_hijo = eval("document.form.nombre_hijo_" + i+ ".value");
		if (nombre_hijo == "")
		{
			alert("Debe incluir todos los NOMBRES DE LOS HIJOS");
			eval("document.form.nombre_hijo_" + i+ ".focus()");
			return false;
		}else{
			//NO hacemos nada
		}
		
		//Después el campo día
		dia_nacimiento = eval("document.form.dia_nacimiento_" + i+ ".value");
		if (dia_nacimiento == "")
		{
			//alert("Debe incluir todos los DÍAS DE NACIMIENTO DE LOS HIJOS");
			//eval("document.form.dia_nacimiento_" + i+ ".focus()");
			//Si no ponen el día, pasamos a asignarle el día 1
			campo_dia_nacimiento = eval("document.form.dia_nacimiento_" + i);
			campo_dia_nacimiento.value = 1;
			
		}else{
			//NO hacemos nada
		}
		
		//Ahora pasamos a validar al fecha
		fecha_dia = eval("document.form.dia_nacimiento_" + i+ ".value");
		fecha_mes = eval("document.form.mes_nacimiento_" + i+ ".value");
		fecha_ano = eval("document.form.ano_nacimiento_" + i+ ".value");
		fecha = new String(fecha_dia + "-" + fecha_mes + "-" + fecha_ano);
		
		if (!Validar(fecha))
		{
			alert("Algunas de las FECHAS DE NACIMIENTO NO SON CORRECTAS");
			eval("document.form.dia_nacimiento_" + i+ ".focus()");
			return false;
		}
	}
	return true;
}



// Valida Fecha By Luciano 1998   
// Uso: Simple... se debe pasar la cadena de la fecha y devuelve false si no es válida...   
// El Formato es dd-mm-aaaa   
// Ejemplo: if (Validar('14-08-1981')==false) { alert('Entrada Incorrecta') }   
// Uso en formularios: onSubmit="return Validar(this.fecha.value)"   
//   
// Este script y otros muchos pueden   
// descarse on-line de forma gratuita   
// en El Código: www.elcodigo.com   
  
function Validar(Cadena){   
    var Fecha= new String(Cadena)   // Crea un string   
    var RealFecha= new Date()   // Para sacar la fecha de hoy   
    // 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("-")))   
  
    // Valido el año   
    if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900){   
            //alert('Día inválido')  
        return false   
    }   
    // Valido el Mes   
    if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){   
        //alert('Día inválido')
        return false   
    }   
    // Valido el Dia   
    if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31){   
        //alert('Día inválido')
        return false   
    }
	if (Mes==4 || Mes==6 || Mes==9 || Mes==11) {   
		if (Dia>30) {   
			//alert('Día inválido')
			return false
		}
	}
	
	//Miramos el mes de Febrero
	if (Mes==2)
	{
		if (Dia > 29)
		{
			//alert('Día inválido');
			return false;
		}
		if (Dia == 29 && !AnoBisiesto(Ano))
		{
			//alert("Una de las fechas NO CORRESPONDE A UN AÑO BISIESTO");
			return false;
		}
	}

	return true;     
}   

function AnoBisiesto(Ano)
{
	// Si "YourYear" es un año es bisiesto devuelve verdadero si no devuelve falso
	return ((Ano % 4 == 0 && Ano % 100 != 0) || (Ano % 400 == 0)) ? 1 : 0
}

