// JavaScript Document


/*-- START OF CALCULATING DATES FOR CHECK-IN AND CHECK-OUT --*/
/*-- GET TODAY'S DATE FROM THE USER'S COMPUTER --*/
var today = new Date();

/*-- SET THE HOURS TO 00:00:00 SO A DIRECT DATE COMPARISON CAN BE DONE --*/
today.setHours( 0,0,0,0 );

/*-- SET CHECK-IN DATE 3 DAYS FROM TODAY --*/
var ci_date = new Date( today.getFullYear(), today.getMonth(), today.getDate()+ 3 );

/*-- SET CHECK-OUT DATE 1 DAY FROM CHECK-IN --*/
var co_date = new Date( today.getFullYear(), today.getMonth(), today.getDate() + 6 );

/*-- SET NUMBER OF DAYS IN EACH MONTH --*/
var ar_month_length = new Array( "31", "29", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31" );


/*-- LOAD DATES -- inOut = "checkIn" or "checkOut" --*/
function loadDates( inOut ) {

 /*-- TEST IF PAGE LOAD OR USER SELECTION --*/
 if ( inOut != null ) {
  switch( inOut ) {

   /*-- USER CHANGED CHECK-IN DATES --*/
   case "checkIn" :

    /*-- IS USER SELECTED DATE > NUMBER OF DAYS IN USER SELECTED MONTH --*/
    if ( ci_date.getDate() > ar_month_length[ srchfrm.fromMonth.selectedIndex ] ) {

     /*-- SET CHECK-IN DATE TO FIRST OF THE MONTH SELECTED --*/
     ci_date.setDate(3 );
     ci_date.setMonth( srchfrm.fromMonth.selectedIndex );
    }
    else {

     /*-- SET CHECK-IN DATE TO USER SELECTED DATES --*/
     ci_date = new Date(srchfrm.doa_yy.value, srchfrm.fromMonth.selectedIndex, srchfrm.fromDay.value);
    }

    /*-- IS USER SELECTED DATE < TODAY'S DATE --*/
    if ( ci_date < today ) {

     /*-- ADD ONE YEAR TO CHECK-IN DATE --*/
     ci_date.setYear( today.getFullYear() + 1);
    }
				
    /*-- IS USER SELECTED MONTH > THIS MONTH --*/
    else if ( srchfrm.fromMonth.value > today.getMonth()) {

     /*-- SET CHECK-IN YEAR TO THIS YEAR --*/
     ci_date.setYear( today.getFullYear() );
    }


    /*-- IS USER SELECTED DATE A LEAP YEAR --*/
    if ( ci_date.getFullYear() % 4 == 0 && ci_date.getFullYear() %100 != 0 || ci_date.getFullYear() % 400 == 0 ) {

     /*-- CHANGE FEB'S NUMBER OF DAYS FROM 28 TO 29 --*/
     ar_month_length[1] = 29;
    }
    else {

     /*-- CHANGE FEB'S NUMBER OF DAYS FROM 29 TO 28 --*/
     ar_month_length[1] = 28;
    }

   /*-- RUNS EVERY TIME --*/	
   default :

    /*-- DID USER CHANGE CHECK-IN DATE --*/
    if ( inOut != "checkIn" ) {

     /*-- SET ADD 1 DAY TO CHECK-OUT DATE FROM CHECK-IN DATE --*/
     co_date = new Date(srchfrm.dod_yy.value, srchfrm.toMonth.selectedIndex, srchfrm.toDay.value);

     /*-- IS CHECK-OUT DATE < TODAY'S DATE --*/
     if ( co_date < today ) {

      /*-- ADD ONE YEAR TO CHECK-OUT YEAR --*/
      co_date.setYear( today.getFullYear() + 1);
     }
    }
    else {

     /*-- ADD ONE DAY TO CHECK-OUT DATE FROM CHECK-IN DATE --*/
     co_date = new Date( ci_date.getFullYear(), ci_date.getMonth(), ci_date.getDate() + 3);
    }
  }
 }
	
  if(inOut != null || srchfrm.doa_yy.value == ""){
   /*-- SET CHECK-IN YEAR & MONTH DATE FIELDS --*/
   srchfrm.doa_yy.value = ci_date.getFullYear();
   srchfrm.fromMonth.options[ ci_date.getMonth() ].selected = true;
	
   /*-- CALL clearPopSel() FUNCTION --*/
   clearPopSel( srchfrm.fromDay, ci_date.getMonth(), ci_date.getDate() );
	
   /*-- RETURN FROM clearPopSel() FUNCTION FOR CHECK-IN --*/
	
   /*-- SET CHECK-OUT YEAR & MONTH DATE FIELDS --*/
   srchfrm.dod_yy.value = co_date.getFullYear();
   srchfrm.toMonth.options[ co_date.getMonth() ].selected = true;
	
   /*-- CALL clearPopSel() FUNCTION FOR CHECK-OUT --*/
   clearPopSel( srchfrm.toDay, co_date.getMonth(), co_date.getDate() );
  }
}


/*-- CLEAR DATE COMBO BOXES AND REPOPULATE WITH NEW DATES --*/
 function clearPopSel( object, fMonth, fDate ) {

  /*-- LOOP LENGTH OF COMBO BOX AND CONVERT TO NULL --*/
  for ( m = object.length; m > 0; m-- ){
   object.options[ m ] = null;
  }
	
  /* -- LOOP LENGTH OF NUMBER DAYS IN MONTH AND POPULATE VALUE AND TEXT --*/
  for ( i = 0; i < ar_month_length[ fMonth ]; i++ ) {
   object.options[ i ] = new Option( i + 1 , i + 1);
  }
	
  /*-- SELECT DATE --*/
  object.options[ fDate - 1 ].selected = true;
  return
 }