// JavaScript Document
var focusTimeout= 800;
var lastMenuItem= null;
var menuTimeout = null;
var slideTimer 	= null;
/* simple menu
menu = new Array();
menu['tagID']={
	'main page':'index.htm',
	'about':'about.htm'
};
*/
function downSlideMenu(menu){
	for ( var tagID in menu ){	//	each tag id in menu
		var menuItem = document.getElementById(tagID);
		if (!menuItem) continue;
		//	main menu init
		menuItem.onmouseover = function ()	{ downSlideMenuDrop(this) };
		menuItem.onmouseout = function ()	{ downSlideMenuOut(this) };
		
		//	slide content layer (box)
		var slideLayer = document.createElement( 'div' ) ;
		slideLayer.className 		= "downSlideMenu";
		slideLayer.style.position 	= "absolute";
//		slideLayer.style.overflow 	= "hidden";
//		slideLayer.style.height 	= "auto";
		slideLayer.style.visibility = "hidden";
		slideLayer.style.zIndex 	= "220";
		
		menuItem.parentNode.insertBefore(slideLayer, menuItem);
		//	float submenu layer build (slider)
		var menuLayer = document.createElement( 'div' ) ;
		slideLayer.appendChild(menuLayer);
		menuLayer.className = "downSlideContainer";
		menuLayer.onmouseover = function()	{ downSlideMenuOver(this); }
		menuLayer.onmouseout = function()	{ downSlideMenuOut(this); }
		//	Append
		
		//	submenu build
		var ndx = 0;
		var html= '<table cellpadding="0" cellspacing="0" class="background">';
		var subMenu = menu[tagID];
		for ( var subMenuName in subMenu){
			//	Create separator in it need
			if (ndx++)	html += '<tr><td><div class="hr"></div></td></tr>';
			html += '<tr><td nowrap="nowrap"><a href='+subMenu[subMenuName]+' onmouseover="return downSlideMenuOver(this)" onmouseout="return downSlideMenuOut(this)" style="display:block">'+subMenuName+'</a></td></tr>';
		}
		html += '</table>';
		html += '<div class="bottom"><div><div></div></div></div>';
		menuLayer.innerHTML = html;
	}
}
function doAppend(root, content){
	var tr = document.createElement( 'tr' ) ;
	root.appendChild(tr);
	var td = document.createElement( 'td' ) ;
	td.style.whiteSpace = "nowrap";
	tr.appendChild(td);
	td.appendChild(content);
//	td.innerHTML = "bb";
}
//	open new layer
function downSlideMenuDrop(menuItem){
	clearMenuTimeout();
	if (lastMenuItem == menuItem) return;
	
	closeSlideMenu();
	lastMenuItem = menuItem;
	menuItem.className = "current";
	
	menuSlideLayer = menuItem.previousSibling;
	menuSlideLayer.style.top = (AbsTop(menuItem)+menuItem.offsetHeight)+"px";
	menuSlideLayer.style.left= AbsLeft(menuItem)+"px";
	
	menuLayer = menuSlideLayer.firstChild;
	
	menuSlideLayer.style.visibility = "visible";
	menuLayer.style.top = (-menuSlideLayer.clientHeight)+"px";
	menuLayer = null;
	menuSlideLayer = null;

	slideMenuTimer();
}
//	close last opened layer
function closeSlideMenu(){
	if (!lastMenuItem) return;
	menuSlideLayer = lastMenuItem.previousSibling;
	menuSlideLayer.style.visibility = "hidden";
	lastMenuItem.className = "";
	menuSlideLayer = null;
	lastMenuItem = null;
}
//	clear autoclose timeout
function downSlideMenuOver(subItem)	{clearMenuTimeout();}
//	set timeout autoclode layer
function downSlideMenuOut(subItem)	{;setMenuTimeout();}
//	clear timeout interval timer
function clearMenuTimeout(){
	clearTimeout(menuTimeout);
	menuTimeout = null;
}
//	create timeout interval timer
function setMenuTimeout()	{
	clearTimeout(menuTimeout);
	menuTimeout = setTimeout(closeSlideMenu, focusTimeout);
}

function slideMenuTimer(){
	clearTimeout(slideTimer);
	if (!lastMenuItem) return;
	slideTimer = setTimeout(slideMenuTimer, 15);
	menuSlideLayer = lastMenuItem.previousSibling;
	menuLayer = menuSlideLayer.firstChild;

	pos = parseInt(menuLayer.style.top);
	menuLayer.style.top = (pos - Math.max(-15, pos/4))+"px";
	menuLayer = null;
	menuSlideLayer = null;
}

// JavaScript Document
function AbsLeft(obj)
{
     var x=obj.offsetLeft;
     if (!x) x = 0;
     var parent=obj.offsetParent;
     while (parent && parent.tagName !="BODY"){
          x+=parent.offsetLeft;
          parent=parent.offsetParent;
     }
     if (parent) x = x+parent.offsetLeft;
     return x;
}
function AbsTop(obj)
{
     var y=obj.offsetTop;
     if (!y) y = 0;
     var parent=obj.offsetParent;
     while (parent && parent.tagName !="BODY"){
          y+=parent.offsetTop;
          parent=parent.offsetParent;
     }
     if (parent) y = y+parent.offsetTop;
     return y;
}

