//Semaine
function curDate(){
var semaine = new Array("Sun", "Mond", "Tues", "Wed", "Thur", "Fri", "Sat");
var ladate=new Date();
var dateMois=ladate.getMonth(); 
var dateJour=ladate.getDate();
var dateAn=ladate.getFullYear();
var jourSemaine=semaine[ladate.getDay()];
document.form1.ArrivalMonth.options.value=dateMois+1;
document.form1.ArrivalDay.options.value=dateJour;
document.form1.ArrivalYear.options.value=dateAn;

}

function curDateDep(){
var semaine = new Array("Sun", "Mond", "Tues", "Wed", "Thur", "Fri", "Sat");
var ladate=new Date();
var dateMois=ladate.getMonth(); 
var dateJour=ladate.getDate();
var dateAn=ladate.getFullYear();
var jourSemaine=semaine[ladate.getDay()];
document.form1.DepartureMonth.options.value=dateMois+1;
document.form1.DepartureDay.options.value=dateJour;
document.form1.DepartureYear.options.value=dateAn;

}

function nouvelleDate(transmi){	
var moisClient = document.form1.ArrivalMonth.options.value;
var jourClient = document.form1.ArrivalDay.options.value;
var anClient = document.form1.ArrivalYear.options.value;
dateCourante = new Date();
dateClient = new Date(anClient,moisClient-1,jourClient);
deltaDateGlobal = dateClient-dateCourante;
deltaJour = dateCourante.getDate()- jourClient;
deltaMois = dateCourante.getMonth()+1 - moisClient;
deltaAn = dateCourante.getFullYear() - anClient;

//alert(transmi);
if (transmi=="ok"){
if (deltaDateGlobal < 0 && (deltaJour > 0 || deltaMois > 0 || deltaAn > 0)){
alert("              Error !!         \nThis is not a valid Arrival Date");

return false;//return curDate();
}else return true;//curDate();
}
}

//GESTION MOIS 31 JOURS ARRIVVEE
function mois30jours(){
var an = document.form1.ArrivalYear.options.value;
var mois = document.form1.ArrivalMonth.options.value;
var val_31 = document.form1.ArrivalDay.selectedIndex;
if ((mois == "4" || mois == "6" || mois == "9" || mois == "11") && (val_31=="30")){
var opt = document.form1.ArrivalDay.options.value=30;
//var sel = document.form1.ArrivalDay.options[29].selected=true;
//var ind = document.form1.ArrivalDay.selectedIndex=29;
//opt = sel = ind;
var dateClient31 = new Date(an,mois-1,opt);

}
}

//GESTION FEVRIER ARRIVVEE
function fev28(){
var fevan = document.form1.ArrivalYear.options.value;
var fevmois = document.form1.ArrivalMonth.options.value;
var fev_28 = document.form1.ArrivalDay.selectedIndex;
if ((fev_28 == "28" || fev_28 == "29" || fev_28 == "30") && (fevmois=="2") && (fevan=="2003" || fevan=="2005" || fevan=="2006" || fevan=="2007")){
var optfev28 = document.form1.ArrivalDay.options.value="28";
var dateClientfev28 = new Date(fevan,fevmois-1,optfev28);

}
}

//GESTION FEVRIER BISEXTIL
function bisextil_fev(){
var bisextil_fevan = document.form1.ArrivalYear.options.value;
var bisextil_fevmois = document.form1.ArrivalMonth.options.value;
var bisextil_fev_day = document.form1.ArrivalDay.selectedIndex;
if ((bisextil_fev_day == "29" || bisextil_fev_day == "30" ) && (bisextil_fevmois=="2") && (bisextil_fevan=="2004" || bisextil_fevan=="2008")){
var optfevbis = document.form1.ArrivalDay.options.value="29";
var dateClientfev29 = new Date(bisextil_fevan,bisextil_fevmois-1,optfevbis);

}
}

//////////////////////////////////////////////////////////////////////////////////////
/////////////////////////Departure///////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////

function nouvelleDateDep(transmi){
var moisClient = document.form1.DepartureMonth.options.value;
var jourClient = document.form1.DepartureDay.options.value;
var anClient = document.form1.DepartureYear.options.value;
dateCourante = new Date();
dateClient = new Date(anClient,moisClient-1,jourClient);
deltaDateGlobal = dateClient-dateCourante;
deltaJour = dateCourante.getDate()- jourClient;
deltaMois = dateCourante.getMonth()+1 - moisClient;
deltaAn = dateCourante.getFullYear() - anClient;

//alert(transmi);
if (transmi=="ok"){
	if (deltaDateGlobal < 0 && (deltaJour > 0 || deltaMois > 0 || deltaAn > 0)){
alert("              Error !!         \nThis is not a valid Departure Date");
return false;//
}else return true;//curDate();
}
}

//GESTION MOIS 31 JOURS ARRIVVEE
function mois30joursDep(){
var an = document.form1.DepartureYear.options.value;
var mois = document.form1.DepartureMonth.options.value;
var val_31 = document.form1.DepartureDay.selectedIndex;
if ((mois == "4" || mois == "6" || mois == "9" || mois == "11") && (val_31=="30")){
var opt = document.form1.DepartureDay.options.value=30;
//var sel = document.form1.ArrivalDay.options[29].selected=true;
//var ind = document.form1.ArrivalDay.selectedIndex=29;
//opt = sel = ind;
var dateClient31 = new Date(an,mois-1,opt);

}
}

//GESTION FEVRIER ARRIVVEE
function fev28Dep(){
var fevan = document.form1.DepartureYear.options.value;
var fevmois = document.form1.DepartureMonth.options.value;
var fev_28 = document.form1.DepartureDay.selectedIndex;
if ((fev_28 == "28" || fev_28 == "29" || fev_28 == "30") && (fevmois=="2") && (fevan=="2003" || fevan=="2005" || fevan=="2006" || fevan=="2007")){
var optfev28 = document.form1.DepartureDay.options.value="28";
var dateClientfev28 = new Date(fevan,fevmois-1,optfev28);

}
}

//GESTION FEVRIER BISEXTIL
function bisextil_fevDep(){
var bisextil_fevan = document.form1.DepartureYear.options.value;
var bisextil_fevmois = document.form1.DepartureMonth.options.value;
var bisextil_fev_day = document.form1.DepartureDay.selectedIndex;
if ((bisextil_fev_day == "29" || bisextil_fev_day == "30" ) && (bisextil_fevmois=="2") && (bisextil_fevan=="2004" || bisextil_fevan=="2008")){
var optfevbis = document.form1.DepartureDay.options.value="29";
var dateClientfev29 = new Date(bisextil_fevan,bisextil_fevmois-1,optfevbis);

}
}
//////////////////////////////////////////////////////////////////////////////////////////////////

//Gestion des erreurs
function room_type_vide2(){
 var room2 = document.form1.Room2.options.value;
 var type_room2 = document.form1.RoomTypeS2.options.value;
 var room3 = document.form1.Room3.options.value;
 var type_room3 = document.form1.RoomTypeS3.options.value;
 var room4 = document.form1.Room4.options.value;
 var type_room4 = document.form1.RoomTypeS4.options.value;

//Room2 vide
 if ((room2=="0" && type_room2 !="NONE") || (room2 !="0" && type_room2 =="NONE") || (room2 =="0" && type_room2 =="NONE")) {
 document.form1.Room3.options.value = "0";
 document.form1.Room4.options.value = "0";
 document.form1.RoomTypeS3.options.value = "NONE";
 document.form1.RoomTypeS4.options.value = "NONE";
 alert ("Room Type 2 is empty or incomplete !! \n Please fill Room Type 2 before");
document.form1.Room2.focus();
}
}

//Room3 vide mais pas Room2 
 function room_type_vide3(){
 var room2 = document.form1.Room2.options.value;
 var type_room2 = document.form1.RoomTypeS2.options.value;
 var room3 = document.form1.Room3.options.value;
 var type_room3 = document.form1.RoomTypeS3.options.value;
 var room4 = document.form1.Room4.options.value;
 var type_room4 = document.form1.RoomTypeS4.options.value;
 
 if ((room2 !="0" && type_room2 !="NONE") && ((room3=="0" && type_room3 !="NONE") || (room3 !="0" && type_room3 =="NONE") || (room3=="0" && type_room3 =="NONE"))){
 document.form1.Room4.options.value = "0";
 document.form1.RoomTypeS4.options.value = "NONE";
 alert ("Room Type 3 is empty or incomplete !! \n Please fill Room Type 3 before");
document.form1.Room3.focus();
 }
}

function changenights() {

 if (navigator.appName == "Netscape") {
  var ArrivalYear = window.document.form1.ArrivalYear.options[document.form1.ArrivalYear.selectedIndex].value;
  var ArrivalMonth = window.document.form1.ArrivalMonth.options[document.form1.ArrivalMonth.selectedIndex].value;
  var ArrivalDay = window.document.form1.ArrivalDay.options[document.form1.ArrivalDay.selectedIndex].value;
  var DepartureYear = window.document.form1.DepartureYear.options[document.form1.DepartureYear.selectedIndex].value;
  var DepartureMonth = window.document.form1.DepartureMonth.options[document.form1.DepartureMonth.selectedIndex].value;
  var DepartureDay = window.document.form1.DepartureDay.options[document.form1.DepartureDay.selectedIndex].value;
 } else {
  var ArrivalYear = document.form1.ArrivalYear.value;
  var ArrivalMonth = document.form1.ArrivalMonth.value;
  var ArrivalDay = document.form1.ArrivalDay.value;
  var DepartureYear = document.form1.DepartureYear.value;
  var DepartureMonth = document.form1.DepartureMonth.value;
  var DepartureDay = document.form1.DepartureDay.value;
 }
 arrive = new Date(ArrivalYear, ArrivalMonth, ArrivalDay);
 depart = new Date(DepartureYear, DepartureMonth, DepartureDay);

 //alert (arrive);
 //alert (depart);

 arriveTime = arrive.getTime();
 departTime  = depart.getTime();
 var string=0;
 var difference = departTime-arriveTime;
 var daysDifference = Math.floor(difference/1000/60/60/24);
 var hoursDifference = Math.floor(difference/1000/60/60);
 var secondsDifference = Math.floor(difference/1000);
 difference = difference - hoursDifference*1000*60*60;
 difference = difference - daysDifference*1000*60*60*24;
 if (daysDifference > 0) { string += daysDifference; }

 if (navigator.appName == "Netscape") {
   //document.form1.NumberOfNightsNE.value=string + " nights";
   document.form1.NumberOfNightsT.value = string;
 } else {
   //document.all("NumberOfNightsIE").innerHTML = "<b>" + string + " nights</b>";
   document.form1.NumberOfNightsT.value = string;
 }
}

// Messages pour champs vide ou incorrectement rempli
function msg(){

  if (document.form1.NumberOfNightsT.value <= 0 || document.form1.NumberOfNightsT.value == "") {
    alert("You did not enter a number of nights");
  document.form1.NumberOfNightsT.focus(); 
 return false;
  }  
  
if (!nouvelleDate("ok")){curDate();return false;}
if (!nouvelleDateDep("ok")){curDateDep();return false;}

//Que des chiffres
var chaine=document.form1.NumberOfNightsT.value;
var liste_nbr="0123456789";
for(i=0;i<chaine.length;i++){
var scan_chaine=chaine.charAt(i);
presence_chiffre=liste_nbr.indexOf(scan_chaine);
if (presence_chiffre==-1){
alert(" \" Number of night(s) \" field must only contain numbers !");
document.form1.NumberOfNightsT.focus();
document.form1.NumberOfNightsT.select();
return false;
}
}

changenights();
if (document.form1.LastName.value == "") {
    alert("You did not enter your 'Last Name'");
document.form1.LastName.focus(); 
   return false;
  }

  if (document.form1.FirstName.value == "") {
    alert("You did not enter your 'First Name'");
  document.form1.FirstName.focus();
    return false;
  }
  if (document.form1.Email.value == "") {
    alert("You did not enter your 'E-mail' address");
 document.form1.Email.focus();
   return false;
  }
  if (document.form1.NumberOfNightsT.value <= 0 || document.form1.NumberOfNightsT.value == "") {
    alert("You did not choose a correct Arrival and Departure date");
    return false;
  }

var mail = document.form1.Email.value;
if (mail.indexOf("@")==-1) {
alert("'E-mail' address invalid !");
document.form1.Email.focus();
return false;
}
 
//Gestion des erreurs saisie Room Type 
{
var room2 = document.form1.Room2.options.value;
 var type_room2 = document.form1.RoomTypeS2.options.value;
 var room3 = document.form1.Room3.options.value;
 var type_room3 = document.form1.RoomTypeS3.options.value;
 var room4 = document.form1.Room4.options.value;
 var type_room4 = document.form1.RoomTypeS4.options.value;

 //room type 2 imcomplet
if ((room2 !="0" && type_room2 =="NONE") || (room2 =="0" && type_room2 !="NONE")){
  alert ("Room Type 2 is incomplete !! \n Please fill Room Type 2 correctly");
document.form1.Room2.focus();
   return false;
}
 
//room type 3 imcomplet
if ((room2 !="0" && type_room2 !="NONE") && ((room3 !="0" && type_room3 =="NONE") || (room3 =="0" && type_room3 !="NONE"))){
  alert ("Room Type 3 is incomplete !! \n Please fill Room Type 3 correctly");
document.form1.Room3.focus();
   return false;
}

//room type 4 imcomplet
if ((room3 !="0" && type_room3 !="NONE") && ((room4 !="0" && type_room4 =="NONE") || (room4 =="0" && type_room4 !="NONE"))){
  alert ("Room Type 4 is incomplete !! \n Please fill Room Type 4 correctly");
document.form1.Room4.focus();
   return false;
}

//room type 3 vide ou incomplet cependant que room 4 est plein
if ((room2 !="0" && type_room2 !="NONE") && ((room4 !="0" && type_room4 =="NONE") || (room4 =="0" && type_room4 !="NONE") || (room4 !="0" && type_room4 !="NONE")) && ((room3=="0" && type_room3 !="NONE") || (room3 !="0" && type_room3 =="NONE") || (room3=="0" && type_room3 =="NONE"))){
  alert ("Room Type 3 is empty or incomplete !! \n Please fill Room Type 3 before");
document.form1.Room3.options.value = "0";
document.form1.RoomTypeS3.options.value = "NONE";
document.form1.Room4.options.value = "0";
document.form1.RoomTypeS4.options.value = "NONE";
document.form1.Room3.focus();
   return false;
}



//fin erreurs saisie room type
}
//fin fonction msg
}
