function annoBisiesto(anno)
{
	return ( (anno % 4 == 0 && anno % 100 != 0) || (anno % 400 == 0) );
}

function fechaCorrecta(dia, mes, anno)
{
	var diasMes	 = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
	
	//dia = parseInt(dia); // devuelve 0 con dia 08 y 09
	//alert(dia+"-"+mes+"-"+anno);
	//mes = parseInt(mes); // devuelve 0 con mes 08 y 09
	//alert(dia+"-"+mes+"-"+anno);
	
	dia = dia.charAt(0)=='0'?dia.charAt(1):dia;
	mes = mes.charAt(0)=='0'?mes.charAt(1):mes;
	
	if (dia<1 || dia>diasMes[mes-1] || mes<1 || mes>12 || anno<1900 || anno>2100) {
		return false;
	}
	//alert("pasa");
	if (mes == 2 && dia>28 && !annoBisiesto(anno)) {
		return false;
	}
	
	return true;
}

function fechaActual()
{
	var fecha = new Date();
    var dia = fecha.getDate();
	if (dia < 10)
	   dia = '0'+dia;
    var mes = fecha.getMonth ()+1;
	if (mes < 10)
		mes = '0'+mes;
    var anio = fecha.getYear();
	if(!document.all) // Para Netscape
  		anio=anio+1900;
	else if (anio >= 80 && anio <= 99)
   		 anio = '19' + anio;
   
   var f = anio+'-'+mes+'-'+dia;
   return f;
}

function setFecha() {

	var fecha = new Date();
    var dia = fecha.getDate();	
    var mes = fecha.getMonth ()+1;
    var anio = fecha.getYear()+1900;

	
	$$('.diaentrada')[0].selectedIndex = dia;
	$$('.mesentrada')[0].selectedIndex = mes;
	$$('.diasalida')[0].selectedIndex = dia+1;
	$$('.messalida')[0].selectedIndex = mes;
	
	for(i=0; i<$$('.anoentrada')[0].length; i++) {
		if($$('.anoentrada')[0].options[i].value == anio) {
			$$('.anoentrada')[0].selectedIndex = i;
			$$('.anosalida')[0].selectedIndex = i;
		}
	} 

}

function validar()
{
	var form = document.Formular;
	
	var diaE = form.dia_entrada.options[form.dia_entrada.selectedIndex].value;
	var mesE = form.mes_entrada.options[form.mes_entrada.selectedIndex].value;
	var annoE = form.ano_entrada.options[form.ano_entrada.selectedIndex].value;
	
	if (!fechaCorrecta(diaE, mesE, annoE)) {
		alert("La fecha de entrada no es correcta");
		form.dia_entrada.focus();
		return false;
	}
	var diaS = form.dia_salida.options[form.dia_salida.selectedIndex].value;
	var mesS = form.mes_salida.options[form.mes_salida.selectedIndex].value;
	var annoS = form.ano_salida.options[form.ano_salida.selectedIndex].value;
	if (!fechaCorrecta(diaS, mesS, annoS)) {
		alert("La fecha de salida no es correcta");
		form.dia_salida.focus();
		return false;
	}
	
	var fechaE = annoE+"-"+mesE+"-"+diaE;
	var fechaS = annoS+"-"+mesS+"-"+diaS;
	
	if (fechaE <= fechaActual()) {
		alert("La fecha de entrada debe ser posterior a la fecha actual");
		form.dia_entrada.focus();
		return false;
	}
	
	if (fechaS <= fechaE) {
		alert("La fecha de salida debe ser posterior a la de entrada");
		form.dia_salida.focus();
		return false;
	} 
		
	return true;
	
}

Event.observe(window, 'load', setFecha);