$(document).ready(function() { MenuContent.init(); });

var MenuContent = {
    CollapsedImageSource: "/_layouts/images/ewr078.gif",
    ExpandedImageSource: "/_layouts/images/ewr079.gif",

    init: function() {

        /*collapse every level for now, we might have to change it later*/
        $("table.leftNavSubMenu").hide();

        //highlight the nav item on hover
        $("a.leftNavItem").hover(function() { $(this).parents("td").eq(0).addClass("highlight"); }, function() { $(this).parents("td").eq(0).removeClass("highlight"); });

        //prepends the collapsible image for each menu that has submenu
        $("a.leftNavItem").each(function()
        { MenuContent.SetCollapsibleImages($(this)); });

        $("img.collapsibleImage").click(function() {
            MenuContent.handleNavItemClick($(this));
        });


        this.expandSelected($("a.leftNavSelected"));
    },


    //expands the current level and all parent levels
    expandSelected: function(element) {

        var imageElement = element.parents("tr").eq(2).prev("tr").find("a.leftNavItem");

        if (imageElement.length > 0) {
            this.expandSelected(imageElement);
        }

        //expand the current level		
        this.handleNavItemClick(element.prev("img"));

    },


    handleNavItemClick: function(elementClicked) {



        var nextRow = elementClicked.parents("tr").eq(1).next("tr");
        //if the table is a submenu, toggle visibility
        var childrenSubmenus = nextRow.find("table.leftNavSubMenu");
        var submenu = childrenSubmenus.eq(0);
        submenu.toggle();
        var parentSubmenus = submenu.parents("table.leftNavSubMenu");


        var allOtherSubmenus = $("table.leftNavSubMenu").not(parentSubmenus).not(submenu).not(childrenSubmenus);
        //alert(allOtherSubmenus.length);
        //allOtherSubmenus.hide();

        //allOtherSubmenus.each(function(i) { $(this).parents("tr").eq(0).prev("tr").find("img.collapsibleImage").eq(0).attr("src", MenuContent.CollapsedImageSource); });


        //change the image source based on the submenu visibility
        if (submenu.is(":hidden")) {
            elementClicked.attr("src", this.CollapsedImageSource);
        }
        else {
            elementClicked.attr("src", this.ExpandedImageSource);
        }

    },

    SetCollapsibleImages: function(element) {
        //find the next row
        var nextRow = element.parents("tr").eq(1).next("tr");

        //if the next row contains a submenu
        if (nextRow.find("table.leftNavSubMenu").length > 0) {
            //prepend the collapsible image
            element.parent("td").prepend('<img class="collapsibleImage" src="' + this.CollapsedImageSource + '"/>');
        }
        else {
            //set the class so that margin can be applied to properly position imageless navitems
            element.addClass("indent");
        }
    }

};