//***********************************************************************
// ユーティリティ関数郡

//=======================================================================
// 変数

// s_browser: 1=NN6+, 2=NN4, 3=IE, 4=Opera, 0=others
s_browser = (window.opera ? 4 : (document.all ? 3 : (document.getElementById ? 1 : (document.layers ? 2 : 0))));
// s_ie5: true=IE5+
s_ie5 = (navigator.appName.indexOf('Microsoft Internet Explorer') >= 0 && document.getElementById) ? true : false;
// s_op6: true=Opera 6
s_op6 = window.opera && !document.documentElement; 
// s_mac : true = macintosh, false = other os
s_mac = navigator.userAgent.indexOf('Mac') >= 0;

//=======================================================================
// 関数

function Util_GetWindowWidth()
{
	if(window.innerWidth) return window.innerWidth; 
	if(document.documentElement && document.documentElement.clientWidth)
	{
		return document.documentElement.clientWidth;
	}
	else if(document.body && document.body.clientWidth)
	{
		return document.body.clientWidth;
	}
	return 0;
}

function Uitl_GetWindowHeight()
{
	if(window.innerHeight) return window.innerHeight; 
	if(document.documentElement && document.documentElement.clientHeight)
	{
		return document.documentElement.clientHeight;
	}
	else if(document.body && document.body.clientHeight)
	{
		return document.body.clientHeight;
	}
	return 0;
}

function Util_GetDivFromName(nm)
{
	if(document.getElementById) return document.getElementById(nm); 
	if(document.all) return document.all(nm); 
	if(document.layers)
	{
		var s = '';
		for(var i = 1; i < arguments.length; i++)
		{
			s += 'document.layers.' + arguments[i] + '.';
		}
		return eval(s + 'document.layers.' + nm);
	}
	return null;
}

function Uitl_InitDivPos(div)
{
	if(document.layers) return;
	if(typeof div.style.left != "undefined" && typeof div.style.left == "string")
	{
		/*
		div.style.left = div.offsetLeft + 'px';
		div.style.top = div.offsetTop + 'px';
		*/
		var obj = div;
		while(obj != null)
		{
			div.style.left = obj.offsetLeft + 'px';
			div.style.top = obj.offsetTop + 'px';
			obj = obj.parent;
		}
	}
	else if(typeof div.style.pixelLeft != "undefined")
	{
		div.style.pixelLeft = div.offsetLeft;
		div.style.pixelTop = div.offsetTop;
	}
}

function Util_GetDivLeft(div)
{
	if(typeof window.crypto != "undefined" && typeof window.getComputedStyle != "undefined")
	{
		return parseInt(div.style.left);
	}
	else
	{
		return document.layers ? div.left : (div.offsetLeft || parseInt(div.style.left) || div.style.pixelLeft || 0);
	}
}

function Util_GetDivTop(div)
{
	if(typeof window.crypto != "undefined" && typeof window.getComputedStyle != "undefined")
	{
		return parseInt(div.style.top);
	}
	else
	{
		return document.layers ? div.top : (div.offsetTop || parseInt(div.style.top) || div.style.pixelTop || 0);
	}
}

function Util_MoveDivTo(div, left, top)
{
	if(document.layers){ div.moveTo(left, top); return; } 
	if(typeof div.style.left != "undefined" && typeof div.style.left == "string")
	{
		div.style.left = left + 'px';
		div.style.top = top + 'px';
	}
	else if(typeof div.style.pixelLeft != "undefined")
	{
		div.style.pixelLeft = left;
		div.style.pixelTop = top;
	}
}

function Util_InitDivSize(div)
{
	if(document.layers) { return; }
	if(typeof div.style.width != "undefined" && typeof div.style.width == "string")
	{
		div.style.width = div.offsetWidth + 'px';
		div.style.height = div.offsetHeight + 'px';
	}
	else if(typeof div.style.pixelWidth != "undefined")
	{ 
		div.style.pixelWidth = div.offsetWidth;
		div.style.pixelHeight = div.offsetHeight;
	}
}

function Util_GetDivWidth(div)
{ 
	return document.layers ? div.clip.width : (div.offsetWidth || div.style.pixelWidth || 0);
}

function Util_GetDivHeight(div)
{
	return document.layers ? div.clip.height : (div.offsetHeight || div.style.pixelHeight || 0);
}

function Util_SetDivVisibility(div, visible)
{
	(div.style || div).visibility = visible ? 'inherit' : 'hidden';
}

function Util_GetClientX(x)
{
	switch(s_browser)
	{
	case 1:	// NN6+
	case 2:	// NN4
	case 3:	// IE
	case 4: // Opera
	default:
		return x + document.body.scrollLeft;
	}
}

function Util_GetClientY(y)
{
	switch(s_browser)
	{
	case 1:	// NN6+
	case 2:	// NN4
	case 3:	// IE
	case 4: // Opera
	default:
		return y + document.body.scrollTop;
	}
}

// 確認してからページジャンプ
function ConfirmPageJump( url, tgt, msg )
{
	if( !msg )
	{
		msg = "講談社から別のサイトへ移動します\nよろしいですか？";
	}
	
	if( !tgt )
	{
		tgt = "_blank";
	}
	
	if(window.confirm( msg ))
	{
		//location.href = url;
		window.open( url, tgt );
	}
}



// 画像きりかえ(そのコンテンツ毎）
function swapImage(obj, path, name)
{
	obj.src = "./" + path + "/image/" + name;
}

// 画像きりかえ(サイト全体で使用する共通メニューなど）
function swapCmnImage(obj, path, name)
{
	obj.src = "/aoitori" + path + "/image/" + name;
}


// パズルを開く
function openPuzzleGame( bcid )
{
	window.open('/aoitori/game/jigsaw/pzl' + bcid + '.html','w'+bcid,'width=1000,height=680, resizable=yes');
}


// ためし読みを開く
function openSampleBook( bcid )
{
	window.open('http://shop.kodansha.jp/flash/' + bcid + '/','t'+bcid,'width=1000,height=680, resizable=yes');
}



