
function FechaValida(fecha){
/*
* Entrada: una cadena de caracteres (o String).
* Formato correcto: dd/mm/yyyy
* Salida:  true si la fecha es correcta y tiene el formato correcto, false si no es así.
* Autor:   Jesús Eiroa
* Fecha:   07/11/2003
*/

	var fechaCorrecta = false;
	
	if(fecha.length == 10){	
		if(fecha.substr(4,1) == "/" && fecha.substr(7,1) == "/"){
			var Dia = fecha.substr(8,2);
			var Mes = fecha.substr(5,2);
			var Anno = fecha.substr(0,4);

			var f=new Date(Anno, Mes-1, Dia);
			
			if(f.getFullYear() == Anno && f.getMonth() == Mes-1 && f.getDate() == Dia)
				fechaCorrecta=true;
		}
	}
	return fechaCorrecta;
}

/*
* Finalidad: Valida si la fecha Final es mayor o igual
*				que la inicial.
* Entradas:  La fecha inicial y la final formateadas 
*				como dd/MM/yyyy.
* Salida:	 true si fechaFinal es posterior o igual
*				que fechaInicial, false en caso contrario.
* Autor: 	 Jesús Eiroa
* Fecha: 	 21/04/2004
*/
function IntervaloFechas(fechaInicial, fechaFinal){
	var inicio = new Date(parseInt(fechaInicial.substr(0,4),10),
						parseInt(fechaInicial.substr(5,2),10) - 1,
						parseInt(fechaInicial.substr(8,2),10));
	var final_fecha = new Date(parseInt(fechaFinal.substr(0,4),10),
						parseInt(fechaFinal.substr(5,2),10) - 1,
						parseInt(fechaFinal.substr(8,2),10));

	return (inicio.valueOf() <= final_fecha.valueOf());
}

/*
* Finalidad: Valida si la diferencia entre la fecha inicial y final es
*				menor o igual que el número de días introducidos.
* Entradas:  La fecha inicial, la final formateadas	como dd/MM/yyyy y
*               el número de días a comprobar.
* Salida:	 true si la diferencia entre fechaFinal y fechaInicial es igual
*				o menor que el número de días introducidos.
* Autor: 	 José Antonio Ruano
* Fecha: 	 16/11/2004
*/

function CompruebaMaxFechas(fechaInicial, fechaFinal, dias) {
    var valor_dia = 86400000;
    var inicio = new Date(parseInt(fechaInicial.substr(0,4),10),
                         parseInt(fechaInicial.substr(5,2),10) - 1,
                         parseInt(fechaInicial.substr(8,2),10));
    var final_fecha = new Date(parseInt(fechaFinal.substr(0,4),10),
                         parseInt(fechaFinal.substr(5,2),10) - 1,
                         parseInt(fechaFinal.substr(8,2),10));
    var diferencia = final_fecha.valueOf() - inicio.valueOf();

    return (diferencia <= (valor_dia*dias));
}