
function setupDefinitionList (strid) {

  var ele = document.getElementById(strid);
  var dts = ele.getElementsByTagName('dt');
  var dds = ele.getElementsByTagName('dd');
  var i = 0, dt, dd, current;

  function open () {
    this.isOpen = true;
    this.style.display = 'block';
    this.animation.open();
  }
  
  function close () {
    var dd = this;
    var hide = function () { 
      dd.style.display = 'none';
    }
    this.close = function () {
      dd.isOpen = false;
      dd.animation.close(hide);
    }
    this.close();
  }

  function onmousedown () {
    if (!this.dd.isOpen) {
      dds[current].close();
      current = this.index;
      this.dd.open();
    }
  }
  
  if (dts.length == dds.length) {
    while (i < dts.length) {
      dt = dts[i];
      dd = dds[i];
      // DD
      dd.startHeight = dd.offsetHeight;
      dd.style.height = '0px';
      dd.startHeight -= dd.offsetHeight; // PADDING CORRECTION;
      dd.style.overflow = 'hidden';
      dd.style.display = 'none';
      dd.animation = new Animation('MUVExpandH', dd, 0, dd.startHeight, 400);
      dd.open = open;
      dd.close = close;
      dd.isOpen = false;
      // DT
      dt.dd = dd;
      dt.index = i;
      dt.onmousedown = onmousedown;
      i++;
    }
    current = 0;
    dds[0].open();
  }

}
