﻿$(document).ready(function () {

    //Booking engine
    $('.kwicks').kwicks({
        min: 60,
        spacing: 5,
        sticky: true,
        event: 'click'
    });

    //Customize homepage drawer
    $("#customize").click(function () {
        $("#drawerInner").slideToggle("slow");
        this.blur();
        $("#customize").toggleClass("on");
        return false;
    });

    //Style label with correct background image
    $("#drawerInner input:checked").parent().addClass("on");

    //Change background image if checkbox is checked or unchecked
    $("#drawerInner label").click(function () {
        $(this).parent().toggleClass("on");
    });

    //Movable widgets
    $("#sortable").sortable({
        items: '.widget',
        placeholder: 'highlight',
        tolerance: 'pointer',
        stop: update_positions,
        revert: true
    });

    //Live flight information
    $(".tab a").click(function () {
        if (!$(this).hasClass("on")) {
            $(".tab a").toggleClass("on");
            this.blur();
        }
        return false;
    });

    $(".toggleSwitch").toggle(function () {
        $('#flightdata table tr:gt(4)').show();
        $('#flightdata_extra').show();
        var tableHeight = $('#flightdata table').height() - 30;
        $(this).animate({ "margin-top": tableHeight + "px" }, 400).css("background-image", "url('/gfx/upSwitch.png')");
    }, function () {
        $(this).animate({ "margin-top": "100px" }, 400).css("background-image", "url('/gfx/downSwitch.png')");
        $('#flightdata table tr:gt(4)').hide();
        $('#flightdata_extra').hide();
    });

    var randomnumber = Math.floor(Math.random() * 123456789);

    // Flights data panel - default arrivals
    $('#flightdata').load('/FlightData.ashx?dir=arr&lang=' + LANG_TEMPLATE + '&id=1&r=' + randomnumber, function () {
        $('#flightdata table tr:gt(4)').hide();
        $('#flightdata_extra').hide();
        $("#FlightDataTable tr:even td").addClass("even");
    });




    // Event handlers for tabs
    $(".arrivals a").click(function () {
        $('#flightdata').load('/FlightData.ashx?dir=arr&lang=' + LANG_TEMPLATE + '&id=1&r=' + randomnumber, function () {
            $('.toggleSwitch').animate({ "margin-top": "100px" }, 400).css("background-image", "url('/gfx/downSwitch.png')");
            $('#flightdata table tr:gt(4)').hide();
            $('#flightdata_extra').hide();

            $("#FlightDataTable tr td").removeClass("even");
            $("#FlightDataTable tr:even td").addClass("even");
        });
    });

    $(".departures a").click(function () {
        $('#flightdata').load('/FlightData.ashx?dir=dep&lang=' + LANG_TEMPLATE + '&id=1&r=' + randomnumber, function () {
            $('.toggleSwitch').animate({ "margin-top": "100px" }, 400).css("background-image", "url('/gfx/downSwitch.png')");
            $('#flightdata table tr:gt(4)').hide();
            $('#flightdata_extra').hide();

            $("#FlightDataTable tr td").removeClass("even");
            $("#FlightDataTable tr:even td").addClass("even");
        });
    });

    //Promo area
    var refreshIntervalId;
    refreshIntervalId = setInterval("NextPromo()", 5000);

    $("#promo0").show();
    $("#promo0Bullet").addClass("on");
    $("#promo0Image").show();

    $("#play").toggle(function () {
        $(this).removeClass("on");
        clearInterval(refreshIntervalId);
        playing = false;
    }, function () {
        $(this).addClass("on");
        refreshIntervalId = setInterval("NextPromo()", 5000);
        playing = true;
    });

    $("#next").click(function () {
        NextPromo();
        if (playing) {
            clearInterval(refreshIntervalId);
            refreshIntervalId = setInterval("NextPromo()", 5000);
        }
    });

    $(".bullet").click(function () {
        var bulletName;
        var bulletNumber;
        bulletName = $(this).attr("id");
        bulletName = bulletName.replace("promo", "");
        bulletNumber = bulletName.replace("Bullet", "");
        SelectPromo(bulletNumber);
        if (playing) {
            clearInterval(refreshIntervalId);
            refreshIntervalId = setInterval("NextPromo()", 5000);
        }
    });

    $("#prev").click(function () {
        PrevPromo();
        if (playing) {
            clearInterval(refreshIntervalId);
            refreshIntervalId = setInterval("NextPromo()", 5000);
        }
    });

    // ********************************************
    // HOMEPAGE SLIDER WIDGETS
    // ********************************************

    // Load once bools
    var kwick1frameloaded = false;
    var kwick2frameloaded = false;
    var kwick3frameloaded = false;
    var kwick4frameloaded = false;
    var kwick5frameloaded = false;

    // WIDGET - Airport parking
    $("#kwick1").click(function () {
        $("#widget-2").hide();
        $("#widget-3").hide();
        $("#widget-4").hide();
        $("#widget-5").hide();

        $("#widget-1").show();

        if (!kwick1frameloaded) {
            $("#kwick1").html("<iframe id=\"widget-1\" src=\"/iframe/widget-parking.aspx?" + 1 * new Date() + "\" frameborder=\"0\" width=\"670\" height=\"210\" scrolling=\"no\"></iframe>");
            kwick1frameloaded = true;
        }
    });

    $("#kwick1").html("<iframe id=\"widget-1\" src=\"/iframe/widget-parking.aspx?" + 1 * new Date() + "\" frameborder=\"0\" width=\"670\" height=\"210\" scrolling=\"no\"></iframe>");
    kwick1frameloaded = true;


    // WIDGET - Book your holiday
    $("#kwick2").click(function () {
        $("#widget-1").hide();
        $("#widget-3").hide();
        $("#widget-4").hide();
        $("#widget-5").hide();

        $("#widget-2").show();

        if (!kwick2frameloaded) {
            $("#kwick2").html("<iframe id=\"widget-2\" src=\"/iframe/widget-holiday.aspx?" + 1 * new Date() + "\" frameborder=\"0\" width=\"670\" height=\"210\" scrolling=\"no\"></iframe>");
            kwick2frameloaded = true;
        }
    });

    // WIDGET - Priority Lane
    $("#kwick3").click(function () {
        $("#widget-1").hide();
        $("#widget-2").hide();
        $("#widget-4").hide();
        $("#widget-5").hide();

        $("#widget-3").show();

        if (!kwick3frameloaded) {
            $("#kwick3").html("<iframe id=\"widget-3\" src=\"/iframe/widget-priority.aspx?" + 1 * new Date() + "\" frameborder=\"0\" width=\"670\" height=\"210\" scrolling=\"no\"></iframe>");
            kwick3frameloaded = true;
        }
    });

    // WIDGET - Car hire
    $("#kwick4").click(function () {

        $("#widget-1").hide();
        $("#widget-2").hide();
        $("#widget-3").hide();
        $("#widget-5").hide();

        $("#widget-4").show();

        if (!kwick4frameloaded) {
            $("#kwick4").html("<iframe id=\"widget-4\" src=\"/iframe/widget-carhire.aspx?" + 1 * new Date() + "\" frameborder=\"0\" width=\"670\" height=\"210\" scrolling=\"no\"></iframe>");
            kwick4frameloaded = true;
        }
    });

    // WIDGET - Executive lounge
    $("#kwick5").click(function () {
        $("#widget-1").hide();
        $("#widget-2").hide();
        $("#widget-3").hide();
        $("#widget-4").hide();

        $("#widget-5").show();

        if (!kwick5frameloaded) {
            $("#kwick5").html("<iframe id=\"widget-5\" src=\"/iframe/widget-lounge.aspx?" + 1 * new Date() + "\" frameborder=\"0\" width=\"670\" height=\"210\" scrolling=\"no\"></iframe>");
            kwick5frameloaded = true;
        }
    });

    // Newsletter signup handler
    $("#newsletterSignupWidgetSubmit").click(function () {
        var name = $("#newsletterSignupWidgetName").val();
        var email = $("#newsletterSignupWidgetEmail").val();
        location.href = '/' + LANG_TEMPLATE + '/signup/?name=' + escape(name) + '&email=' + escape(email);
        return false;
    });

    $("#newsletterSignupWidgetName,#newsletterSignupWidgetEmail").bind("keydown", function (e) {
        if (e.keyCode == 13) {
            var name = $("#newsletterSignupWidgetName").val();
            var email = $("#newsletterSignupWidgetEmail").val();
            location.href = '/' + LANG_TEMPLATE + '/signup/?name=' + escape(name) + '&email=' + escape(email);
            return false;
        }
    });

});

function update_positions() {

	var widgetName;
	var widgetNumber;
	var widgetList = '';

	$('.widget').each(function () {
		widgetName = $(this).attr('id');
		widgetNumber = widgetName.replace("widget", "");
		widgetList += widgetNumber + "," ;
	})

	$.cookie('widget-positions', widgetList, { path: '/', expires: 365 });

}

var promoIndex = 0;
var playing = true;

function NextPromo() {
	$("#promo" + promoIndex).fadeOut("slow");
	$("#promo" + promoIndex + "Image").fadeOut("slow");
	$("#promo" + promoIndex + "Bullet").removeClass("on");

	if (promoIndex < ($(".promo").length-1))
		promoIndex++;
	else
		promoIndex = 0;

	$("#promo" + promoIndex).fadeIn("slow");
	$("#promo" + promoIndex + "Image").fadeIn("slow");
	$("#promo" + promoIndex + "Bullet").addClass("on");
}

function SelectPromo(x) {
	if (promoIndex != x) {
		$("#promo" + promoIndex).fadeOut("slow");
		$("#promo" + promoIndex + "Image").fadeOut("slow");
		$("#promo" + promoIndex + "Bullet").removeClass("on");

		promoIndex = x;

		$("#promo" + promoIndex).fadeIn("slow");
		$("#promo" + promoIndex + "Image").fadeIn("slow");
		$("#promo" + promoIndex + "Bullet").addClass("on");
	}
}

function PrevPromo() {
	$("#promo" + promoIndex).fadeOut("slow");
	$("#promo" + promoIndex + "Image").fadeOut("slow");
	$("#promo" + promoIndex + "Bullet").removeClass("on");

	if (promoIndex > 0)
		promoIndex--;
	else
		promoIndex = $(".promo").length-1;

	$("#promo" + promoIndex).fadeIn("slow");
	$("#promo" + promoIndex + "Image").fadeIn("slow");
	$("#promo" + promoIndex + "Bullet").addClass("on");
}

