
jQuery(document).ready(function () {

  InitMenu('.root-item');
});

function InitMenu(rootSelector) {

  jQuery(rootSelector).click(function () {

    if (!jQuery(rootSelector).is(':animated') && !jQuery(this).hasClass('collapsed')) {

      var index = jQuery(rootSelector).index(jQuery(this));
      var currentIndex = jQuery(rootSelector).index(jQuery(GetCurrentMenuItem(rootSelector)));

      if (index != currentIndex) {

        SetActiveMenuItem(rootSelector, index);

        var selectorData = rootSelector.split(',');
        for (var ii = 0; ii < selectorData.length; ii++) {

          ShowMenuItem(selectorData[ii], index);
        }
      }
    }
  });

  return false;
}

function GetCurrentMenuItem(rootSelector) {

  return jQuery(rootSelector + '.collapsed')[0];
}

function ShowMenuItem(rootSelector, index) {

  var item = jQuery(rootSelector).get(index);

  jQuery.each(jQuery(rootSelector).children('ul'), function () {

    jQuery(this).slideUp(function () {

      jQuery(this).find('ul').removeAttr('style');
    });

  });

  jQuery(item).children('ul').slideDown(function () {

    jQuery(item).find('ul').attr('style', 'display:block;');
  });
}

function SetActiveMenuItem(rootSelector, index) {

  var currentNavItem = jQuery(rootSelector).get(index);
  jQuery(rootSelector).removeClass("collapsed");
  jQuery(currentNavItem).addClass("collapsed");
}
