var listMenu = new FSMenu('listMenu', true, 'display', 'block', 'none');
//listMenu.showDelay = 0;
//listMenu.switchDelay = 125;
//listMenu.hideDelay = 500;
listMenu.cssLitClass = 'highlighted';
var fsmOL = window.onload;
window.onload = function()
{
 if (fsmOL) fsmOL();
 listMenu.activateMenu('listMenuRoot');
}

FSMenu.prototype.activateMenu = function(id) { with (this)
{
 if (!isDOM) return;
 var a, ul, mRoot = getRef(id), nodes, count = 1;
 var items = mRoot.getElementsByTagName('li');
 // Loop through all list items under the given menu.
 for (var i = 0; i < items.length; i++)
 {
  nodes = items[i].childNodes;
  if (!nodes) continue;
  a = ul = null;
  if (nodes) for (var n = 0; n < nodes.length; n++)
  {
   if (!nodes[n].nodeName || (nodes[n].nodeType != 1)) continue;
   if (nodes[n].nodeName.toUpperCase() == 'A') a = nodes[n];
   if (nodes[n].nodeName.toUpperCase() == 'UL') ul = nodes[n];
   if (a && ul)
   {
    var menuID = myName + '-id-' + count++,
     mOver = new Function('e', myName + '.show("' + menuID + '", this); ' +
      'if (this.fsmMOver) return this.fsmMOver(e)'),
     mOut = new Function('e', myName + '.hide("' + menuID + '"); ' +
      'if (this.fsmMOut) return this.fsmMOut(e)');
    if (ul.id) menuID = ul.id;
    else ul.setAttribute('id', menuID);
    if (a.addEventListener)
    {
     a.addEventListener('mouseover', mOver, false);
     a.addEventListener('mouseout', mOut, false);
    }
    else
    {
     a.fsmMOver = a.onmouseover;
     a.onmouseover = mOver;
     a.fsmMOut = a.onmouseout;
     a.onmouseout = mOut;
    }
    var subI = document.createElement ? document.createElement('span') : 0;
    if (subI)
    {
     subI.appendChild(document.createTextNode('>'));
     subI.className = 'subind';
     a.insertBefore(subI, a.firstChild);
    }
   }
  }
 }
}};