﻿/// <reference path="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.js" />

(function ($, undefined) {
    $(function () {
        if ($("#hotellang").length === 0) return;
        $(".hotelsubmit", "#hotelsearch").click(function (e) {
            var $destination = $("#hoteldestination");
            if ($destination.val() === $destination.attr("title")) {
                $destination.effect("highlight", { color: "#FFCFE9" }, 2000);
            } else {
                var checkindate = $("#hotelcheckindate").datepicker("getDate");
                $("#hotelcheckin_year_month").val(checkindate.getFullYear().toString() + "-" + (checkindate.getMonth() + 1).toString());
                $("#hotelcheckin_monthday").val(checkindate.getDate());
                var checkoutdate = $("#hotelcheckoutdate").datepicker("getDate");
                $("#hotelcheckout_year_month").val(checkoutdate.getFullYear().toString() + "-" + (checkoutdate.getMonth() + 1).toString());
                $("#hotelcheckout_monthday").val(checkoutdate.getDate());
                $("#hoteldestination").trigger("focusout");
                $("#hotelsearch").submit();
            }
            e.stopPropagation();
            e.preventDefault();
            return false;
        });

        $("#hoteldestination").focusout(function () {
            if ($(this).val() === $(this).attr("title") || !$(this).val()) {
                $(this).addClass("blur");
                $(this).val($(this).attr("title"));
            }
        }).focusin(function () {
            if ($(this).hasClass("blur")) {
                $(this).removeClass("blur");
                $(this).val("");
            }
        }).trigger("focusout");

        if ($("#carslang").length === 0) return;
        $(".carsubmit", "#carssearch").click(function (e) {
            var $destination = $("#carsdestination");
            if ($destination.val() === $destination.attr("title")) {
                $destination.effect("highlight", { color: "#FFCFE9" }, 2000);
            } else {
                var checkindate = $("#carspickupdate").datepicker("getDate");
                var year_out = checkindate.getFullYear().toString();
                var month_out = checkindate.getMonth().toString();
                var day_out = checkindate.getDate();
                $("#carspickup_date").val(year_out);
                $("#carspickup_month").val(month_out);
                $("#carspickup_day").val(day_out);
                var checkoutdate = $("#carsreturndate").datepicker("getDate");
                var year_in = checkoutdate.getFullYear().toString();
                var month_in = checkoutdate.getMonth().toString();
                var day_in = checkoutdate.getDate();
                $("#carsreturn_date").val(year_in);
                $("#carsreturn_month").val(month_in);
                $("#carsreturn_day").val(day_in);
                var selObj = document.getElementById('residencyId').options[document.getElementById('residencyId').selectedIndex].value;
                var $residencyId = selObj;
                var $age = $("#driversage");
                if ($age.val() == '') {
                    $age.effect("highlight", { color: "#FFCFE9" }, 2000);
                    return false;
                }
                var diffLocs = $('#diffDropoff').attr('checked');
                if (diffLocs == false) {
                    $('<input />').attr('type', 'hidden')
                    .attr('name', 'returnLocationId')
                    .attr('value', $destination.val())
                    .appendTo('#carssearch');
                }
                $("#carssearch").submit();
            }
            e.stopPropagation();
            e.preventDefault();
            return false;
        });

        $("#carsdestination").focusout(function () {
            if ($(this).val() === $(this).attr("title") || !$(this).val()) {
                $(this).addClass("blur");
                $(this).val($(this).attr("title"));
            }
        }).focusin(function () {
            if ($(this).hasClass("blur")) {
                $(this).removeClass("blur");
                $(this).val("");
            }
        }).trigger("focusout");

        $(".thirdTab a", "#flightsataglance").click(function (e) {
            $("#onlinebooking").hide();
            $("#hotelsataglance").hide();
            $("#carsataglance").show();
            e.stopPropagation();
            e.preventDefault();
            return false;
        });
        $(".thirdTab_icon a", "#flightsataglance").click(function (e) {
            $("#onlinebooking").hide();
            $("#hotelsataglance").hide();
            $("#carsataglance").show();
            e.stopPropagation();
            e.preventDefault();
            return false;
        });
        $(".secondTab a", "#flightsataglance").click(function (e) {
            $("#onlinebooking").hide();
            $("#hotelsataglance").show();
            $("#carsataglance").hide();
            e.stopPropagation();
            e.preventDefault();
            return false;
        });
        $(".secondTab_icon a", "#flightsataglance").click(function (e) {
            $("#onlinebooking").hide();
            $("#hotelsataglance").show();
            $("#carsataglance").hide();
            e.stopPropagation();
            e.preventDefault();
            return false;
        });
        $(".firstTab a", "#flightsataglance").click(function (e) {
            $("#hotelsataglance").hide();
            $("#onlinebooking").show();
            $("#carsataglance").hide();
            e.stopPropagation();
            e.preventDefault();
            return false;
        });
        $(".firstTab_icon a", "#flightsataglance").click(function (e) {
            $("#hotelsataglance").hide();
            $("#onlinebooking").show();
            $("#carsataglance").hide();
            e.stopPropagation();
            e.preventDefault();
            return false;
        });
        var language = $("#hotellang").val();
        if (language === "UA") language = "UK";
        else if (language === "CZ") language = "CS";
        else if (language === "SE") language = "SV";

        language = language.toLowerCase();
        $("#hotellang").val(language);

        if (language == "en" || $.datepicker.regional[language] === undefined) {
            language = "en-GB";
        }

        $.datepicker.setDefaults($.datepicker.regional[language]);

        var now = new Date();
        var tomorrow = new Date(now);
        tomorrow.setDate(now.getDate() + 1);

        $("#hotelcheckindate").datepicker({
            showOn: "both",
            buttonImage: "/skylights/images/calendar.gif",
            defaultDate: null,
            buttonImageOnly: true,
            numberOfMonths: 2,
            minDate: now,
            onSelect: function (selectedDate) {
                var instance = $(this).data("datepicker");
                var date = $.datepicker.parseDate(
						instance.settings.dateFormat ||
						$.datepicker._defaults.dateFormat,
						selectedDate, instance.settings);
                date.setDate(date.getDate() + 1);
                var checkoutdate = $("#hotelcheckoutdate").datepicker("getDate");
                if (checkoutdate <= date) {
                    $("#hotelcheckoutdate").datepicker("setDate", date);
                }
            }
        });

        $("#hotelcheckoutdate").datepicker({
            showOn: "both",
            buttonImage: "/skylights/images/calendar.gif",
            defaultDate: null,
            buttonImageOnly: true,
            numberOfMonths: 2,
            minDate: tomorrow,
            onSelect: function (selectedDate) {
                var instance = $(this).data("datepicker");
                var date = $.datepicker.parseDate(
						instance.settings.dateFormat ||
						$.datepicker._defaults.dateFormat,
						selectedDate, instance.settings);
                date.setDate(date.getDate() - 1);
                var checkindate = $("#hotelcheckindate").datepicker("getDate");
                if (checkindate >= date) {
                    $("#hotelcheckindate").datepicker("setDate", date);
                }
            }
        });

        $("#hotelcheckindate").datepicker("setDate", now);
        $("#hotelcheckoutdate").datepicker("setDate", tomorrow);

        var language = $("#carslang").val();
        if (language === "UA") language = "UK";
        else if (language === "CZ") language = "CS";
        else if (language === "SE") language = "SV";

        language = language.toLowerCase();
        $("#carslang").val(language);

        if (language == "en" || $.datepicker.regional[language] === undefined) {
            language = "en-GB";
        }

        $.datepicker.setDefaults($.datepicker.regional[language]);

        var now = new Date();
        var tomorrow = new Date(now);
        var dayaftertomorrow = new Date(now);
        tomorrow.setDate(now.getDate() + 1);
        dayaftertomorrow.setDate(now.getDate() + 2);

        $("#carspickupdate").datepicker({
            showOn: "both",
            buttonImage: "/skylights/images/calendar.gif",
            defaultDate: null,
            buttonImageOnly: true,
            numberOfMonths: 2,
            minDate: tomorrow,
            onSelect: function (selectedDate) {
                var instance = $(this).data("datepicker");
                var date = $.datepicker.parseDate(
						instance.settings.dateFormat ||
						$.datepicker._defaults.dateFormat,
						selectedDate, instance.settings);
                date.setDate(date.getDate() + 1);
                var checkoutdate = $("#carsreturndate").datepicker("getDate");
                if (checkoutdate <= date) {
                    $("#carsreturndate").datepicker("setDate", date);
                }
            }
        });

        $("#carsreturndate").datepicker({
            showOn: "both",
            buttonImage: "/skylights/images/calendar.gif",
            defaultDate: null,
            buttonImageOnly: true,
            numberOfMonths: 2,
            minDate: dayaftertomorrow,
            onSelect: function (selectedDate) {
                var instance = $(this).data("datepicker");
                var date = $.datepicker.parseDate(
						instance.settings.dateFormat ||
						$.datepicker._defaults.dateFormat,
						selectedDate, instance.settings);
                date.setDate(date.getDate() - 1);
                var checkindate = $("#carspickupdate").datepicker("getDate");
                if (checkindate >= date) {
                    $("#carspickupdate").datepicker("setDate", date);
                }
            }
        });

        $("#carspickupdate").datepicker("setDate", tomorrow);
        $("#carsreturndate").datepicker("setDate", dayaftertomorrow);

    });
})(jQuery);
