var closeTimer = false;
var activeLink = false;
function WO_showDropDown(key, link) {
	if (menuArray[key].length > 0) {
		var slinks = document.createElement('div');
		slinks.setAttribute('id', 'dropdownlinks');
		var buff = document.createElement('div');
		buff.setAttribute('id', 'dropdown_buff');
		buff.onmouseover = function() { if (closeTimer) { clearTimeout(closeTimer); closeTimer = false; } }
		var links = menuArray[key];
		for (var i = 0; i < links.length; i++) {
			if (i > 0) {
				var tBR = document.createElement('br');
				buff.appendChild(tBR);
			}
			var tLIA = document.createElement('a');
			tLIA.setAttribute('href', unescape(links[i][0]));
			tLIA.appendChild(document.createTextNode(unescape(links[i][1])));
			tLIA.onmouseover = function() { if (closeTimer) { clearTimeout(closeTimer); closeTimer = false; } }
			buff.appendChild(tLIA);
		}
		slinks.appendChild(buff);
		slinks.onmouseout = function(e) { closeTimer = setTimeout('WO_hideDropDown()', 100); }
		if (activeLink) {
			activeLink.onmouseout = null;
			activeLink = false;
		}
		link.onmouseout = function(e) { closeTimer = setTimeout('WO_hideDropDown()', 100); }
		slinks.onmouseover = function() { if (closeTimer) { clearTimeout(closeTimer); closeTimer = false; } }
		slinks.style.left = (findPosX(link.parentNode)) + 'px';
		slinks.style.top = (parseInt(link.parentNode.offsetHeight) + findPosY(link.parentNode) + 1) + 'px';
		var tCont = document.getElementById('content_area');
		var oLinks = document.getElementById('dropdownlinks');
		if (oLinks) {
			oLinks.onmouseout = null;
			oLinks.parentNode.replaceChild(slinks, oLinks);
		} else
			tCont.insertBefore(slinks, tCont.firstChild);
		activeLink = link;
		if (closeTimer) {
			clearTimeout(closeTimer);
			closeTimer = false;
		}
		
		return false;
	}
}
function WO_hideDropDown() {
	if (activeLink) {
		activeLink.onmouseout = null;
		activeLink = false;
	}
	var oLinks = document.getElementById('dropdownlinks');
	if (oLinks)
		oLinks.parentNode.removeChild(oLinks);
}
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;
}

function findPosY(obj) {
	var curtop = 0;
	if(obj.offsetParent)
		while(1) {
			curtop += obj.offsetTop;
			if(!obj.offsetParent)
				break;
			obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;
	return curtop;
}
