function buildHistory()
{
  var titles = new Array(),
      items  = new Array(),
      nodes  = getNode('historyContent').getElementsByTagName('DIV');

  for (var i = 0, j = 0; i < nodes.length; ++i) {
    if (hasClassName(nodes[i], 'historyItem')) {
      if (i == 0) {
        currentHistoryItem = nodes[i].id;
      } else {
        nodes[i].style.display = 'none';
      }
      items[j]  = nodes[i];
      titles[j] = getNode(nodes[i].id + '_title');
      ++j;
    }
  }

  var tbl = document.createElement('table');
  tbl.id = 'historyMenuItems';
  tbl.cellSpacing = '0px';
  with (tbl.style) {
    left     = '0px';
    position = 'absolute';
    top      = '0px';
  }

  var tbody = document.createElement('tbody');
  tbl.appendChild(tbody);

  var row = document.createElement('tr');
  tbody.appendChild(row);

  for (i = 0; i < titles.length; ++i) {
    var item = document.createElement('td');
    if (i == 0)
      item.className = 'selected';
    item.id          = items[i].id + '_link';
    item.innerHTML   = titles[i].innerHTML;
    item.onclick     = new Function("selectHistoryItem('" + items[i].id + "');");
    item.onmouseover = new Function("this.className += ' hover';");
    item.onmouseout  = new Function("removeClassName(this, 'hover');");
    row.appendChild(item);
  }

  var menu = document.createElement('div');
  menu.id = menu.className = 'historyMenu';
  menu.appendChild(tbl);

  ma_speed   = 1;
  var offset = 3;

  // back button
  var backBtn = document.createElement('div');
  backBtn.innerHTML = '&laquo;';
  backBtn.className = 'historyMenuButton';
  backBtn.onmouseover = new Function("ma_move('historyMenu', 'historyMenuItems', -" + offset + ", 0)");
  backBtn.onmouseout  = new Function("ma_stop('historyMenu', 'historyMenuItems')");

  // next button
  var nextBtn = document.createElement('div');
  nextBtn.innerHTML   = '&raquo;';
  nextBtn.className   = 'historyMenuButton';
  nextBtn.onmouseover = new Function("ma_move('historyMenu', 'historyMenuItems', " + offset + ", 0)");
  nextBtn.onmouseout  = new Function("ma_stop('historyMenu', 'historyMenuItems')");

  with (menu.style) {
//        clip       = 'rect(0px, 438px, 40px, 0px)';
    cssFloat   = 'left';
    styleFloat = 'left';
    width      = '438px';
  }

  var container = document.createElement('div');
  container.style.overflow = 'hidden';
  container.style.width    = '100%';
  container.appendChild(backBtn);
  container.appendChild(menu);
  container.appendChild(nextBtn);

  getNode('historyContent').insertBefore(container, items[0]);
} // end func buildHistory

function selectHistoryItem(id)
{
  removeClassName(getNode(currentHistoryItem + '_link'), 'selected');
  getNode(currentHistoryItem).style.display = 'none';
  getNode(id + '_link').className = 'selected';
  getNode(id).style.display = 'block';
  currentHistoryItem = id;
} // end func selectHistoryItem

var currentHistoryItem = null;

registerEvent(window, 'load', buildHistory);

