// JavaScript Document
//*********************************************************//
// File name: action.js
// Last modified: 2006/07/20
//
// Content01: ローティングメニュー制御
// Content02: デジタルカタログへのポップアップウィンドウ指定
//*********************************************************//


/* 01 フローティングメニュー制御
---------------------------------------------------------*/

	var closeTimer;
	var menuTimer = new Array();
	var menus = new Array(1, 2, 3)
	var showFlash = true;

	function showSubTitle(id)
	{
		clearTimeout(closeTimer);
		for(var i=0; i<menus.length; i++)
		{
			if(id == menus[i])
			{
				if(isExist('flashbox'))
				{
					setHidden('flashbox');
					showFlash = true;
				}
				menuMove(id, 0);
			}
			else
			{
				var divName = menus[i] + "";
				if(divName.length == 1) divName = "0" + divName;
				
				divName = "submenu_" + divName;

				if(getTop(divName) != -33)
				{
					hideSubTitle(menus[i]);
				}
			}
		}
	}
	
	function hideSubTitle(id)
	{
		menuMove(id, -33);
	}
	
	function nowShow(id)
	{
		clearTimeout(closeTimer);
	}
	
	function nowHide(id)
	{
		showFlash = false;
		clearTimeout(closeTimer);
		closeTimer = setTimeout("hideSubTitle("+id+")", 200);
	}
	
	function menuMove(id, toY, nowY)
	{
		if(menuTimer[id-1]) clearTimeout(menuTimer[id-1]);
		var divName = id + "";
		if(divName.length == 1) divName = "0" + divName;
		
		divName = "submenu_" + divName;
		
		if(!nowY) nowY = getTop(divName);

		nowY += (toY - nowY) * 0.4;

		if(Math.abs(toY - nowY) <= 0.5)
		{
			nowY = toY;
		}

		setY(divName, nowY);

		if(Math.abs(nowY - toY) < 0.5)
		{
			if (toY < 0)
			{
				if(isExist('flashbox') && !showFlash)
				{
					setVisible('flashbox');
					showFlash = false;
				}
			}
			clearTimeout(menuTimer[id-1]);
		}
		else
		{
			menuTimer[id-1] = setTimeout("menuMove("+id+","+toY+","+nowY+")", 30);
		}
	}


/*values*/
function getOffsetX()
{
	if(obj == 2 || obj == 3) return document.body.scrollLeft;
	else if(obj == 1 || obj == 4) return window.pageXOffset;
}

function getOffsetY()
{
	if(obj == 2 || obj == 3) return document.body.scrollTop;
	else if(obj == 1 || obj == 4) return window.pageYOffset;
}

function getWinWidth()
{
	if(OPERA || obj == 1 || obj == 4) return window.innerWidth;
	else if(obj == 2 || obj == 3) return document.body.clientWidth;
}

function getWinHeight(){
	if(OPERA || obj == 1 || obj == 4) return window.innerHeight;
	else if(obj == 2 || obj == 3) return document.body.clientHeight;
}

function bodyHeight()
{
	if(obj == 1) return getTagTop('end');
	else if(obj == 2 || obj == 3 || obj == 4) return getHeight('body');
}

function getEndY()
{
	if(obj == 1 || obj == 2 || obj == 3 || obj == 4 ) return (bodyHeight() - getWinHeight());
}

function getTagTop(idn)
{
	y = 0;
	if(OPERA || obj == 2)
	{
		var elem = document.all(idn);
		y = elem.offsetTop;
		//while((elem = elem.offsetParent) != null) y += elem.offsetTop;
	}
	else if(obj == 3 || obj == 4)
	{
		var elem = document.getElementById(idn);
		y = elem.offsetTop;
		while((elem = elem.offsetParent) != null) y += elem.offsetTop;
	}
	else if(obj == 1) y = document.anchors[idn].y;
	else y = 0;

	return y;
}

function getTagLeft(idn)
{
	x = 0;
	if(obj == 3 || obj == 4)
	{
		var elem = document.getElementById(idn);
		x = elem.offsetLeft;
		while((elem = elem.offsetParent) != null) x += elem.offsetLeft;
	}
	else if(obj == 2)
	{
		var elem = document.all(idn);
		x = elem.offsetLeft;
		while((elem = elem.setParent) != null) x += elem.offsetLeft;
	}
	else if(obj == 1) x = document.anchors[idn].x;
	else x = 0;

	return x;
}

function getHeight(idn)
{
	if(obj == 1) return document.layers[idn].clip.height;
	else if(obj == 2) return document.all(idn).style.pixelHeight;
	else if(obj == 3 || obj == 4) return parseInt(document.getElementById(idn).offsetHeight);
}

function getWidth(idn)
{
	if(obj == 1) return document.layers[idn].clip.width;
	else if(obj == 2) return document.all(idn).style.pixelWidth;
	else if(obj == 3 || obj == 4) return parseInt(document.getElementById(idn).offsetWidth);
}

function getDsp(idn)
{
	if(obj == 2 || obj == 3) return document.all(idn).style.display;
	else if(obj == 4) return  document.getElementById(idn).style.display;
}

function getVisible(idn)
{
	if(obj == 2 || obj == 3) return document.all(idn).style.visibility;
	else if(obj == 4) return document.getElementById(idn).style.visibility;
	else if(obj == 1) return document.layers[idn].visibility;
}

function getTop(idn)
{
	val = 0;
//	if(OPERA || obj == 2) val = document.all(idn).style.offsetTop;
	if(OPERA || obj == 2) val = document.all(idn).style.pixelTop;
	else if(obj == 3 || obj == 4) val = document.getElementById(idn).style.top;
	else if(obj == 1) val = document.layers[idn].top;
	
//	if((val + "").indexOf("px") != -1) val = val.substring(0, (val + "").indexOf("px"));

	return parseInt(val);
}

function isExist(idn)
{
	if(OPERA || obj == 2)
	{
		if(document.all(idn)) return true;
	}
	else if(obj == 3 || obj == 4)
	{
		if(document.getElementById(idn)) return true;
	}
	else if(obj == 1)
	{
		if(document.layers[idn]) return true;
	}
	
	return false;
}


/*base*/
// obj : 0/1/2/3/4
UAGENT = navigator.userAgent;
OPERA = (UAGENT.indexOf("Opera", 0) != -1);
SAFARI = (UAGENT.indexOf("Safari", 0) != -1);
FIREFOX = (UAGENT.indexOf("Firefox", 0) != -1);
WIN = (UAGENT.indexOf("Win", 0) != -1);
MAC = (UAGENT.indexOf("Mac", 0) != -1);

// 0:OTHER / 1:NS4 / 2:IE4 / 3:IE5+ / 4:NS6
obj = document.all ? (document.getElementById ? 3 : 2) : (document.getElementById ? 4 : (document.layers ? 1 : 0));
//alert("LOG : " + UAGENT + " / OBJ : " + obj);

var scrollTimer;


function setDsp(idn, param)
{
	if(obj == 2 || obj == 3) document.all(idn).style.display = param;
	else if(obj == 4) document.getElementById(idn).style.display = param;
}

function setVisible(idn)
{
	if(obj == 2 || obj == 3) document.all(idn).style.visibility = "visible";
	else if(obj == 4) document.getElementById(idn).style.visibility = "visible";
	else if(obj == 1) document.layers[idn].visibility = "show";
}

function setHidden(idn)
{
	if(obj == 2 || obj == 3) document.all(idn).style.visibility = "hidden";
	else if(obj == 4) document.getElementById(idn).style.visibility = "hidden";
	else if(obj == 1) document.layers[idn].visibility = "hide";
}

function setY(idn, yy)
{
	if(OPERA || obj == 2) document.all(idn).style.pixelTop = yy;
	else if(obj == 3 || obj == 4) document.getElementById(idn).style.top = yy + "px";
	else if(obj == 1) document.layers[idn].top = yy;
}




/* 02 デジタルカタログへのポップアップウィンドウ指定
---------------------------------------------------------*/
function OpenDp(theURL) {
	window.open(theURL,'','scrollbars=0,resizable=1,toolbar=0,location=0,directories=0,status=1,menubar=0,directories=0,width=960,height=685');
}

