//ロールオーバー用
menuOn = new Array();
menuOff = new Array();
for (i=1; i<=8; i++) {
	menuOn[i] = new Image();
	menuOff[i] = new Image();
	menuOn[i].src = "images/menu" + i + "on.gif";
	menuOff[i].src = "images/menu" + i + ".gif";
}
function changeMenu(act,num) { 
	if (act) document.images["menuImg"+num].src = menuOn[num].src;
	else document.images["menuImg"+num].src = menuOff[num].src;
}

	//マウスが離れてからメニューが消えるまでの時間　1000で1秒
var hideDelay=500;

//ここから下は変更の必要なし
var runable=(!document.getElementById)? (!document.all)? (!document.layers)? -1:1:2:3;
var ie=(document.all)? true:false;
var nowShowing="$";
var showedMenu="";
var onLayer=onLink=flgShow=0;
var timerID=st=en=0;
var mx=my=0;

window.onload=function () { if (runable>1) document.onmousemove=function (event) {delayHideMenu(event) } }
function getElm(name,style)
{//HTMLオブジェクト取得
	var doc=self.document;
	if (runable==2) var gobj=doc.all(name); //IE4+
	else var gobj=doc.getElementById(name); //DOM
	if (style && runable>1) gobj=gobj.style;
	return gobj;
}
function showMenu(n,X,Y)
{//メニュー表示
	if (runable<2) return;
	var obj=getElm("subMenu"+n,1);
	var lnk=getElm("menuButton"+n);
	var lnks=getElm("menuButton"+n,1);
	nowShowing=n;
	
	//表示中のメニューがある場合、それを非表示にする
	if (showedMenu!="" && showedMenu!=nowShowing) hideMenu(showedMenu);
	if (obj.visibility=="visible" && onLink==1) return;
	lnk.onmouseout=leaveLink;
	onLayer=onLink=1;
	obj.left=X || parseInt(lnks.left);
	obj.top=Y || parseInt(lnks.top)+((runable==1)? lnk.clip.height:lnk.offsetHeight);
	obj.visibility="visible";
	showedMenu=nowShowing;
	flgShow=1;
	clearTimeout(timerID);
	st=t();
}
function leaveLink()
{//リンクからマウスが離れた
	onLink=0;
	en=t();
}
function delayHideMenu(e)
{//メニューを非表示にするかどうか判定する１
	mx=gmx(e);
	my=gmy(e);
	if (nowShowing=="$" || flgShow==0 || st==0) return;
	if (onLink==0 && checkPosition())
	{//リンクとメニューからマウスが離れている
		en=t();
		onLayer=0;
		hideMenu();
	}
	else
	{
		st=t();
		onLayer=1;
		clearTimeout(timerID);
	}
}
function hideMenu(n)
{//メニューを非表示にするかどうか判定する２
	clearTimeout(timerID);
	if (!n)
	{
		if (nowShowing=="$" || onLayer!=0) return;
		if (onLink==1) 
		{//リンクにマウスが乗っている
			timerID=setTimeout("hideMenu()",hideDelay);
			st=t();
			return;
		}
		else if (((en-st)%hideDelay)<hideDelay && st!=0) 
		{//指定した時間が経過していない
			clearTimeout(timerID);
			timerID=setTimeout("hideMenu()",hideDelay);
			st=0;
			return;
		}
		else if (!checkPosition())
		{//メニューにマウスが乗っている
			st=t();
			return;
		}
	}
	
	//メニュー非表示
	getElm("subMenu"+((n)? n:nowShowing),1).visibility="hidden";
	showedMenu="";
	onLayer=flgShow=0;
	//元の画像部分も戻す
	changeMenu(0,((n)? n:nowShowing));
}
function checkPosition()
{//マウスがメニューに乗っているかどうか判定
	if (nowShowing=="$") return;
	var obj=getElm("subMenu"+nowShowing);
	var x=mx-((runable==1)? parseInt(obj.left):obj.offsetLeft);
	var y=my-((runable==1)? parseInt(obj.top):obj.offsetTop);
	var w=(runable==1)? parseInt(obj.clip.width):obj.offsetWidth;
	var h=(runable==1)? parseInt(obj.clip.height):obj.offsetHeight;
	if (onLink==0 && (x<=0 || y<=0 || x>=w || y>=h)) return true;
	return false;
}
function t()
{
	return (new Date()).getTime();
}
function gmx(e)
{//マウス位置取得X
	if (ie) return document.body.scrollLeft+event.clientX;
	else return e.pageX;
}
function gmy(e)
{//マウス位置取得Y
	if (ie) return document.body.scrollTop+event.clientY;
	else return e.pageY;
}
//サブメニューが無い
function subMenuOff(n)
{
	if (runable<2) return;
	if(n == 0){
		hideMenu(showedMenu);
		showedMenu="";
		onLayer=flgShow=0;
	}
}