﻿//================================================================================================================================
//クレジット表示(Topページ「Profile」クリック時)
function DispCredit()
{
	window.open("credit.html","","toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=300,height=250");
	return true;
}
//================================================================================================================================
// id=「DispArea」の表示・非表示を切り替える。
// 使用例　<input class="dispBtn" type="button" value="表示" onClick="chgVisibility('table1',this);" id="Button1">
function chgVisibility(DispArea,ClickItem)
{
	var DispStyle;

	DispStyle = document.getElementById(DispArea).style.display;
	
	//if (DispStyle == "none" || DispStyle == '')
	if (DispStyle == "none")
	{
		$(DispArea).style.display = "block";
	}else{
		$(DispArea).style.display = "none";
	}
	$(ClickItem.id).blur(); //ボタンからフォーカスをはずす
	chgBtnText(ClickItem);
	return true;
}

//================================================================================================================================
// 指定したエリア（複数指定可能）をすべて非表示にする。
// 使用例　<input type="button" value="HideAll" onClick="HideAll('tblA','tblB','tblC','tblD','tblE');">
function HideAll()
{
	for (i=0;i<arguments.length;i++)
	{
		$(arguments[i]).style.display = "none";
	}
	return true;
}

//================================================================================================================================
// 指定したエリア（複数指定可能）をすべて表示する。
// 使用例　<input type="button" value="HideAll" onClick="ShowAll('tblA','tblB','tblC','tblD','tblE');">
function ShowAll()
{
	for (i=0;i<arguments.length;i++)
	{
		$(arguments[i]).style.display = "block";
	}
	return true;
}

//================================================================================================================================
// ボタンの画像を変更する。(Tips index.html用)
function lightonButton(button)
{
	if(button.src.indexOf("blue_hide.png") >= 0)
		button.src = "../images/orange_hide.png";
	else if(button.src.indexOf("blue_show.png") >= 0)
		button.src = "../images/orange_show.png";
}

function lightoffButton(button)
{
	if(button.src.indexOf("orange_hide.png") >= 0)
		button.src = "../images/blue_hide.png";
	else if(button.src.indexOf("orange_show.png") >= 0)
		button.src = "../images/blue_show.png";
}

function lightonButtonL(button)
{
	if(button.src.indexOf("blue_hide_all.png") >= 0)
		button.src = "../images/orange_hide_all.png";
	else if(button.src.indexOf("blue_show_all.png") >= 0)
		button.src = "../images/orange_show_all.png";
}

function lightoffButtonL(button)
{
	if(button.src.indexOf("orange_hide_all.png") >= 0)
		button.src = "../images/blue_hide_all.png";
	else if(button.src.indexOf("orange_show_all.png") >= 0)
		button.src = "../images/blue_show_all.png";
}

//================================================================================================================================
// 指定したボタンのキャプションを変更する。
// 
// 

function chgBtnText(button)
{
	switch(true){
		case button.src.indexOf("orange_show.png") >= 0:
			button.src = "../images/orange_hide.png";
			break;
		case button.src.indexOf("orange_hide.png") >= 0:
			button.src = "../images/orange_show.png";
			break;
		case button.src.indexOf("blue_show.png") >= 0:
			button.src = "../images/blue_hide.png";
			break;
		case button.src.indexOf("blue_hide.png") >= 0:
			button.src = "../images/blue_show.png";
			break;
		default:
			break;
	}
}

function chgBtnTextAll(show)
{
	var srcStr;
	if(show)
		srcStr = "../images/blue_hide.png";
	else
		srcStr = "../images/blue_show.png";

	for (i=1;i<arguments.length;i++)
	{
		$(arguments[i]).src = srcStr;
	}
	return true;
}

//================================================================================================================================
// id=「item」の領域の文字を黒に変化させる。（base.css .btと組み合わせて用いる。「About This Site」用)
function w2b(item)
{
	$(item).filters.blendTrans.Apply();
	$(item).innerHTML="考え中・・・";
	$(item).style.height = "300px";
	$(item).style.color = "#000000";
	$(item).style.cursor = "default";
	$(item).filters.blendTrans.Play();
	return true;
}

//================================================================================================================================
// 指定した数だけ&nbsp;を出力する。
function mySpace(num)
{
	var i;
	
	for(i=0;i<num;i++)
	{
		document.write("&nbsp;");
	}
	return true;
}

//================================================================================================================================
// 著作権を表示する。
function DispCopyright()
{
	var thisYear = new Date().getFullYear().toString();
	document.write("Copyright&copy; Vacant-Eyes 2004-" + thisYear + ". All rights reserved.");
	return true;
}

//================================================================================================================================
// メニューイベントハンドラ
function menu_onmouseover(area, evt)
{
	// コメントを表示
	if(area.getAttribute("href").indexOf("history.aspx") >= 0)		$("comment").innerHTML = "<input type=\"button\" value=\"押せる？\" onclick=\"$('comment').innerHTML='おぬし、やるのぉ･･･'\" />";
	else if(area.getAttribute("href").indexOf("diary.html") >= 0)	$("comment").innerHTML = "日記と言う名の愚痴を書き綴っています。";
	else if(area.getAttribute("href").indexOf("tips/") >= 0)		$("comment").innerHTML = "一応このサイトのメインです。";
	else if(area.getAttribute("href").indexOf("links.aspx") >= 0)	$("comment").innerHTML = "お世話になっているサイトさまです。";
	else if(area.getAttribute("href").indexOf("guestbook/") >= 0)	$("comment").innerHTML = "よければ足跡など残していってくだされ。";
	else if(area.getAttribute("href").indexOf("profile.aspx") >= 0)	$("comment").innerHTML = "私はだれ？　誰かおしえてください。";

	// サブメニュー表示
	if(area.getAttribute("href").indexOf("tips/") >= 0){
		showSubmenu(evt);
	}

	// メニューのフィルタ効果
/*
	area.style.filter = "progid:DXImageTransform.Microsoft.Strips()";
	area.filters[0].Apply();
	area.filters[0].Duration = 0.25;
	area.filters[0].Motion = "rightup";
	area.filters[0].Play();
*/
}

function menu_onmouseout()
{
	$("comment").innerHTML = "";
	hideSubmenu();
}

function submenu_onmouseover()
{
	//showSubmenu();これだと、サブメニューにマウスが乗ったら、また高さ０から始まるやん。
	$("TipsSubMenu").style.display = "block";
	if($("SubMenuShadow")!=null){
		$("SubMenuShadow").style.display = "block";
	}
}

function submenu_onmouseout()
{
	hideSubmenu();
}

var sh=0,sh_timer=null,sh_a=1;
function showSubmenu(evt){

	sh = 0;
	sh_a = 1;

	var submenu = $("TipsSubMenu");
	if(window.navigator.userAgent.indexOf("Firefox")>=0){
		//submenu.style.left = "200px";
		//submenu.style.top = "300px";
		//submenu.style.left = (eventX(evt) - evt.layerX + document.documentElement.scrollLeft + 30).toString() + "px";
		//submenu.style.top = (eventY(evt) - evt.layerY + document.documentElement.scrollTop + 10).toString() + "px";
		submenu.style.left = (eventX(evt) + document.documentElement.scrollLeft + 20).toString() + "px";
		submenu.style.top = (eventY(evt) + document.documentElement.scrollTop).toString() + "px";

	}else{
		submenu.style.left = (eventX(evt) - offsetX(evt) + document.documentElement.scrollLeft + 80).toString() + "px";
		submenu.style.top = (eventY(evt) - offsetY(evt) + document.documentElement.scrollTop + 10).toString() + "px";
	}
	submenu.style.height = "0px";
	submenu.style.display = "block";

	// 影
	if($("SubMenuShadow")!=null){
		document.body.removeChild($("SubMenuShadow"));
	}
	var newElem = document.createElement("div");
	newElem.setAttribute("id","SubMenuShadow");
	newElem.className = "submenushadow";
	newElem.style.width = submenu.style.width;
	newElem.style.height = submenu.style.height;
	newElem.style.top = (parseInt(submenu.style.top.replace("px","")) + 5).toString() + "px";
	newElem.style.left = (parseInt(submenu.style.left.replace("px","")) + 5).toString() + "px";
	document.body.appendChild(newElem);
	
	if(sh_timer==null){
		sh_timer = setInterval("animateSubmenu()", 10);
	}
}

function animateSubmenu(){
	$("TipsSubMenu").style.height = sh.toString() + "px";
	if($("SubMenuShadow")!=null){
		$("SubMenuShadow").style.height = sh.toString() + "px";
	}
	sh += sh_a;
	sh_a++;
	if(sh>=140){
		clearInterval(sh_timer);
		sh_timer = null;
//$("TipsSubMenu").innerHTML = $("TipsSubMenu").style.height;
	}
}

function hideSubmenu(){
	$("TipsSubMenu").style.display = "none";
	if($("SubMenuShadow")!=null){
		$("SubMenuShadow").style.display = "none";
	}
}

//================================================================================================================================
// document.getElementById 短縮版
function $(id)
{
	return document.getElementById(id);
}

//================================================================================================================================
// IEとFirefoxのeventオブジェクトの差異を吸収
// e:event

// event.x (IE)
function eventX(e){
	var browser = window.navigator.userAgent;

	switch(true){
		case browser.indexOf("MSIE")>=0:
			return e.x;
			break;
		case browser.indexOf("Firefox")>=0:
			return e.pageX - document.body.scrollLeft;
			break;
		default:
			return e.x;
			break;
	}
}

// event.y (IE)
function eventY(e){
	var browser = window.navigator.userAgent;

	switch(true){
		case browser.indexOf("MSIE")>=0:
			return e.y;
			break;
		case browser.indexOf("Firefox")>=0:
			return e.pageY - document.body.scrollTop;
			break;
		default:
			return e.y;
			break;
	}
}

// event.offsetX (IE)
function offsetX(e){
	var browser = window.navigator.userAgent;

	switch(true){
		case browser.indexOf("MSIE")>=0:
			return e.offsetX;
			break;
		case browser.indexOf("Firefox")>=0:
			return e.layerX;  // style position:absoluteでないとだめみたい。
			break;
		default:
			return e.offsetX;
			break;
	}
}

// event.offsetY (IE)
function offsetY(e){
	var browser = window.navigator.userAgent;

	switch(true){
		case browser.indexOf("MSIE")>=0:
			return e.offsetY;
			break;
		case browser.indexOf("Firefox")>=0:
			return e.layerY;
			break;
		default:
			return e.offsetY;
			break;
	}
}
