//original code from: http://javascript-array.com/scripts/simple_drop_down_menu/

var timeout         = 500;
var closetimer		= 0;
var ddmenuitem      = 0;
var shimobject		= 0;

function minit()	//must be called from within <body>
{
	//create iframe for iframe shim technique
	if( navigator.platform.indexOf('Win') >= 0 )
		{ 
		document.write('<IFRAME id="iframeshim" src="" style="position: absolute; display: none; left: 0; top: 0; z-index: 900;  filter: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)" frameBorder="0" scrolling="no"></IFRAME>');
		shimobject=document.getElementById("iframeshim");
		}
	
	//IE 5 Mac will make menus as wide as parent element if not forced
	if ((navigator.appVersion.indexOf("Macintosh") != -1) &&
		(navigator.appVersion.indexOf("MSIE") != -1))
		{
		document.writeln( '<STYLE TYPE="text/css" MEDIA="screen">' );
		document.writeln( '#sddm li a	{width: 60px;}' );
		document.write( '<\/STYLE>' );
		}
}

// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	mclose();

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	if( ddmenuitem )
		{
		ddmenuitem.style.visibility = 'visible';
	
		//display iframe shim
		if (shimobject)
			{
			shimobject.style.width	= ddmenuitem.offsetWidth+"px";
			shimobject.style.height	= ddmenuitem.offsetHeight+"px";
			shimobject.style.left	= getposOffset(ddmenuitem,'left');
			shimobject.style.top	= getposOffset(ddmenuitem,'top');
			
			shimobject.style.display="block";
			}
		}
}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
	if(shimobject) shimobject.style.display='none';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

function getposOffset(what, offsettype)
{
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null)
		{
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
		}
	return totaloffset;
}

// close layer when click-out
document.onclick = mclose; 


