/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Konstantin Jagello | http://javascript-array.com/ */
var TimeOut         = 700;
var currentLayer    = null;
var currentitem     = null;
var currentLayerNum = 0;
var noClose         = 0;
var closeTimer      = null;

var currentLayerSub    = null;
var currentitemSub     = null;
var currentLayerNumSub = 0;
var noCloseSub         = 0;
var closeTimerSub = null;

var arrLayerWidths = new Array();


function mopen(n) {
  var l  = document.getElementById("menu"+n);  // div
  var mm = document.getElementById("mmenu"+n); // a
	
  if(l) {
    mcancelclosetime();
    l.style.visibility='visible';
    if(currentLayer && (currentLayerNum != n))
      currentLayer.style.visibility='hidden';
    currentLayer = l;
    currentitem = mm;
    currentLayerNum = n;			
  } else if(currentLayer) {
    currentLayer.style.visibility='hidden';
    currentLayerNum = 0;
    currentitem = null;
    currentLayer = null;
 	}
}

function test(aTag)
{
    //alert (aTag.scrollHeight);
}

function submopen(n) {
    
  
  var l  = document.getElementById("submenu"+n); // div
  var mm = document.getElementById("submmenu"+n); // a

  var subOrderNum = n % 10 - 1;
  var orderNum = (n - subOrderNum) / 10;
  
  var parentDivWidth = parseInt(currentLayer.scrollWidth);
  //alert(parentDivWidth); // firefox: 188; IE: 190.
  var parentAtagHeight = parseInt(mm.scrollHeight);
  if (parentDivWidth != 'NaN')
  {
      // for IE 8: it does not clears the  parentDivWidth (one line below)
      if (!arrLayerWidths[orderNum])
          arrLayerWidths[orderNum] = (parentDivWidth + 4) + "px";
      l.style.left = arrLayerWidths[orderNum];  
  }
  if (parentAtagHeight != 'NaN')
  {
      l.style.top = (parentAtagHeight * subOrderNum - 1) + "px";
  }
  
  if(l) {
    submcancelclosetime();
    l.style.visibility='visible';
    if(currentLayerSub && (currentLayerNumSub != n))
      currentLayerSub.style.visibility='hidden';
    currentLayerSub = l;
    currentitemSub = mm;
    currentLayerNumSub = n;			
  } else if(currentLayerSub) {
    currentLayerSub.style.visibility='hidden';
    currentLayerNumSub = 0;
    currentitemSub = null;
    currentLayerSub = null;
 	}
}

function mclosetime() {
  closeTimer = window.setTimeout(mclose, TimeOut);
}

function submclosetime() {
  closeTimerSub = window.setTimeout(submclose, TimeOut);
}

function mcancelclosetime() {
  if(closeTimer) {
    window.clearTimeout(closeTimer);
    closeTimer = null;
  }
}

function submcancelclosetime() {
  if(closeTimerSub) {
    window.clearTimeout(closeTimerSub);
    closeTimerSub = null;
  }
}

function mclose() {
  if(currentLayer && noClose!=1)   {
    currentLayer.style.visibility='hidden';
    currentLayerNum = 0;
    currentLayer = null;
    currentitem = null;
  } else {
    noClose = 0;
  }
  currentLayer = null;
  currentitem = null;
  
  //submclose();
}

function submclose() {
  if(currentLayerSub && noCloseSub!=1)   {
    currentLayerSub.style.visibility='hidden';
    currentLayerNumSub = 0;
    currentLayerSub = null;
    currentitemSub = null;
  } else {
    noCloseSub = 0;
  }
  currentLayerSub = null;
  currentitemSub = null;
}

document.onclick = mclose; 
