var flightinfo_airports = 
{
  "fin": 
  {
    "HEL": {"name": "Helsinki-Vantaa", "url": "http://www.helsinki-vantaa.fi"},
    "ENF": {"name": "Enontekiö", "url": "/lentoasema_enontekio"},
    "IVL": {"name": "Ivalo", "url": "/lentoasema_ivalo"},
    "JOE": {"name": "Joensuu", "url": "/lentoasema_joensuu"},
    "JYV": {"name": "Jyväskylä", "url": "/lentoasema_jyvaskyla"},
    "KAJ": {"name": "Kajaani", "url": "/lentoasema_kajaani"},
    "KEM": {"name": "Kemi-Tornio", "url": "/lentoasema_kemitornio"},
    "KAO": {"name": "Kuusamo", "url": "/lentoasema_kuusamo"},
    "KTT": {"name": "Kittilä", "url": "/lentoasema_kittila"},
    "KUO": {"name": "Kuopio", "url": "/lentoasema_kuopio"},
    "KOK": {"name": "Kokkola-Pietarsaari", "url": "/lentoasema_kokkola-pietarsaari"},
    "LPP": {"name": "Lappeenranta", "url": "/lentoasema_lappeenranta"},
    "MHQ": {"name": "Maarianhamina", "url": "/lentoasema_maarianhamina"},
    "OUL": {"name": "Oulu", "url": "/lentoasema_oulu"},
    "POR": {"name": "Pori", "url": "/lentoasema_pori"},
    "RVN": {"name": "Rovaniemi", "url": "/lentoasema_rovaniemi"},
    "TKU": {"name": "Turku", "url": "/lentoasema_turku"},
    "TMP": {"name": "Tampere-Pirkkala", "url": "/lentoasema_tampere-pirkkala"},
    "VAA": {"name": "Vaasa", "url": "/lentoasema_vaasa"}
  },

  "swe": 
  {
    "HEL": {"name": "Helsinki-Vantaa", "url": "http://www.helsinki-vantaa.fi"},
    "ENF": {"name": "Enontekis", "url": "/flygplats_enontekis"},
    "IVL": {"name": "Ivalo", "url": "/flygplats_ivalo"},
    "POR": {"name": "Björneborg", "url": "/flygplats_bjorneborg"},
    "JOE": {"name": "Joensuu", "url": "/flygplats_joensuu"},
    "JYV": {"name": "Jyväskylä", "url": "/flygplats_jyvaskyla"},
    "KAJ": {"name": "Kajaani", "url": "/flygplats_kajana"},
    "KEM": {"name": "Kemi-Torneå", "url": "/flygplats_kemitornea"},
    "KAO": {"name": "Kuusamo", "url": "/flygplats_kuusamo"},
    "KTT": {"name": "Kittilä", "url": "/flygplats_kittila"},
    "KUO": {"name": "Kuopio", "url": "/flygplats_kuopio"},
    "KOK": {"name": "Karleby-Jakobstad", "url": "/flygplats_karleby-jakobstad"},
    "LPP": {"name": "Villmanstrand", "url": "/flygplats_villmanstrand"},
    "MHQ": {"name": "Mariehamn", "url": "/flygplats_mariehamn"},
    "RVN": {"name": "Rovaniemi", "url": "/flygplats_rovaniemi"},
    "OUL": {"name": "Uleåborg", "url": "/flygplats_uleaborg"},
    "TMP": {"name": "Tammerfors-Birkala", "url": "/flygplats_tammerfors-birkala"},
    "VAA": {"name": "Vaasa", "url": "/flygplats_vaasa"},
    "TKU": {"name": "Åbo", "url": "/flygplats_abo"}
  },

  "eng":
  {
    "HEL": {"name": "Helsinki-Vantaa", "url": "http://www.helsinki-vantaa.fi"},
    "ENF": {"name": "Enontekiö", "url": "/airport_enontekio"},
    "IVL": {"name": "Ivalo", "url": "/airport_ivalo"},
    "JOE": {"name": "Joensuu", "url": "/airport_joensuu"},
    "JYV": {"name": "Jyväskylä", "url": "/airport_jyvaskyla"},
    "KAJ": {"name": "Kajaani", "url": "/airport_kajaani"},
    "KEM": {"name": "Kemi-Tornio", "url": "/airport_kemitornio"},
    "KAO": {"name": "Kuusamo", "url": "/airport_kuusamo"},
    "KTT": {"name": "Kittilä", "url": "/airport_kittila"},
    "KUO": {"name": "Kuopio", "url": "/airport_kuopio"},
    "KOK": {"name": "Kokkola-Pietarsaari", "url": "/airport_kokkola-pietarsaari"},
    "LPP": {"name": "Lappeenranta", "url": "/airport_lappeenranta"},
    "MHQ": {"name": "Mariehamn", "url": "/airport_mariehamn"},
    "OUL": {"name": "Oulu", "url": "/airport_oulu"},
    "POR": {"name": "Pori", "url": "/airport_pori"},
    "RVN": {"name": "Rovaniemi", "url": "/airport_rovaniemi"},
    "TKU": {"name": "Turku", "url": "/airport_turku"},
    "TMP": {"name": "Tampere-Pirkkala", "url": "/airport_tampere-pirkkala"},
    "VAA": {"name": "Vaasa", "url": "/airport_vaasa"}
  }
};

var flightinfo_url = "/into";
var flightinfo_params = {
  "airport":        '',
  "flightType":     'arr',
  "language":       '',
  "updateInterval": '60',
  "flightNumber":   '',
  "stylesheet":     ''
};

function updateFlightFrame ()
{
  var params = [];
  jQuery.each(flightinfo_params, function (param, value) {
    if (value) params.push(param +"="+ escape(value));
  });
  var url = flightinfo_url +"?"+ params.join("&");
  jQuery("#flightinfo-frame").attr("src", url);
}


function updateTabs (tab)
{
  jQuery("#flightinfo .tabs").css("background-image", 'url("/files/finavia2/INTO/flightinfo-tab-'+ tab +'.png")');
}


(function ($) {

  $(function() {
	
	  // Set language & airport
	  flightinfo_params["language"] = $("#flightinfo_language").text();
	  flightinfo_params["airport"] = $("#flightinfo_airport").text();

	  // Airport set with GET-param or VAR-element, show flightinfo
	  if (flightinfo_params["airport"] || $("#flightinfo-airport").length)
	  {
	    // .show() doesn't work in Nokia browsers
	    $("#flightinfo").css('display', 'block');
	  }
	  else 
	  {
	    return; 
	  }
	
	  // Airport set, switch stylesheet
	  if (flightinfo_params["airport"])
	    flightinfo_params["stylesheet"] = "airport";
	
	  // Fill options to airport select
	  $.each(flightinfo_airports[ flightinfo_params["language"] ], function (code, airport) {
	    $("#flightinfo-airport").append( 
	      $(document.createElement("option")).attr("value", code).text(airport.name) 
	    );
	  });
	
	  // Airport change
	  $("#flightinfo-airport").change( function () {
	    // .val() on <select> does not work in Nokia browsers
	    var val = this.options[this.selectedIndex].value;
	    flightinfo_params["airport"] = val;
	    
	    // Set airport link
	    var airport = flightinfo_airports[ flightinfo_params["language"] ][ val ];
	    $("#flightinfo-airport-url").attr("href", airport.url);
	
	    updateFlightFrame();
	  });
	
	  // Prevent airport form submit
	  $("#flightinfo-airport-form").submit( function (e) {
	    e.preventDefault();
	  });
	
	
	  // Trigger airport change to select first option
	  $("#flightinfo-airport").trigger("change");
	
	  // Airport page has no airport-select, update frame manually
	  if (!$("#flightinfo-airport").length)
	    updateFlightFrame();
	
	
	  // Arrivals tab
	  $(".flightinfo_arrivals").click( function () {
	    flightinfo_params["flightType"] = "arr";
	    flightinfo_params["flightNumber"] = "";
	    $("#flightinfo .search").slideUp("fast");
	    updateFlightFrame();
	    updateTabs(1);
	  });
	
	  // Departures tab
	  $(".flightinfo_departures").click( function () {
	    flightinfo_params["flightType"] = "dep";
	    flightinfo_params["flightNumber"] = "";
	    $("#flightinfo .search").slideUp("fast");
	    updateFlightFrame();
	    updateTabs(2);
	  });
	
	  // Search tab
	  $(".flightinfo_search").click( function () {
	    flightinfo_params["flightType"] = "";
	    $("#flightinfo .search").slideDown("fast");
	    updateTabs(3);
	  });
	
	
	  // Search input predefined text
	  $("#flightinfo .search .flightnumber").each( function () {
	    if (!$(this).val()) $(this).val( $(this).attr("rel") ) 
	  });
	  
	  $("#flightinfo .search .flightnumber")
	    .click( function () {
	      if ($(this).val() == $(this).attr("rel")) $(this).val("");
	    })
	    .change( function () {
	      if (!$(this).val()) $(this).val( $(this).attr("rel") ) 
	    })
	    .blur( function () {
	      $(this).trigger("change");
	    });
	
	  // Search submit
	  $("#flightinfo-search-form").submit( function (e) {
	    e.preventDefault();
	    flightinfo_params["flightNumber"] = $(this).find(".flightnumber").val();
	    updateFlightFrame();
	  });
	  
  });

})(jQuery);

