var currentDiv = null;
var currentAction = null;
var currentIdent = null;
var currentTimeout = 100;
var layer = 0;
var layer1 = 0;

function getElement(id){
  if (document.getElementById) return document.getElementById(id);
  else if (document.all) return document.all[id];
  else return nulls;
}

function changeDiv(divName, state){
  var Div = getElement(divName);
  if (!Div) return;
  if (Div.style.visibility != state){
    if (layer != 0){
      getElement("menu" + layer).style.visibility = "hidden";
      layer = 0;
    }
    else{
      if (layer1 != 0) getElement("menu" + layer1).style.visibility = "hidden";
      Div.style.visibility = state;
    }
  }
}

function showMenu(num){
  if (currentDiv == num){
    if (currentAction != 'ShowMenu'){
      window.clearTimeout(currentIdent);
      currentAction = 'ShowMenu';
      currentIdent = window.setTimeout("doShowMenu(" + num + ")", currentTimeout);
    }
  }
  else{
    if (currentIdent){
      window.clearTimeout(currentIdent);
      doHideMenu(currentDiv);
    }
    currentDiv = num;
    currentAction = 'ShowMenu';
    currentIdent = window.setTimeout("doShowMenu(" + num + ")", currentTimeout);
  }
}

function doShowMenu(num){
  changeDiv("menu" + num, "visible");
}

function hideMenu(num){
  if (currentDiv == num){
    if (currentAction != 'HideMenu'){
      window.clearTimeout(currentIdent);
      currentAction = 'HideMenu';
      currentIdent = window.setTimeout("doHideMenu(" + num + ")", currentTimeout);
    }
  }
  else{
    if (currentIdent){
      window.clearTimeout(currentIdent);
      doHideMenu(currentDiv);
    }
    currentDiv = num;
    currentAction = 'HideMenu';
    currentIdent = window.setTimeout("doHideMenu(" + num + ")", currentTimeout);
  }
}

function doHideMenu(num){
  changeDiv("menu" + num, "hidden");
}

function showDiv(num){
  getElement("menu" + num).style.visibility = "visible";
  layer = num;
}

function hideDiv(num){
  hideMenu(num);
  layer = 0;
}

function hideDiv2(num1,num2){
  getElement("menu" + num1).style.visibility = "hidden";
  getElement("menu" + num2).style.visibility = "hidden";
  layer = 0;
}

function showDivs(num){
  getElement("menu" + num).style.visibility = "visible";
}

function hideDivs(num1,num2){
  layer1 = num2;
  hideMenu(num1);
}

