/***************************************************
*Description: This js file will have functions
			  to validate searching parameters.
*File Name  : BookingSearchValidations.js

*Author     : Darshana
*
****************************************************/
var selectedDate ="";
var res="y";

function fillboxes()
{
	//alert('called me');
	document.getElementById('src1').value=document.getElementById('Depcode').value;
	document.getElementById('firstdes').value=document.getElementById('Descode').value;
}

function setOneWay()
{
	var  cal2;
	cal2 = document.getElementById('cal2');
	cal2.setAttribute("readOnly","true");
	cal2.style.backgroundColor='eeeeee';	
}

function setReturn()
{
	
	var  cal2;
	cal2 = document.getElementById('cal2');
	cal2.removeAttribute("readOnly","false");
	cal2.style.backgroundColor='ffffff';	
}

function formsubmit()
{
   var canSubmit= false;
    var today=new Date();
   var DepartureDate= document.Search.cal1.value;
   
   var strArr = DepartureDate.split('/');
    dd = strArr[0];
    mm = strArr[1];
    yyyy = strArr[2];
    var c_dd, c_mm, c_yyyy;
	
	var dtDate = new Date( mm + '/' + dd + '/' + yyyy);
  	today.setDate(today.getDate()+5);
  	
  	if (today>dtDate)
  	{
  	alert ("Sorry you cannot book less than 5 days in advance");
  	}
   else if(checkInfantsNo() && checkTotalPassengers()){
      
	  if (document.Search.ORM[0].checked == true)
	  {
		  document.Search.cal2.value = "";
		  document.Search.src2.value = "";
		  document.Search.des2.value = "";
		  canSubmit = checkDateFormat( document.Search.cal1 );
		  	
		  //document.Search.action = "Validation.php";
	  }
	  else if (document.Search.ORM[1].checked ==true)
	  {
		 // document.Search.src2.value = document.Search.des1.value;
		//  document.Search.des2.value = document.Search.src1.value;
		  canSubmit = checkDateFormat( document.Search.cal1 ) && checkDateFormat( document.Search.cal2 ) && compareDates(document.Search.cal1.value,document.Search.cal2.value)  ;
		//  document.Search.action = "Validation.php";
	  }
	  
	
      if (canSubmit)
      {
      	document.Search.submit();
      }
      else
      {
      	alert("Check Dates.");
      }
      
   }
}

function checkInfantsNo()
  {
       if ( parseInt( document.Search.Infants.options[ document.Search.Infants.selectedIndex ].value) > parseInt(document.Search.Adults.options[ document.Search.Adults.selectedIndex ].value ) )
        {
          alert("You can not travel with more infants than adults .");
          document.Search.Infants.options[0].selected = true;
          return false;
       }
       else
            return true;
  }

function checkTotalPassengers()
  {
        if( parseInt( document.Search.Adults.options[ document.Search.Adults.selectedIndex ].value ) + parseInt( document.Search.Children.options[ document.Search.Children.selectedIndex ].value ) > 9 )
        {
            alert("You can not select total number of passengers more than 9 per journey excluding Infants .");
            return false;
        }
        else
             return true;
  }

function setPreviousDataValues(adt, chd, inf, airline, bookingClass, orm)
{
   var noOfClasses = document.Search.Class.length;

	for ( var j=0; noOfClasses >j; j++ )
	{
		if( document.Search.Class.options[j].value == bookingClass )
			document.Search.Class.options[j].selected = true;

	}
    var noOfAirlines = document.Search.AirlineSelect.length;
    for ( var j=0; noOfAirlines >j; j++ )
	{
		if( document.Search.AirlineSelect.options[j].value == airline )
			document.Search.AirlineSelect.options[j].selected = true;

	}


  	document.Search.Adults.options[ parseInt( adt ) - 1 ].selected = true;

	if( parseInt( chd ) > 0 )
		document.Search.Children.options[ parseInt( chd )].selected = true;
	if( parseInt( inf ) > 0 )
		document.Search.Infants.options[ parseInt( inf )].selected = true;
		
		
	if (orm == 'O')
	{
		document.Search.ORM[0].checked = true;
		document.Search.ORM[1].checked = false;
		
		setOneWay();
	}
	else if (orm == 'R')
	{
		document.Search.ORM[0].checked = false;
		document.Search.ORM[1].checked = true;
		
		setReturn();
	}

}


function Today()
{
   var dd = new Date();

   if( selectedDate != "")
	  return selectedDate ;
   else
	  return((dd.getMonth()+1) + "/" + dd.getDate() + "/" + dd.getFullYear());
}



function showFirstDate()
{
   checkDateFormat(document.Search.cal1);   
   
   selectedDate = "";
   var controlStr ="AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title= TBX Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=Today;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;PopupX=240;PopupY=220;Nav=Yes;SmartNav=Yes;Fix=Yes;";
   show_calendar('Search.cal1',null,null, null,null, controlStr);

}

function setFirstDate()
{
   selectedDate = document.Search.firstDate.value;
   var sd = document.Search.firstDate.value.split("/");
   document.Search.cal1.value = sd[1]+"/"+sd[0]+"/"+sd[2];

}

///////////////////////////////

function showSecondDate()
{
 checkDateFormat(document.Search.cal2); 
   selectedDate = "";
   var controlStr ="AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title= TBX Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=Today;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;PopupX=240;PopupY=220;Nav=Yes;SmartNav=Yes;Fix=Yes;";
   show_calendar('Search.cal2',null,null, null,null, controlStr);

}

function setSecondDate()
{
   selectedDate = document.Search.secondDate.value;

   var sd = document.Search.secondDate.value.split("/");
   document.Search.cal2.value = sd[1]+"/"+sd[0]+"/"+sd[2];

}

///////////////////////////////
function showThirdDate()
{
   checkDateFormat(document.Search.cal3); 
   selectedDate = "";
   var controlStr ="AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title= TBX Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=Today;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;PopupX=240;PopupY=220;Nav=Yes;SmartNav=Yes;Fix=Yes;";
   show_calendar('Search.cal3',null,null, null,null, controlStr);

}

function setThirdDate()
{
   selectedDate = document.Search.thirdDate.value;
   var sd = document.Search.thirdDate.value.split("/");
   document.Search.cal3.value = sd[1]+"/"+sd[0]+"/"+sd[2];

}
/////////////////////////////////

function showFourthDate()
{
	checkDateFormat(document.Search.cal4); 
   	selectedDate = "";
   	var controlStr ="AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title= TBX Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=Today;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;PopupX=240;PopupY=220;Nav=Yes;SmartNav=Yes;Fix=Yes;";
   	show_calendar('Search.cal4',null,null, null,null, controlStr);

}

function setFourthDate()
{
   selectedDate = document.Search.fourthDate.value;
   var sd = document.Search.fourthDate.value.split("/");
   document.Search.cal4.value = sd[1]+"/"+sd[0]+"/"+sd[2];
}

function showBookingFrom()
{
   selectedDate = "";
   var controlStr ="AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title= TBX Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=null;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;CallFunction=setBookingFromDate()PopupX=240;PopupY=220;Nav=Yes;SmartNav=Yes;Fix=Yes;";
   show_calendar('Search.selectedBookingFromDate',null,null, null,null, controlStr);

}

function setBookingFromDate()
{
   selectedDate = document.Search.selectedBookingFromDate.value;
   var sd = document.Search.selectedBookingFromDate.value.split("/");
   document.Search.BookingDateFromDate.value = sd[0];
   document.Search.BookingDateFromMonth.value = sd[1];
   document.Search.BookingDateFromYear.value = sd[2];
}

function showBookingTo()
{
   selectedDate = "";
   var controlStr ="AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title= TBX Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=null;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;CallFunction=setBookingToDate();PopupX=240;PopupY=220;Nav=Yes;SmartNav=Yes;Fix=Yes;";
   show_calendar('Search.selectedBookingToDate',null,null, null,null, controlStr);

}


function setBookingToDate()
{
   var sd = document.Search.selectedBookingToDate.value.split("/");
   document.Search.BookingDateToDate.value = sd[0];
   document.Search.BookingDateToMonth.value = sd[1];
   document.Search.BookingDateToYear.value = sd[2];
}



function showOutboundFrom()
{
   var controlStr ="AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title= TBX Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=null;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;CallFunction=setOutboundFromDate();PopupX=240;PopupY=220;Nav=Yes;SmartNav=Yes;Fix=Yes;";
   show_calendar('Search.selectedOutFlightFromDate',null,null, null,null, controlStr);

}

function setOutboundFromDate()
{
   //selectedDate = document.Search.selectedBookingFromDate.value;

   var sd = document.Search.selectedOutFlightFromDate.value.split("/");
   document.Search.OutFlightsFromDate.value = sd[0];
   document.Search.OutFlightsFromMonth.value = sd[1];
   document.Search.OutFlightsFromYear.value = sd[2];
}


function showOutboundTo()
{
   //selectedDate = "";
   var controlStr ="AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title= TBX Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=null;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;CallFunction=setOutboundToDate();PopupX=240;PopupY=220;Nav=Yes;SmartNav=Yes;Fix=Yes;";
   show_calendar('Search.selectedOutFlightToDate',null,null, null,null, controlStr);

}


function setOutboundToDate()
{
   var sd = document.Search.selectedOutFlightToDate.value.split("/");
   document.Search.OutFlightsToDate.value = sd[0];
   document.Search.OutFlightsToMonth.value = sd[1];
   document.Search.OutFlightsToYear.value = sd[2];
}

function showReturnFromCal()
{
	var controlStr ="AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title= TBX Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=Today;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;CallFunction=setReturnFlightFromDate();PopupX=240;PopupY=220;Nav=Yes;SmartNav=Yes;Fix=Yes;";
	show_calendar('Search.SelectedReturnFromDate',null,null, null,null, controlStr);

}

function setReturnFlightFromDate()
{
   var sd = document.Search.SelectedReturnFromDate.value.split("/");
   document.Search.RetFlightsFromDate.value = sd[0];
   document.Search.RetFlightsFromMonth.value = sd[1];
   document.Search.RetFlightsFromYear.value = sd[2];
}


function showReturnToCal()
{
	var controlStr ="AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title= TBX Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=Today;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;CallFunction=setReturnFlightToDate();PopupX=240;PopupY=220;Nav=Yes;SmartNav=Yes;Fix=Yes;";
	show_calendar('Search.SelectedReturnToDate',null,null, null,null, controlStr);

}

function setReturnFlightToDate()
{
   var sd = document.Search.SelectedReturnToDate.value.split("/");
   document.Search.RetFlightsToDate.value = sd[0];
   document.Search.RetFlightsToMonth.value = sd[1];
   document.Search.RetFlightsToYear.value = sd[2];
}

function validatePayments(){
	var low = document.Search.Low.value;
	var high = document.Search.High.value;

	if(isNaN(low) || isNaN(high)){
		alert("Please enter positive values");
		res = "n";
		document.Search.Low.focus();


	}else{

		if( low < 0 || high < 0 || low >= high){
			alert("Please enter a valid payment range ");
			res = "n";
			document.Search.Low.focus();


		}
		else{

			res = "y";

		}
	}

}

function BOvalidate()
{
	var bookingDateStatus = false;
	var outboundFlighStatus = false;

	if(document.Search.TicketVal.checked)
		validatePayments();


      if( res =="y"){


	if( !document.Search.BookingDate.checked && !document.Search.OutFlightDate.checked)
	{
		alert( "Please enter the date period ." );
		return false;
	}
	else
	{

		if( document.Search.BookingDate.checked )
		{

			if( validateBookingDate() ){



			   bookingDateStatus = true;
			}else
			{
				alert( "Invalid date period for Booking made ." );
				bookingDateStatus = false;
				return false;
			}
		}
		else
			bookingDateStatus = false;

		if( document.Search.OutFlightDate.checked )
		{
			if( validateOutboundDate() )
				outboundFlighStatus = true;
			else
			{
				alert( "Invalid date period for Outbound flights departing ." );
				outboundFlighStatus = false;
				return false;
			}
		}
		else
			outboundFlighStatus = false;



		if( bookingDateStatus || outboundFlighStatus )
                {

		  if( document.Search.ExportSearch.value == "Export" )
                  {

		    document.Search.action = "BOSearchBookingExport.php";

		    document.Search.submit();
                  }
                  if( document.Search.ExportSearch.value == "Search2" )
                  {
                    document.Search.action = "BOSearchBookingResults.php";
			document.Search.Search2.value ="Login";
                    //document.Search.target = "";
		    document.Search.submit();
                  }
                  return true;
                }
		else
                  return false;

	}
      }else{

	}


}


function validate()
{
	var bookingDateStatus = false;
	var outboundFlighStatus = false;

	if(document.Search.TicketVal.checked)
		validatePayments();


      if( res =="y"){



	if( !document.Search.BookingDate.checked && !document.Search.OutFlightDate.checked)
	{
		alert( "Please enter the date period ." );
		return false;
	}
	else
	{
		if( document.Search.BookingDate.checked )
		{
			if( validateBookingDate() )
			   bookingDateStatus = true;
			else
			{
				alert( "Invalid date period for Booking made ." );
				bookingDateStatus = false;
				return false;
			}
		}
		else
			bookingDateStatus = false;

		if( document.Search.OutFlightDate.checked )
		{
			if( validateOutboundDate() )
				outboundFlighStatus = true;
			else
			{
				alert( "Invalid date period for Outbound flights departing ." );
				outboundFlighStatus = false;
				return false;
			}
		}
		else
			outboundFlighStatus = false;


		if( bookingDateStatus || outboundFlighStatus )
                {
                  if( document.Search.ExportSearch.value == "Export" )
                  {

		    document.Search.action = "SearchBookingExport.php";
                    //document.Search.target = "blank";
		    document.Search.submit();
                  }
                  if( document.Search.ExportSearch.value == "Search2" )
                  {
                    document.Search.action = "SearchBookingResults.php";
			document.Search.Search2.value ="Login";

		    document.Search.submit();
                  }
                  return true;
                }
		else
                  return false;

	}
      }else{

	}


}




//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;
}

var currentDate = new Date();


function validateBookingDate()
{
	if( validateFromDate( document.Search.BookingDateFromDate.value,
		document.Search.BookingDateFromMonth.value ,document.Search.BookingDateFromYear.value
		,"Booking made between the dates") )
	{
		if( validateToDate( document.Search.BookingDateFromDate.value ,
				   document.Search.BookingDateFromMonth.value ,document.Search.BookingDateFromYear.value ,
				   document.Search.BookingDateToDate.value ,
				   document.Search.BookingDateToMonth.value ,document.Search.BookingDateToYear.value,
				   "Booking made between the dates") )
			return true;

		else
			return false;

	}
	else
		return false;

}

function validateOutboundDate()
{
	if( validateFromDate( document.Search.OutFlightsFromDate.value,
		document.Search.OutFlightsFromMonth.value ,document.Search.OutFlightsFromYear.value
		,"Outbound flights departing dates .") )
	{
		if( validateToDate( document.Search.OutFlightsFromDate.value ,
				   document.Search.OutFlightsFromMonth.value ,document.Search.OutFlightsFromYear.value ,
				   document.Search.OutFlightsToDate.value ,
				   document.Search.OutFlightsToMonth.value ,document.Search.OutFlightsToYear.value
				   ,"Outbound flights departing dates ." ) )
			return true;
		else
			return false;
	}
	else
		return false;

}


function validateReturnDate()
{
	if( validateFromDate( document.Search.RetFlightsFromDate.value,
		document.Search.RetFlightsFromMonth.value ,document.Search.RetFlightsFromYear.value
		,"Return flights departing dates .") )
	{
		if( validateToDate( document.Search.RetFlightsFromDate.value ,
				   document.Search.RetFlightsFromMonth.value ,document.Search.RetFlightsFromYear.value ,
				   document.Search.RetFlightsToDate.value ,
				   document.Search.RetFlightsToMonth.value ,document.Search.RetFlightsToYear.value
				   ,"Return flights departing dates ." ) )
			return true;
		else
			return false;
	}
	else
		return false;

}

function validateFromDate( date , month , year ,message )
{
	if(  year >= 2002 && month <= 12 && date >0 && date <= 31 )
	{
	  var DaysForSelectedMonth = DaysInMonth( month , year );

	  if( DaysForSelectedMonth >= date )
		  return true;
	  else
		return false;
	}
	else
		return false;
}


function validateToDate( dateFrom , monthFrom , yearFrom ,date , month , year ,message )
{
   if( year >= 2002 && month <= 12 && date >0 && date <= 31 )
   {
	  var DaysForSelectedMonth = DaysInMonth( month , year );

	  if( DaysForSelectedMonth >= date )
	  {
		 depDate = new Date(  monthFrom+ "/" + dateFrom + "/" +yearFrom );
		 retDate = new Date(  month+ "/" + date + "/" + year );

		 if( retDate >= depDate )
			 return true;
		 else
			return false;
	  }
	  else
		return false;
	}
	else
		return false;
}


function changeJourneyType()
{
	if( !document.Search.Ret_OneWay.options[ 0 ].selected )
	{
		if( document.Search.RetFlightsDate.checked )
			document.Search.RetFlightsDate.checked = false;
	}
	else
	{
		if( document.Search.RetFlightsFromDate.value != "" &&
			document.Search.RetFlightsFromMonth.value !="" &&
			document.Search.RetFlightsFromYear.value != "" )

			document.Search.RetFlightsDate.checked = true;
	}
}

function enableBookingDates(){


	if(document.Search.BookingDate.checked){

	       	document.Search.BookingDateFromDate.disabled=false;
		document.Search.BookingDateFromMonth.disabled=false;
		document.Search.BookingDateFromYear.disabled =false;
		document.Search.BookingDateToDate.disabled=false;
		document.Search.BookingDateToMonth.disabled=false;
		document.Search.BookingDateToYear.disabled=false;




	}else{

		document.Search.BookingDateFromDate.disabled= true;
		document.Search.BookingDateFromMonth.disabled= true;
		document.Search.BookingDateFromYear.disabled =true;
		document.Search.BookingDateToDate.disabled=true;
		document.Search.BookingDateToMonth.disabled=true;
		document.Search.BookingDateToYear.disabled=true;



		document.Search.BookingDateFromDate.value="";
		document.Search.BookingDateFromMonth.value="";
		document.Search.BookingDateFromYear.value ="";
		document.Search.BookingDateToDate.value="";
		document.Search.BookingDateToMonth.value="";
		document.Search.BookingDateToYear.value="";
	}

}

function enableOutFlightDates(){

	if(document.Search.OutFlightDate.checked){
		document.Search.OutFlightsFromDate.disabled = false;
		document.Search.OutFlightsFromMonth.disabled =false;
		document.Search.OutFlightsFromYear.disabled=false;
		document.Search.OutFlightsToDate.disabled=false;
		document.Search.OutFlightsToMonth.disabled=false;
		document.Search.OutFlightsToYear.disabled=false;

		document.all.Layer3.style.visibility="visible";
		document.all.Layer4.style.visibility="hidden";
		document.all.Layer9.style.visibility="visible";
		document.all.Layer10.style.visibility="hidden";
	}else{
		document.Search.OutFlightsFromDate.disabled = true;
		document.Search.OutFlightsFromMonth.disabled =true;
		document.Search.OutFlightsFromYear.disabled=true;
		document.Search.OutFlightsToDate.disabled=true;
		document.Search.OutFlightsToMonth.disabled=true;
		document.Search.OutFlightsToYear.disabled=true;

		document.all.Layer3.style.visibility="hidden";
		document.all.Layer4.style.visibility="visible";
		document.all.Layer9.style.visibility="hidden";
		document.all.Layer10.style.visibility="visible";
	}
}



function checkJourneyType()
{	enableRetFlightsDates();
	if( document.Search.RetFlightsDate.checked )
		document.Search.Ret_OneWay.options[ 0 ].selected = true;
}


function enableOriginPort(){
	if(document.Search.OriginPort.checked){
		document.Search.DepPort.disabled = false;
	}else{
		document.Search.DepPort.disabled = true;
	}

}
function enableDestPort(){
	if(document.Search.DestPort.checked){
		document.Search.RetPort.disabled = false;
	}else{
		document.Search.RetPort.disabled = true;
	}
}
function enableJourney(){
	if(document.Search.Journey.checked){
		document.Search.Ret_OneWay.disabled = false;
	}else{
		document.Search.Ret_OneWay.disabled = true;
	}
}
function enableCabinClass(){
	if(document.Search.CabinClass.checked){

		document.Search.Class.disabled = false;
	}else{
		document.Search.Class.disabled = true;
	}
}
function enableDirect_Via(){
	if(document.Search.Direct_Via.checked){
		document.Search.Route.disabled = false;
	}else{
		document.Search.Route.disabled = true;
	}
}

function enableBookingValue()
{
	if(document.Search.TicketVal.checked){
		document.Search.Low.disabled = false;
		document.Search.High.disabled = false;
	}else{
		document.Search.Low.disabled = true;
		document.Search.High.disabled = true;
	}

}


/*----- Back Office Search Booking Functionalities--*/

function setTravelAgentName( clientId ,abta ,name )
{
	document.Search.ABTA.value = abta;
	document.Search.AgentName.value = name;
	document.Search.clientId.value = clientId;

}

function BOselectedBooking( key )
{
	alert("clientId " +document.SearchResult.ClientId.value);
	booking = window.open( "BOSelectedBookingItinerary.php?Type=SearchBooking&bookingNo="+key+"&ClientId="+document.SearchResult.ClientId.value+"","profile","width=790,height=560,scrollbars=1");
	booking.focus();
}

function selectedBooking( key )
{
	booking = window.open( "SelectedBookingItinerary.php?Type=SearchBooking&bookingNo="+key+"","profile","width=790,height=560,scrollbars=1");
	booking.focus();
}
//======================OLD SYSTEM ==============================================
function openAgentWindowOLD()
{
	agents = window.open( "ViewAvailableTravelAgentsOLD.php","route","width=600,height=275,scrollbars=1" );
	agents.focus();
}

function setTravelAgentNameOLD( agentRef ,abta ,name )
{
	document.Search.ABTA.value = abta;
	document.Search.AgentName.value = name;
	document.Search.AgentRef.value = agentRef;
}

function getTravelAgentNameOLD()
{
	if( document.Search.ABTA.value != "" )
	{
		location.href = "BOSearchBookingsOLD.php?Status=setAgentRef&ABTA="+document.Search.ABTA.value;
	}
}

function backOfficeSearchValidateOLD()
{
	var bookingDateStatus = false;
	var outboundFlighStatus = false;
	var returnFlightStatus = false;
	if( document.Search.ABTA.value != ""  )
	{
		if( !document.Search.BookingDate.checked && !document.Search.OutbFlightDate.checked &&
			!document.Search.RetFlightsDate.checked )
		{
			alert( "Please enter the date period ." );
			return false;
		}
		else
		{
			if( document.Search.BookingDate.checked )
			{
				if( validateBookingDate() )
				   bookingDateStatus = true;
				else
				{
					alert( "Invalid date period for Booking made ." );
					bookingDateStatus = false;
					return false;
				}
			}
			else
				bookingDateStatus = false;

			if( document.Search.OutbFlightDate.checked )
			{
				if( validateOutboundDate() )
					outboundFlighStatus = true;
				else
				{
					alert( "Invalid date period for Outbound flights departing ." );
					outboundFlighStatus = false;
					return false;
				}
			}
			else
				outboundFlighStatus = false;

			if( document.Search.RetFlightsDate.checked )
				if( validateReturnDate() )
					returnFlightStatus = true;
				else
				{
					alert( "Invalid date period for Return flights departing ." );
					returnFlightStatus = false;
					return false;
				}
			else
				returnFlightStatus = false;

			if( bookingDateStatus || outboundFlighStatus || returnFlightStatus)
                        {
                          if( document.Search.ExportSearch.value == "Export" )
                          {
                            document.Search.action = "BOSearchBookingExportOLD.php";
                            document.Search.target = "blank";
                          }
                          if( document.Search.ExportSearch.value == "Search" )
                          {
                            document.Search.action = "BOSearchBookingResultsOLD.php";
                            document.Search.target = "";
                          }
                          return true;
                        }else
				return false;
		}
	}
	else
	{
		alert( "Please enter the ABTA number of the Travel Agent That you are going to search for ." );
		document.Search.ABTA.focus();
		return false;
	}
}

function backOfficeSelectedBookingOLD( bookingId )
{
	var abta = document.SearchResult.Hidden_ABTA.value;
	var agentRef = document.SearchResult.AgentRef.value;

	booking = window.open( "BOSelectedBookingItineraryOLD.php?Type=BackOfficeSearchBooking&bookingNo="+bookingId+"&ABTA="+abta+"&AgetnRef="+agentRef,"profile","width=790,height=560,scrollbars=1");
	booking.focus();
}


function selectedBookingOLD( key )
{
	booking = window.open( "SelectedBookingItineraryOLD.php?Type=SearchBooking&bookingNo="+key+"","profile","width=790,height=560,scrollbars=1");
	booking.focus();
}


//===============================================================================

function selectedBookingOLD( key )
{
	booking = window.open( "SelectedBookingItineraryOLD.php?Type=SearchBooking&bookingNo="+key+"","profile","width=790,height=560,scrollbars=1");
	booking.focus();
}





//===============================================================================


function openAgentWindow()
{
	agents = window.open( "ViewAvailableTravelAgents.php","route","width=600,height=275,scrollbars=1" );
	agents.focus();
}


function getTravelAgentName()
{
	if( document.Search.ABTA.value != "" )
	{
		location.href = "BOSearchBookings.php?Status=setAgentRef&ABTA="+document.Search.ABTA.value;
	}
}


function backOfficeSearchValidate()
{
	var bookingDateStatus = false;
	var outboundFlighStatus = false;

	if( document.Search.ABTA.value != ""  )
	{
		if( !document.Search.BookingDate.checked && !document.Search.OutbFlightDate.checked )
		{
			alert( "Please enter the date period ." );
			return false;
		}
		else
		{
			if( document.Search.BookingDate.checked )
			{
				if( validateBookingDate() )
				   bookingDateStatus = true;
				else
				{
					alert( "Invalid date period for Booking made ." );
					bookingDateStatus = false;
					return false;
				}
			}
			else
				bookingDateStatus = false;

			if( document.Search.OutFlightDate.checked )
			{
				if( validateOutboundDate() )
					outboundFlighStatus = true;
				else
				{
					alert( "Invalid date period for Outbound flights departing ." );
					outboundFlighStatus = false;
					return false;
				}
			}
			else
				outboundFlighStatus = false;

			if( document.Search.RetFlightsDate.checked )
				if( validateReturnDate() )
					returnFlightStatus = true;
				else
				{
					alert( "Invalid date period for Return flights departing ." );
					returnFlightStatus = false;
					return false;
				}
			else
				returnFlightStatus = false;

			if( bookingDateStatus || outboundFlighStatus || returnFlightStatus)
                        {
                          if( document.Search.ExportSearch.value == "Export" )
                          {
                            document.Search.action = "BOSearchBookingExport.php";
                            document.Search.target = "blank";
                          }
                          if( document.Search.ExportSearch.value == "Search2" )
                          {
                            document.Search.action = "BOSearchBookingResults.php";
                            document.Search.target = "";
                          }
                          return true;
                        }else
				return false;
		}
	}
	else
	{
		alert( "Please enter the ABTA number of the Travel Agent That you are going to search for ." );
		document.Search.ABTA.focus();
		return false;
	}
}


function backOfficeSelectedBooking( bookingId )
{
	var abta = document.SearchResult.Hidden_ABTA.value;
	var agentRef = document.SearchResult.AgentRef.value;

	booking = window.open( "SelectedBookingItinerary.php?Type=BackOfficeSearchBooking&bookingNo="+bookingId+"&ABTA="+abta+"&AgetnRef="+agentRef,"profile","width=790,height=560,scrollbars=1");
	booking.focus();
}

/*******************************************************
 * Added by Danushka on 28-08-2002
 * Both these function modify the ExportSubmit parameter
 *******************************************************/
function setExport()
{
  document.Search.ExportSearch.value = "Export";
}

function setSearch()
{
  document.Search.ExportSearch.value = "Search2";
}

/*****************************************
 * To load  the Excel file into the browser
 *****************************************/

function LoadExcelFile()
{
  window.location.href = document.TheForm.ExcelPath.value;
}

function reset()
{
     document.Search.reset();
     document.Search.ABTA.value = "";
     document.Search.AgentName.value = "";
     document.Search.clientId.value = "";
}


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( dd,mm,yyyy,today_dd,today_mm,today_yyyy ))
				{
					return true;
				}
				else
				{
					 c_dateValue.value=""; 
					 return false;
				}			
		}
      }
      else if (isNaN(yyyy))
      {
         c_dateValue.value=""; 
      
      }
      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( dd,mm,yyyy,today_dd,today_mm,today_yyyy ))
				{
					return true;
				}
				else
				{
					 c_dateValue.value=""; 
					 return false;
				}				
           } 
		   else 
		   {
            c_dateValue.value="";       
            return false ;
           }

    }
}

function compareDates( dd,mm,yyyy,today_dd,today_mm,today_yyyy)
{
	 
	if (yyyy < today_yyyy)
	{		       
		return false;
	}
	else if(yyyy == today_yyyy)
	{
	  if ( mm < today_mm)
	 {		
		return false;		
	 }
	 else if( mm == today_mm )
	      {
		    if ( dd < today_dd)
	        {	
		     return false;
	        }
			else
			{
			 return true;
			}
		  
		  }
		  else
		  {
		   return true;
		  }
	}
	else{
	  return true;
	}

}
