/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne <brian@cherne.net>
*/
(function ($) { $.fn.hoverIntent = function (f, g) { var cfg = { sensitivity: 7, interval: 100, timeout: 0 }; cfg = $.extend(cfg, g ? { over: f, out: g} : f); var cX, cY, pX, pY; var track = function (ev) { cX = ev.pageX; cY = ev.pageY; }; var compare = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); if ((Math.abs(pX - cX) + Math.abs(pY - cY)) < cfg.sensitivity) { $(ob).unbind("mousemove", track); ob.hoverIntent_s = 1; return cfg.over.apply(ob, [ev]); } else { pX = cX; pY = cY; ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval); } }; var delay = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); ob.hoverIntent_s = 0; return cfg.out.apply(ob, [ev]); }; var handleHover = function (e) { var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget; while (p && p != this) { try { p = p.parentNode; } catch (e) { p = this; } } if (p == this) { return false; } var ev = jQuery.extend({}, e); var ob = this; if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); } if (e.type == "mouseover") { pX = ev.pageX; pY = ev.pageY; $(ob).bind("mousemove", track); if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval); } } else { $(ob).unbind("mousemove", track); if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout(function () { delay(ev, ob); }, cfg.timeout); } } }; return this.mouseover(handleHover).mouseout(handleHover); }; })(jQuery);


jQuery().ready(function () {

//tip a friend functionality
    jQuery("#tipAFriendHelpText span").addClass("outOfBounds");
    if (jQuery("#tipAFriend .error").length > 0) {
        jQuery("#tipAFriend").addClass("active");
        jQuery("#tipAFriend").removeClass("collapsed");
        jQuery(window).scrollTop(jQuery("#tipAFriend").offset().top);
    } else {
        jQuery("#tipAFriend").removeClass("active");
        jQuery("#tipAFriend").addClass("collapsed");
    }

    jQuery("#tipAFriendHelpText").click(function () {
        if (jQuery("#tipAFriend").is(".collapsed")) {
            jQuery(this).addClass("active");
            jQuery("#tipAFriend").removeClass("collapsed");
            jQuery(window).scrollTop(jQuery(window).scrollTop() + 200);
        } else {
            jQuery(this).removeClass("active");
            jQuery("#tipAFriend").addClass("collapsed");
        }
    });


//CHANGE TEXT SIZE
    //add html for font resizing
    jQuery(".top ul:eq(0)").before("<ul class='textSize'><li class='small'><div title='Standard tekstst&oslash;rrelse'><span>a</span></div></li><li class='medium'><div title='Middels tekstst&oslash;rrelse'><span>A</span></div></li><li class='large'><div title='Stor tekstst&oslash;rrelse'><span>A</span></div></li></ul>");
    
    //changing font size
    currentFontSizeIndex = readCookie('fontSize');
    if (currentFontSizeIndex < 0 || currentFontSizeIndex > 2) { currentFontSizeIndex = 0; }
    changeFontSize(currentFontSizeIndex);
    jQuery(".textSize div").click(function () {
        index = jQuery(this).parents("li").index();
        changeFontSize(index);
        return false;
    });

    //center pager (direct page navigation on search results)
    realignPager();

//SUPERDROPDOWN
    //align submenu blocks
    jQuery(".superdropdown > ul").masonry({ singleMode: true });
    //trigger superdropdown
    var superdropdown = {
        over: showSuperDropDown,
        timeout: 250,
        out: hideSuperDropDown
    };
    jQuery(".main-nav-fp > ul > li").hoverIntent(superdropdown);
    //keep the tab color when hovering the superdropdown
    jQuery(".superdropdown").hover(function () {
        jQuery(this).parent().addClass("hovered");
    }, function () {
        jQuery(this).parent().removeClass("hovered");
    });
    //keep the superdropdown open and keep tab color when tabbing
    jQuery(".main-nav-fp > ul > li > a").focus(function () {
        jQuery(this).parent().addClass("hovered");
        var sddTopPos = jQuery(".main-nav").height();
        jQuery(this).parent().find(".superdropdown").css({ top: sddTopPos + "px" });
    });
    jQuery(".main-nav-fp > ul > li > a").blur(function () {
        jQuery(this).parent().removeClass("hovered");
        jQuery(this).parent().find(".superdropdown").css({ top: "-9999em" });
    });
    jQuery(".superdropdown a").focus(function () {
        jQuery(this).parents(".superdropdown").parent().addClass("hovered");
        var sddTopPos = jQuery(".main-nav").height();
        jQuery(this).parents(".superdropdown").css({ top: sddTopPos + "px" });
    });
    jQuery(".superdropdown a").blur(function () {
        jQuery(this).parents(".superdropdown").parent().removeClass("hovered");
        jQuery(this).parents(".superdropdown").css({ top: "-9999em" });
    });
	 
	 
//FULL BLOCK CLICK
	addHoverClass(jQuery(".featureStory"));
	addHoverClass(jQuery(".featureStoryList li"));
	
	fullBlockClick(jQuery(".featureStory"));
	fullBlockClick(jQuery(".featureStoryList li"));


//ZEBRA STRIPES ON table.LHL
	jQuery("table.LHL td").removeAttr("bgcolor");
	jQuery("table.LHL tr:even:gt(0)").addClass("zebra");
	jQuery("table.LHL td[colspan]").parents("tr").removeClass("zebra");
	jQuery("table.LHL td.LHLtableheader").parents("tr").removeClass("zebra");

//align footer support menu
	jQuery(".footer .support-menu").masonry({ singleMode: true });

}); /*READY END*/


//font size change
function changeFontSize(index) {
    var newBodyFontSize = 1 + index * 0.1 + "em";
    var newContentFontSize = 1 + index * 0.36 + "em";
    jQuery("body").css({ fontSize: newBodyFontSize });
    jQuery(".content").css({ fontSize: newContentFontSize });
    jQuery(".textSize div").removeClass("selected");
    jQuery(".textSize li:eq(" + index + ") div").addClass("selected");
    createCookie('fontSize', index, 30);
    //realign pager if on search result page
    realignPager(); //(search result page)
    jQuery(".superdropdown > ul").masonry({ singleMode: true });
}

//realign pager
function realignPager() {
    if (jQuery(".pager").size() > 0) {
        jQuery(".pager > ul > li:eq(1)").css({
            "padding-left": ((jQuery(".pager ul").width() - jQuery(".pager .prev").width() - jQuery(".pager .next").width() - jQuery(".pager > ul > li:eq(1)").width()) / 2) + "px"
        });
    }
}

//show/hide superdropdown
function showSuperDropDown() {
    var sddTopPos = jQuery(".main-nav").height();
    jQuery(this).find(".superdropdown").css({ top: sddTopPos + "px" });
}
function hideSuperDropDown() {
    jQuery(this).find(".superdropdown").css({ top: "-9999em" });
}

//hover class on block
function addHoverClass($selectorToHover) {
	$selectorToHover.hover(function() {
		jQuery(this).addClass("fullBlockHover");
	}, function() {
		jQuery(this).removeClass("fullBlockHover");
	});
}
//full block click
function fullBlockClick($selectorToClick) {
	$selectorToClick.click(function() {
		location.href = jQuery(this).find("a").attr("href");
	});
}

//---cookie functions http://www.quirksmode.org/js/cookies.html----------
function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}
function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}
function eraseCookie(name) {
    createCookie(name, "", -1);
}
//---cookie functions end---

