
var maxJourneys=9;
var defaultJourneys=1;
var activeJourneys=0;
var Journeys=new Array();

function Journey(id,active) {
	this.id = id;
	this.active=active;
	this.departDate='';
	this.departMonth='';
	this.departYear='';
	this.departPointCode='';
	this.departPointText='';
	this.departTime='';
	this.arriveDate='';
	this.arriveMonth='';
	this.arriveYear='';
	this.arrivePointCode='';
	this.arrivePointText='';
	this.arriveTime='';
	this.drawJourney=drawJourney;
	this.synchJourney=synchJourney;
	this.getXML=getXML;
}

function drawJourney() {
	if(this.active) {
		document.getElementById('Journey'+this.id).style.display='block';
		document.getElementById('selDepartDate'+this.id).value=this.departDate;
		document.getElementById('selDepartMonthYear'+this.id).value=(this.departYear*100)+this.departMonth;
		document.getElementById('txtDepartPointCode'+this.id).value=this.departPointCode;
		document.getElementById('txtDepartPointText'+this.id).value=this.departPointText;

		if (document.getElementById('selDepartTime'+this.id)) {
			document.getElementById('selDepartTime'+this.id).value=this.departTime;
		}

		document.getElementById('txtArrivePointCode'+this.id).value=this.arrivePointCode;
		document.getElementById('txtArrivePointText'+this.id).value=this.arrivePointText;
		
		if (document.getElementById('selArriveTime'+this.id)) {
			document.getElementById('selArriveTime'+this.id).value=this.arriveTime;
		}
	}
	else {
		document.getElementById('Journey'+this.id).style.display='none';
	}
}	

function synchJourney() {

	this.departDate=document.getElementById('selDepartDate'+this.id).value;
	this.departYear=Math.floor(document.getElementById('selDepartMonthYear'+this.id).value/100);
	this.departMonth=document.getElementById('selDepartMonthYear'+this.id).value%100;
	this.departPointCode=document.getElementById('txtDepartPointCode'+this.id).value;

	this.departPointText=document.getElementById('txtDepartPointText'+this.id).value;

	if (document.getElementById('selDepartTime'+this.id)) {
		this.departTime=document.getElementById('selDepartTime'+this.id).value;
	}

	this.arrivePointCode=document.getElementById('txtArrivePointCode'+this.id).value;
	this.arrivePointText=document.getElementById('txtArrivePointText'+this.id).value;

	if (document.getElementById('selArriveTime'+this.id)) {
		this.arriveTime=document.getElementById('selArriveTime'+this.id).value;
	}
}

function getXML() {
	var s='';
	if (this.active) {
		s+='   <Journey>\n';
		s+='      <Number>'+(this.id+1)+'</Number>\n';
		s+='      <Depart>'+this.departPointCode+'</Depart>\n';
		s+='      <Arrive>'+this.arrivePointCode+'</Arrive>\n';
		s+='      <DepartDate>'+this.departYear+((this.departMonth.toString().length<2)?'0':'')+this.departMonth+((this.departDate.toString().length<2)?'0':'')+this.departDate+'</DepartDate>\n';
		s+='      <DepartTime>'+this.departTime+'</DepartTime>\n';
		s+='      <ArriveTime>'+this.arriveTime+'</ArriveTime>\n';
		s+='   </Journey>\n';
	}
	return s;
}

for (i=0;i<maxJourneys;i++) {
	Journeys[i]=new Journey(i,(i<defaultJourneys));
}

function addJourney() {
	synchJourneys();
	if (activeJourneys<maxJourneys) {
		document.getElementById('cmdAddJourney').style.display='block';
		
		Journeys[activeJourneys].active=true;

		if (Journeys[activeJourneys-1].arriveDate!='') {
			Journeys[activeJourneys].departDate=Journeys[activeJourneys-1].arriveDate;
			Journeys[activeJourneys].departMonth=Journeys[activeJourneys-1].arriveMonth;
			Journeys[activeJourneys].departYear=Journeys[activeJourneys-1].arriveYear;
		}
		else {
			Journeys[activeJourneys].departDate=Journeys[activeJourneys-1].departDate;
			Journeys[activeJourneys].departMonth=Journeys[activeJourneys-1].departMonth;
			Journeys[activeJourneys].departYear=Journeys[activeJourneys-1].departYear;
		}
		Journeys[activeJourneys].departPointCode=Journeys[activeJourneys-1].arrivePointCode;
		Journeys[activeJourneys].departPointText=Journeys[activeJourneys-1].arrivePointText;
	}
	else {
		document.getElementById('CmdAddJourney').style.display='none';
	}
	drawJourneys();
}

function removeJourney(id) {
	synchJourneys();
	Journeys[maxJourneys]=new Journey(maxJourneys-1);

	for (var i=id;i<maxJourneys-1;i++) {
		Journeys[i].active=Journeys[i+1].active;
		Journeys[i].departDate=Journeys[i+1].departDate;
		Journeys[i].departMonth=Journeys[i+1].departMonth;
		Journeys[i].departYear=Journeys[i+1].departYear;
		Journeys[i].departPointCode=Journeys[i+1].departPointCode;
		Journeys[i].departPointText=Journeys[i+1].departPointText;
		Journeys[i].departTime=Journeys[i+1].departTime;
		Journeys[i].arriveDate=Journeys[i+1].arriveDate;
		Journeys[i].arriveMonth=Journeys[i+1].arriveMonth;
		Journeys[i].arriveYear=Journeys[i+1].arriveYear;
		Journeys[i].arrivePointCode=Journeys[i+1].arrivePointCode;
		Journeys[i].arrivePointText=Journeys[i+1].arrivePointText;
		Journeys[i].arriveTime=Journeys[i+1].arriveTime;
	}
	synchJourneys();
	drawJourneys();

}

function drawJourneys() {
	for(var i=0;i<maxJourneys;i++) {
		Journeys[i].drawJourney();
	}
}

function buildRequest() {
	var s='<Journeys>\n';
	synchJourneys();
	
	for(var i=0;i<maxJourneys;i++) {
		s+=Journeys[i].getXML();
	}
	s+='</Journeys>';
	document.getElementById('txtJourneysXML').value=s;
}

function validateJourneys() {
	
	synchJourneys();
	buildRequest();
	/* Make an ajax call to a Datastream function */
	return true;
}

function synchJourneys() {
	activeJourneys=0;
	for (var i=0;i<maxJourneys;i++) {
		Journeys[i].synchJourney();
		activeJourneys+=(Journeys[i].active?1:0);
	}
}

function submitSearch() {
	var submitOK=false;
	
	submitOK=validateJourneys();

	/*Conventional pax/airline checks*/

	if (submitOK) {
		if(document.getElementById('SearchTable') && document.getElementById('SearchingLayer')) { 
			savedSearchTable = document.getElementById('SearchTable').innerHTML; 
			document.getElementById('SearchTable').innerHTML = document.getElementById('SearchingLayer').innerHTML; 
			//imageFaderStart();
		}
		
		if (document.getElementById('EnquiryForm')) {
			document.getElementById('EnquiryForm').submit();
		}
	}
}