/***************************************************
*Description: This js file will have functions
 to validate searching parameters.
*File Name : BookingSearchValidations.js

*Author : Darshana
*
****************************************************/
var selectedDate ="";
var res="y";

function setOneWay()
{
 var cal2Day;
 var cal2Motnh;
 var cal2Year;
 
 cal2Day = document.getElementById('cal2Day');
 cal2Day.setAttribute("readOnly","true");
 cal2Day.style.backgroundColor='eeeeee';
 
 cal2Month = document.getElementById('cal2Month');
 cal2Month.setAttribute("readOnly","true");
 cal2Month.style.backgroundColor='eeeeee';
 
 cal2Year = document.getElementById('cal2Year');
 cal2Year.setAttribute("readOnly","true");
 cal2Year.style.backgroundColor='eeeeee';
}

function setReturn()
{
 var cal2Day;
 var cal2Motnh;
 var cal2Year;
 
 cal2Day = document.getElementById('cal2Day');
 cal2Day.removeAttribute("readOnly","false");
 cal2Day.style.backgroundColor='ffffff';
 
 cal2Month = document.getElementById('cal2Month');
 cal2Month.removeAttribute("readOnly","false");
 cal2Month.style.backgroundColor='ffffff';
 
 cal2Year = document.getElementById('cal2Year');
 cal2Year.removeAttribute("readOnly","false");
 cal2Year.style.backgroundColor='ffffff';
}

function formsubmit()
{
 var canSubmit= false;
 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 = "http://wtc.farebank.ie/flights/Validation.php";
 //document.Search.action = "Validation.php";
 }
 else if (document.Search.ORM[1].checked ==true)
 {
 //Comment out these, because javascript can't find values when form elements
 //created by gwt
 // 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;
 }

}
}