// menu configuration
jQuery(function() {
    // hide ULs
    
    jQuery('#navigation > ul > li:not(.selected)').each(function() {
        jQuery(this).parent().find('ul').hide()
    });
    // show any sub selected ULs
    jQuery('li.selected > ul').show()
    if (jQuery('li.selected').hasClass('submenu-closed')) {
        jQuery('li.selected').removeClass('submenu-closed')
        jQuery('li.selected').addClass('submenu-open')
    }
    // show UL parent path of selected LI
    jQuery('li.selected').parents().each(function() {
        if (jQuery(this).is(':hidden')) {
            jQuery(this).parent().removeClass('submenu-closed')
            jQuery(this).parent().addClass('submenu-open')
            jQuery(this).show()
        }
    });
    // configure click event
    jQuery('#navigation ul > li:has(ul) > a').click(function(e) {
        e.preventDefault()
        // toggle self closed if open
        if (jQuery(this).parent().find('ul').is(':visible')) {
            // close visible child ULs in reverse order
            var visibleULs = []
            jQuery(this).parent().find('ul:visible').each(function() {
                visibleULs.unshift(jQuery(this))
            });
            jQuery.each(visibleULs, function() {
                this.slideToggle('slow')
                this.parent().removeClass('submenu-open')
                this.parent().addClass('submenu-closed')
            });
            return false
        }
        // open clicked UL
        jQuery(this).parent().find('ul:first').slideToggle('slow')
        jQuery(this).parent().removeClass('submenu-closed')
        jQuery(this).parent().addClass('submenu-open')
    });
});
