/*
 *
 * Name: 
 * Authour: Generated by FLTCACHE.DTO
 * Copyright: Metafour (UK) Ltd. 2008
 *
 * Cached flight routes list (Destination -> departure airport & arrival airport, departure airport -> arrival airport)
 * Browser will automatically cache this script.
 *
 */

// The hash table mapping a destination to departure airports and arrival airports
var destinations = new Array();
// The hash table mapping a departure airport to arrival airports
var departures = new Array();
// The array of arrival airports
var arrivals = new Array();

/*
 * Each destination is a JS object
 */
function Destination(destCode, destDesc, departures, arrivals) {
  this.destCode = destCode;
  this.destDesc = destDesc;
  this.departures = departures;
  this.arrivals = arrivals;
  destinations[destCode] = this;
}

/*
 * Each departure airport is a JS object
 */
function Departure(depCode, depDesc, arrivals) {
  this.depCode = depCode;
  this.depDesc = depDesc;
  this.arrivals = arrivals;
  departures[depCode] = this;
}

/*
 * Each arrival airport is a JS object
 */
function Arrival(arrCode, arrDesc) {
  this.arrCode = arrCode;
  this.arrDesc = arrDesc;
  arrivals[arrCode] = this;
}

/*
 * Add all flight routes to the lists
 */
function cache() {
  var airline, dep, arr, dest;
  // Arrivals
  arr = new Arrival('FAO', 'Faro');
  arr = new Arrival('BDA', 'Bermuda');
  arr = new Arrival('HER', 'Heraklion');
  arr = new Arrival('PFO', 'Paphos, Cyprus');
  arr = new Arrival('MLA', 'Malta');
  arr = new Arrival('MXP', 'Milan');
  arr = new Arrival('VRN', 'Verona Italy');
  arr = new Arrival('TFS', 'Tenerife South');
  arr = new Arrival('ACE', 'Lanzarote');
  arr = new Arrival('SPC', 'La Palma');
  arr = new Arrival('LPA', 'Gran Canaria');
  arr = new Arrival('FNC', 'Funchal');
  arr = new Arrival('PMI', 'Palma');
  arr = new Arrival('RAK', 'Marrakech');
  arr = new Arrival('AGA', 'Agadir');
  arr = new Arrival('OLB', 'Olbia');
  arr = new Arrival('CAG', 'Cagliari');
  arr = new Arrival('AGP', 'Malaga');
  arr = new Arrival('DLM', 'Dalaman');
  arr = new Arrival('BJV', 'Bodrum');
  arr = new Arrival('ADB', 'Izmir Turkey');
  arr = new Arrival('IZM', 'Izmir Turkey');
  // Departures -> Arrivals
  dep = new Departure('ABZ', 'Aberdeen', 'FAO,HER,PFO,MLA,TFS,ACE,SPC,LPA,FNC,PMI,RAK,AGP,DLM');
  dep = new Departure('BFS', 'Belfast', 'FAO,HER,PFO,MLA,VRN,TFS,ACE,SPC,LPA,FNC,PMI,RAK,AGP,BJV,DLM');
  dep = new Departure('BHX', 'Birmingham', 'FAO,HER,PFO,MLA,MXP,VRN,TFS,ACE,SPC,LPA,FNC,PMI,RAK,OLB,AGP,ADB,BJV,DLM');
  dep = new Departure('BLK', 'Blackpool', 'FAO,TFS,PMI,AGP');
  dep = new Departure('BOH', 'Bournemouth', 'FAO,HER,PFO,MLA,TFS,ACE,SPC,LPA,FNC,PMI,RAK,AGP,DLM');
  dep = new Departure('BRS', 'Bristol', 'FAO,HER,PFO,MLA,VRN,TFS,ACE,LPA,FNC,PMI,RAK,OLB,AGP,BJV,DLM');
  dep = new Departure('CVT', 'Coventry', 'HER,PFO,MLA,ACE,SPC,LPA,FNC,PMI,RAK,AGP');
  dep = new Departure('CWL', 'Cardiff Airport', 'FAO,HER,PFO,MLA,VRN,TFS,ACE,SPC,LPA,FNC,PMI,RAK,AGP,BJV,DLM');
  dep = new Departure('DSA', 'Doncaster', 'PFO,TFS,BJV,DLM');
  dep = new Departure('DUB', 'Dublin Rep Of Ireland', 'ADB,BJV,DLM');
  dep = new Departure('EDI', 'Edinburgh', 'FAO,HER,PFO,MLA,MXP,TFS,ACE,SPC,LPA,FNC,PMI,RAK,OLB,AGP,DLM');
  dep = new Departure('EMA', 'East Midlands Airport', 'FAO,HER,PFO,MLA,TFS,ACE,SPC,LPA,FNC,PMI,RAK,AGP,BJV,DLM');
  dep = new Departure('EXT', 'Exeter', 'FAO,HER,PFO,MLA,TFS,ACE,SPC,LPA,FNC,PMI,RAK,AGP,BJV,DLM');
  dep = new Departure('GCI', 'Guernsey Uk', 'HER,PFO,MLA,ACE,SPC,LPA,FNC,PMI,RAK,AGP');
  dep = new Departure('GLA', 'Glasgow', 'FAO,HER,PFO,MLA,VRN,TFS,ACE,SPC,LPA,FNC,PMI,RAK,AGP,BJV,DLM');
  dep = new Departure('HUY', 'Humberside', 'FAO,HER,PFO,MLA,TFS,ACE,SPC,LPA,FNC,PMI,RAK,DLM');
  dep = new Departure('JER', 'Jersey Channel Islands', 'HER,PFO,MLA,ACE,SPC,LPA,FNC,PMI,RAK,AGP');
  dep = new Departure('LBA', 'Leeds Bradford', 'FAO,HER,PFO,MLA,TFS,ACE,SPC,LPA,FNC,PMI,RAK,OLB,AGP,BJV,DLM');
  dep = new Departure('LCY', 'London City', 'PMI');
  dep = new Departure('LGW', 'London Gatwick', 'FAO,BDA,HER,PFO,MLA,MXP,VRN,TFS,ACE,SPC,LPA,FNC,PMI,AGA,RAK,CAG,OLB,AGP,ADB,BJV,DLM');
  dep = new Departure('LHR', 'London Heathrow', 'PFO,MLA,MXP,VRN,FNC,PMI,RAK,AGP,ADB');
  dep = new Departure('LON', 'London', 'FAO,HER,PFO,MLA,MXP,VRN,TFS,ACE,SPC,LPA,FNC,PMI,AGA,RAK,CAG,OLB,AGP,ADB,BJV,DLM');
  dep = new Departure('LPL', 'Liverpool', 'FAO,HER,PFO,MLA,TFS,ACE,SPC,LPA,FNC,PMI,RAK,AGP,DLM');
  dep = new Departure('LTN', 'Luton', 'FAO,HER,PFO,MLA,TFS,ACE,SPC,LPA,FNC,PMI,RAK,CAG,AGP,BJV,DLM');
  dep = new Departure('MAN', 'Manchester', 'FAO,HER,PFO,MLA,MXP,VRN,TFS,ACE,SPC,LPA,FNC,PMI,AGA,RAK,OLB,AGP,ADB,BJV,DLM,IZM');
  dep = new Departure('MME', 'Teeside Airport', 'FAO,HER,MLA,TFS,SPC,LPA,FNC,PMI,RAK,AGP,DLM');
  dep = new Departure('NCL', 'Newcastle', 'FAO,HER,PFO,MLA,VRN,TFS,ACE,SPC,LPA,FNC,PMI,RAK,AGP,BJV,DLM');
  dep = new Departure('NWI', 'Norwich', 'HER,PFO,MLA,TFS,ACE,SPC,LPA,FNC,PMI,RAK,DLM');
  dep = new Departure('PIK', 'Glasgow Prestwick', 'FAO,HER,PFO,MLA,TFS,ACE,SPC,LPA,FNC,PMI,RAK,AGP');
  dep = new Departure('SOU', 'Southampton', 'FAO,HER,PFO,MLA,VRN,TFS,ACE,SPC,LPA,FNC,PMI,RAK,AGP');
  dep = new Departure('STN', 'London Stansted', 'FAO,HER,PFO,MLA,TFS,ACE,SPC,LPA,FNC,PMI,RAK,CAG,AGP,ADB,BJV,DLM');
  // Destinations ->Departures & Arrivals
  dest = new Destination('ALGARV', 'Algarve', 'ABZ,BFS,BHX,BLK,BOH,BRS,CWL,EDI,EMA,EXT,GLA,HUY,LBA,LGW,LON,LPL,LTN,MAN,MME,NCL,PIK,SOU,STN', 'FAO');
  dest = new Destination('BERMUD', 'Bermuda', 'LGW', 'BDA');
  dest = new Destination('CRETE', 'Crete', 'ABZ,BFS,BHX,BOH,BRS,CVT,CWL,EDI,EMA,EXT,GCI,GLA,HUY,JER,LBA,LGW,LON,LPL,LTN,MAN,MME,NCL,NWI,PIK,SOU,STN', 'HER');
  dest = new Destination('CYPRUS', 'Cyprus', 'ABZ,BFS,BHX,BOH,BRS,CVT,CWL,DSA,EDI,EMA,EXT,GCI,GLA,HUY,JER,LBA,LGW,LON,LHR,LPL,LTN,MAN,NCL,NWI,PIK,SOU,STN', 'PFO');
  dest = new Destination('GOZO', 'Gozo', 'ABZ,BFS,BHX,BOH,BRS,CVT,CWL,EDI,EMA,EXT,GCI,GLA,HUY,JER,LBA,LGW,LON,LHR,LPL,LTN,MAN,MME,NCL,NWI,PIK,SOU,STN', 'MLA');
  dest = new Destination('ITALY', 'Lake Garda', 'BFS,BHX,BRS,CWL,GLA,LGW,LON,LHR,MAN,NCL,SOU', 'VRN');
  dest = new Destination('ITALY1', 'Lake Como', 'BHX,EDI,LGW,LON,LHR,MAN', 'MXP');
  dest = new Destination('LAGOME', 'La Gomera', 'ABZ,BFS,BHX,BLK,BOH,BRS,CWL,DSA,EDI,EMA,EXT,GLA,HUY,LBA,LGW,LON,LPL,LTN,MAN,MME,NCL,NWI,PIK,SOU,STN', 'TFS');
  dest = new Destination('LANZAR', 'Lanzarote', 'ABZ,BFS,BHX,BOH,BRS,CVT,CWL,EDI,EMA,EXT,GCI,GLA,HUY,JER,LBA,LGW,LON,LPL,LTN,MAN,NCL,NWI,PIK,SOU,STN', 'ACE');
  dest = new Destination('LAPALM', 'La Palma', 'ABZ,BFS,BHX,BOH,CVT,CWL,EDI,EMA,EXT,GCI,GLA,HUY,JER,LBA,LGW,LON,LPL,LTN,MAN,MME,NCL,NWI,PIK,SOU,STN', 'SPC');
  dest = new Destination('LASPAL', 'Gran Canaria', 'ABZ,BFS,BHX,BOH,BRS,CVT,CWL,EDI,EMA,EXT,GCI,GLA,HUY,JER,LBA,LGW,LON,LPL,LTN,MAN,MME,NCL,NWI,PIK,SOU,STN', 'LPA');
  dest = new Destination('MADEIR', 'Madeira', 'ABZ,BFS,BHX,BOH,BRS,CVT,CWL,EDI,EMA,EXT,GCI,GLA,HUY,JER,LBA,LGW,LON,LHR,LPL,LTN,MAN,MME,NCL,NWI,PIK,SOU,STN', 'FNC');
  dest = new Destination('MALL', 'Mallorca', 'ABZ,BFS,BHX,BLK,BOH,BRS,CVT,CWL,EDI,EMA,EXT,GCI,GLA,HUY,JER,LBA,LCY,LGW,LON,LHR,LPL,LTN,MAN,MME,NCL,NWI,PIK,SOU,STN', 'PMI');
  dest = new Destination('MALTA', 'Malta', 'ABZ,BFS,BHX,BOH,BRS,CVT,CWL,EDI,EMA,EXT,GCI,GLA,HUY,JER,LBA,LGW,LON,LHR,LPL,LTN,MAN,MME,NCL,NWI,PIK,SOU,STN', 'MLA');
  dest = new Destination('MOROCC', 'Morocco', 'ABZ,BFS,BHX,BOH,BRS,CVT,CWL,EDI,EMA,EXT,GCI,GLA,HUY,JER,LBA,LGW,LON,LHR,LPL,LTN,MAN,MME,NCL,NWI,PIK,SOU,STN', 'RAK,AGA');
  dest = new Destination('SARDIN', 'Sardinia', 'BHX,BRS,EDI,LBA,LGW,LON,LTN,MAN,STN', 'OLB,CAG');
  dest = new Destination('SSPAIN', 'Southern Spain', 'ABZ,BFS,BHX,BLK,BOH,BRS,CVT,CWL,EDI,EMA,EXT,GCI,GLA,JER,LBA,LGW,LON,LHR,LPL,LTN,MAN,MME,NCL,PIK,SOU,STN', 'AGP');
  dest = new Destination('TENERI', 'Tenerife', 'ABZ,BFS,BHX,BLK,BOH,BRS,CWL,DSA,EDI,EMA,EXT,GLA,HUY,LBA,LGW,LON,LPL,LTN,MAN,MME,NCL,NWI,PIK,SOU,STN', 'TFS');
  dest = new Destination('TURK', 'Turkey', 'ABZ,BFS,BHX,BOH,BRS,CWL,DSA,DUB,EDI,EMA,EXT,GLA,HUY,LBA,LGW,LON,LHR,LPL,LTN,MAN,MME,NCL,NWI,STN', 'DLM,BJV,ADB,IZM');
}

/*
 * Called after the file is loaded by the browser.
 */
cache();
