﻿/**
* jQuery.browser.mobile (http://detectmobilebrowser.com/)
*
* jQuery.browser.mobile will be true if the browser is a mobile device
*
**/
(function (a) { jQuery.browser.mobile = /android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4)) })(navigator.userAgent || navigator.vendor || window.opera);

//Variable to keep if the departure date in the Booking engine is set or not
var departureSet = false; 

/* French initialisation for the jQuery UI date picker plugin. */
/* Written by Keith Wood (kbwood{at}iinet.com.au) and Stéphane Nahmani (sholby@sholby.net). */
jQuery(function ($) {
    $.datepicker.regional['fr'] = {
        closeText: 'Fermer',
        prevText: '&#x3c;Préc',
        nextText: 'Suiv&#x3e;',
        currentText: 'Courant',
        monthNames: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin',
        'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
        monthNamesShort: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Jun',
        'Jul', 'Aoû', 'Sep', 'Oct', 'Nov', 'Déc'],
        dayNames: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
        dayNamesShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
        dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
        weekHeader: 'Sm',
        dateFormat: 'dd/mm/yy',
        firstDay: 1,
        isRTL: false,
        showMonthAfterYear: false,
        yearSuffix: ''
    };
});

$(document).ready(function () {

    var classToAdd = "";
    if ($.browser.msie) {
        classToAdd += "IE"
        if (jQuery.browser.version === "7.0") {
            classToAdd += " IE7";
        } else if (jQuery.browser.version === "8.0") {
            classToAdd += " IE8";
        } else if (jQuery.browser.version === "9.0") {
            classToAdd += " IE9";
        }
    } else if ($.browser.webkit) {
        classToAdd += "webkit"
    } else if ($.browser.opera) {
        classToAdd += "opera"
    } else if ($.browser.mozilla) {
        classToAdd += "mozilla"
    }
    $("body").addClass(classToAdd);

    $("#hotelList").hide();

    $("#bannerSideBox h3").click(function () {
        $(this).parents().children("#reservation, #hotelList").slideToggle();

        $("#bannerSideBox h3").each(function () {
            if ($(this).attr("class").indexOf("on") == -1) {
                $(this).attr("class", $(this).attr("class") + "on");
            }
            else {
                $(this).attr("class", $(this).attr("class").substr(0, $(this).attr("class").indexOf("on")));
            }
        });
    });

    if ($(".home.default").length == 1) {
        $($("#bannerSideBox h3")[1]).click();
    }

    removerRoundedCorner();

    $("#socialMedia li a, .socialMedia li a").zprite({ reverse: false });

    $("#newsLetterSubscribe").click(function () { $("#ctl00$ucMailingListModule$fvMailingListModule$btnSubmit").cick(); });

    if ($("body[class~=fr]").length > 0) {
        $.datepicker.setDefaults($.datepicker.regional["fr"]);
    }

    $("#ctl00_txtArrival, #ctl00_ctl00_txtArrival").datepicker({
        altField: "#" + $("#ctl00_txtArrival, #ctl00_ctl00_txtArrival").parent().children("input[type=hidden]").attr("id"),
        onSelect: function(dateStr) {
            if (!departureSet) {
                var nights = 1;
                var depart = $.datepicker.parseDate($("#ctl00_txtArrival, #ctl00_ctl00_txtArrival").datepicker("option", "dateFormat"), dateStr);
                depart.setDate(depart.getDate() + nights);
                var departString = (depart.getMonth() + 1) + "/" + depart.getDate() + "/" + depart.getFullYear();
                if ($("#ctl00_txtArrival, #ctl00_ctl00_txtArrival").datepicker("option", "dateFormat") == 'dd/mm/yy') {
                    var departString = depart.getDate() + "/" + (depart.getMonth() + 1) + "/" + depart.getFullYear();
                }
                $("#ctl00_txtDeparture, #ctl00_ctl00_txtDeparture").val(departString);
            }
        }
    });
    $("#ctl00_txtDeparture, #ctl00_ctl00_txtDeparture").datepicker({
        defaultDate: +1,
        altField: "#" + $("#ctl00_txtDeparture, #ctl00_ctl00_txtDeparture").parent().children("input[type=hidden]").attr("id"),
        onSelect: function(dateStr) {
            departureSet = true;
        }

    });

    var tempText;
    $("#ctl00_txtArrival, #ctl00_ctl00_txtArrival").focus(function () {
        if ($(this).val() != "") {
            tempText = $(this).val();
            $(this).val("");
        }
    }).focusout(function () {
        if ($(this).val() == "") {
            $(this).val(tempText);
        };
    });

    var tempText2;
    $("#ctl00_txtDeparture, #ctl00_ctl00_txtDeparture").focus(function () {
        if ($(this).val() != "") {
            tempText2 = $(this).val();
            $(this).val("");
        }
    }).focusout(function () {
        if ($(this).val() == "") {
            $(this).val(tempText2);
        };
    });

    $("#reservation input[type=text]").change(function () {
        try {
            var arrival = Date.parse($("#ctl00_txtArrival, #ct100_ctl00_txtArrival").val());
            var departure = Date.parse($("#ctl00_txtDeparture, #ctl00_ctl00_txtDeparture").val());
            var one_day = 1000 * 60 * 60 * 24;

            $("#ctl00_ddlNightNumber, #ctl00_ctl00_ddlNightNumber").val(Math.ceil((departure - arrival) / (one_day)));
            $("#ctl00_ddlNightNumber, #ctl00_ctl00_ddlNightNumber").parent().children("span").text($("#ctl00_ddlNightNumber option:selected, #ctl100_ctl00_ddlNightNumber option:selected").text());
        }
        catch (e) { }
    });

    $("#ctl00_ddlNightNumber, #ctl00_ctl00_ddlNightNumber").change(function () {
        var arrival = Date.parse($("#ctl00_txtArrival, #ct100_ctl00_txtArrival").val());
        var one_day = 1000 * 60 * 60 * 24;
        var departureDate = new Date(arrival + (one_day * $(this).val()));
        $("#ctl00_txtDeparture, #ctl00_ctl00_txtDeparture").val(departureDate.getMonth() + 1 + "/" + departureDate.getDate() + "/" + departureDate.getFullYear());
    });

    $(".calanderImg").click(function () {
        $(this).parent().children("input[type='text']").each(function () { $(this).click(); $(this).focus(); });
    });

    $("#reservation select").uniform();

    $(".secondMenu ul").superfish({
        animation: { height: 'show' },   // slide-down effect without fade-in 
        autoArrows: false
    });

    $(".content-left select, input[type='file'], input:checkbox, input:radio").uniform();

    var textBox;
    $(".emailBox").focus(function () {
        textBox = $(this).val();
        $(this).val("");
    }).focusout(function () {
        if ($(this).val() == "") {
            $(this).val(textBox);
        }
    });


    $(".right-border .didYouKnow div img").css("top", "0");

    $(".reservationBtn").click(function () {
        var timeEntered = true;
        $('.hasDatepicker').each(function () {
            if (timeEntered) {
                var valueToUse = $(this).val();

                var dateArrray1 = valueToUse.split("/");

                if (dateArrray1.length == 3 && dateArrray1[2] != "" && dateArrray1[1] != "" && dateArrray1[0] != "") {
                    try {
                        var date1 = new Date(dateArrray1[2], dateArrray1[1], dateArrray1[0], 0, 0, 0, 0);
                    } catch (ex) {
                        timeEntered = false
                    }
                }
                else {
                    timeEntered = false
                }

                if (valueToUse == '' || valueToUse == 'Arrivée' || valueToUse == 'Départ' || valueToUse == 'Arrival' || valueToUse == 'Departure') {
                    timeEntered = false
                }
                else {
                    var hidden = $(this).parent().children("input[type=hidden]");

                    if ($(hidden).val() == '') {
                        $(hidden).val(valueToUse);
                    }
                }
            }
        });


        if ($('.ddlHotel').val() == '') {
            alert($('.additionnalScript').text());
            return false;
        }
        else if (!timeEntered) {
            alert($('.additionnalScript').text());
            return false;
        }
        else {
            var date1;
            var date2;

            if ($(".en").length > 0) {
                var dateArrray1 = $("#ctl00_ctl00_txtArrival, #ctl00_txtArrival").val().split("/");
                var dateArrray2 = $("#ctl00_ctl00_txtDeparture, #ctl00_txtDeparture").val().split("/");

                $.ajax({
                    url: "/DateParse.ashx",
                    type: "GET",
                    data: {
                        year: dateArrray1[2],
                        month: dateArrray1[0],
                        day: dateArrray1[1]
                    },
                    async: false,
                    success: function (data) {
                        date1 = parseFloat(data);
                    }
                });

                $.ajax({
                    url: "/DateParse.ashx",
                    type: "GET",
                    data: {
                        year: dateArrray2[2],
                        month: dateArrray2[0],
                        day: dateArrray2[1]
                    },
                    async: false,
                    success: function (data) {
                        date2 = parseFloat(data);
                    }
                });

                if (date1 > date2) {
                    alert($('.additionnalScriptDate').text());
                    return false;
                }
            } else {

                var dateArrray1 = $("#ctl00_ctl00_txtArrival, #ctl00_txtArrival").val().split("/");
                var dateArrray2 = $("#ctl00_ctl00_txtDeparture, #ctl00_txtDeparture").val().split("/");

                $.ajax({
                    url: "/DateParse.ashx",
                    type: "GET",
                    data: {
                        year: dateArrray1[2],
                        month: dateArrray1[1],
                        day: dateArrray1[0]
                    },
                    async: false,
                    success: function (data) {
                        date1 = parseFloat(data);
                    }
                });

                $.ajax({
                    url: "/DateParse.ashx",
                    type: "GET",
                    data: {
                        year: dateArrray2[2],
                        month: dateArrray2[1],
                        day: dateArrray2[0]
                    },
                    async: false,
                    success: function (data) {
                        date2 = parseFloat(data);
                    }
                });


                if (date1 > date2) {
                    alert($('.additionnalScriptDate').text());
                    return false;
                }
            }

            if (date1 == date2) {
                alert($('.additionnalScriptDate1').text());
                return false;
            }

            if ($("#ctl00_ctl00_ddlRoomNumber, #ctl00_ddlRoomNumber").val() > $("#ctl00_ctl00_ddlAdultNumber, #ctl00_ddlAdultNumber").val()) {
                alert($('.additionnalScript1').text());
                return false;
            }

            if ($("#ctl00_ctl00_ddlAdultNumber, #ctl00_ddlAdultNumber").val() + $("#ctl00_ctl00_ddlChildren, #ctl00_ddlChildren").val() > 5) {

                var ratio = Math.round(parseInt($("#ctl00_ctl00_ddlAdultNumber, #ctl00_ddlAdultNumber").val()) + parseInt($("#ctl00_ctl00_ddlChildren, #ctl00_ddlChildren").val())) / $("#ctl00_ctl00_ddlRoomNumber, #ctl00_ddlRoomNumber").val();

                if (5 < ratio) {
                    alert($('.additionnalScript2').text());
                    return false;
                }
            }

            trackCheckAvaibility(this);

            $.ajax({
                url: "/ihotelieradressegenerator.ashx",
                type: "GET",
                data: {
                    hotelID: $('.ddlHotel').val(),
                    adultnumber: $("#ctl00_ctl00_ddlAdultNumber, #ctl00_ddlAdultNumber").val(),
                    childnumber: $("#ctl00_ctl00_ddlChildren, #ctl00_ddlChildren").val(),
                    arrival: $("#ctl00_ctl00_txtArrival, #ctl00_txtArrival").val(),
                    departure: $("#ctl00_ctl00_txtDeparture, #ctl00_txtDeparture").val(),
                    roomnumber: $("#ctl00_ctl00_ddlRoomNumber, #ctl00_ddlRoomNumber").val(),
                    currentlanguage: $(".fr").length > 0 ? "fr" : "en"
                },
                async: false,
                success: function (data) {
                    window.open(data, "_blank");
                }
            });
            return false;
        }
    });

    if (!jQuery.browser.mobile) {
        $('a[href^="tel"]').attr("href", "#");
    }

    //Those hack are for IE7
    $("#pastille").css("overflow", "auto");


    $("#tabs").tabs({
        show: function () {
            $(".right-border").height($("#inner-content-table").height())
        }
    });

    $(".commingSoon").yoxview({
        allowInternalLinks: true
    });

    $('.inner-pubList:first')
        .cycle({
            fx: 'scrollDown',
            timeout: 9050,
            sync: 0
        });

    $('.inner-pubList').not(':first')
    .cycle({
        fx: 'scrollDown',
        timeout: 13350,
        sync: 0
    });


    setupRotator();

    $('.didYouKnow').css("background", "none");


    $('.generalContentContent span').css("font-family", "Lucida Sans Unicode, Lucida Grande, sans-serif");


    $(".IE7 #footer-right #googlePlusOne").width(0);
    $(".IE7 #footer-right #googlePlusOne").css("display", "none").css("visibility", "hidden");


    $(".carreerFormComplete").delay(10000).fadeOut(5000);

    var totalWidth = 0;
    $(".secondMenu > ul > li").each(function () {
        totalWidth += $(this).outerWidth(true);
    });

    $(".secondMenu > ul").width(totalWidth);

    $(".reserveNow").click(function () {

        trackCheckAvaibility();

        var arrival = "";
        var departure = "";

        var date = new Date();

        var month = parseInt(date.getMonth(), 10) + 1;

        var tomorrow = new Date();
        tomorrow.setDate(date.getDate() + 1);

        if ($(".en").length > 0) {

            arrival = month + '/' + date.getDate() + '/' + date.getFullYear();
            month = parseInt(tomorrow.getMonth(), 10) + 1;
            departure = month + '/' + tomorrow.getDate() + '/' + tomorrow.getFullYear();

        } else {

            arrival = date.getDate() + '/' + month + '/' + date.getFullYear();
            month = parseInt(tomorrow.getMonth(), 10) + 1;
            departure = tomorrow.getDate() + '/' + month + '/' + tomorrow.getFullYear();

        }


        $.ajax({
            url: "/ihotelieradressegenerator.ashx",
            type: "GET",
            data: {
                hotelID: $(".ddlHotel").val(),
                adultnumber: "1",
                childnumber: "0",
                arrival: arrival,
                departure: departure,
                roomnumber: "1",
                currentlanguage: $(".fr").length > 0 ? "fr" : "en"
            },
            async: false,
            success: function (data) {
                window.open(data, "_blank");
            }
        });
        return false;
    });

    $(".reserveNow").click(function () {
        trackCheckAvaibility();
    });

    $(".reservationButton").click(function () {
        trackCheckAvaibility(null);
    });

    $("a[href*='.pdf']").attr("target", "_blank");


    $("em").css("font-style", "italic");
    $("bold, b").css("font-weigth", "bold");
});



function trackCheckAvaibility(item) {
var link = "";
    //if the parent if the reservation form
    if ($(item).parent().attr("id") == "reservation" || $(".template-explorequebec").length > 0 || $(".template-rootcategories").length > 0) {

        var response = "";
        var json = "";
        var splited = "";

        if ($(item).parent().attr("id") == "reservation" || $(".template-explorequebec").length > 0) {
            response = $.ajax({
                type: 'GET',
                url: "/InformationOfHotel.ashx",
                data: { hotelId: $(".ddlHotel").val() },
                dataType: 'json',
                async: false
            }).responseText;

            json = jQuery.parseJSON(response);

            splited = json.url.split("/", 4);

        } else if ($(".template-rootcategories").length > 0) {
            splited = document.location.pathname.split("/", 4);
        }

        for (var i = 3; i < 4; i++) {
            if (splited[i] !== "") {
                link = link + "/" + splited[i];
            }
        }

        link += "/engine/checkavailability";
    }
    else if ($(".template-promotion").length > 0) {

        //that means that the button is in a hotel page
        var splited = document.location.pathname.split("/", 4);

        for (var i = 3; i < 4; i++) {
            if (splited[i] !== "") {
                link = link + "/" + splited[i];
            }
        }

        if (link == "/undefined") {
            link = "";
            response = $.ajax({
                type: 'GET',
                url: "/InformationOfHotel.ashx",
                data: { hotelId: $(item).attr("hotelID") },
                dataType: 'json',
                async: false
            }).responseText;

            json = jQuery.parseJSON(response);

            splited = json.url.split("/", 4);

            for (var i = 3; i < 4; i++) {
                if (splited[i] !== "") {
                    link = link + "/" + splited[i];
                }
            }
        }

        link += "/promo/checkavailability";
    }

    _gaq.push(['_trackPageview', link]);
}

$(window).load(function () {

    $("#___plusone_0").width("66px");
    resize();

    if ($(".lechantecler.template-photogallery").length > 0) {

        var height = $("#wrapper").outerHeight(true);
        $(".lechantecler.template-photogallery form").css("height", height + "px");
        $("body").css("height", height + 30 + "px");
    }
});

function setupRotator() {
    $('.didYouKnow').hide();
    if ($('.didYouKnow').length > 1) {
        $('.didYouKnow:first').addClass('current').fadeIn(1000);
        setInterval('textRotate()', 15000);
    }
}

function textRotate() {
    var current = $('.didYouKnowList > .current');
    if (current.next().length == 0) {
        current.removeClass('current').hide();
        $('.didYouKnow:first').addClass('current').fadeIn(1000);
    }
    else {
        current.removeClass('current').hide();
        current.next().addClass('current').fadeIn(1000);
    }
}

function removerRoundedCorner() {
    $("#ctl00_titreHotelList").removeClass("ui-corner-all");

    $("#ctl00_titreReservation").removeClass("ui-corner-all");

    $("#ctl00_titreHotelList").removeClass("ui-corner-top ");

    $("#ctl00_titreReservation").removeClass("ui-corner-top ");

    $("#reservation").removeClass("ui-corner-bottom");

    $("#hotelList").removeClass("ui-corner-bottom");
}

function resize() {

    if ($(".template-explorequebec").length == 0) {

        if ($(".template-requestforproposal").length == 1) {
            var height = $("#requestForPurposal").outerHeight(true);

            $("#firstColunm").height(height);
            $(".right-border").height(height);
        }
        else {

            var height = $("#firstColunm").height();

            if ($("#firstColunm .direction").length > 0) {
                height = $("#firstColunm .direction").height();
            }

            if ($("#firstColunm #requestForPurposal").length > 0) {
                height = $("#firstColunm #requestForPurposal").height();
            }

            var finalHeight = 0;

            if ($("#secondcolumn").length > 0) {
                var secondcolumn = $("#secondcolumn").height();
                if (height > secondcolumn) {
                    $("#secondcolumn").height(height);
                } else {
                    $("#firstColunm").css("min-height", secondcolumn);
                    height = $("#firstColunm").height();
                }
            }

            if ($(".right-border").length > 0) {
                if ($(".right-border").height() > $("#firstColunm").height()) {
                    $("#firstColunm").height($(".right-border").height());
                }
            }

            $(".ie7 #inner-content-table").css('height', 'inherit !important');

            var heightSecond = $("#inner-content-table").height();

            if (height > heightSecond) {
                finalHeight = height;
            } else {
                finalHeight = heightSecond;
            }

            if ($("#left-box").height() != undefined) {
                finalHeight = $("#left-box").height();
            }

            if (finalHeight > $(".right-border").height()) {
                $(".right-border").height(finalHeight);
            }

            if ($("body").hasClass("IE7") && $(".form").length > 0) {
                $("html").css("height", "100%");
                $("html").css("height", "auto");
            }
        }
    }
}
