var Tabricator={
  load:function(L){
    if(typeof L==='string'){var L=document.getElementById(L);}else{var L=L;};
    L.className='tabbed';
    var T=new Array();var D=new Array();
    var R=L.childNodes;
    for(var i=0;i<R.length;i++){
      if(R[i].nodeName==='DT'){
        T.push(R[i]);
        R[i].onclick=Tabricator.show;
      };
      if(R[i].nodeName==='DD'){
        D.push(R[i]);var m=R[i].childNodes;
        for(var j=0;j<m.length;j++){
          if(m[j].nodeName==='DL'){var n=new Tabricator.load(m[j]);};
        };
      };
    };
    var C = document.createElement('DT');
        C.innerHTML=' &nbsp; ';
        C.className='tab_closer';
        C.title="Click here to show all tabs.";
        C.onclick=Tabricator.show;
        L.insertBefore(C,T[0]);
    for(var i=0;i<D.length;i++){
      D[i].parentNode.appendChild(D[i]);
      if(i==0){
        D[i].className='show';T[i].className='show';
      }else{
        D[i].className='hide';T[i].className='hide';
      };
    };
  },
  show:function(){
    if(this.className==='tab_closer'){
      this.parentNode.className='untabbed';
      var R=this.parentNode.childNodes;
      for(var i=0;i<R.length;i++){
        if(R[i].nodeName==='DT'||R[i].nodeName==='DD'){R[i].className='';};
      };
    }else if(this.parentNode.className==='tabbed'){
      Tabricator.hide(this);
      this.className='show';
      document.getElementById(this.id+"_panel").className='show';
    };
  },
  hide:function(el){
    var R=el.parentNode.childNodes;
    for(var i=0;i<R.length;i++){
      if(R[i].nodeName==='DT'||R[i].nodeName==='DD'){
        if(R[i].className!=='tab_closer'){
          R[i].className='hide';
        };
      };
    };
  }
};

