
function ChangeDptMonth(a){
        var Index = a.ArvMonth.selectedIndex;
        
		a.DptMonth.selectedIndex = a.ArvMonth.selectedIndex;
        if (a.ArvMonth.options[0].text!=a.DptMonth.options[0].text) a.DptMonth.selectedIndex=a.DptMonth.selectedIndex-1;
        if (a.DptMonth.selectedIndex<0)a.DptMonth.selectedIndex=0;
    MonthYear = a.ArvMonth.options[Index].value;
    ArvMonth = Math.floor(MonthYear);
    ArvYear = Math.round((MonthYear - ArvMonth)*10000);
    ArvDays = Math.round((MonthYear - ArvMonth)*1000000) - Math.round((MonthYear - ArvMonth)*10000)*100;

    MonthYear = a.DptMonth.options[Index].value;
    DptMonth = Math.floor(MonthYear);
    DptYear = Math.round((MonthYear - DptMonth)*10000);
    DptDays = Math.round((MonthYear - DptMonth)*1000000) - Math.round((MonthYear - DptMonth)*10000)*100;

    CurDate = a.CurDate.value;
    CurMonth = Math.floor(CurDate);
    CurYear = Math.round((CurDate - CurMonth)*10000);
    CurDay = Math.round((CurDate - CurMonth)*1000000) - Math.round((CurDate - CurMonth)*10000)*100;

    ChangeArvDaysLists(a,ArvMonth,ArvYear,ArvDays,CurMonth,CurYear,CurDay);
    ChangeDptDaysLists(a,DptMonth,DptYear,DptDays,CurMonth,CurYear,CurDay);
    ChangeDptDate(a);
}


function ChangeDptDate(a){
    //alert ("DptDate changed");
    var Index1 = a.ArvMonth.selectedIndex;
    var Lenght1 = a.ArvDate.length;
    var Index2 = a.DptMonth.selectedIndex;
    var Lenght2 = a.DptDate.length;
    var NumNights = a.NumNights.options[a.NumNights.selectedIndex].value;


    MonthYear = a.ArvMonth.options[Index1].value;
    ArvMonth = Math.floor(MonthYear);
    ArvYear = Math.round((MonthYear - ArvMonth)*10000);
    ArvDays = Math.round((MonthYear - ArvMonth)*1000000) - Math.round((MonthYear - ArvMonth)*10000)*100;

    MonthYear = a.DptMonth.options[Index2].value;
    DptMonth = Math.floor(MonthYear);
    DptYear = Math.round((MonthYear - DptMonth)*10000);
    DptDays = Math.round((MonthYear - DptMonth)*1000000) - Math.round((MonthYear - DptMonth)*10000)*100;

    
    CurDate = a.CurDate.value;
        CurMonth = Math.floor(CurDate);
        CurYear = Math.round((CurDate - CurMonth)*10000);
        CurDay = Math.round((CurDate - CurMonth)*1000000) - Math.round((CurDate - CurMonth)*10000)*100;

    if ((ArvMonth==DptMonth)&&(ArvYear==DptYear)){
                if ((Lenght1-NumNights)<(a.ArvDate.selectedIndex+1)){
                        SetNextDptMonth(a,"increase",NumNights-(Lenght1-a.ArvDate.selectedIndex))
                }
                else{
                        a.DptDate.selectedIndex = a.ArvDate.selectedIndex;
               			for (ii=0;ii<NumNights-1;ii++) a.DptDate.selectedIndex++;
                }
       }
        else{
    		//alert(NumNights + ' ' + Lenght1 + ' ' + a.ArvDate.selectedIndex);
            if((NumNights-(Lenght1-a.ArvDate.selectedIndex))>=0){
								SetNextDptMonth(a,"none",NumNights-(Lenght1-a.ArvDate.selectedIndex))
                        }
            else {
                        ChangeDptDaysLists(a,ArvMonth,ArvYear,ArvDays,CurMonth,CurYear,CurDay)
    					
            			a.DptMonth.selectedIndex = a.ArvMonth.selectedIndex-1;
                        a.DptDate.selectedIndex = a.ArvDate.selectedIndex;
                		for (ii=0;ii<NumNights-1;ii++) a.DptDate.selectedIndex++;
            }
        }
}


function ChangeArvDaysLists(a,Month,Year,Days,CurMonth,CurYear,CurDay){
  if ((CurMonth==Month) && (CurYear==Year)){
     SelectedIndex = a.ArvDate.selectedIndex;
         OldValue = a.ArvDate.options[SelectedIndex].value;
         a.ArvDate.length=0;
     NumDays=a.ArvDate.length=Days-CurDay+1;
         for (i=0; i<NumDays; i++) {
     a.ArvDate.options[i].value=i+CurDay;
     a.ArvDate.options[i].text=i+CurDay;
         if ((i+CurDay)==OldValue)a.ArvDate.selectedIndex=i;
     }

  }
  else{
     SelectedIndex = a.ArvDate.selectedIndex;
         FirstIndexValue = a.ArvDate.options[0].value-1;
     a.ArvDate.length=0;
     NumDays=a.ArvDate.length=Days;
                 for (i=0; i<NumDays; i++) {
                     a.ArvDate.options[i].value=i+1;
                      a.ArvDate.options[i].text=i+1;
             }
         if ((SelectedIndex+FirstIndexValue)>=(NumDays-1)) {a.ArvDate.selectedIndex=i-1;}
         else a.ArvDate.selectedIndex=SelectedIndex+FirstIndexValue;
  }
}


function ChangeDptDaysLists(a,Month,Year,Days,CurMonth,CurYear,CurDay){
  NumNights = a.NumNights.options[a.NumNights.selectedIndex].value;
  if ((CurMonth==Month) && (CurYear==Year)){
     a.DptDate.length=0;
     NumDays=a.DptDate.length=Days-CurDay;
         if(NumDays-NumNights>0){
           for (i=0; i<NumDays; i++) {
       a.DptDate.options[i].value=i+CurDay+1;
       a.DptDate.options[i].text=i+CurDay+1;
       }
           for (ii=1;ii<NumNights;ii++) a.DptDate.selectedIndex++;
         }
         else SetNextDptMonth(a,"increase",1);
  }
  else{
    a.DptDate.length=0;
    NumDays=a.DptDate.length=Days-1;
    for (i=0; i<NumDays; i++) {
    a.DptDate.options[i].value=i+2;
    a.DptDate.options[i].text=i+2;
    }
        a.DptDate.selectedIndex=NumNights-1;
  }
}

function SetNextDptMonth(a,SetNext,StartDay){
    if(SetNext=="increase")a.DptMonth.selectedIndex++;
    Index = a.DptMonth.selectedIndex;

    MonthYear = a.DptMonth.options[Index].value;
    DptMonth = Math.floor(MonthYear);
    DptYear = Math.round((MonthYear - DptMonth)*10000);
    DptDays = Math.round((MonthYear - DptMonth)*1000000) - Math.round((MonthYear - DptMonth)*10000)*100;

    a.DptDate.length=0;
    NumDays=a.DptDate.length=DptDays;

    for (i=0; i<NumDays; i++) {
    a.DptDate.options[i].value=i+1;
    a.DptDate.options[i].text=i+1;
    }
        a.DptDate.selectedIndex=StartDay;
}


function SetFirstOfTheDptMonth(a){
	if (a.DptMonth.selectedIndex-a.ArvMonth.selectedIndex>1){
		    alert('Sorry, but online reservations can only be made for 14 nights or less');
			a.DptMonth.selectedIndex=a.ArvMonth.selectedIndex+1;
			a.NumNights.selectedIndex=13;
			ChangeDptDate(a); 
			SetArvDptValues(a);
	}
    else {
  		a.DptDate.options[a.DptDate.selectedIndex].value=1;
		ChangeNumNights(a); ChangeDptDate(a);
		SetArvDptValues(a);
    }
}


function ChangeNumNights(a){

        var arvdate = Math.round(a.ArvDate.selectedIndex);
        var dptdate = Math.round(a.DptDate.selectedIndex);
        var minnumnight = Math.round(a.NumNights.options[0].value);

        minamount = arvdate+minnumnight+1;

//        alert(minamount);

        if ((a.DptDate.selectedIndex<(minamount-1)) && (a.ArvMonth.selectedIndex==a.DptMonth.selectedIndex))
        { a.NumNights.selectedIndex=0;
          ChangeDptDate(a);
          return true;
        }

        if (a.ArvMonth.selectedIndex==a.DptMonth.selectedIndex){
           ArvDay = a.ArvDate.options[a.ArvDate.selectedIndex].value;
           DptDay = a.DptDate.options[a.DptDate.selectedIndex].value;
           NumNights = DptDay - ArvDay; 
           if (NumNights>14) {
		       NumNights=14; 
			   alert('Sorry, but online reservations can only be made for 14 nights or less');
			   a.NumNights.selectedIndex=NumNights-minnumnight;
			   ChangeDptDate(a); 
			   SetArvDptValues(a);
		   }
           else a.NumNights.selectedIndex=NumNights-minnumnight;
           return true;
        }

        if (a.DptMonth.selectedIndex-a.ArvMonth.selectedIndex==1){
           ArvDay = a.ArvDate.options[a.ArvDate.selectedIndex].value;
           ArvLenght = a.ArvDate.length;
           DptDay = a.DptDate.options[a.DptDate.selectedIndex].value;
           NumNights = ArvLenght - a.ArvDate.selectedIndex;
           for (ii=1; ii<DptDay; ii++) NumNights++;
           if (NumNights>14) {
		       NumNights=14;
			   alert('Sorry, but online reservations can only be made for 14 nights or less');
			   a.NumNights.selectedIndex=NumNights-minnumnight;
			   ChangeDptDate(a); 
			   SetArvDptValues(a);
		   }	   
           else a.NumNights.selectedIndex=NumNights-minnumnight;
           return true;
        }
		
		

}

function SetArvDptValues(a){
        var Index1 = a.ArvMonth.selectedIndex;
        var Index2 = a.DptMonth.selectedIndex;

    MonthYear = a.ArvMonth.options[Index1].value;
    ArvMonth = Math.floor(MonthYear);
    ArvYear = Math.round((MonthYear - ArvMonth)*10000);
    ArvDays = Math.round((MonthYear - ArvMonth)*1000000) - Math.round((MonthYear - ArvMonth)*10000)*100;

    MonthYear = a.DptMonth.options[Index2].value;
    DptMonth = Math.floor(MonthYear);
    DptYear = Math.round((MonthYear - DptMonth)*10000);
    DptDays = Math.round((MonthYear - DptMonth)*1000000) - Math.round((MonthYear - DptMonth)*10000)*100;

        ArvDay = a.ArvDate.options[a.ArvDate.selectedIndex].value;
        DptDay = a.DptDate.options[a.DptDate.selectedIndex].value;


    a.pchkIn.value=ArvMonth+"/"+ArvDay+"/"+ArvYear;
    a.pchkOut.value=DptMonth+"/"+DptDay+"/"+DptYear;

    a.chkIn.value=ArvMonth+"/"+ArvDay+"/"+ArvYear;
    a.chkOut.value=DptMonth+"/"+DptDay+"/"+DptYear;

}


function updateDate(a,year,month,day,idString){

CurDate = a.CurDate.value;
CurMonth = Math.floor(CurDate);
CurYear = Math.round((CurDate - CurMonth)*10000);
CurDay = Math.round((CurDate - CurMonth)*1000000) - Math.round((CurDate - CurMonth)*10000)*100;

if (idString=="theOutDate" || idString=="modify_theOutDate"){
 a.chkOut.value=a.pchkOut.value;
 MonthNumber = a.DptMonth.length;

 for (ii=0; ii<MonthNumber; ii++){
            MonthYear = a.DptMonth.options[ii].value;
            DptMonth = Math.floor(MonthYear);
            DptYear = Math.round((MonthYear - DptMonth)*10000);
            DptDays = Math.round((MonthYear - DptMonth)*1000000) - Math.round((MonthYear - DptMonth)*10000)*100;

                if ((DptMonth==month)&&(DptYear==year)){
                  a.DptMonth.selectedIndex = ii;
                  ChangeDptDaysLists(a,DptMonth,DptYear,DptDays,CurMonth,CurYear,CurDay);
                  DaysNumber=a.DptDate.length;
                  for(jj=0;jj<DaysNumber;jj++){
                           if(a.DptDate.options[jj].value==day)a.DptDate.selectedIndex=jj;
                  }
                }
 }
 ChangeNumNights(a);
}

if (idString=="theInDate" || idString=="modify_theInDate"){
 a.chkIn.value=a.pchkIn.value;
 MonthNumber = a.ArvMonth.length;

         for (ii=0; ii<MonthNumber; ii++){
                MonthYear = a.ArvMonth.options[ii].value;
            ArvMonth = Math.floor(MonthYear);
            ArvYear = Math.round((MonthYear - ArvMonth)*10000);
            ArvDays = Math.round((MonthYear - ArvMonth)*1000000) - Math.round((MonthYear - ArvMonth)*10000)*100;

                if ((ArvMonth==month)&&(ArvYear==year)){
                  a.ArvMonth.selectedIndex = ii;
                  ChangeArvDaysLists(a,ArvMonth,ArvYear,ArvDays,CurMonth,CurYear,CurDay);
                  DaysNumber=a.ArvDate.length;
                  for(jj=0;jj<DaysNumber;jj++){
                           if(a.ArvDate.options[jj].value==day)a.ArvDate.selectedIndex=jj;
                  }
                }
        }
 ChangeDptDate(a);
 SetArvDptValues(a);
}
}
