var menuTimer;
var simsMenuTimer;

$(document).ready(function() 
{
    // add classes to navigation items. If a submenu then add class "stack"
    $("#daddynav > li").addClass("toprow");
    $("#daddynav .toprow > ul").addClass("submenu");
    $("#daddynav .submenu > li").addClass("sublist");
    // not really using stack for this project but nice to have
    $("#daddynav li:has(ul)").addClass("stack");
    // make submenu avaliable
    $("#daddynav li ul").css("visibility","visible");

    // add style for hover states on top row, first submenu, then subsequent levels.
    addTopRowStyle();
    addSubMenuEffect();
    addExtraLayerEffect();
    // last item on top nav (ie. home), just adding a class for style purposes
    addLastItemStyle();
    // little menu list at top of page
    addSimsitesEffect();
    // tab content on Global Home page
    addTabContent();
    // sitemap style - classes used only for style purposes
    addSitemapTags();
    // add slidebar widget functionality
    addSlideBox();
    // add zebra widget
    zebraNews();
    
    // add class to last management div to get rid of bottom-border
    $(".management .slidecontent div:last").addClass("lastdirector");
    $(".board .slidecontent .director:last").addClass("lastdirector");
});

function addTopRowStyle()
{
    $("#daddynav .toprow").mouseover(function() {
        clearTimeout(menuTimer);
        $(this).addClass("hover");
        $(this).next().addClass("hovernext");
        $("#daddynav .hover > ul > li").css("display","block");
        $("#daddynav .toprow:not(.hover)").children("ul").children("li").fadeOut(300);
        $("#daddynav .hover > ul > li > ul").css("display","none");
        return false;
    });

    $("#daddynav .toprow").mouseout(function() {
        $(this).removeClass("hover");
        $(this).next().removeClass("hovernext");
        setMenuTimer();
        return false;
    });
}

function addSubMenuEffect()
{
    $("#daddynav .sublist").mouseover(function() {
        clearTimeout(menuTimer);
        $(this).addClass("subhover");
        $("#daddynav .subhover > ul").css("display","block");
        $("#daddynav .subhover > ul > li").css("display","block");
        $(this).siblings("li").children("ul").children("li").fadeOut(300);
        $("#daddynav .subhover > ul > li > ul").css("display","none");
        // new code for keeping .hover state on and as usual it works but sucks arse in IE, what's new? If I want it, I also have to add to addExtraLayerEffect()
        // $(this).parents("#daddynav li.toprow").addClass("hover");
        // $(this).parents("#daddynav li.toprow").next("li").addClass("hovernext");
        return false;
    });

    $("#daddynav .sublist").mouseout(function() {
        $(this).removeClass("subhover");
        // new code for keeping .hover state off and as usual it works but sucks arse in IE, what's new?
        // $(this).parents("#daddynav li.toprow").removeClass("hover");
        // $(this).parents("#daddynav li.toprow").next("li").removeClass("hovernext");
        setMenuTimer();
    });
}

function addExtraLayerEffect()
{
    $("#daddynav .sublist li").mouseover(function() {
        clearTimeout(menuTimer);
        $(this).addClass("subhover");
        $("#daddynav .subhover > ul").css("display","block");
        $("#daddynav .subhover > ul > li").css("display","block");
        $(this).siblings("li").children("ul").children("li").fadeOut(300);
        $("#daddynav .subhover > ul > li > ul").css("display","none");
        return false;
    });

    $("#daddynav .sublist li").mouseout(function() {
        $(this).removeClass("subhover");
        setMenuTimer();
    });
}

function addLastItemStyle()
{
    $("#daddynav > li:last").mouseover(function() {
        $("#daddynav > li:last > a").addClass("lastA");
    });

    $("#daddynav > li:last").mouseout(function() {
        $("#daddynav > li:last > a").removeClass("lastA");
    });
}

function addSimsitesEffect()
{
    $("#simsites li").css("display","none");
    $("#simsites li:first").addClass("simsfirst");

    $("#simsites .simsfirst").mouseover(function() {
        clearTimeout(simsMenuTimer);
        $("#simsites li").slideDown(300);
        // get rid of the white arrow !!!
        $(".simsfirst").addClass("inactive");
    });

    $("#simsites li").mouseover(function() {
        clearTimeout(simsMenuTimer);
    });

    $("#simsites li").mouseout(function() {
        setSimsMenuTimer();
    });

    $("#simsites li").mouseout(function() {
        setSimsMenuTimer();
    });
}

function setMenuTimer()
{
    clearTimeout(menuTimer);
    menuTimer = setTimeout("hideNav()",200);
}

function setSimsMenuTimer()
{
    clearTimeout(simsMenuTimer);
    simsMenuTimer = setTimeout("hideSims()",500);
}

function hideNav()
{
    $("#daddynav .toprow ul").children("li").fadeOut("slow");
    $("#daddynav .toprow ul").children("ul").fadeOut("slow");
    return false;
}

function hideSims()
{
    $("#simsites li:not(.simsfirst)").slideUp(300);
    // bring back the white arrow !!!
    $("#simsites .simsfirst").removeClass("inactive");
    return false;
}

function addTabContent()
{
    $("#flashbox .tab1").click(function() {
        $("#flashbox .tab2content").css("display","none");
        $("#flashbox .tab1content").css("display","block");
        $(this).addClass("active");
        $("#flashbox .tab2").removeClass("active");
    });

    $("#flashbox .tab2").click(function() {
        $("#flashbox .tab1content").css("display","none");
        $("#flashbox .tab2content").css("display","block");
        $(this).addClass("active");
        $("#flashbox .tab1").removeClass("active");
    });
}

function addSitemapTags()
{
    $(".sitemap #daddynav > li").addClass("toprow");
    $(".sitemap #daddynav .toprow > ul").addClass("submenu");
    $(".sitemap #daddynav .submenu > li").addClass("sublist");
}

function addSlideBox()
{
    // hide slidebar content
    $(".slidecontent").css("display","none");
    // add event handling to slidebox headers
    $(".slidebox h3").click(function() {
        $(this).next(".slidecontent").slideToggle(1000);
    });
    $(".slidebox h2").click(function() {
        $(this).next(".slidecontent").slideToggle(1000);
        });
    // toggle arrow
    $(".slidebox h3").toggle(
            function(){$(this).css("background","#fff url(/img/arrowwhitedown.jpg) no-repeat left 1.4em");},
            function(){$(this).css("background","#fff url(/img/arrowwhite.jpg) no-repeat left 1.4em");
        });
    $(".slidebox h2").toggle(
            function(){$(this).css("background","#fff url(/img/arrowwhitedown.jpg) no-repeat left 1.4em");},
            function(){$(this).css("background","#fff url(/img/arrowwhite.jpg) no-repeat left 1.4em");
        });
    // note: /css/img/arrowwhite.jpg - first backslash is for .net framework, will not work locally
}

function zebraNews()
{
    $(".newshome ul:first").addClass("newslist");
    $(".newshome ul:first li:even").addClass("even");
}

