/* This function calculates the correct season for a flight. It takes
the flight outdepair, outarrair and date (dd/mm/yyyy) as arguments.
Dependencies: data/../airports.js */

var seasonDefinition={
	'A':[
		["SA8","01/03/2008","31/10/2008"],
		["WA8","01/11/2008","30/04/2009"],
		["SA9","01/05/2009","02/11/2009"],
		["SA0","01/05/2010","02/11/2010"]		
		],
	'0':[
		["S08","01/03/2008","31/10/2008"],
		["W08","01/11/2008","30/04/2009"],
		["S09","01/05/2009","02/11/2009"],
		["SF0","01/05/2010","02/11/2010"]
		],
	'F':[
		["SF0","01/05/2010","02/11/2010"]
		],			
	'E':[
		["SE8","01/03/2008","31/10/2008"],
		["WE8","01/11/2008","30/04/2009"],
		["SE9","01/05/2009","31/10/2009"],
		["WE9","01/11/2009","30/04/2010"],
		["SE0","01/05/2010","01/11/2010"]	
		],
	'I0':[
		["I08","01/10/2008","31/05/2009"]
		]
	};

function getSeason(outdepair,outarrair,dt){

var outdeparea=getAirportProperty(outdepair,'area');
var outarrarea=getAirportProperty(outarrair,'area');
var area=outdeparea=='UK' ? outarrarea: outdeparea;
var season=area=='CA' ? 'A' : (area=='US' ? '0' : (area=='IN' ? 'I0' : 'E'));
var seasons=seasonDefinition[season];

dt=dt.split("/").reverse().join('');

for (var i=0;i<seasons.length;i++){
	var a=seasons[i][1].split("/").reverse().join('');
	var b=seasons[i][2].split("/").reverse().join('');
	if (dt>=a && dt<=b) return seasons[i][0];
	}
return '';
}

function getSeasonDates(season){
var ssn=season.split('')[1];
var ssnList=seasonDefinition[ssn];
for (var j=0;j<ssnList.length;j++){
	if (ssnList[j][0]==season) return ssnList[j][1]+"|"+ssnList[j][2];
	}
return "|";
}