 // JavaScript Document

function checkDate() {
	
var today = new Date();

oggi = Date.parse(today);

var anno=today.getYear();
var giorno=today.getDate();
var mese=today.getMonth();
 
var myDayStrar = document.CheckDate.argiorno.value;
var myMonthStrar = document.CheckDate.armese.value;
var myYearStrar = document.CheckDate.aranno.value;

var myDayStrpa = document.CheckDate.pagiorno.value;
var myMonthStrpa = document.CheckDate.pamese.value;
var myYearStrpa = document.CheckDate.paanno.value;

var nr_camere = document.CheckDate.nr_camere.value;

var myMonth = new Array('Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic');
var myMonthNr = new Array('0','1','2','3','4','5','6','7','8','9','10','11');

var myDateStrar = myDayStrar + ' ' + myMonth[myMonthStrar] + ' ' + myYearStrar;
var myDateStrpa = myDayStrpa + ' ' + myMonth[myMonthStrpa] + ' ' + myYearStrpa;



var myDateNrar = myMonthNr[myMonthStrar] + '/' + myDayStrar + '/' + myYearStrar;
var myDateNrpa = myMonthNr[myMonthStrpa] + '/' + myDayStrpa + '/' + myYearStrpa;

arr = Date.parse(myDateNrar);
part = Date.parse(myDateNrpa);


/* Using form values, create a new date object
using the setFullYear function */
var myDatear = new Date();
var myDateNrar = new Date();
var myDateNrpa = new Date();

var leap = 0;

myDateNrar.setFullYear( myYearStrar, myMonthStrar, myDayStrar );
myDateNrpa.setFullYear( myYearStrpa, myMonthStrpa, myDayStrpa );

if ((myYearStrar % 4 == 0) || (myYearStrar % 100 == 0) || (myYearStrar % 400 == 0)) {
      leap = 1;
	  alert (leap);
	  
   }

var agiorno = myDateNrar.getDate();
var amese = myDateNrar.getMonth();
var aanno = myDateNrar.getYear();

var pgiorno = myDateNrpa.getDate();
var pmese = myDateNrpa.getMonth();
var panno = myDateNrpa.getYear();


var myDatepa = new Date();
myDatepa.setFullYear( myYearStrpa, myMonthStrpa, myDayStrpa );


  
if ( myDayStrar=="" || myMonthStrar=="" || myYearStrar=="" ) {
  alert( 'La data di arrivo è incompleta.' );
  return false;
} 



else if ((myMonthStrar == 2) && (leap == 1) && (myDayStrar > 29)) {
      alert( 'La data di arrivo non è valida.' );
      return false;
   }

else if ((myMonthStrar == 2) && (leap != 1) && (myDayStrar > 28)) {
      alert( 'La data di arrivo non è valida.' );
	  myday=new Date(aanno,amese,agiorno);
      myday.setDate(myday.getDate());
//	  document.CheckDate.argiorno.value = 1;
//    document.CheckDate.armese.value = myday.getMonth()+1;
//    document.CheckDate.aranno.value = myday.getYear();
      return false;
   }
   /* Validation of other months */
 else if ((myDayStrar > 31) && ((myMonthStrar == 1) || (myMonthStrar == 3) || (myMonthStrar == 5) || (myMonthStrar == 7) || (myMonthStrar == 8) || (myMonthStrar == 0) || (myMonthStrar == 2))) {
      alert( 'La data di arrivo non è valida.' );
	  myday=new Date(aanno,amese,agiorno);
      myday.setDate(myday.getDate());
//	  document.CheckDate.argiorno.value = 1;
//    document.CheckDate.armese.value = myday.getMonth()+1;
//    document.CheckDate.aranno.value = myday.getYear();
      return false;
   }
else if ((myDayStrar > 30) && ((myMonthStrar == 4) || (myMonthStrar == 6) || (myMonthStrar == 9) || (myMonthStrar == 11))) {
      alert( 'La data di arrivo non è valida.' );
	  myday=new Date(aanno,amese,agiorno);
      myday.setDate(myday.getDate());
//	  document.CheckDate.argiorno.value = 1;
//    document.CheckDate.armese.value = myday.getMonth()+1;
//    document.CheckDate.aranno.value = myday.getYear();
      return false;
   }

else if ( myDayStrpa=="" || myMonthStrpa=="" || myYearStrpa=="" ) {
  alert( 'La data di partenza è incompleta.' ); 
  return false;
} 

else if ((myMonthStrpa == 2) && (leap != 1) && (myDayStrpa > 28)) {
      alert( 'La data di partenza non è valida.' );
	  myday=new Date(panno,pmese,pgiorno);
      myday.setDate(myday.getDate());
//	  document.CheckDate.pagiorno.value = 1;
//    document.CheckDate.pamese.value = myday.getMonth()+1;
//    document.CheckDate.paanno.value = myday.getYear();
      return false;
   }
   /* Validation of other months */
 else if ((myDayStrpa > 31) && ((myMonthStrpa == 1) || (myMonthStrpa == 3) || (myMonthStrpa == 5) || (myMonthStrpa == 7) || (myMonthStrpa == 8) || (myMonthStrpa == 0) || (myMonthStrpa == 2))) {
	 myday=new Date(panno,pmese,pgiorno);
      myday.setDate(myday.getDate());
//	  document.CheckDate.pagiorno.value = 1;
//    document.CheckDate.pamese.value = myday.getMonth()+1;
//    document.CheckDate.paanno.value = myday.getYear();
      alert( 'La data di partenza non è valida.' );
      return false;
   }
else if ((myDayStrpa > 30) && ((myMonthStrpa == 4) || (myMonthStrpa == 6) || (myMonthStrpa == 9) || (myMonthStrpa == 11))) {
      alert( 'La data di partenza non è valida.' );
	  myday=new Date(panno,pmese,pgiorno);
      myday.setDate(myday.getDate());
//	  document.CheckDate.pagiorno.value = 1;
//    document.CheckDate.pamese.value = myday.getMonth()+1;
//    document.CheckDate.paanno.value = myday.getYear();
      return false;
   }

else if( arr <= oggi   ) {
  alert ('Non pu\u00F2 prenotare una data di arrivo anteriore a oggi.');
  myday=new Date;
  myday.setDate(myday.getDate()+1);
//  document.CheckDate.argiorno.value = myday.getDate();
//  document.CheckDate.armese.value = myday.getMonth();
//  document.CheckDate.aranno.value = myday.getYear();
  return false;
} else if( part <= oggi ) {
  alert ('Non pu\u00F2 prenotare una data di partenza anteriore a oggi.');
  myday=new Date(aanno,amese,agiorno);
  myday.setDate(myday.getDate()+1);
//  document.CheckDate.pagiorno.value = myday.getDate();
//  document.CheckDate.pamese.value = myday.getMonth();
//  document.CheckDate.paanno.value = myday.getYear();
//  alert (myday.getDate());
  return false;
}  else if( part <= arr  ) {
  alert ('La data di arrivo non pu\u00F2 essere posteriore o uguale a quella di partenza.');
  myday=new Date(panno,pmese,pgiorno);
  myday.setDate(myday.getDate()-1);
//  document.CheckDate.argiorno.value = myday.getDate();
//  document.CheckDate.armese.value = myday.getMonth();
//  document.CheckDate.aranno.value = myday.getYear();
  return false;
} else {
  return true;
}
 
}