$(function() {
  $('#sidebar-left li.category.expanded').each(function(i) {
    var item = this;

    $('> div.category', item).click(function() {
      $(item).parents('ul.menu:first').find('li.category.expanded').not(item).each(function() {
        $(this).removeClass('expanded').addClass('collapsed');
        $('> ul.menu', this).slideToggle();
      })

      $(item).toggleClass('collapsed').toggleClass('expanded');
      $('> ul.menu', item).slideToggle();
    });
  });

  var active = $('#sidebar-left ul.menu a.active');

  if (active.size()) {
    var items = $('#sidebar-left li.category.expanded');

    if (active.parents('li.category.expanded')[0]) items.not(active[0]);
    items.each(function() {
      $(this).removeClass('expanded').addClass('collapsed');
      $('> ul.menu', this).hide();
    });
  }
  else {
    $('#sidebar-left li.category.expanded').each(function(i) {
      if (i > 0) {
        $(this).removeClass('expanded').addClass('collapsed');
        $('> ul.menu', this).hide();
      }
    });
  }
});