var nTimeForShowMenu=500;
var nOffsetBottomBorder=0;
var nOffsetTopLayer=-10;
var nOffsetLeftLayer=15;
var nTimerID=0;
var sTimerCommand="hideall()";
var bBlockHideAll=1;
var sSecondLayer="";

function showLayer(sLayerName, sAlignName, dx, dy, sf)
{
    hideall();
    clearTimeout(nTimerID);
    if (sSecondLayer!="") { hideLayer(sSecondLayer); sSecondLayer=""; }
    if (sf>0) { sSecondLayer=sLayerName; }
    var x=0, y=0;
    if (dx) x+=dx;
    if (dy) y+=dy;
    var curElement=document.images[sAlignName];
    while(curElement)
    {
       y += curElement.offsetTop;
       x += curElement.offsetLeft;
       curElement = curElement.offsetParent;
    }
    document.getElementById(sLayerName).style.top = y + nOffsetTopLayer + "px";
    document.getElementById(sLayerName).style.left = x + nOffsetLeftLayer + "px";
    nWindowHeight = document.body.offsetHeight;
    nYOffset = document.body.scrollTop;
    nLayerHeight = document.getElementById(sLayerName).clientHeight;
    if((y + nLayerHeight - nYOffset + nOffsetBottomBorder) > nWindowHeight)
    {
        document.getElementById(sLayerName).style.top = y + nOffsetTopLayer - (y + nLayerHeight - nWindowHeight - nYOffset + nOffsetBottomBorder) + "px";
    }
    document.getElementById(sLayerName).style.visibility = "visible";
    sTimerCommand="hideLayer('"+sLayerName+"')";
}

function hideLayer(sLayerName)
{
    document.getElementById(sLayerName).style.visibility = "hidden";
}

function hideall()
{
    if (bBlockHideAll==1)
    {
      hideLayer("div1");
      hideLayer("div2");
    }
}

function HideAfterTimeout(sLayerName)
{
  var sToutCommand="hideLayer('"+sLayerName+"')";
  clearTimeout(nTimerID);
  nTimerID=setTimeout(sToutCommand, nTimeForShowMenu);
}

