
/*******************************************
*File Name : ValidateDate.js

*Date 0f Modification  :13 - August - 2002

*******************************************/
var selectedDate ="";

function setFlight1Date()
{
   selectedDate = document.Search.Flight1_Date.value;      
   
}

function setFlight2Date()
{
   selectedDate = document.Search.Flight2_Date.value;      
   
}

function setFlight3Date()
{
   selectedDate = document.Search.Flight3_Date.value;      
   
}

function setFlight4Date()
{
   selectedDate = document.Search.Flight4_Date.value;      
   
}


function Today()
{
   var dd = new Date();
   if( selectedDate != "")
	   return selectedDate ;
	else
	  return( ( dd.getMonth()+1) + "/" + dd.getDate() + "/" + dd.getFullYear() );

}


function Flight1_Cal()
{
   selectedDate = "";    
   checkDateFormat( Search.Flight1_Date );
   var controlStr = "AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title=Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=Today+7;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;CallFunction=setFlight1Date();PopupX=310;PopupY=410;Nav=No;SmartNav=Yes;Fix=Yes;";
   show_calendar('Search.Flight1_Date',null,null, null,null, controlStr);   

}

function Flight2_Cal()
{
   selectedDate = ""; 
   checkDateFormat( Search.Flight2_Date );
   document.Search.Flight2_Date.value = document.Search.Flight1_Date.value;
   var controlStr = "AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title=Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=Today+7;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;CallFunction=setFlight2Date();PopupX=310;PopupY=410;Nav=Yes;SmartNav=Yes;Fix=Yes;";
   show_calendar('Search.Flight2_Date',null,null, null,null, controlStr);

}

function Flight3_Cal()
{
   selectedDate = "";
   checkDateFormat( Search.Flight3_Date );
   document.Search.Flight3_Date.value = document.Search.Flight2_Date.value;
   var controlStr = "AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title=Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=Today+7;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;CallFunction=setFlight3Date();PopupX=310;PopupY=410;Nav=Yes;SmartNav=Yes;Fix=Yes;";
   show_calendar('Search.Flight3_Date',null,null, null,null, controlStr);

}

function Flight4_Cal()
{
   selectedDate = "";
   checkDateFormat( Search.Flight4_Date );
   document.Search.Flight4_Date.value = document.Search.Flight3_Date.value;
   var controlStr = "AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title=Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=Today+7;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;CallFunction=setFlight4Date();PopupX=310;PopupY=410;Nav=Yes;SmartNav=Yes;Fix=Yes;";
   show_calendar('Search.Flight4_Date',null,null, null,null, controlStr);

}


//function for returning how many days there are in a month including leap years

function DaysInMonth( Month, Year )
{
  var DaysInMonth = 31;
  var WhichMonth = parseInt( Month );

  if ( WhichMonth == 4 || WhichMonth == 6 || WhichMonth == 9 || WhichMonth == 11 ) DaysInMonth = 30;
  if ( WhichMonth == 2 && ( Year/4) != Math.floor( Year/4) )	DaysInMonth = 28;
  if ( WhichMonth == 2 && ( Year/4) == Math.floor( Year/4) )	DaysInMonth = 29;
  return DaysInMonth;
}

function checkDateFormat(c_dateValue)
{
    
    var today = new Date();
	
	var today_dd, today_mm, today_yyyy;
	today_dd = today.getDate();
	today_mm = today.getMonth() +1;
	today_yyyy = today.getFullYear();
	//alert ("today " + today_dd +"/"+ today_mm +"/"+ today_yyyy);
	
	var strArr = c_dateValue.value.split('/');
    dd = strArr[0];
    mm = strArr[1];
    yyyy = strArr[2];
    var c_dd, c_mm, c_yyyy;
	
	var dtDate = new Date( mm + '/' + dd + '/' + yyyy);
    
    
    //mm = parseInt(c_mm.value);
    //dd = parseInt(c_dd.value);
    //yyyy = parseInt(c_yyyy.value);
   
    	

    if (isNaN(dd))
     {
      c_dateValue.value=""; 	           
      return false

     }
     else if (dd<1 || dd>31)
     {
        c_dateValue.value=""; 		      
        return false ;

     }
     else if (isNaN(mm))
     {
        c_dateValue.value="";		       
	    return false ;
      }
      else if (mm<1 || mm>12)
      {
         c_dateValue.value="";       
         return false ;

      } else if ( mm == 2) 
	  {
		
        if ( yyyy % 4 > 0 && dd > 28 )
        {            
			c_dateValue.value="";			       
            return false ;
        }
        else if (dd > 29)
        {
			c_dateValue.value="";       
            return false ;
        }
		else
		{
				if (compareDates( today_dd +"/" + today_mm + "/" +today_yyyy,c_dateValue.value ))
				{
					return true;
				}
				else
				{
					 c_dateValue.value=""; 
					 return false;
				}			
		}
      }
      else if (isNaN(yyyy))
      {
         c_dateValue.value="";
		 return false;      
      }
      else if (yyyy<2000 || yyyy>3000)
      {
          c_dateValue.value="";       
          return false ;

      } else 
	  {
           
           dtDate.setFullYear( yyyy, mm - 1, dd);		   

           if (( dtDate.getFullYear() == yyyy) && ( (dtDate.getMonth() + 1) == mm) && ( dtDate.getDate()== dd) ) 
		   {            
			 	if (compareDates(  today_dd +"/" + today_mm + "/" +today_yyyy,c_dateValue.value ))
				{
					return true;
				}
				else
				{
					 c_dateValue.value=""; 
					 return false;
				}				
           } 
		   else 
		   {
            c_dateValue.value="";       
            return false ;
           }

    }
}

function compareDates( fromDate, toDate)
{
	//dates are coming in dd/mm/yyyy format
	
	var retValue = false;	
	if (Date.parse(toDate.split("/")[1] + "/" + toDate.split("/")[0] + "/" + toDate.split("/")[2]) >= Date.parse(fromDate.split("/")[1] + "/" + fromDate.split("/")[0] + "/" + fromDate.split("/")[2]))
		return true;
	else
		return false;	
}

function storeF1Date()
{
	document.Search.Flight1_Date.value = document.Search.F1dd.value + "/" + document.Search.F1mm.value + "/" + document.Search.F1yy.value ;
}

function storeF2Date()
{
	document.Search.Flight2_Date.value = document.Search.F2dd.value + "/" + document.Search.F2mm.value + "/" + document.Search.F2yy.value ;
}

function setF2DateByF1Date()
{
	document.Search.F2dd.value = document.Search.F1dd.value;
	document.Search.F2mm.value = document.Search.F1mm.value;
	document.Search.F2yy.value = document.Search.F1yy.value;
}

function setCurrentDate()
{	 
	 var dd = new Date();
	 curr_mm = "00";
	 curr_dd = "00";
	 if ( (dd.getMonth() + 1) < 10)
	 {
	 	curr_mm = "0" + (dd.getMonth() + 1);	
	 }
	 else
	 {
	 	curr_mm = (dd.getMonth() + 1);
	 }
	 if (dd.getDate() < 10 )
	 {
	 	curr_dd = "0" + dd.getDate();	
	 }
	 else
	 {
	 	curr_dd	= dd.getDate();
	 }
	 
	 document.Search.Flight1_Date.value =  curr_dd + "/" + curr_mm + "/" + dd.getFullYear();
	 document.Search.Flight2_Date.value =  curr_dd + "/" + curr_mm + "/" + dd.getFullYear();
	 //alert(document.Search.Flight1_Date.value);
	 //alert(document.Search.Flight1_Date.value);
	 document.Search.F1dd.value = curr_dd;
	 document.Search.F1mm.value = curr_mm;
	 document.Search.F1yy.value = dd.getFullYear();
	 document.Search.F2dd.value = curr_dd;
	 document.Search.F2mm.value = curr_mm;
	 document.Search.F2yy.value = dd.getFullYear();
	 	
}

function setPreviousFlightDates()
{	
	if( document.Search.Searched.value=='yes')	
	{
		
		document.Search.F1dd.value=document.Search.Flight1_Date.value.split("/")[0]	;
		document.Search.F1mm.value=document.Search.Flight1_Date.value.split("/")[1]	;
		document.Search.F1yy.value=document.Search.Flight1_Date.value.split("/")[2]	;
		
		document.Search.F2dd.value=document.Search.Flight2_Date.value.split("/")[0]	;
		document.Search.F2mm.value=document.Search.Flight2_Date.value.split("/")[1]	;
		document.Search.F2yy.value=document.Search.Flight2_Date.value.split("/")[2]	;
		
	}
}