/* 
Simple JQuery menu.
HTML structure to use

*/


jQuery.fn.initMenu = function() {  
    return this.each(function(){
        var theMenu = $(this).get(0);
        $('.sub-menu', this).hide();
        $('li.expand > .sub-menu', this).show();
        $('li.expand > .sub-menu', this).prev().addClass('active');
        $('li a', this).click(
            function(e) {
                e.stopImmediatePropagation();
                var theElement = $(this).next();
                var parent = this.parentNode.parentNode;
                if($(parent).hasClass('noaccordion')) {
                    if(theElement[0] === undefined) {
                        window.location.href = this.href;
                    }
                    if(!$(this).parent().hasClass("current_page_ancestor")){
                        $(theElement).slideToggle('normal', function() {
                            if ($(this).is(':visible')) {
                                $(this).prev().addClass('active');
                            }
                            else {
                                $(this).prev().removeClass('active');
                            }
                        });
                    }
                    return false;
                }
                else {
                    if(theElement.hasClass('sub-menu') && theElement.is(':visible')) {
                        if($(parent).hasClass('collapsible')) {
                            $('.sub-menu:visible', parent).first().slideUp('normal',
                                function() {
                                    $(this).prev().removeClass('active');
                                }
                                );
                            return false;
                        }
                        return false;
                    }
                    if(theElement.hasClass('sub-menu') && !theElement.is(':visible')) {
                        $('.sub-menu:visible', parent).first().slideUp('normal', function() {
                            $(this).prev().removeClass('active');
                        });
                        theElement.slideDown('normal', function() {
                            $(this).prev().addClass('active');
                        });
                        return false;
                    }
                }
            }
            );
    });
};

$(document).ready(function() {
    $('.menu').initMenu();
});
