﻿var hovered = false;
var subObj = null;
var navObj = null;

var $pg = {};

/* default behavior for all pages */
$(document).ready(function() {
    /* mark the page as being javascript enabled for using in css selectors */
    $('HTML').addClass('JS');

    /* navigation menu init */
    $pg.navmenu_init();

    /* main menu highlighting */
    $pg.mainmenu_init();


});


$.extend($pg, {
    navmenu_init: function() {

        $("#nav > li").hover(
            function() {
                $pg.checkHover(navObj);
                navObj = null;
                $$ = $(this);
                $$.find(".support-box").fadeIn("fast");
            }, function() {
                navObj = $(this);
                setTimeout("$pg.checkHover(navObj)", 400);
            });
        $pg.addSupportBox("nav");

    },
    mainmenu_init: function() {

        $("#menu-wrapper ul li").each(function() {
            $(this).hover(
                    function() {
                        $$ = $("#menu-wrapper");
                        $$$ = $("#content-wrapper");

                        var cls = $(this).attr("class");
                        $$.toggleClass(cls, true);
                        $$$.toggleClass(cls, true);

                        $$.find("ul li").each(function() {
                            var ecls = $(this).attr("class");
                            if (cls != ecls) {
                                $$.toggleClass(ecls, false);
                                $$$.toggleClass(ecls, false);
                            }
                        });
                    },
                    function() {
                    }
                );
        });

        $("#menu").hover(
                function() { },
                function() {
                    hovered = false;
                    $$ = $("#menu-wrapper");
                    $$$ = $("#content-wrapper");
                    $$.find("ul li").each(function() {
                        $$.toggleClass($(this).attr("class"), false);
                        $$$.toggleClass($(this).attr("class"), false);
                    });
                }
            );
    },
    home_init: function() {


        $("#support > li").hover(function() {
            $pg.checkHover(subObj);
            subObj = null;
            $$ = $(this);
            $$.find(".support-box").fadeIn("fast");

            $menu = $("#menu-wrapper");
            $partner = $("#sidebar ul");
            var cls = $$.attr("class");
            $menu.toggleClass(cls, true);
            $partner.toggleClass(cls, true);

            $menu.find("ul li").each(function() {
                var ecls = $$.attr("class");
                if (cls != ecls) {
                    $menu.toggleClass(ecls, false).fadeIn("fast");
                    $partner.toggleClass(ecls, false).fadeIn("fast");
                }
            });
        }, function() {
            subObj = $(this);
            setTimeout("$pg.checkHover(subObj)", 400);
        });

        $pg.addSupportBox("support");
    },
    checkHover: function(obj) {
        if (obj) {
            obj.find(".support-box").fadeOut("fast");

            $menu = $("#menu-wrapper");
            $partner = $("#sidebar ul");
            $menu.find("ul li").each(function() {
                $menu.toggleClass(obj.attr("class"), false);
                $partner.toggleClass(obj.attr("class"), false);
            });
        }
    },
    addSupportBox: function(id) {
        $("#" + id + " ul").each(function() {
            var $$ = $(this);
            $$.toggleClass("clearfix", true);
            $$.wrapAll('<div class="support-box clearfix" style="display:none;"></div>');
            $$.wrapAll('<div class="support-box-content clearfix"></div>');
            $$.before('<div class="support-box-top"></div>');
            $$.after('<div class="support-box-bottom"></div>');
            $$.find("li").toggleClass("clearfix", true);
        });
    }
});
