var DigiMenuRoot = null;
	
function subIn()
{
	this.lastChild.style.visibility = 'visible';
	if ( this.oldmouseover ) this.oldmouseover();
}
function subOut()
{
	this.lastChild.style.visibility = 'hidden';
	if ( this.oldmouseout) this.oldmouseout();
}

function getCord(obj, iVal) // 0 -> top 1->left 2->height 3->width
{
	var res = 0;
	while ( obj )
	{
		if ( iVal == 0 )
			res += obj.offsetTop;
		else if ( iVal == 1 )
			res += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return res;
}
function DigiMenu(menuItem, attachTo, bPopoutBelow)
{
	var objRoot = document.getElementById(attachTo);
	var objChild = document.getElementById(menuItem);
	
	objRoot.appendChild(objChild);
	
	if ( objRoot == DigiMenuRoot )
	{
		objChild.style.left = (getCord(objRoot, 1)) + 'px';
		objChild.style.top = (getCord(objRoot, 0)) + 'px';
		objChild.style.visibility = 'visible';
	}
	else
	{
		if ( objRoot.onmouseover ) objRoot.oldmouseover = objRoot.onmouseover; else objRoot.oldmouseover = null;
		if ( objRoot.onmouseout ) objRoot.oldmouseout = objRoot.onmouseout; else objRoot.oldmouseout = null;
		objRoot.onmouseover = subIn;
		objRoot.onmouseout = subOut;
	
		var bAddWidth = true, bAddHeight = false;
		if ( bPopoutBelow )
			bAddWidth = !(bAddHeight = true);
			
		if ( bAddWidth ) objChild.style.left = (objRoot.offsetWidth + objRoot.offsetLeft) + 'px';
		else objChild.style.left = (objRoot.offsetLeft) + 'px';
		if ( bAddHeight ) objChild.style.top = (objRoot.offsetHeight + objRoot.offsetTop) + 'px';
		else objChild.style.top = (objRoot.offsetTop) + 'px';
	}
}

function DigiRoot(pMenuAnchor)
{
	DigiMenuRoot = document.getElementById(pMenuAnchor);
}
