//Comment the lines until xmlFeePondO ... before uploading this file to staging and production

/**  allthough the name of the variable is Cities, you should encode AIRPORT CODES and NAMES  */

/** 
==========================================================================================================
SEE           /cgi-bin/local_widgets/flight-timetable.pl?output=javascript      FOR THESE FOLLOWING TABLES
=============================================================================================================

Cities= { 
	AMS:{code:"AMS", name:"Amsterdam", connections:["LCY","JER"], office:"AMSWX08AA", company:"VLM", type:"Airport"},
	ANR:{code:"ANR", name:"Antwerp", connections:["JER","LCY","MAN"], office:"BRUWX08AA", company:"VLM", type:"Airport"}, 
	DUB:{code:"DUB", name:"Dublin", connections:["LCY"], office:"DUBWX08AA", company:"CITYJET", type:"Airport"}, 
	DND:{code:"DND", name:"Dundee", connections:["LCY"], office:"LONWX08AA", company:"CITYJET", type:"Airport"}, 
	EDI:{code:"EDI", name:"Edinburgh", connections:["LCY"], office:"LONWX08AA", company:"CITYJET", type:"Airport"}, 
	EIN:{code:"EIN", name:"Eindhoven", connections:["JER","LCY"], office:"AMSWX08AA", company:"VLM", type:"Airport"}, 
	HAM:{code:"HAM", name:"Hamburg", connections:["RTM"], office:"AMSWX08AA", company:"VLM", type:"Airport"}, 
	JER:{code:"JER", name:"Jersey", connections:["AMS","LCY", "ANR","LUX","RTM","EIN"], office:" LONWX08AA ", company:"VLM", type:"Airport"}, 
	LCY:{code:"LCY", name:"London City", connections:["AMS","ANR", "JER","RTM","DND","EDI","NCE","ORY","SXB","DUB","NTE","EIN","LUX"], office:"LONWX08AA", company:"BOTH", type:"Airport"}, 
	LUX:{code:"LUX", name:"Luxembourg", connections:["JER", "LCY"],office:"LUXWX08AA", company:"VLM", type:"Airport"}, 
	NTE:{code:"NTE", name:"Nantes", connections:["LCY"], office:"PARWX08AA", company:"CITYJET",type:"Airport"}, 
	NCE:{code:"NCE", name:"Nice", connections:["LCY"], office:"PARWX08AA", company:"CITYJET", type:"Airport"}, 
	ORY:{code:"ORY", name:"Paris (ORY)", connections:["LCY"], office:"PARWX08AA", company:"CITYJET", type:"Airport"}, 
	RTM:{code:"RTM", name:"Rotterdam", connections:["HAM","LCY","MAN","JER"], office:"AMSWX08AA", company:"VLM", type:"Airport"}, 
	MAN:{code:"MAN", name:"Manchester", connections:["ANR","RTM"], office:" LONWX08AA ", company:"VLM", type:"Airport"}, 
	SXB:{code:"SXB", name:"Strasbourg", connections:["LCY"], office:"PARWX08AA", company:"CITYJET", type:"Airport"}
}; 
	

CitieRange_1 = "LUX,AMS,EIN,RTM,HAM,JER,MAN";
CitieRange_2 = "ANR,BRU";
CitieRange_3 = "NCE,ORY,SXB,NTE";
*/
var flightData;
var workingCompany;

xmlNoFee = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?><SO_GL><GLOBAL_LIST mode=\"complete\"><NAME>SITE_SERVICE_FEE</NAME><LIST_ELEMENT><CODE>0</CODE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0.00</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>1</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE>VALUE</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>0</CODE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0.00</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>1</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE>PLUS</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>0</CODE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0.00</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>1</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE>FLEX</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SITE_CREDIT_CARD</NAME><LIST_ELEMENT><CODE>VI</CODE><LIST_VALUE>VISA</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>VI</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>AX</CODE><LIST_VALUE>AMEX</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>AX</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>CA</CODE><LIST_VALUE>MasterCard</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>CA</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>DC</CODE><LIST_VALUE>Diners Club</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>DC</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SO_SINGLE_MULTIPLE_COMMAND_BUILDER</NAME><LIST_ELEMENT><CODE>1</CODE><LIST_VALUE><![CDATA[FV AF]]></LIST_VALUE><LIST_VALUE>S</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST></SO_GL>";

xmlFeeO_1 = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?><SO_GL><GLOBAL_LIST mode=\"complete\"><NAME>SITE_SERVICE_FEE</NAME><LIST_ELEMENT><CODE>0</CODE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>10.00</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SITE_CREDIT_CARD</NAME><LIST_ELEMENT><CODE>VI</CODE><LIST_VALUE>VISA</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>VI</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>AX</CODE><LIST_VALUE>AMEX</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>AX</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>CA</CODE><LIST_VALUE>MasterCard</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>CA</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>DC</CODE><LIST_VALUE>Diners Club</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>DC</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SO_SINGLE_MULTIPLE_COMMAND_BUILDER</NAME><LIST_ELEMENT><CODE>1</CODE><LIST_VALUE><![CDATA[FV AF]]></LIST_VALUE><LIST_VALUE>S</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST></SO_GL>";
xmlFeeO_2 = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?><SO_GL><GLOBAL_LIST mode=\"complete\"><NAME>SITE_SERVICE_FEE</NAME><LIST_ELEMENT><CODE>0</CODE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>5.00</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SITE_CREDIT_CARD</NAME><LIST_ELEMENT><CODE>VI</CODE><LIST_VALUE>VISA</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>VI</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>AX</CODE><LIST_VALUE>AMEX</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>AX</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>CA</CODE><LIST_VALUE>MasterCard</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>CA</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>DC</CODE><LIST_VALUE>Diners Club</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>DC</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SO_SINGLE_MULTIPLE_COMMAND_BUILDER</NAME><LIST_ELEMENT><CODE>1</CODE><LIST_VALUE><![CDATA[FV AF]]></LIST_VALUE><LIST_VALUE>S</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST></SO_GL>";
xmlFeeO_3 = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?><SO_GL><GLOBAL_LIST mode=\"complete\"><NAME>SITE_SERVICE_FEE</NAME><LIST_ELEMENT><CODE>0</CODE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>3.00</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>1</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE>VALUE</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>0</CODE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>6.00</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>1</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE>PLUS</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>0</CODE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>6.00</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>1</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE>FLEX</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SITE_CREDIT_CARD</NAME><LIST_ELEMENT><CODE>VI</CODE><LIST_VALUE>VISA</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>VI</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>AX</CODE><LIST_VALUE>AMEX</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>AX</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>CA</CODE><LIST_VALUE>MasterCard</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>CA</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>DC</CODE><LIST_VALUE>Diners Club</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>DC</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SO_SINGLE_MULTIPLE_COMMAND_BUILDER</NAME><LIST_ELEMENT><CODE>1</CODE><LIST_VALUE><![CDATA[FV AF]]></LIST_VALUE><LIST_VALUE>S</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST></SO_GL>";

xmlFeeR_1 = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?><SO_GL><GLOBAL_LIST mode=\"complete\"><NAME>SITE_SERVICE_FEE</NAME><LIST_ELEMENT><CODE>0</CODE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>10.00</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SITE_CREDIT_CARD</NAME><LIST_ELEMENT><CODE>VI</CODE><LIST_VALUE>VISA</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>VI</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>AX</CODE><LIST_VALUE>AMEX</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>AX</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>CA</CODE><LIST_VALUE>MasterCard</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>CA</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>DC</CODE><LIST_VALUE>Diners Club</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>DC</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SO_SINGLE_MULTIPLE_COMMAND_BUILDER</NAME><LIST_ELEMENT><CODE>1</CODE><LIST_VALUE><![CDATA[FV AF]]></LIST_VALUE><LIST_VALUE>S</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST></SO_GL>";
xmlFeeR_2 = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?><SO_GL><GLOBAL_LIST mode=\"complete\"><NAME>SITE_SERVICE_FEE</NAME><LIST_ELEMENT><CODE>0</CODE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>5.00</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SITE_CREDIT_CARD</NAME><LIST_ELEMENT><CODE>VI</CODE><LIST_VALUE>VISA</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>VI</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>AX</CODE><LIST_VALUE>AMEX</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>AX</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>CA</CODE><LIST_VALUE>MasterCard</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>CA</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>DC</CODE><LIST_VALUE>Diners Club</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>DC</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SO_SINGLE_MULTIPLE_COMMAND_BUILDER</NAME><LIST_ELEMENT><CODE>1</CODE><LIST_VALUE><![CDATA[FV AF]]></LIST_VALUE><LIST_VALUE>S</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST></SO_GL>";
xmlFeeR_3 = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?><SO_GL><GLOBAL_LIST mode=\"complete\"><NAME>SITE_SERVICE_FEE</NAME><LIST_ELEMENT><CODE>0</CODE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>3.00</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>1</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE>VALUE</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>0</CODE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>6.00</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>1</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE>PLUS</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>0</CODE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>6.00</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>1</LIST_VALUE><LIST_VALUE>EUR</LIST_VALUE><LIST_VALUE>FLEX</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SITE_CREDIT_CARD</NAME><LIST_ELEMENT><CODE>VI</CODE><LIST_VALUE>VISA</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>VI</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>AX</CODE><LIST_VALUE>AMEX</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>AX</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>CA</CODE><LIST_VALUE>MasterCard</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>CA</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT><LIST_ELEMENT><CODE>DC</CODE><LIST_VALUE>Diners Club</LIST_VALUE><LIST_VALUE>P</LIST_VALUE><LIST_VALUE>CC%T/%ID%E/N%A+SFSERCC%T/%ID%E/%U%S/N%A</LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE></LIST_VALUE><LIST_VALUE>DC</LIST_VALUE><LIST_VALUE>0</LIST_VALUE><LIST_VALUE>N</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST><GLOBAL_LIST mode=\"complete\"><NAME>SO_SINGLE_MULTIPLE_COMMAND_BUILDER</NAME><LIST_ELEMENT><CODE>1</CODE><LIST_VALUE><![CDATA[FV AF]]></LIST_VALUE><LIST_VALUE>S</LIST_VALUE></LIST_ELEMENT></GLOBAL_LIST></SO_GL>";

//=======================================================
var dateRegxp			=	/^([0-9]){1,2}\/{1}([0-9]){1,2}\/([0-9]){4}$/;
//=======================================================


function validate_date(obj){	// fires on dates loosing focus
	var chklist={};
	chklist[obj.name] = {'type':'date'};
	if (validate_single_field(obj,chklist)){
		return true
	}else{
		return false
	}
}


function getWorkingCompany(frm){   
	var returnValue ="";
	if (frm._from.selectedIndex==0) return '';
	if (frm._to.selectedIndex==0) return '';
	
	for(var x=0;x<Flights.length;x++){
 		if(Flights[x].depart == frm._from.options[frm._from.selectedIndex].value && Flights[x].dest == frm._to.options[frm._to.selectedIndex].value){
 			return Flights[x].company;
 		}
	}
	return '';
}




function ValidateIBE(frm){
// Identifies if "from" destination is a Cityjet, VLM or Both one, and use the correct validation function 
    var returnValue = false;
    errMsg='';
	var FrmValid=true;
	workingCompany = getWorkingCompany(frm);
	
	if (workingCompany==''){
		FrmValid=false;
		errMsg = "Please select 'From' and 'To' ";
	}
	if (FrmValid){
		if (workingCompany == 'NONE'){
			FrmValid=false;
			var result = window.confirm("Please book this flight by phone, click 'OK' to be redirected to telephone reservation information.");
			if(result) location.href = '/dyn/pages/book-your-flight/telephone-reservations/';
			return;
		}
	}
	if (FrmValid){
		FrmValid=!ValidatePassengers(frm)?false:FrmValid;
	}
	
	if (FrmValid){
		FrmValid=!MakeDateFields(frm)?false:FrmValid; // make new date field into seperate hidden date fields
	}

	StoreState(frm);
	
	if(errMsg.length>0){alert(errMsg);}
	
	if (FrmValid){
		for(var x=0;x<Flights.length;x++){
			if(Flights[x].depart == frm._from.options[frm._from.selectedIndex].value && Flights[x].dest == frm._to.options[frm._to.selectedIndex].value){
				flightData = Flights[x];
				break;
			}
		}
			
        if(workingCompany == "CITYJET"){   //Origin is from CityJet's catalog => Destination will automatically be from CityJet => Use cityJet validation and submit actions
   			if (returnValue=ValidateCityJetIBE(frm)){
   				
				//document.forms['_ibe'].action = "/cgi-bin/infxwidgets/widget-test.pl";  ////// TEMP

	   			//alert("Cityjet booking: form action=\n "+ document.forms['_ibe'].action);
	   			//alert("Amadues booking: form SO_GL=\n "+frm.SO_GL.value);
	   			if (typeof(pageTracker) == 'object') { pageTracker._linkByPost(document.forms['_ibe'],false); }
				
				if (typeof(pageTracker2) == 'object') {    /// New Track code
						pageTracker2._linkByPost(document.forms['_ibe'],false); 
				}
				
         		document.forms['_ibe'].submit();
           		
	   			var obj=document.getElementById('waitgetflight');
	   			if (obj) obj.style.visibility='visible';

			}
        } else if(workingCompany == "VLM"){   //Origin is from VLM's catalog => Destination will automatically be from VLM => Use VLM validation and if ok redirect to proper VLM page        
   			//alert("VLM");
            var redirectUrl = ValidateVLMIBE(frm);
            if(redirectUrl != ""){  


            	//alert("VLM booking: redirect url=\n"+redirectUrl);
            	if (typeof(pageTracker) == 'object') { pageTracker._link(redirectUrl, false); }

            	returnValue=true;
            	
	   			var obj=document.getElementById('waitgetflight');
	   			if (obj) obj.style.visibility='visible';

            	document.location.href = redirectUrl; 
            	
            	
 				//popupShow(900,600,'VLM');
            	//setTimeout("timeoutVLM('"+redirectUrl+"')",100);
            	//var fr = document.getElementById('_booking');
            	//fr.src =  redirectUrl;
          	} else {   returnValue=false;}
        }
    }
    
    return returnValue;
    
}

function timeoutVLM(url){
	var fr = document.getElementById('_booking');
    fr.src =  url;
            	
}

function timeoutCITYJET(){
			document.forms['_ibe'].submit();
}

function ValidateVLMIBE(frm)
{   //http://booking.flyvlm.com/itd/itd/DoAirSearch?_channelLocale=en&_channelName=flyVLM+website&_origin=Airport.LCY&_destination=Airport.AMS&_dep_hdn=Wed+May+27+2009+00%3A00%3A00+GMT%2B0200+(Romance+Daylight+Time)&_ret_hdn=Wed+Jul+01+2009+00%3A00%3A00+GMT%2B0200+(Romance+Daylight+Time)&_tripType=Return&_from=Airport_LCY&_depmonthyear=2009-05&_depday=27&_to=Airport_AMS&_retmonthyear=2009-07&_retday=1&_adults=1&_children=0&_infants=0&imageField.x=62&imageField.y=22
    var origin = Airports[flightData.depart];
    var destination = Airports[flightData.dest];
    var returnValue =""
    //Init variables
    var _channelLocale="";
    var _channelName="";
    var _origin="";
    var _destination="";
    var _dep_hdn=""; // Wed+May+3+2009+00%3A00%3A00+GMT%2B0200+(Romance+Daylight+Time)
    var _ret_hdn="";  // Wed+May+4+2009+00%3A00%3A00+GMT%2B0200+(Romance+Daylight+Time)
    var _tripType="";
    var _from="";
    var _depmonthyear="";  // 2009-05
    var _depday="";			// 03
    var _to="";
    var _retmonthyear="";   // 2009-05
    var _retday="";				// 04
    var _adults="";
    var _children="";
    var _infants="";
            
    _channelLocale="en";// Hardcoded => ok ?
    _channelName="CityJet+website";// Hardcoded => ok ?
    _origin=origin.type + "." + origin.code;//OK
    _destination=destination.type + "." + destination.code;//OK
    
    _dep_hdn = new Date(parseInt(frm.elements['_depmonthyear'].value.split('-')[0]),parseInt(frm.elements['_depmonthyear'].value.split('-')[1]-1),frm.elements['_depday'].value);//OK
           
    if (frm.elements['_retday'].value=="")
    {   
    	_tripType="OneWay";//OK
    }
    else
    {  
    	_tripType="Return";//OK
        _ret_hdn=new Date(parseInt(frm.elements['_retmonthyear'].value.split('-')[0]),parseInt(frm.elements['_retmonthyear'].value.split('-')[1]-1),frm.elements['_depday'].value);//OK
    }
    
    _from=origin.type + "_" + origin.code;//OK
    _depmonthyear=frm.elements['_depmonthyear'].value;//OK
    _depday=frm.elements['_depday'].value;//OK
    _to=destination.type + "_" + destination.code;//OK
    _retmonthyear=frm.elements['_retmonthyear'].value;//OK
    _retday=frm.elements['_retday'].value;//OK
    _adults=frm.elements['adultSelector'].value;//OK
    _children=frm.elements['childSelector'].value;//OK
    _infants=frm.elements['infantSelector'].value;//OK
                  
    //Build URL
          
    var VLMURL = "http://booking.flyvlm.com/itd/itd/DoAirSearch?";
	//VLMURL = "/cgi-bin/infxwidgets/widget-test.pl?ac=dump_get_and_post_params&";
    VLMURL = VLMURL +  "_channelLocale=" + _channelLocale + "&"; 
    VLMURL = VLMURL +  "_channelName=" + _channelName + "&"; 
    VLMURL = VLMURL +  "_origin=" + _origin + "&"; 
    VLMURL = VLMURL +  "_destination=" + _destination + "&"; 
    VLMURL = VLMURL +  "_dep_hdn=" + _dep_hdn + "&"; 
    VLMURL = VLMURL +  "_ret_hdn=" + _ret_hdn + "&"; 
    VLMURL = VLMURL +  "_tripType=" + _tripType + "&"; 
    VLMURL = VLMURL +  "_from=" + _from + "&"; 
    VLMURL = VLMURL +  "_depmonthyear=" + _depmonthyear + "&"; 
    VLMURL = VLMURL +  "_depday=" + _depday + "&"; 
    VLMURL = VLMURL +  "_to=" + _to + "&"; 
    VLMURL = VLMURL +  "_retmonthyear=" + _retmonthyear + "&"; 
    VLMURL = VLMURL +  "_retday=" + _retday + "&"; 
    VLMURL = VLMURL +  "_adults=" + _adults + "&"; 
    VLMURL = VLMURL +  "_children=" + _children + "&"; 
    VLMURL = VLMURL +  "_infants=" + _infants; 
      
    //redirect
    returnValue = VLMURL;
    return(returnValue);
    
}

function ValidateCityJetIBE(frm){

    var t = new Date();
    
    // if today push times on by 3hr 5min and 5hr 5mins     for out and return
    var t3 = new Date();
    t3.setHours(t3.getHours() + 3); // 3
    t3.setMinutes(t3.getMinutes() + 5);
    
    var t5 = new Date();
    t5.setHours(t5.getHours() + 5); // 5
    t5.setMinutes(t5.getMinutes() + 5);
    
    var today = t.getFullYear() + "-" + addZero(t.getMonth() + 1) + "-" + addZero(t.getDate());
    
	if (document.forms['_ibe'].elements['_retday'].value==""||document.forms['_ibe'].elements['_retmonthyear'].value=="") {
		frm.elements['TRIP_TYPE'].value='O';
		frm.B_DATE_2.value =  '';
		frm.elements['_ret_hdn'].value='';
	} else {
		frm.elements['TRIP_TYPE'].value='R';
		if(today == document.forms['_ibe'].elements['_retmonthyear'].value + "-" + addZero(document.forms['_ibe'].elements['_retday'].value))
		{
		    frm.B_DATE_2.value = t5.getFullYear() + addZero(t5.getMonth() + 1) + addZero(t5.getDate()) + addZero(t5.getHours()) + addZero(t5.getMinutes()); 
	        frm.B_ANY_TIME_2.value = "FALSE";
	    }
	    else
	    {
	    	frm.B_DATE_2.value = document.forms['_ibe'].elements['_retmonthyear'].value.replace("-","") + addZero(document.forms['_ibe'].elements['_retday'].value) + "0000" 
	        frm.B_ANY_TIME_2.value = "TRUE";
	    }
	}
	errMsg='';
	var FrmValid=true;
	FrmValid=!ValidateCities(frm)?false:true;
	FrmValid=!ValidatePassengers(frm)?false:FrmValid;

	if(errMsg.length>0){alert(errMsg);}
	
	if (FrmValid) {
	
		// BC new flexible dates
		frm.DATE_RANGE_VALUE_1.value = frm.flexMyDates.checked?3:0;
		frm.DATE_RANGE_VALUE_2.value = frm.flexMyDates.checked?3:0;
		// end
		
		frm.B_LOCATION_1.value = frm._from.options[frm._from.selectedIndex].value;
		frm.E_LOCATION_1.value = frm._to.options[frm._to.selectedIndex].value;
		frm.elements['_ret_hdn'].value='';
		frm.elements['_dep_hdn'].value='';
		
		if(today == document.forms['_ibe'].elements['_depmonthyear'].value + "-" + addZero(document.forms['_ibe'].elements['_depday'].value))
		{
			frm.B_DATE_1.value = t3.getFullYear() + addZero((t3.getMonth() + 1) + "") + addZero(t3.getDate() + "") + addZero((t3.getHours()) + "") + addZero(t3.getMinutes() + "") 
			frm.B_ANY_TIME_1.value = "FALSE";
		}
		else
		{
			frm.B_DATE_1.value = document.forms['_ibe'].elements['_depmonthyear'].value.replace("-", "") + addZero(document.forms['_ibe'].elements['_depday'].value) + "0000"
			frm.B_ANY_TIME_1.value = "TRUE";
		}
		frm.SO_SITE_OFFICE_ID.value = flightData.office;
		frm.SO_SITE_QUEUE_OFFICE_ID.value = frm.SO_SITE_OFFICE_ID.value
		
		var infants = parseInt(document.getElementById("infantSelector").options[document.getElementById("infantSelector").selectedIndex].value);
		for (var x = 0; x < infants; x++) {
			document.getElementById("HAS_INFANT_" + (x + 1).toString()).value = "TRUE";
		}
		
		
		for (var x = infants; x < 5; x++) {
			document.getElementById("HAS_INFANT_" + (x + 1).toString()).value = "FALSE";
		}
		
		if(CitieRange_1.indexOf(frm._from.options[frm._from.selectedIndex].value) > -1)
		{
			if(frm.elements['TRIP_TYPE'].value == 'O')
				frm.SO_GL.value = xmlFeeO_1;
			else
				frm.SO_GL.value = xmlFeeR_1;
		}
		else
		{
			
			if(CitieRange_2.indexOf(frm._from.options[frm._from.selectedIndex].value) > -1)
			{
				if(frm.elements['TRIP_TYPE'].value == 'O')
					frm.SO_GL.value = xmlFeeO_2;
				else
					frm.SO_GL.value = xmlFeeR_2;
			}
			else
			{
				if(CitieRange_3.indexOf(frm._from.options[frm._from.selectedIndex].value) > -1)
				{
					if(frm.elements['TRIP_TYPE'].value == 'O')
						frm.SO_GL.value = xmlFeeO_3;
					else
						frm.SO_GL.value = xmlFeeR_3;
				}
				else
				{
					frm.SO_GL.value = xmlNoFee;
				}
			}
		}
	}


    return FrmValid;
}


function addZero(str){
	str=str+'';
	if(str.length < 2 )
		return "0" + str;
	else
		return str;
}

function ValidateCities(frm){
	//dpt city value !=null /ret cities.length > 0
	if(frm.elements['_from'].options[frm.elements['_from'].selectedIndex].value.length>0){
		if(frm.elements['_to'].options[frm.elements['_to'].selectedIndex].value.length>0){
			return true;
		} else {
			errMsg+='Please select a destination airport.\n';
			return false;
		}
	}else{
		errMsg+='Please select an origin and destination airport.\n';
		return false;
	}
}

function ValidatePassengers(frm) {
   //Max number of passengers is not the same on VLM and CityJet
    var maxPassengers = 0;
    if(workingCompany == "CITYJET")
    {   
        maxPassengers = 9;
    }
    else if(workingCompany == "VLM")
    {   
        maxPassengers = 6;
    }
    //Do the check
    var passErrMsg = ''
    var xa = parseInt(frm.elements['adultSelector'].options[frm.elements['adultSelector'].selectedIndex].text);
    var xc = parseInt(frm.elements['childSelector'].options[frm.elements['childSelector'].selectedIndex].text);
    var xi = parseInt(frm.elements['infantSelector'].options[frm.elements['infantSelector'].selectedIndex].text);
    if ((xa + xc + xi) == 0) {
        passErrMsg += 'You must enter at least 1 passenger\n';
    }
    if ((xa + xc) > maxPassengers) {
        passErrMsg += 'You cannot book for more than ' + maxPassengers + ' adults and children.\n';
    }
    if (xi > 0) {
        if (xi > xa) {
            passErrMsg += 'Only 1 infant allowed per adult passenger\n';
        }
    }
    if (passErrMsg.length > 0) {
        errMsg += passErrMsg;
        return false;
    } else {
        return true;
    }
}

/*--------------CITYJET CITIES FUNCTIONS------------------*/
/** Fills the two dropdownlists with the cities */
function FillCities(frmFrom, frmTo) {
	var objFrom = GetObj(frmFrom).options;
	var objTo = GetObj(frmTo).options;
	
	CleanSelect(objTo);
	
	var tempArray=[];
	for (var i in Airports) {
		if (Airports[i].connections.length > 0) { tempArray[tempArray.length] = [Airports[i].name,Airports[i].code] }
	}
	//sorting & filling the Obj with new values
	tempArray.sort();
	for (var j=0; j<tempArray.length; j++){
		PopulateSelect(objFrom,tempArray[j][0],tempArray[j][1]);
	}
}

function ChangeCity(frmcontrol,frmTo){
	var Obj=GetObj(frmTo).options;
	CleanSelect(Obj);
	var tmpCode=frmcontrol.options[frmcontrol.options.selectedIndex].value;
	if (tmpCode != "") {
	
		//creating a temp array with all the connections
		var tempArray=[]
		for(i=0;i<Airports[tmpCode].connections.length;i++){
			tempArray[tempArray.length]=[Airports[Airports[tmpCode].connections[i]].name,Airports[Airports[tmpCode].connections[i]].code]
		}
		//sorting the array
		tempArray=tempArray.sort()
	
		//filling the Obj with new values
		PopulateSelect(Obj,"--SELECT--","");
		for (var j=1; j<=tempArray.length; j++){
			PopulateSelect(Obj,tempArray[j-1][0],tempArray[j-1][1]);
		}
	}
	ChangeCityFromTo();
}

function ChangeCityFromTo(){
	workingCompany = getWorkingCompany(document.forms['_ibe']);
	document.getElementById('flexible_dates').style.display= 'none';  //(workingCompany == "CITYJET")?'block':'none'; NOT TO BE IMPLEMENTED JUST YET
}

function CleanSelect(selectObject){
	var n=selectObject.length;
	while (n>0){
		selectObject[n-1]=null;
		n--;
	}
}

function PopulateSelect(selectObject,text,value){
	selectObject[selectObject.length]=new Option(text,value);
}

/*----------MGA VLM CALENDAR FUNCTIONS------------*/
    var frmVar=['_dep','_ret'];
    var dVar='day';
    var myVar='monthyear';
    var hdnVar='_hdn';

    
function initForm(id){
	var dep = new Date();
	//alert(dep.getDate()+"/"+(dep.getMonth()+1)+"/"+dep.getFullYear());
	
	var ret = new Date(); //new Date(new Date(dep.getFullYear(),dep.getMonth(),dep.getDate() ));
	//alert(ret.getDate()+"/"+(ret.getMonth()+1)+"/"+ret.getFullYear());

	document.forms['_ibe'].elements['_depart'].value = addZero(dep.getDate())+"/"+addZero(dep.getMonth()+1)+"/"+dep.getFullYear();
	document.forms['_ibe'].elements['_return'].value = addZero(ret.getDate())+"/"+addZero(ret.getMonth()+1)+"/"+ret.getFullYear();

 // Calendars should only allow upto 10 months ahead, and no past dates
 // maxDate=new Date(new Date(t.getFullYear(),t.getMonth()+10,GetDaysInMonth(t.getMonth()+10,t.getFullYear()) ));
 
}


function BAcalendar_control(obj,dcontrol){

	var earlyist = new Date();
	var estr = addZero(earlyist.getDate())+"/"+addZero(earlyist.getMonth()+1)+"/"+earlyist.getFullYear();
	
	var latest = new Date(new Date(earlyist.getFullYear(),earlyist.getMonth()+10,earlyist.getDate() ));
	var lstr = addZero(latest.getDate())+"/"+addZero(latest.getMonth()+1)+"/"+latest.getFullYear();
	
	if (dcontrol == '_depart'){
		if (!validate_date(document.forms['_ibe'].elements['_depart'])){
			document.forms['_ibe'].elements['_depart'].value = estr;
		}
		calendar_input_control(obj,'_depart',{limit_start:estr,limit_end:lstr});  // call calendar.js function
	}else if (dcontrol == '_return'){
		if (!validate_date(document.forms['_ibe'].elements['_return'])){
			document.forms['_ibe'].elements['_return'].value = estr;
		}
		calendar_input_control(obj,'_return',{limit_start:estr,limit_end:lstr});
	}

}


var maxPassengers = 9;
var maxChilds = 5;

function formManager() {
	var self = this;
	this._travellerFields = new Array();
	
	this.getAdultSelect = function()
	{
		return document.getElementById("adultSelector");
	}
	this.getChildSelect = function()
	{
		return document.getElementById("childSelector");
	}
	this.getInfantSelect = function() {
		return document.getElementById("infantSelector");
	}
	
	this.getTravellerFields = function()
	{
		if (self._travellerFields.length == 0)
		{
			for (var x = 1; x < 10; x++) {
				self._travellerFields[self._travellerFields.length] = document.getElementById("TRAVELLER_TYPE_" + x.toString());
			}                
		}
		return self._travellerFields;
	}
	
	
	this.updatePassengerFields = function() {
		var adults = parseInt(self.getAdultSelect().options[self.getAdultSelect().selectedIndex].value);
		var children = parseInt(self.getChildSelect().options[self.getChildSelect().selectedIndex].value);
	
		for (var x = 0; x < adults; x++) {
			self.getTravellerFields()[x].value = "ADT";
		}
	
		for (var x = adults; x < children + adults; x++) {
			self.getTravellerFields()[x].value = "CHD";
		}
		
		for (var x = children + adults; x < maxPassengers; x++){
			self.getTravellerFields()[x].value = "";
		}
	}
	
	this.updatePassengerLimit = function(limit, dropdownList, adultsChanged) {
		var currentLength = dropdownList.options.length;
	
		if(adultsChanged == false)
		{
			limit = limit - 1
		}
		if (currentLength < limit) { //Add options
			while (currentLength < limit - 1) {
				var toAdd = document.createElement("option");
				if(adultsChanged == false)
				{
					toAdd.value = currentLength + 1;
					toAdd.text = currentLength + 1;
				}
				else
				{
					toAdd.value = currentLength;
					toAdd.text = currentLength;
				}
				try {
					dropdownList.add(toAdd, null); // standards compliant; doesn't work in IE
				}
				catch (ex) {
					dropdownList.add(toAdd); // IE only
				}
				currentLength = dropdownList.options.length;
			}
		}
		else {
			while (currentLength > limit -1) {  //Remove options
				dropdownList.remove(dropdownList.options.length - 1);
				currentLength = dropdownList.options.length;
			}
		}
	}
	
	this.updatePassengerLimits = function(adultsChanged, sender) {
		var selPassengers = parseInt(sender.options[sender.selectedIndex].value);
		var limit = maxPassengers - selPassengers;
		if (adultsChanged == true) {
			if (selPassengers > 1) {
				self.updatePassengerLimit(limit + 2, self.getChildSelect(), adultsChanged);
			}
			else {
				self.updatePassengerLimit(8 + 2, self.getChildSelect(), adultsChanged);
			}
	
			if (selPassengers > 5) {
				self.updatePassengerLimit(5 + 2, self.getInfantSelect(), adultsChanged);
			}
			else {
				self.updatePassengerLimit(selPassengers + 2, self.getInfantSelect(), adultsChanged);
			}
		}
		else {
			self.updatePassengerLimit(limit + 2, self.getAdultSelect(), adultsChanged);
		}
	}
}
var formMgr = new formManager();

function passengerChange(adultsChanged, sender){
	formMgr.updatePassengerLimits(adultsChanged, sender);
	formMgr.updatePassengerFields();
}
	
/*----------Common functions----------*/
function GetObj(n, d) { //v4.01
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=GetObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}
/*20040422 by marin gatellier mga/emakina*/

function GetDaysInMonth(iMonth, iYear) {
	//returns day count in a month note: jan=1 dec=12
	iMonth=iMonth+1
	var oneDay=1000*60*60*24
	var dPrevDate=new Date(iYear, iMonth, 1);
	dPrevDate=new Date(dPrevDate-oneDay);
	return dPrevDate.getDate();
}

function LZ(val,finalLength){
	//adds leading 0's 
	var v=val+'';while(v.length<finalLength){v='0'+v;};return v;
}

/*-------------- NEW CODE -----------------*/

function bookflight(){
	if (ValidateIBE(document.forms['_ibe'])){}
}

function MakeDateFields(frm){
	//		<input type='textbox' name='_depart' id='_depart' value='01/01/2010'/>
	//		<input type='hidden' name='_depmonthyear' id='_depmonthyear' value=''/>
	//		<input type='hidden' name='_depday' id='_depday' value=''/>
	
	//		<input type='textbox' name='_return' id='_return' value='01/01/2010'/>
	//		<input type='hidden' name='_retmonthyear' id='_retmonthyear' value=''/>
	//		<input type='hidden' name='_retday' id='_retday' value=''/>

	var t_dep = frm.elements['_depart'].value.split("/"); // dd/mm/yyyy
	var t_ret = frm.elements['_return'].value.split("/");


	if (dateRegxp.test(frm.elements['_depart'].value) == false){
			errMsg = "The departure date should be entered as dd/mm/yyyy";
			return false;
	}
	
	var d10 = new Date(); // today + 10 months
    d10.setMonth(d10.getMonth() + 10); 
    
    var ddepart = new Date(t_dep[2]+"/"+t_dep[1]+"/"+t_dep[0]);


	//alert(ddepart + " > " + d10);
	if (ddepart > d10){
			errMsg = "The departure date should be within the next 10 months";
			return false;
	}

	if(!$('oneWay').checked){
		if (dateRegxp.test(frm.elements['_return'].value) == false){
			errMsg = "The return date should be entered as dd/mm/yyyy";
			return false;
		}
		//alert("return: "+frm.elements['_return'].value);
		var dreturn = new Date(t_ret[2]+"/"+t_ret[1]+"/"+t_ret[0]);
		//alert(dreturn + " > " + d10);
		if (dreturn > d10){
				errMsg = "The return date should be within the next 10 months";
				return false;
		}

		if ((t_ret[2]*1000)+(t_ret[1]*50) + t_ret[0] <(t_dep[2]*1000)+(t_dep[1]*50) + t_dep[0]){
			errMsg = "The return date must be after the departure date";
			return false;
		}
		
	}

	frm.elements['_depmonthyear'].value = t_dep[2]+"-"+t_dep[1];
	frm.elements['_depday'].value = t_dep[0];

	frm.elements['_retmonthyear'].value = ($('oneWay').checked)?"":t_ret[2]+"-"+t_ret[1];
	frm.elements['_retday'].value = ($('oneWay').checked)?"":t_ret[0];
	return true;
}

function ToggleOneWay(obj){
	$('_return_label').style.visibility = (obj.checked)?'hidden':'visible';
	$('_return_btn').style.visibility = (obj.checked)?'hidden':'visible';
	$('_return').style.visibility = (obj.checked)?'hidden':'visible';
}

function StoreState(frm){
	var data = {};
	var store = ['_from','_to','_depart','_return','adultSelector','childSelector','infantSelector','flexMyDates','oneWay'];
	for(var p in store){
		data[store[p]] = (frm.elements[store[p]].type == 'checkbox')?((frm.elements[store[p]].checked)?1:0):frm.elements[store[p]].value;
	}
	_infx.cookie.create({name:'_state',days:0.05,value:_ext.JSON.encode(data)});
}

function RestoreState(){
	var state = _ext.JSON.decode(_infx.cookie.read('_state'));
	if(state){
		if(state._from) $('_from').value = state._from;
		
		check_integrity();
		
		var reset = ['_to','_depart','_return','adultSelector','childSelector','infantSelector','oneWay','flexMyDates','oneWay'];
		for(var p in reset){
			if(state[reset[p]] && $(reset[p])){
				if($(reset[p]).type == 'checkbox'){
					$(reset[p]).checked = (state[reset[p]])?true:false;
					if($(reset[p]).onchange) $(reset[p]).onchange();
				}else if($(reset[p]).type == 'select-one'){
					$(reset[p]).value = state[reset[p]];
					if($(reset[p]).onchange) $(reset[p]).onchange();
				}else{
					$(reset[p]).value = state[reset[p]];
				}
			}
		}
		
		ChangeCityFromTo();
		
	}else{
		check_integrity();
	}
	
	ToggleOneWay($('oneWay'));
	
}

function check_integrity(){
	if($('_from').value != '' && $('_to').length == 0){
		if($('_from').onchange) $('_from').onchange();
	}
}
/*-------------- NEW CODE END -----------------*/




