﻿var timeout=500;
var closetimer= 0;
var ddmenuitem= 0;
var ddtopmenuitem = 0;
var styleArray = new Array();

// open hidden layer
function mopen(id)
{
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) {
		ddmenuitem.style.visibility = 'hidden';
 		resetAll();

	}


	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';
	ddtopmenuitem = document.getElementById('top'+id);
	var pos = findPosX(ddtopmenuitem);
	ddmenuitem.style.left = pos + 'px';
}

// close showed layer
function mclose()
{
	if(ddmenuitem) {
	  ddmenuitem.style.visibility = 'hidden';
		resetAll();
	}


}

// Save the class, but only the first time
function saveClass(key, value) 
{
	var found = 0;

	for (var elem in styleArray) {
		if (elem == key)
		found = 1;
	}

	if (found == 0)
		styleArray[key] = value;
}

// Reset all styles in menu
function resetAll2() 
{
	for (var elem in styleArray) {
		ddtopmenuitem = document.getElementById('top' + elem);
		ddtopmenuitem.className = styleArray[elem];
	}
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// Align menus
function findPosX(obj)
{
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
		curleft += obj.offsetLeft;
		if(!obj.offsetParent)
			break;
		obj = obj.offsetParent;
        }
    else if(obj.x)
		curleft += obj.x;
    return curleft;
}


