var vActiveMenus = new Array(null, null, null);
var nMenuClear = 0;

function setupMenus(v)
{
  var vMenuContent = new Array();
  for (var nLp=1; nLp<v.length; nLp++)
  {
    switch (v[nLp][0])
    {
      case 2:
        var sName = v[nLp][1];
        if (typeof(vMenuContent[sName])=='undefined') vMenuContent[sName] = new Array();
        vMenuContent[sName][vMenuContent[sName].length] = '<tr><td class="unsel"><a onmouseover="menuOver(\''+v[nLp][1]+'_'+v[nLp][4]+'\', event, 2)" onmouseout="menuOut(event)" href="'+v[nLp][3]+'" name="&lid='+v[nLp][3].replace(/[.].*$/gi,'_menu')+'">' + v[nLp][4] + '</a></td></tr>';
        break;
      case 3:
        var sName = v[nLp][1]+'_'+v[nLp][2];
        if (typeof(vMenuContent[sName])=='undefined') vMenuContent[sName] = new Array();
        vMenuContent[sName][vMenuContent[sName].length] = '<tr><td class="unsel"><a onmouseover="menuOver(\'\', event, 2)" onmouseout="menuOut(event)" href="'+v[nLp][3]+'" name="&lid='+v[nLp][3].replace(/[.].*$/gi,'_menu')+'">' + v[nLp][4] + '</a></td></tr>';
        break;
    }
  }
  for (var s in vMenuContent)
  {
    var sMenuId = 'menu'+s.replace(/\s/gi,'');
    document.write('<div class="popupMenu" style="filter:progid:DXImageTransform.Microsoft.Fade(duration=0.3, Enabled=false)" id="'+sMenuId+'">');
    document.write('<table width="100%" class="menuTable" cellpadding=0 cellspacing=0 border=0>');
    document.write(vMenuContent[s].join(''));
    document.write('</table>');
    document.write('</div>');
  }
  var vMenuTable = document.getElementById('menu');
}

function menuOver(sLabel, e, nLevel)
{
  var nLeftOffset = new Array(0, 0, 144);
  var nTopOffset = new Array(0, 22, 0);
  
  if (sLabel!='')
  {
    var sMenuId = 'menu'+sLabel.replace(/\s/gi,'');
    var v = document.getElementById(sMenuId);
    menuClose(nLevel);
    if (v)
    {
      if (typeof(e.srcElement)=='object')
      {
        nLeft = e.clientX-e.offsetX + nLeftOffset[nLevel] + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
        nTop = e.clientY-e.offsetY + nTopOffset[nLevel] + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.documentElement.scrollTop);
      }
      else if (typeof(e.target)=='object')
      {
        nLeft = nLeftOffset[nLevel]-4;
        nTop = nTopOffset[nLevel]-2;
        var obj=e.target;
        while (obj.offsetParent)
        {
          nLeft += obj.offsetLeft;
          nTop += obj.offsetTop;
          obj = obj.offsetParent;
        }
      }
      else
      {
        nLeft = e.clientX;
        nTop = e.clientY;
      }
      v.style.top = nTop+'px';
      v.style.left = nLeft+'px';
      v.style.visibility = 'visible';
      vActiveMenus[nLevel] = v;
    }
  }
  if (nMenuClear!=0)
  {
    window.clearTimeout(nMenuClear);
    nMenuClear = 0;
  }
}

function menuClose(nFromLevel, bFade)
{
  bFade = false;
  for (var nLp=nFromLevel; nLp<vActiveMenus.length; nLp++)
  {
    var v = vActiveMenus[nLp]
    if (v)
    {
      if (bFade===true && typeof(v.filters)=='object' && v.filters.length>0) 
      {
        v.filters.item(0).enabled = true;
        v.filters.item(0).Apply();
      }
      v.style.visibility = 'hidden';
      if (bFade===true && typeof(v.filters)=='object' && v.filters.length>0) 
      {
        v.filters.item(0).Play();
      }
      v = null;
    }
  }
}

function menuOut(e)
{
  if (nMenuClear==0) nMenuClear = window.setTimeout('menuClose(1, true)', 750);
}


function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}
