﻿/// <reference path="jquery-1.3.2.js" />
/// <reference path="easyTooltip.js" />
$(document).ready(function() {
    menuActions();
    latestNews();
    subjectArticles();

    $("#contentRight a.vis-alle-box, #contentRight a.vis-flere-box, #contentRight a.visfleredark").click(function() {
        $(this).parent().siblings("ul").find("li.hideInit").slideToggle(200);
        $(this).toggleClass("vis-faerre-box");
        return false;
    });

$("#contentRight a.vis-flere-box-wide").click(function() {
    $(this).parent().siblings("ul").find("li.hideInit").slideToggle(200);
        $(this).toggleClass("vis-faerre-box-wide");
        return false;
    });

    $(".news .newsItem:last").addClass("noBottomBorder");    //hide border from last element.
    adjustFooter();

    window.setTimeout(function() { $("#contentRight input:text, #footerRight input:text").hint(); }, 0);

    $("#footerNav a:first").addClass("first");
    $("#footerNav a:last").addClass("last");
    $("#print-share .skrivut a").click(function() { window.print(); return false; })

    toggleSideBarBoxes();

    $("#btnSubscribe").click(function() {
        insertInmaSubscription();
        return false;
    });
});

function toggleSideBarBoxes() {
    // Show/hide the calendar
    $("#contentRight .toggleBox, #external-news .toggleBox, #subject-articles .toggleBox").click(function() {
        $(this).parent().next(".boxContentContainer")
            .slideToggle(600)
            .toggleClass("collapsed")
        .end()
        .end()
        .toggleClass("closed");
        //set cookie
        var value = $(this).hasClass("closed") ? "collapsed" : "expanded";
        var name = $(this).parent().parent().attr("id");
        document.cookie = name + "=" + value + "; expires=Thu, 1 Jan 2020 20:00:00 UTC; path=/";        
        return false;
    });
}

function menuActions() {
    var selectedItem;

    $("#back").mouseleave(function() {   //hide dropdown menu
        if ($("#menu").hasClass("openMenu")) {
            //Cleanup (remove active classes ++)
            $("#menu .menuitem").each(function() {
                var btn = $(this).children("a:first");
                var wrapper = $(this).children(".subMenu");
                $(wrapper).removeClass("menuitemActive");
                var defCatClass = ($(wrapper).attr("class")).split(" ");
                if ($(wrapper).hasClass(defCatClass[1] + "Active")) {
                    $(wrapper).removeClass(defCatClass[1] + "Active")
                }
                var activeBtnPos = $(btn).attr("class").indexOf("Active");
                if (activeBtnPos > -1) {
                    $(btn).attr("class", $(btn).attr("class").substr(0, activeBtnPos));
                }
            });

            setTimeout(function() {
                $("#menu").animate({ height: getTallest($("#menu .subMenu")) + 161 }, "fast", "swing", $("#menu .subMenu").css("display", "none")).animate({ height: 61 }, "fast");
                $("#menu").removeClass("openMenu");

                //Reset classes of selected item
                if ($(selectedItem).length > 0) {
                    $(selectedItem).attr("class", $(selectedItem).data("initClassValue"));
                    $(selectedItem).removeData("initClassValue");
                }
            }, 250);
        }
    });

    $("#menu li.menuitem").each(function() { //show dropdown menu on menuitem's click
        var hasSubmenu = $(this).find("ul").size();    //check if current item has subitems
        if (hasSubmenu > 0) {
            $(this).children("a:first").click(function(event) {
                event.preventDefault();
                //console.log($(this).css("border"));
                if (!$("#menu").hasClass("openMenu")) {

                    //find if there's a selected node and save it's class value
                    selectedItem = $("#menu li.menuitem a[class*='Selected']");
                    if ($(selectedItem).length > 0) {
                        $(selectedItem).data("initClassValue", $(selectedItem).attr("class"));
                        $(selectedItem).attr("class", $(selectedItem.data("initClassValue").split(" "))[0]);
                    }

                    $("#menu").animate({ height: getTallest($("#menu .subMenu")) + 161 }, "fast").animate({ height: getTallest($("#menu .subMenu")) + 81 }, "fast", "swing", function() { $("#menu li.menuitem .subMenu").slideDown("fast") });
                    $(".menu").addClass("openMenu");
                    $(this).attr("class", $(this).attr("class") + "Active");  //activate current button
                    var wrapper = $(this).siblings("ul");
                    var defCatClass = ($(wrapper).attr("class")).split(" ");
                    $(wrapper).addClass("menuitemActive").addClass(defCatClass[1] + "Active");    //activate subitems-container
                    setEqualHeight($("#menu .subMenu"));
                    setMenuItemWidth();
                    setHover();
                }
            });
        }
    });
}

function setHover() {
    $("#menu.openMenu .menuitem").hover(function() {
        if ($("#menu").hasClass("openMenu")) {
            var btn = $(this).children("a:first");
            var wrapper = $(this).children(".subMenu");
            if ($(wrapper).length > 0) {
                var activeBtnPos = $(btn).attr("class").indexOf("Active");
                var defCatClass = ($(wrapper).attr("class")).split(" ");

                if (activeBtnPos == -1) {
                    $(btn).attr("class", $(btn).attr("class") + "Active");  //"linkbutton
                }

                $(wrapper).addClass("menuitemActive").addClass(defCatClass[1] + "Active");    //subitems-container
            }
        }
    }, function() {
        if ($("#menu").hasClass("openMenu")) {
            var btn = $(this).children("a:first");
            var wrapper = $(this).children(".subMenu");
            if ($(wrapper).length > 0) {
                $(wrapper).removeClass("menuitemActive");
                var defCatClass = ($(wrapper).attr("class")).split(" ");
                if ($(wrapper).hasClass(defCatClass[1] + "Active")) {
                    $(wrapper).removeClass(defCatClass[1] + "Active")
                }
                var activeBtnPos = $(btn).attr("class").indexOf("Active");
                if (activeBtnPos > -1) {
                    $(btn).attr("class", $(btn).attr("class").substr(0, activeBtnPos));
                }
            }
        }
    });
}

function setMenuItemWidth() {
    $("#menu li.menuitem").each(function() {
        $(this).width($(this).find("a:first").width());
    });
}

function setEqualHeight(group) {
    var tallest = getTallest(group);
    $(group).height(tallest);
}

function getTallest(menuWrappers) {
    var tallest = 0;
    $(menuWrappers).each(function() {
        //console.log($(this).height());
        if ($(this).height() > tallest) tallest = $(this).height();
    });
    //console.log(tallest);
    return tallest;
}

function latestNews() {
    $("#newsList .newsItem:visible:last, #newsList .newsItem:last").addClass("noBottomBorder");
    var lastVisibleItem = $("#newsList .newsItem:visible:last");
    $("#toggle-news-articles").click(function() {
        $("#newsList .hideInit").toggle(100);
        $(lastVisibleItem).toggleClass("noBottomBorder");
        $(this).toggleClass("visfaerre");
        return false;
    });
}

function subjectArticles() {
    $("#subject-articles .newsItem:visible:last, #subject-articles .newsItem:last").addClass("noBottomBorder");
    var lastVisibleItem = $("#subject-articles .newsItem:visible:last");
    $("#toggle-cases").click(function() {
        $("#subject-articles .hideInit").toggle(100);
        $(lastVisibleItem).toggleClass("noBottomBorder");
        $(this).toggleClass("visfaerre");
        return false;
    });
}

function insertInmaSubscription() {
    var email = $("#txtSubscriberEmail");
    var feedback = $("#subFeedback");
    $.get(_basePath + "GenericHandlers/AjaxHandler.ashx?action=InmaSubscription&email=" + $(email).val(), function(data) {
        if (data.toString().indexOf("Abonnementet er registrert") > -1) {
            pageTracker._trackPageview("/nyhetsbrev/inma/footer/paameldt");
        } else {
            pageTracker._trackPageview("/nyhetsbrev/inma/footer/paameldt/error");
        }
        if ($(feedback).length > 0) {
            $(feedback).replaceWith("<div id='subFeedback' style='clear:both;margin:5px 0 -5px 0;color:red'>" + data + "</div>");
        } else {
            $("#btnSubscribe").after("<div id='subFeedback' style='clear:both;margin:5px 0 -5px 0;color:red'>" + data + "</div>");
        }
    });
}

function adjustFooter() {
    $("#footerNav").height($("#footerNav div").outerHeight() + 1);
    $(".footer").height($(".footer").height() + $("#footerNav div").outerHeight());
    $(".footer").css("margin-top", "-" + ($(".footer").height() + 1) + "px");
    $(".content").css("padding-bottom", ($(".footer").height() + 1) + "px");
}