/**
 * Common JS - for all browsers
 */

$(document).ready(function() {


    /* ACCESS */
    function adjustFontSize(el, s) {

        // highlight
        $("#access ul li span a").not("#access ul li span a.grid").removeClass("sel");
        el.addClass("sel");

        // correct size
        var size = s + "px";
        $(".col_12").css({ "font-size": size });

    }

    $(".ts1").click(function(e) {
        e.preventDefault();
        adjustFontSize($(this), 13);
    });

    $(".ts2").click(function(e) {
        e.preventDefault();
        adjustFontSize($(this), 15);
    });

    $(".ts3").click(function(e) {
        e.preventDefault();
        adjustFontSize($(this), 17);
    });

    $("#access ul li span a.grid").toggle(
		function(e) {
		    e.preventDefault();
		    $(".col_12").addClass("showgrid");
		    $(this).addClass("sel");
		},
		function(e) {
		    e.preventDefault();
		    $(".col_12").removeClass("showgrid");
		    $(this).removeClass("sel");
		}
	);

    /* NAV  */

    var hovering = false;
    var mainItems = $(".nav li a").not(".subnav a");
    var subNavs = $(".nav li .subnav");

    /* hack to stack england dests */
    var england = $(".nav li").find(".england");
    england.find("dl:lt(4)").wrapAll("<div class=\"col\">")
    england.find("dl:gt(3)").wrapAll("<div class=\"col\">")

    var showSubNav = function() {
        var href = $(this);
        var subnav = href.parent().find(".subnav");
        var span = href.find("span"); // (arrow)
        subnav.show();
        href.addClass("over");
        if (subnav.length) {
            span.addClass("over");
        }
    }

    var hideSubNav = function() {
        var href = $(this);
        var subnav = href.parent().find(".subnav");
        var span = href.find("span"); // (arrow)
        if (!hovering) {
            subNavs.hide();
            href.removeClass("over");
            span.removeClass("over");
        }
    }

    var navHoverConfig = {
        sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)    
        interval: 200, // number = milliseconds for onMouseOver polling interval    
        over: showSubNav, // function = onMouseOver callback (REQUIRED)    
        timeout: 100, // number = milliseconds delay before onMouseOut
        out: hideSubNav // function = onMouseOut callback (REQUIRED)    
    };

    mainItems.hoverIntent(navHoverConfig);

    subNavs.hover(
        function() {
            hovering = true;
            var href = $(this).parent().find("a:eq(0)");
            var span = href.find("span"); // (arrow)
            href.addClass("over");
            span.addClass("over");
        },
        function() {
            hovering = false;
            var href = $(this).parent().find("a:eq(0)");
            var span = href.find("span"); // (arrow)
            href.removeClass("over");
            span.removeClass("over");
            hideSubNav();
        }
    );

    mainItems.mouseover(function() {
        $(this).addClass("over");
    });

    mainItems.mouseleave(function() {
        $(this).removeClass("over");
    });

    /* FORM */

    $(".showadvanced").toggle(
		function(e) {
		    e.preventDefault();
		    $(".advanced").show();
		    $(this).text("Hide options")
		},
		function(e) {
		    e.preventDefault();
		    $(".advanced").hide();
		    $(this).text("Choose single rooms, board basis, budget, etc.")
		}
	);

    $(".showpromo").click(

		function(e) {
		    e.preventDefault();
		    $(".promo").show();
		    $(this).hide();
		}
	);



    $(".blogSection").each(function() {
        var MoreItem = this;
        $(".showMore", MoreItem).click(function() {
            $(".more", MoreItem).slideDown("slow");
            $(".showMore", MoreItem).hide();
            $(".hideMore", MoreItem).show();
        });

        $(".hideMore", MoreItem).click(function() {
            $(".more", MoreItem).slideUp("slow");
            $(".showMore", MoreItem).show();
            $(".hideMore", MoreItem).hide();
        });
    });

    /* Use rel="external" to go open in a new window  */
    $(function() {
        $('a[href^=http][rel!=video][rel!=vt]').click(function() {

            window.open(this.href);
            return false;

        });
    });

    // -- ad-hoc virtual tours
    $("a[rel='vt'].AdHocVirtualTour").colorbox({
        iframe: true,
        width: 640,
        height: 480,
        opacity: 0.7,
        overlayClose: true,
        current: "{current} of {total}",
        previous: "Previous video",
        next: "Next video"
    });
});