function getElementsByClassName(classname, node) {
  if(!node) node = document.getElementsByTagName('BODY')[0];
  var a = [];
  var re = new RegExp('\\b' + classname + '\\b');
  var els = node.all || node.getElementsByTagName("*");
  for(var i=0,j=els.length; i<j; i++) if(re.test(els[i].className))a.push(els[i]);
  return a;
}

function openSelectedTab(tabset) {
  tabs = tabset.getElementsByTagName('UL')[0].getElementsByTagName('LI');
  for (var j=0; j<tabs.length; j++) {
    document.getElementById(tabs[j].childNodes[0].href.split('#')[1]).style.display = 'none';
    if (tabs[j].className.indexOf('selected') != -1) {
      document.getElementById(tabs[j].childNodes[0].href.split('#')[1]).style.display = 'block';
    }
  }
}
function attachTabSets() {
  tabsets = getElementsByClassName('tabset',0);
  for (var i=0; i<tabsets.length; i++) {
    tabsets[i].getElementsByTagName('UL')[0].getElementsByTagName('LI')[0].className += ' selected';
    openSelectedTab(tabsets[i]);
    tabs = tabsets[i].getElementsByTagName('UL')[0].getElementsByTagName('LI');
    for (var j=0; j<tabs.length; j++) {
      tabs[j].childNodes[0].onclick = function() {
        temptabs = this.parentNode.parentNode.getElementsByTagName('LI');
        for (var k=0; k<temptabs.length; k++) {
          temptabs[k].className = temptabs[k].className.replace('selected','');
        }
        this.parentNode.className += ' selected';
        openSelectedTab(this.parentNode.parentNode.parentNode);
        return false;
      };
    }
  }
}

function init() {
  attachTabSets();
}
