// $Id: calendar_handler.js 137 2008-10-23 17:07:47Z damian $

// scripts to handle yahoo calendar

function launchCalendar(e) {
   if ( this.id.match('return') ) {
      input_id = 'return_date';
      cal_title = 'Select Return Date';
      if (document.getElementById( 'return_date' ).value == "")	{
		document.getElementById( 'return_date' ).value = document.getElementById( 'depart_date' ).value;
		}
      if (document.getElementById( 'return_date' ).value == "mm/dd/yyyy")	{
	      if (document.getElementById( 'depart_date' ).value == "mm/dd/yyyy")	{
			alert("Please Select Departure Date First");
			document.getElementById( 'depart_date' ).focus();
		  }
		  else{
		    var dep_date= document.getElementById( 'depart_date' ).value;
			document.getElementById( 'return_date' ).value="";
			document.getElementById( 'return_date' ).value = add_days(dep_date, 3);
		  }
	  }
   } 
   else {
      input_id = 'depart_date';
      cal_title = 'Select Departure Date';
   }

   initCalendar( cal_title );
   document.getElementById('calendar').style.display = '';
}


function handleSelect(type,args,obj) {
   var dates = args[0];
   var date = dates[0];
   var year = date[0], month =date[1]<=9?"0"+date[1]:date[1], day = date[2]<=9?"0"+date[2]:date[2];
   // update input field
   var dateTxtBx = document.getElementById( input_id );

   dateTxtBx.value = month + "/" + day + "/" + year;

   // if input_id is 'departure date', then check return date
   if ( input_id == 'depart_date' ) {
     var r_date = document.getElementById( 'return_date' );
     var trip_type;
     if ( document.getElementById( 'trip_type' ).type == 'radio' ) {
          trip_type = document.SearchFare.trip_type[1].checked?0:1;
	 }
	 else {
		var tripType_ddl_cal = document.SearchFare.trip_type;
		var tripType_ddl_val = tripType_ddl_cal.options[ tripType_ddl_cal.selectedIndex ].value;
		if ( tripType_ddl_val == '0' ) {
			trip_type = 0;
		}
		else {
			trip_type = 1;
		}
	}
  
	if ( r_date && new Date( dateTxtBx.value ) > new Date(r_date.value) ) { update_return_date( dateTxtBx.value ); }

   }
   this.hide();
}

function initCalendar( cal_title ) {

   // setting mindate and maxdate for calendar
   var depart_date = document.getElementById( 'depart_date' );
   var return_date = document.getElementById( 'return_date' );
   //var return_area = document.getElementById( 'return_area' );

   if ( input_id == 'return_date' && depart_date ) {
      var mindate = depart_date.value;
   } else {
      var mindate = get_today();
   }

   var maxdate = get_next_year();

   var in_date = document.getElementById( input_id );
   if ( in_date ) {
		if(in_date.value=='mm/dd/yyyy') {
		 	 var dates = get_today().split('/');
		 }
		 else {
		 	 var dates = in_date.value.split('/');
		 }
   } else {
      var dates = get_today().split('/');
   }
   var pagedate = dates[0]+'/'+dates[2];
  
   YAHOO.calendar.cal1 = new YAHOO.widget.CalendarGroup("cal1","calendar", { title: cal_title, pages: 3,  pagedate: pagedate, mindate: mindate, maxdate: maxdate, close: true });

   YAHOO.calendar.cal1.selectEvent.subscribe(handleSelect, YAHOO.calendar.cal1, true);

   if ( depart_date ) { YAHOO.calendar.cal1.addRenderer(depart_date.value, YAHOO.calendar.cal1.renderCellStyleHighlight1); }

  // if ( return_date && return_area.style.display != 'none' ) { YAHOO.calendar.cal1.addRenderer(return_date.value, YAHOO.calendar.cal1.renderCellStyleHighlight2); }
  
  	//#7497 START
   /**
	*	Added for RT #7497
	*	To remove Back Navigation Arrow from the default Calender
	* Added by: Thathees Siva
	*/
	YAHOO.calendar.cal1.renderEvent.subscribe(
			function (type, args) { 
			
				var fromDate = args[0];
				var toDate = args[1];
				var currentDate = YAHOO.calendar.cal1.pages[0].cfg.getProperty("pagedate");
				var today = new Date();
			
				if(currentDate< today){
					var calNavLeft = YAHOO.util.Dom.getElementsByClassName("calnavleft", "a", "calendar")[0];
					calNavLeft.style.display = "none";
					YAHOO.util.Event.removeListener(calNavLeft,'click');
				}
			});
	//#7497 END
	
   YAHOO.calendar.cal1.render();
}
/*function update_travel() {
      if(document.frmFlights.travel[1].checked) {
         document.frmFlights.travel.value = document.frmFlights.travel[1].value;
         document.getElementById("return_area").style.display = 'none';
      }
      if(document.frmFlights.travel[0].checked) {
         document.frmFlights.travel.value = document.frmFlights.travel[0].value;
         document.getElementById("return_area").style.display = '';
         if (document.getElementById("return_date").value == '') {
             document.getElementById("return_date").value = document.getElementById("depart_date").value;
         }
      }
}*/



