  if (document.all)
  {
        document.write('<style type="text/css">div.main div.content {margin: 1em; float: left;}</style>');
  }

   /** add event
    *
    * by Scott Andrew LePera - modified
    * http://www.scottandrew.com/weblog/articles/cbs-events
    *
    */
function addEvent(obj, evType, fn){
  //if (obj.addEventListener){
  //  obj.addEventListener(evType, fn, false);
  //  return true;
  //} else 
  if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    return false;
  }
}

var lastopen=null;

function getEventTarget(e){
//by Peter Paul Koch - http://www.quirksmode.org/js/events_compinfo.html#link7
return (e.target) ? e.target : e.srcElement
}

function initpopups()
{
    // Find all elements
    if (!document.getElementsByTagName) return;
    ul = document.getElementsByTagName("ul");
    for (ui=0;ui<ul.length;ui++) {
        var thisUl = ul[ui];
        if (thisUl.className && ((thisUl.className=="dropdown") || (thisUl.className=="repertory")))  {
            //initTable(thisTbl.id);
            li=thisUl.childNodes;
            for(var i=0;i<li.length;i++)
            {
                //alert(""+i+"="+li[i].nodeName);
                if(li[i].nodeName=="LI")
                {
                   addEvent(li[i],"mouseover",dropdown);
                   addEvent(li[i],"mouseout",undrop);
                }
            }
        }
    }
}

function getDropParent(obj)
{
    if (obj.parentNode.nodeName=="UL" && ((obj.parentNode.className=="dropdown") || (obj.parentNode.className=="repertory")))
        return obj;
    return getDropParent(obj.parentNode);
    
}

function isInParents(eobj,tobj)
{
    if(eobj==tobj)
        return true;
    if(eobj.parentNode)
         return isInParents(eobj.parentNode,tobj);
    return false;
}

function showParents(obj)
{    
    if(obj.parentNode)
        {
        if (lastopen && (lastopen == obj))
            return showParents(obj.parentNode)+"->"+obj.tagName+"("+obj.className+")*";
        else
            return showParents(obj.parentNode)+"->"+obj.tagName+"("+obj.className+")";
        }
    return "document ";
}

function dropdown(obj)
{
    var r=getDropParent(getEventTarget(obj));
   // if (lastopen && (lastopen !=getEventTarget(obj)))
     //   lastopen.className='';
    if (lastopen && (lastopen==r)) return;
    if (lastopen)
        lastopen.className='';
    r.className='opened';
    lastopen=r;
    
    //alert("drop "+getEventTarget(obj).tagName);
}
function undrop(ev)
{
    var r=getEventTarget(ev);
    if (ev.toElement)
        status=showParents(ev.toElement)+isInParents(ev.toElement,lastopen);
 
    if (lastopen)
       if (ev.toElement && (!isInParents(ev.toElement,lastopen)))
      {
      lastopen.className='';
      lastopen=undefined;
      return false;
      }
    // alert("undrop");
    return true;
}

