var tim;
var MOL=new Array();
var objActual;

function MenuObj(_A,_B,_C,_D,_E,_F,_G,_H,_I)
{
  this.name=_A;
  this.bOn=_E;
  this.bOf=_F;
  this.bA=_G;
  this.SBS=SBS;
  this.showing=false;
  this.TM=TM;
  document.onclick=MCH;
  this.Direction=_I;
  MOL[MOL.length]=this;
  this.divObj=eval('document.all.' + _B);
  this.divStyleObj=eval('document.all.' + _B + '.style');
  this.refTDObj=eval('document.all.' + _C);
  if (_D)
    this.DdTDObj=eval('document.all.' +  _D);
  this.frmObj=eval('document.all.' +  _H);
  this.strShow='visible';
  this.strHide='hidden';
}

function ROP(ObjRef)
{
  var theObj=null;
  if (ObjRef)
  {
    if (typeof ObjRef != 'object')
      theObj=eval(ObjRef);
    else
      theObj=ObjRef;
    return theObj;
  }
  else
    return false;
}

function TM()
{
  if (!this.showing)
  {
    var RelObjCords=getXY(this.refTDObj);
    if (this.Direction)
    {
      this.divStyleObj.top = this.frmObj.style.top = RelObjCords.top + -this.divObj.offsetHeight;
      this.divStyleObj.left = this.frmObj.style.left = RelObjCords.left;
    }
    else
    {
      this.divStyleObj.top = this.frmObj.style.top = RelObjCords.top + 18;
      this.divStyleObj.left = this.frmObj.style.left = RelObjCords.left;
    }
    this.frmObj.style.height=this.divObj.offsetHeight;
    this.frmObj.style.width=this.divObj.offsetWidth;
    var pCurrMenuObj=ROP(this);
    CM(this);
    this.SBS('clicked');
    this.divStyleObj.visibility = this.frmObj.style.visibility = this.strShow;
    this.showing=true;
  }
  else
  {
    this.divStyleObj.visibility = this.frmObj.style.visibility = this.strHide;
    this.showing=false;
    this.SBS();
  }
}

function CM(callerObj)
{
  for (aIndex=0;aIndex < MOL.length; aIndex++)
  {
    if ((callerObj) && (callerObj.name != MOL[aIndex].name))
    {	
      if (MOL[aIndex].showing)
      {
        MOL[aIndex].TM();
        MOL[aIndex].SBS();
      }
    }
    else
    {
      if (MOL[aIndex].showing)
      {
        MOL[aIndex].TM();
        MOL[aIndex].SBS();
      }
    }
  }
}

function MCH(e, srcObj, srcIsMenuDiv)
{
  try {
    clearTimeout(tim);
  }
  catch (ex) {}
  var srcElem;
  if (!e)
    var e=window.event;
  e.cancelBubble=true;
  if (srcObj)
  {
    var pCurrMenuObj=ROP(srcObj); 
    if (!srcIsMenuDiv)
    {
      //pCurrMenuObj.divObj.onclick="MCH(event,"+srcObj+",true)";
      pCurrMenuObj.divObj.onmouseout="MME(event,"+srcObj+",true)";
      pCurrMenuObj.divObj.onblur="MME(event,"+srcObj+",true)";
    }
    pCurrMenuObj.TM();
    objActual = pCurrMenuObj;
  }
  else
  {
    CM();
  }
}

function MME(e, srcObj)
{
  try
  {
    if (!e) 
      var e=window.event;
    var pCurrMenuObj=ROP(srcObj);
    if (!pCurrMenuObj.showing)
    {
      if (e.type == 'mouseover')
      {
        pCurrMenuObj.SBS('on');
        try {
          clearTimeout(tim);
        }
        catch (ex)
        {}
      }
      else if ((e.type == 'mouseout') || (e.type == 'blur'))
      {
        pCurrMenuObj.SBS();
      }
    }
    else
    {
      if ((e.type == 'mouseout') || (e.type == 'blur'))
      {
        tim = window.setTimeout(objActual.name+".divStyleObj.visibility = "+objActual.name+".frmObj.style.visibility = "+objActual.name+".strHide;"+objActual.name+".showing=false;"+objActual.name+".SBS();","300");
      }
    }
  }
  catch(e){}
}

function SBS(wS)
{
if (typeof this.refTDObj != "undefined")
{
  if (wS == 'on')
  {
    if (this.bOn)
    {
      if (typeof this.DdTDObj != "undefined")
        this.DdTDObj.className=this.bOn;
      this.refTDObj.className=this.bOn;
    }
  }
  else if (wS == 'clicked')
  {
    if (this.bA)
    {
      if (typeof this.DdTDObj != "undefined")
        this.DdTDObj.className=this.bA;
      this.refTDObj.className=this.bA;
    }
  }
  else
  {
    if (this.bOf)
    {
      if (typeof this.DdTDObj != "undefined")
        this.DdTDObj.className=this.bOf;
      this.refTDObj.className=this.bOf;
    }
  }
}
}

function getXY(Obj) 
{
  for (var sumTop=0,sumLeft=0;Obj!=document.body;sumTop+=Obj.offsetTop,sumLeft+=Obj.offsetLeft, Obj=Obj.offsetParent);
  return {left:sumLeft,top:sumTop}
}

function MO(e)
{
  if (!e)
    var e=window.event;
  var S=e.srcElement;
  while (S.tagName!="TD")
  {
    S=S.parentElement;
  }
  S.className="T";
}

function MU(e)
{
  if (!e)
    var e=window.event;
  var S=e.srcElement;
  while (S.tagName!="TD")
  {
    S=S.parentElement;
  }
  S.className="Pcd";
}

function MOD(e)
{
  if (!e)
    var e=window.event;
  var S=e.srcElement;
  while (S.tagName!="TD")
  {
    S=S.parentElement;
  }
  S.className="S";
}

function MUD(e)
{
  if (!e)
    var e=window.event;
  var S=e.srcElement;
  while (S.tagName!="TD")
  {
    S=S.parentElement;
  }
  S.className="R";
}

function MO_D(e)
{
  if (!e)
    var e=window.event;
  var S=e.srcElement;
  while (S.tagName!="TD")
  {
    S=S.parentElement;
  }
  S.className="X";
  try {
    clearTimeout(tim);
  }
  catch (ex)
  {}
}

function MU_D(e)
{
  if (!e)
    var e=window.event;
  var S=e.srcElement;
  while (S.tagName!="TD")
  {
    S=S.parentElement;
  }
  S.className="W";
  tim = window.setTimeout(objActual.name+".divStyleObj.visibility = "+objActual.name+".frmObj.style.visibility = "+objActual.name+".strHide;"+objActual.name+".showing=false;"+objActual.name+".SBS();","300");
}

function MOD_D(e)
{
  if (!e)
    var e=window.event;
  var S=e.srcElement;
  while (S.tagName!="TD")
  {
    S=S.parentElement;
  }
  S.className="Y";
}

function MUD_D(e)
{
  if (!e)
    var e=window.event;
  var S=e.srcElement;
  while (S.tagName!="TD")
  {
    S=S.parentElement;
  }
  S.className="Y";
}

function DoHL()
{
  var e=window.event.srcElement;
  while (e.tagName!="TR"){e=e.parentElement;}
  if (e.className!='SL') e.className='HL';
}

function DoLL()
{
  var e=window.event.srcElement;
  while (e.tagName!="TR"){e=e.parentElement;}
  if (e.className!='SL')	e.className='';
}

function DoSL()
{
  var TB=e=window.event.srcElement;
  while (TB.tagName!="TABLE")
  {TB=TB.parentElement;}
  for (var i=0;i<TB.rows.length;i++){TB.rows[i].className='';}
  while (e.tagName!="TR"){e=e.parentElement;}
  e.className='SL';
}
