/*
 *
 *
 * jscore.js
 *
 *
 */

/*
 *
 * Menu Processing
 *
 */
var menuIsOpening;
function createMenu(containerId){
    $(function(){
        menuIsOpening=false;
        $("#mainLayout").click(function(){
            if(!menuIsOpening){
                $("#popupMenu")
                .empty()
                .addClass("popupMenuHidden")
                .removeClass("popupMenu")
                $("#popupSubMenu")
                .empty()
                .addClass("popupMenuHidden")
                .removeClass("popupMenu")
            }
            menuIsOpening=false;
        });
    });
    $("#"+containerId).append("<span id=\"loading\">&nbsp;</span>");
    $.getJSON(
        "/ajax/menu.json",
        function(json){
            /*
             * Draw the Main Menu
             */
            $("#"+containerId).empty();
			$.each(json.menu,function(i,topItem){
                $('<span/>')
                .attr("id",topItem.id)
                .addClass("topMenuItem")
                .addClass("menuItemNoHover")
                .text(topItem.label)
                .hover(
                    function(){
                        if(topItem.url||topItem.subMenu){
                            $("#"+topItem.id).removeClass("menuItemNoHover");
                            $("#"+topItem.id).addClass("menuItemHover");
                        }
                    },
                    function(){
                        if(topItem.url||topItem.subMenu){
                            $("#"+topItem.id).removeClass("menuItemHover");
                            $("#"+topItem.id).addClass("menuItemNoHover");
                        }
                    }
                ).click(function(){
                    /*
                     * Click URL on Main Menu
                     */
                    if(topItem.url)
                        window.location=topItem.url;
                    if(topItem.subMenu){
                        menuIsOpening=true;
                        /*
                         * Draw the Drop Down Menu
                         */
                        $("#popupMenu").empty();
                        $.each(topItem.subMenu,function(i,menuItem){
                            var theLabel=menuItem.label;
                            if(menuItem.subMenu)
                                theLabel=theLabel+" >"
                            $('<div/>')
                            .attr("id",menuItem.id)
                            .addClass("topMenuPopup")
                            .addClass("menuItemNoHover")
                            .text(theLabel)
                            .hover(
                                function(){
                                    if(menuItem.url||menuItem.subMenu){
                                        $("#"+menuItem.id).removeClass("menuItemNoHover");
                                        $("#"+menuItem.id).addClass("menuItemHover");
                                    }
                                },
                                function(){
                                    if(menuItem.url||menuItem.subMenu){
                                        $("#"+menuItem.id).removeClass("menuItemHover");
                                        $("#"+menuItem.id).addClass("menuItemNoHover");
                                    }
                                })
                            .click(function(){
                                /*
                                 * Click URL in Drop Down Menu
                                 */
                                if(menuItem.url)
                                    window.location=menuItem.url;
                                if(menuItem.subMenu){
                                    menuIsOpening=true;
                                    /*
                                     * Draw the Sub-Drop Down Menu
                                     */
                                    $("#popupSubMenu").empty();
                                    $.each(menuItem.subMenu,function(i,subMenuItem){
                                        $('<div/>')
                                        .attr("id",subMenuItem.id)
                                        .addClass("topMenuPopup")
                                        .addClass("menuItemNoHover")
                                        .text(subMenuItem.label)
                                        .hover(
                                            function(){
                                                if(subMenuItem.url||subMenuItem.subMenu){
                                                    $("#"+subMenuItem.id).removeClass("menuItemNoHover");
                                                    $("#"+subMenuItem.id).addClass("menuItemHover");
                                                }
                                            },
                                            function(){
                                                if(subMenuItem.url||subMenuItem.subMenu){
                                                    $("#"+subMenuItem.id).removeClass("menuItemHover");
                                                    $("#"+subMenuItem.id).addClass("menuItemNoHover");
                                                }
                                            })
                                        .click(function(){
                                            /*
                                             * Click URL in Sub-Drop Down Menu
                                             */
                                            if(subMenuItem.url)
                                                window.location=subMenuItem.url;
                                        })
                                        .appendTo("#popupSubMenu");
                                    });
                                    /*
                                     * Open the Sub-Drop Down Menu
                                     */
                                    $("#popupSubMenu")
                                    .addClass("popupMenu")
                                    .removeClass("popupMenuHidden")
                                    .css("position","absolute")
                                    .css("top",$("#"+menuItem.id).offset().top)
                                    .css("left",$("#"+menuItem.id).offset().left+$("#"+menuItem.id).outerWidth())
                                    ;
                                }
                            })
                            .appendTo("#popupMenu");
                        });
                        /*
                         * Open the Drop Down Menu
                         */
                        $("#popupMenu")
                        .addClass("popupMenu")
                        .removeClass("popupMenuHidden")
                        .css("position","absolute")
                        .css("top",$("#"+topItem.id).offset().top+$("#"+topItem.id).outerHeight())
                        .css("left",$("#"+topItem.id).offset().left)
                        ;
                        /*
                         * Make sure the Sub-Drop Dwon Menu is closed
                         */
                        $("#popupSubMenu")
                        .empty()
                        .addClass("popupMenuHidden")
                        .removeClass("popupMenu")
                        ;
                    }
                })
                .appendTo("#"+containerId)
                ;
		    });
        }
    );
}
