function launchCalendar(calForm, formName){
    eval('document.'+formName+'.currentCalForm.value = calForm');
    var calWin =  window.open('calendar.html',formName,'scrollbars=no,menu=no,width=300,height=165,top=125,left=325');
    calWin.focus();
}
    
    function leapYear(theYear) {
			if ( ((theYear % 4 == 0) && (theYear % 100 != 0)) || (theYear % 400 == 0) ) {
				return true;
      } else {
				return false;
			}
		}
		
		/* *** 	Set the return month and day to two days after the departure month and day. 
						[chalsted] ER #9196
		*** */
		function updateReturnDate(formName) 
		{
			var d 		= new Date();
			var	dYear = d.getFullYear();
			var dMonth = formName.departureMonth.selectedIndex;
			var dDay   = formName.departureDay.selectedIndex;
			
			var today = new Date();
			var threeDaysInfuture = new Date();
			threeDaysInfuture.setDate(today.getDate() + 2); /* Default to a two day stay */ 
			
			/* Start of ER 12182 :ER - Return Date should not default to Outbound + 2
			* if return date has been specified by user
			*/
			var rDy = formName.returnDay.selectedIndex;
			var rMon =formName.returnMonth.selectedIndex;
			
			
			//var changed = true;
			//if((rDy == threeDaysInfuture.getDate() - 1) && (rMon == threeDaysInfuture.getMonth()))
			  //changed = false;
			/**
			* 
			*/  
			//if(changed == true && formName.changed == null) //new page - keep date changes
			 // return;

			var	rYr = d.getFullYear();

			// for next year
			if (formName.returnMonth.selectedIndex < d.getMonth()){
				rYr = rYr+1;
			}
			// for next year
			if (formName.departureMonth.selectedIndex < d.getMonth()){
						dYear = dYear+1;
			}

			rDate = new Date(rYr, rMon, rDy);
			dDate = new Date(dYear, dMonth, dDay+2);

			// end of ER 12182 :			
			
			
			var rYear  = dYear;
			var rMonth = '0';
			var rDay   = '0';
			
			// 30 Days:  April-3 June-5 September-8 November-10
			// 31 Days:  January-0, March-2, May-4, July-6, August-7, October-9, December-11
			// 28 Days:  February-1

			// For Months with 31 days 
			if ( (dMonth == '0' || 
						dMonth == '2' || 
						dMonth == '4' || 
						dMonth == '6' || 
						dMonth == '7' || 
						dMonth == '9' || 
						dMonth == '11' )){

						if (dDay == '29') { 
							rDay = '0';
							
							// If December, set month back to '0' for January
							if (dMonth == '11') {
								rMonth = '0';
							} else {
								rMonth = dMonth + 1;
							}

						} else if (dDay == '30') {
							rDay = '1';

							// If December, set month back to '0' for January
							if (dMonth == '11') {
								rMonth = '0';
							} else {
								rMonth = dMonth + 1;
							}

						} else {
							rDay = dDay + 2;
							rMonth = dMonth;
						}

			// For Months with 30 days 				
			}	else if ((dMonth == '3' || 
								dMonth == '5' || 
								dMonth == '8' || 
								dMonth == '10' )) {
						/* test for invalid dates */
						if (dDay == '30' || dDay == '31') {
							dDay = '29';
							eval (formName.departureDay.selectedIndex = dDay);
						} 
						
						if (dDay == '28') { 
							rDay = '0';
							rMonth = dMonth + 1;
						} else if (dDay == '29') {
							rDay = '1';
							rMonth = dMonth + 1;
						} else {
							rDay = dDay + 2;
							rMonth = dMonth;
						}
			// For February, check for leapyear.
			}	else if (dMonth == '1') {
			
				if (dMonth > rMonth) {
					rYear += 1;
				}
				
				// Check to see if Feb 29, 30, or 31 is selected for NON-leapyear.
				// If so, set departure date to Feb 28.
				if ((!leapYear(rYear) && dDay == '28') || dDay == '29' || dDay == '30') {
					dDay = '27';
					eval (formName.departureDay.selectedIndex = dDay);
				}
				
				if ((leapYear(rYear) && dDay == '27') || (!leapYear(rYear) && dDay == '26')) {
				  rDay = '0';
					rMonth = dMonth + 1;
				} else if ((leapYear(rYear) && dDay == '28') || (!leapYear(rYear) && dDay == '27')) {
					rDay = '1';
					rMonth = dMonth + 1;
				} else {
					rDay = dDay + 2;
					rMonth = dMonth;
				}
			}
			//check to see if on different page
			if(formName.dateChanged != null && formName.dateChanged.value == 'true')
			  return;
			
			if(formName.returnDay.changed == null && formName.changed == null){
				eval (formName.returnDay.selectedIndex = rDay);
			}
						
			if( formName.returnMonth.changed == null && formName.changed == null){
				eval (formName.returnMonth.selectedIndex = rMonth);
			}
			
			return; 
		}
		
		function validateDate(theForm) 
		{
			var d 		= new Date();
			var	dYear = d.getFullYear();
			
			var formName = eval('document.' + theForm);
			var dMonth = formName.departureMonth.selectedIndex;
			var dDay   = formName.departureDay.selectedIndex;

			// For Months with 31 days 
			if ( (dMonth == '0' || 
						dMonth == '2' || 
						dMonth == '4' || 
						dMonth == '6' || 
						dMonth == '7' || 
						dMonth == '9' || 
						dMonth == '11' )){

				if (dDay == '30' || dDay == '31') {
					dDay = '29';
					//eval (formName.departureDay.selectedIndex = dDay);
				}
				 
  		// For Months with 30 days 				
			}	else if ((dMonth == '3' || 
								dMonth == '5' || 
								dMonth == '8' || 
								dMonth == '10' )) {

					if (dDay == '30' || dDay == '31') {
						dDay = '29';
						eval (formName.departureDay.selectedIndex = dDay);
					} 
			// For February, check for leapyear.
			}	else if (dMonth == '1') {
				if ((!leapYear(dYear) && dDay == '28') || dDay == '29' || dDay == '30') {
					dDay = '27';
					eval (formName.departureDay.selectedIndex = dDay);
				}
			}
		}

		function validateReturn(theForm) 
		{
			var d 		= new Date();
			var	dYear = d.getFullYear();
			
			var formName = eval('document.' + theForm);
			var dMonth = formName.returnMonth.selectedIndex;
			var dDay   = formName.returnDay.selectedIndex;

			// For Months with 31 days 
			if ( (dMonth == '0' || 
						dMonth == '2' || 
						dMonth == '4' || 
						dMonth == '6' || 
						dMonth == '7' || 
						dMonth == '9' || 
						dMonth == '11' )){

				if (dDay == '30' || dDay == '31') {
					dDay = '29';
					//eval (formName.returnDay.selectedIndex = dDay);
				}
				 
  		// For Months with 30 days 				
			}	else if ((dMonth == '3' || 
								dMonth == '5' || 
								dMonth == '8' || 
								dMonth == '10' )) {

					if (dDay == '30' || dDay == '31') {
						dDay = '29';
						eval (formName.returnDay.selectedIndex = dDay);
					} 
			// For February, check for leapyear.
			}	else if (dMonth == '1') {
				if ((!leapYear(dYear) && dDay == '28') || dDay == '29' || dDay == '30') {
					dDay = '27';
					eval (formName.returnDay.selectedIndex = dDay);
				}
			}
		}

		function validateMulti(theForm, num) 
		{
			var d 		= new Date();
			var	dYear = d.getFullYear();
			
			
			var formName = eval('document.' + theForm);
			var dMonth = eval('formName.departure' + num + 'Month.selectedIndex');
			var dDay   = eval('formName.departure' + num + 'Day.selectedIndex');

			// For Months with 31 days 
			if ( (dMonth == '0' || 
						dMonth == '2' || 
						dMonth == '4' || 
						dMonth == '6' || 
						dMonth == '7' || 
						dMonth == '9' || 
						dMonth == '11' )){

				if (dDay == '30' || dDay == '31') {
					dDay = '29';
					//eval ('formName.departure' + num + 'Day.selectedIndex = dDay');
				}
				 
  		// For Months with 30 days 				
			}	else if ((dMonth == '3' || 
								dMonth == '5' || 
								dMonth == '8' || 
								dMonth == '10' )) {

					if (dDay == '30' || dDay == '31') {
						dDay = '29';
						eval ('formName.departure' + num + 'Day.selectedIndex = dDay');
					} 
			// For February, check for leapyear.
			}	else if (dMonth == '1') {
				if ((!leapYear(dYear) && dDay == '28') || dDay == '29' || dDay == '30') {
					dDay = '27';
					eval ('formName.departure' + num + 'Day.selectedIndex = dDay');
				}
			}
		}
		function updateChangedDate(selectObject){
		  selectObject.changed = true; 
		  if(selectObject.form.dateChanged)
		     selectObject.form.dateChanged.value = true;
		}


