jQuery(document).ready(function($) {
  var groups = $('.grouping');
  var group_nav = $('<ul id="group_navigation"></ul>').insertBefore(groups.filter(':first'));
  groups.each(function() {
    var title = $(this).find('h2').text();
    var target = $(this).attr('id');
    group_nav.append($('<li id="' + target + '-trigger"><a href="#' + target + '"><span>' + title + '</span></a></li>'));
    $(this).find('h2').remove();
  });
  var triggers = $('#group_navigation a');
  triggers.click(function(event) {
    event.preventDefault();
    groups.hide();
    triggers.removeClass('current');
    $(this.href.match(/#.+$/)[0]).show();
    $(this).addClass('current');
  });
  if (location.search) {
    var targetGroup = '#' + location.search.substring(1);
    var targetTrigger = '[href=' + targetGroup + ']';
  } else {
    var targetGroup = ':first';
    var targetTrigger = ':first';
  }
  groups.not(targetGroup).hide();
  triggers.filter(targetTrigger).addClass('current');
});
