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"},
		"SVL": {"name": "Savonlinna", "url": "/lentoasema_savonlinna"},
		"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"},
		"VRK": {"name": "Varkaus", "url": "/lentoasema_varkaus"}
	},

	"swe":
	{
		"HEL": {"name": "Helsingfors-Vanda", "url": "http://www.helsinki-vantaa.fi/hem"},
		"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"},
		"SVL": {"name": "Nyslott", "url": "/flygplats_nyslott"},
		"MHQ": {"name": "Mariehamn", "url": "/flygplats_mariehamn"},
		"RVN": {"name": "Rovaniemi", "url": "/flygplats_rovaniemi"},
		"OUL": {"name": "Uleåborg", "url": "/flygplats_uleaborg"},
		"LPP": {"name": "Villmanstrand", "url": "/flygplats_villmanstrand"},
		"TMP": {"name": "Tammerfors-Birkala", "url": "/flygplats_tammerfors-birkala"},
		"VAA": {"name": "Vasa", "url": "/flygplats_vasa"},
		"TKU": {"name": "Åbo", "url": "/flygplats_abo"},
		"VRK": {"name": "Varkaus", "url": "/flygplats_varkaus"}
	},

	"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"},
		"SVL": {"name": "Savonlinna", "url": "/airport_savonlinna"},
		"TKU": {"name": "Turku", "url": "/airport_turku"},
		"TMP": {"name": "Tampere-Pirkkala", "url": "/airport_tampere-pirkkala"},
		"VAA": {"name": "Vaasa", "url": "/airport_vaasa"},
		"VRK": {"name": "Varkaus", "url": "/airport_varkaus"}
	}
};

var flightinfo_url = "//www.finavia.fi/into";
var flightinfo_params = {
	"airport":        '',
	"flightType":     'arr',
	"language":       '',
	"updateInterval": '60',
	"flightNumber":   '',
	"stylesheet":     '',
	"pastFlights":    0
};


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 ($) {

	$(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;
		}

		setInterval( function () {
			var now = new Date();
			var h = now.getHours();
			var m = now.getMinutes();
			var s = now.getSeconds();
			if (h < 10) h = "0"+ h;
			if (m < 10) m = "0"+ m;
			if (s < 10) s = "0"+ s;
			$(".footer .time").html( h +":"+ m);
		}, 500);

		// 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);

			if (val == "HEL")
			{
				$("#flightinfo .footer ."+ flightinfo_params["flightType"]).show();
				$("#flightinfo .footer .sms_service_helsinki").show();
				$("#flightinfo .footer .sms_service_others").hide();
			}
			else
			{
				$("#flightinfo .footer .all_flights").hide();
				$("#flightinfo .footer .sms_service_helsinki").hide();
				$("#flightinfo .footer .sms_service_others").show();
			}

			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 () {
			if (flightinfo_params["airport"] == "HEL")
			{
				$("#flightinfo .footer .all_flights").hide();
				$("#flightinfo .footer .arr").show();
			}

			flightinfo_params["flightType"] = "arr";
			flightinfo_params["flightNumber"] = "";
			$("#flightinfo .form .flightnumber").val( $("#flightinfo .form .flightnumber").attr("rel") );
			updateFlightFrame();
			$("#flightinfo .tabs").css("background-image", 'url("/files/finavia2/INTO/flightinfo-tab-arr.png")');

		});

		// Departures tab
		$(".flightinfo_departures").click( function () {
			if (flightinfo_params["airport"] == "HEL")
			{
				$("#flightinfo .footer .all_flights").hide();
				$("#flightinfo .footer .dep").show();
			}

			flightinfo_params["flightType"] = "dep";
			flightinfo_params["flightNumber"] = "";
			$("#flightinfo .form .flightnumber").val( $("#flightinfo .form .flightnumber").attr("rel") );
			updateFlightFrame();
			$("#flightinfo .tabs").css("background-image", 'url("/files/finavia2/INTO/flightinfo-tab-dep.png")');
		});

		// Past flights checkbox
		$("input[name='flightinfo_past']").each( function () {
			$(this).removeAttr("checked");
		});

		$("input[name='flightinfo_past']").click( function () {
			if ($(this).is(":checked")) flightinfo_params["pastFlights"] = 1;
			else flightinfo_params["pastFlights"] = 0;
			updateFlightFrame();
		});

		// Search input predefined text
		$("#flightinfo .form .flightnumber").each( function () {
			if (!$(this).val()) $(this).val( $(this).attr("rel") )
		});

		$("#flightinfo .form .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();
		});

		$("#flightinfo-search-form a").click( function () {
			$(this).parent("form").submit();
		});

	});

})(jQuery);

