

//****************************************************************
// 選択されたオブジェクトの座標算出 ******

function getElemLeft (elem) {
	var x = elem.offsetLeft;
	var pa = elem.offsetParent;
	while(pa) {
		if(pa.offsetLeft) x += pa.offsetLeft;
		pa = pa.offsetParent;
	}
	return x;
}

function getElemTop (elem) {
	var y = elem.offsetTop;
	var pa = elem.offsetParent;
	while(pa) {
		if(pa.offsetTop) y += pa.offsetTop;
		pa = pa.offsetParent;
	}
	return y;
}

//****************************************************************
// メニューの表示 ******

	//マウスオーバー
	over_color = "#DDDDDD";
	out_color = "#FFFFFF";


var currentId = "";


function showMenu (e,id,mode) {

	// タイマーの初期化 ******
	if (timer) {
		clearTimeout(timer);
	}

	// 同じメニューが開かれている場合の処理 ******
	if(currentId == id) return;

	// 既に開いているメニューを閉じる ******
	hidemenu();

	// 座標設定 ******
	var obj = document.getElementById(id);
	var x, y;
	var elm;
	//if(e.srcElement) elem = e.srcElement;
	//else elem = e.currentTarget;

	td_name_0 = id + "b";
	var obj_0 = document.getElementById(td_name_0);


	switch (mode) {
		case "e":
			if ((MAC) && (BR_Name == "IE5")) {
				for(k=0;k<10;k++) {
					str = "td_name_0.match(/" + k + "/i)";
					if (eval(str) == k) {
						menux = getElemLeft(obj_0) + 210;
						menuy = getElemTop(obj_0) + 19*k - 6;
						break;
					}
				}

			} else	{
				menux = getElemLeft(obj_0) + 200;
				menuy = getElemTop(obj_0) - 5;
			}	
			break;

		default:

			if ((MAC) && (BR_Name == "IE5")) {
				for(k=0;k<10;k++) {
					str = "td_name_0.match(/" + k + "/i)";
					if (eval(str) == k) {
						menux = getElemLeft(obj_0) + 178;
						menuy = getElemTop(obj_0) + 19*k - 6;
						break;
					}
				}

			} else	{
				menux = getElemLeft(obj_0) + 168;
				menuy = getElemTop(obj_0) - 5;
			}	
			break;
	}
	


	// メニューの表示 ******
	obj.style.left = menux + "px";
	obj.style.top = menuy + "px";
	obj.style.visibility = "visible";

	// セルの変色

	//テーブルidの取得
	td_name = id + "b";

	var obj_color = document.getElementById(td_name);

	switch (BR_Name) {
		case "SAF":
			document.getElementById(td_name).style.backgroundColor = over_color;
			break;

		case "IE5":
			obj_color.style.backgroundColor = over_color;
			break;

		case "NN6":
			document.getElementById(td_name).style.backgroundColor = over_color;
			break;

		case "OP6":
			document.getElementById(td_name).style.backgroundColor = over_color;
			break;

	}


	// 開いたメニュー名の記録 ******
	currentId = id;
}

//****************************************************************

function bodyClick (e) {
	hidemenu();
	init();
}

if(document.getElementById)
	document.onclick = bodyClick;

function scrollLeft () {
	if(window.pageXOffset)
		return window.pageXOffset;
	if(document.compatMode == "CSS1Compat")
		return document.body.parentNode.scrollLeft;
	if(document.body.scrollLeft)
		return document.body.scrollLeft;
	return 0;
}
function scrollTop () {
	if(window.pageYOffset)
		return window.pageYOffset;
	if(document.compatMode == "CSS1Compat")
		return document.body.parentNode.scrollTop;
	if(document.body.scrollTop)
		return document.body.scrollTop;
	return 0;
}
//****************************************************************

var doposcheck=false;

function poscheck(e) {

	if(doposcheck) {

		var l,t,w,h,x,y;
		
		switch (BR_Name) {

			case "SAF":
				l = document.getElementById(currentId).offsetLeft;
				t = document.getElementById(currentId).offsetTop;
				w = document.getElementById(currentId).offsetWidth;
				h = document.getElementById(currentId).offsetHeight;
				x = e.clientX + document.body.scrollLeft;
				y = e.clientY + document.body.scrollLeft;

				if (x<l || x>l+w || y<t || y>t+h) {
					//hidemenu();
				}
				break;

			case "IE5":
				e = event;
				l = document.all(currentId).offsetLeft;
				t = document.all(currentId).offsetTop;
				w = document.all(currentId).offsetWidth;
				h = document.all(currentId).offsetHeight;
				x = e.clientX + document.body.scrollLeft;
				y = e.clientY + document.body.scrollLeft;

				if (x<l || x>l+w || y<t || y>t+h) {
					//hidemenu();
				}
				break;

			case "NN6":
				l = document.getElementById(currentId).offsetLeft;
				t = document.getElementById(currentId).offsetTop;
				w = document.getElementById(currentId).offsetWidth;
				h = document.getElementById(currentId).offsetHeight;
				x = e.clientX + document.body.scrollLeft;
				y = e.clientY + document.body.scrollLeft;

				if (x<l || x>l+w || y<t || y>t+h) {
					//hidemenu();
				}
				break;

			case "OP6":
				l = document.all(currentId).offsetLeft;
				t = document.all(currentId).offsetTop;
				w = document.all(currentId).offsetWidth;
				h = document.all(currentId).offsetHeight;
				x = e.clientX + document.body.scrollLeft;
				y = e.clientY + document.body.scrollLeft;

				if (x<l || x>l+w || y<t || y>t+h) {
					//hidemenu();
				}
				break;

		}
	}
}

//********************************************************************************************
// 一定時間mouseoutの場合、メニューを閉じる******
var timer
function set_timer() {
	timer = setTimeout('if(!doposcheck){hidemenu()}',1000);
}

//********************************************************************************************
// メニューを閉じる******
function hidemenu() {

	td_name = currentId + "b";
	var obj_color = document.getElementById(td_name);

	if(currentId != "") {

		switch (BR_Name) {

			case "SAF":
				document.getElementById(currentId).style.visibility = "hidden";
				document.getElementById(td_name).style.backgroundColor = out_color;
				break;

			case "OP6":
				document.all(currentId).style.visibility = "hidden";
				document.getElementById(td_name).style.backgroundColor = out_color;
				break;

			case "IE5":
				document.all(currentId).style.visibility = "hidden";
				obj_color.style.backgroundColor = out_color;
				break;

			case "NN6":
				document.getElementById(currentId).style.visibility = "hidden";
				document.getElementById(td_name).style.backgroundColor = out_color;
				break;
		}
		doposcheck = false;
	}

	currentId = "";
	td_name = "";

}
//********************************************************************************************
function init(){

//特殊処理
	switch (BR_Name) {

		case "SAF":
			document.getElementById("damy").style.visibility = "hidden";
			break;

		case "OP6":
			document.all("damy").style.visibility = "hidden";
			break;

		case "IE5":
			document.all("damy").style.visibility = "hidden";
			break;

		case "NN6":
			document.getElementById("damy").style.visibility = "hidden";
			break;
	}

//ここまで


	
	if (NN4) {
		document.captureEvents(Event.MOUSEMOVE);
	}


	document.onmousemove = poscheck;
	var over = function() { doposcheck=true };
	for (i=1;;i++) {
		
		if (BR_Name == "SAF") {
			if (!document.getElementById("menu"+i)) {
				break;
			} else {
				document.getElementById("menu"+i).onmouseover=over;
			}

		} else {

			//BREAK処理
			if (BR_Name == "OP6") {
				if(!document.all("menu"+i)){
					break;
				} else {
					document.all("menu"+i).onmouseover = over;
				}
			}

			if (BR_Name == "NN6") {
				if(!document.getElementById("menu"+i)){
					break;
				} else {
					document.getElementById("menu"+i).onmouseover = over;
				}
			}

			if (BR_Name == "IE5") {
				if(!document.all("menu"+i)){
					break;
				} else {
					document.all("menu"+i).onmouseover = over;
				}
			}

		}

	}

}
//********************************************************************************************
window.onload=init;
