var tabs = [];
var Tab = {
  initialize: function(id) {
    if (!document.getElementById) return;
    this.menu     = $(id);
    this.contents = this.menu.parentNode.parentNode.getElementsByClassName('tab-content');
    this.register(id, {contents:this.contents});
    $A(this.menu.getElementsByTagName('a')).each(function(e){
      e.onclick = function(){ Tab.swap(this, id); return false }
    });
  },
  swap: function(trigger, id) {
    var button  = trigger.parentNode;
    var content = tabs[id].contents[button.previousSiblings().length];
    $A(tabs[id].contents).each(function(e){ e.addClassName('hidden') });
    content.removeClassName('hidden');
    button.siblings().each(function(e){ e.removeClassName('current') });
    button.addClassName('current');
  },
  register: function(id, properties) {
    tabs[id] = properties;
  }
}