var timer;
var nowVisible='';
var imageHeight=25;

function init() {
  document.onmousemove = onMouseMove;
  if(document.layers) document.captureEvents(Event.MOUSEMOVE); //NN ver4
}


function onMouseMove(e) // mod:ryu030828
{
	if(nowVisible){
		// IE
		if(document.all){
			var sx = document.body.scrollLeft;
			var sy = document.body.scrollTop;
			var mx = event.clientX + sx;
			var my = event.clientY + sy;
			var obj = eval('document.all.' + nowVisible);
			var l = obj.style.pixelLeft;
			var t = obj.style.pixelTop - imageHeight;
			var r = l + obj.style.pixelWidth;
			var b = /*t + */obj.style.pixelHeight/* + imageHeight*/;
			if(mx < l || mx > r || my < t || my > b)
				menuOut(nowVisible);
		}
		// NN6-
		else if(document.getElementById){
			var x = (e.pageX < 0) ? 0 : e.pageX;
			var y = (e.pageY < 0) ? 0 : e.pageY;
			var l = parseInt(document.getElementById(nowVisible).style.left);
			var t = parseInt(document.getElementById(nowVisible).style.top);
			var w = l + document.getElementById(nowVisible).offsetWidth;
			var h = document.getElementById(nowVisible).offsetHeight;
			if(x < l || (y + imageHeight) < t || x > w || y > h)
				menuOut(nowVisible);
		}
	}
}
/*
	var a=new Array(4);
	if (nowVisible) {
		a=getPixelOfLayer(nowVisible);
		if (document.all) {
			if (event.clientX<a[0] || (event.clientY+imageHeight)<a[1] || event.clientX>a[2] || event.clientY>a[3]) {
				menuOut(nowVisible);
			}
		} else {
			x=(e.pageX<0)?0:e.pageX;
			y=(e.pageY<0)?0:e.pageY;
			if (x<a[0] || (y+imageHeight)<a[1] || x>a[2] || y>a[3]) {
				menuOut(nowVisible);
			}
		}
	}
}
*/


function findObj(n) {
	var ret;
	if (document.all) {ret=eval('document.all.'+n)}
	else {ret=eval('document.'+n);}
	return(ret);
}


function getPixelOfLayer(x) {
	var ret=new Array(4);obj=findObj(x);
	if (document.all) {
		ret[0]=obj.style.pixelLeft;
		ret[1]=obj.style.pixelTop;
		ret[2]=ret[0]+obj.style.pixelWidth;
		ret[3]=obj.style.pixelHeight;
	} else {
		ret[0]=obj.left;
		ret[1]=obj.top;
		ret[2]=ret[0]+obj.clip.width;
		ret[3]=obj.clip.height;
	}
	return(ret);
}


function setVisibleOfLayer(x,mode) {
  // NNの場合
  if (document.layers) {
    mode=(mode=='visible')?'show':'hide';
    document.layers[x].visibility = mode;
  }
  // IEとNC6,NC7の場合
  if(document.getElementById(x)) {
    document.getElementById(x).style.visibility=mode;
  }
}


function getVisibleOfLayer(x) {
	var ret;obj=findObj(x);
	if (document.all) {ret=obj.style.visibility;} 
	else {ret=(obj.visibility=='show')?'visibile':'hidden';}
	return(ret);
}


function setTopOfLayer(x) {
	obj=findObj(x);
	if (document.all) {obj.style.pixelTop = document.body.scrollTop+25;}
	else {obj.top = pageYOffset+25;}
}


function menuIn(objName) {
	if (nowVisible) menuOut(nowVisible);
	setVisibleOfLayer(objName,'visible');
	nowVisible=objName;
}


function menuOut(objName) {
	setVisibleOfLayer(objName,'hidden');
	nowVisible='';
	clearTimeout(timer);
}


function menuMove(objName) {
	setTopOfLayer(objName);
	timer=setTimeout('menuMove("'+objName+'")',300);
}


function ToggleTable(Prefix) {
  var id = Prefix + "tbl";

  if(document.getElementById){
    if(document.getElementById(id).style.display == "block")
      document.getElementById(id).style.display = "none";
    else
      document.getElementById(id).style.display = "block";
  }
}
