/* 
Simple JQuery menu.
HTML structure to use:

Copyright 2007-2010 by Marco van Hylckama Vlieg

*/


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

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