// Copyright 2006-2007 javascript-array.com

var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;
var tmp = 0;

function getElementsByClassName(classname, node) {
      if(!node) node = document.getElementsByTagName("body")[0];
      var a = [];
      var re = new RegExp('\\b' + classname + '\\b');
      var els = node.getElementsByTagName("*");
      for(var i=0,j=els.length; i<j; i++)
      if(re.test(els[i].className))a.push(els[i]);
      return a;
}

// open hidden layer
function mopen(id)
{	
	var aji = getElementsByClassName('menuclass');
	for(i=0;i<aji.length;i++){
		if(aji[i].className == 'menuclass active def'){
			tmp = aji[i];			
			aji[i].className = 'menuclass';				
			break;
		}
		else aji[i].className = 'menuclass';
	}	
	
	document.getElementById(id + 'page').className = 'menuclass active';
	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';
	
}

// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
		
	var aji = getElementsByClassName('menuclass');
	for(i=0;i<aji.length;i++){		
		if(aji[i].className = 'menuclass active'){
			aji[i].className = 'menuclass';	
		}
	}
	tmp.className = 'menuclass active def';

}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
//document.onclick = mclose; 
