/**
 * Common JS - for all browsers
 */
 
function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}

$(document).ready(function() {

    function adjustFontSize(el, s) {

        // highlight
        $(".textsize a, #access ul li span a").removeClass("sel");
        el.addClass("sel");

        // correct size
        var size = s + "px";
        $(".col_16").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);
    });

    $(".grid").toggle(
		function(e) {
		    e.preventDefault();
		    $(".col_16").addClass("showgrid");
		    $(this).addClass("sel");
		},
		function(e) {
		    e.preventDefault();
		    $(".col_16").removeClass("showgrid");
		    $(this).removeClass("sel");
		}
	);
	
	// **************************** \\
    // hijack rel="external" links to open in new window
    // **************************** \\
		$("a[rel=external]:not([class~='BtnBookNow'])").attr('target', '_blank'); //JK #10534 - IE Dropping Header (Referrer)
		$("a[class~='BtnBookNow']").attr('target', '_self'); //JK #10534 - IE Dropping Header (Referrer)        

    /* Use rel="external" to go open in a new window  */
    //JK #10534 - IE Dropping Header (Referrer) :not([class~="BtnBookNow"])
    $(function() {
    $('a[href^=http][rel!=video][rel!=vt][rel!=lightBox][rel!=thumbnail]:not([class~="BtnBookNow"])').click(function() {

            window.open(this.href);
            return false;

        });
    });

    /* NAV  */

    var hovering = false;
    var nav = $(".nav");
    var mainItems = $(".nav li a").not(".subnav a");
    var subNavs = $(".nav li .subnav");

    /* stack england dests  */
    var splitAfter = 6;
    var splitAfterCol = parseInt(splitAfter-1);
    var england = $(".nav li").find(".england");
    england.find("dl:lt("+splitAfter+")").wrapAll("<div class=\"col\">")
    england.find("dl:gt("+splitAfterCol+")").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, // was 3 - number = sensitivity threshold (must be 1 or higher)    
        interval: 0, // was 200 - number = milliseconds for onMouseOver polling interval    
        over: showSubNav, // function = onMouseOver callback (REQUIRED)    
        timeout: 0, // was 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 detailed options")
		},
		function(e) {
		    e.preventDefault();
		    $(".advanced").hide();
		    $(this).text("Choose single rooms & board basis etc.")
		}
	);

    $(".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();
        });

    });


    // Toggle promo code show / hide
    // Show
    $(".show_promo_code").click(function() {
        //$(".fieldset_promo input").show();
        $(".promo_code").slideDown();
        $(".show_promo_code").hide();
        $(".hide_promo_code").show();
    });
    // Hide
    $(".hide_promo_code").click(function() {
        $(".promo_code").slideUp();
        $(".hide_promo_code").hide();
        //$(".fieldset_promo input").hide();
        $(".show_promo_code").fadeIn();
    });

});


