// JavaScript Document
function GetBrowser()
{
	var ret = "";
	if(navigator.appName=="Netscape"){//Netscape
		ret = "NS";
    } else  if(navigator.userAgent.indexOf("Gecko")!=-1){//Netscape6や7などMozillaのGeckoエンジン
		ret = "NS";
	} else if(navigator.userAgent.indexOf("Netscape6")!=-1){//Netscape6
		ret = "NS";
	} else  if(navigator.appName=="Microsoft Internet Explorer"){//IE
		ret = "IE";
	} else  if(navigator.userAgent.indexOf("MSIE")!=-1){//IE
		ret = "IE";
	} else if(window.opera){//Opera
		ret = "OP";
	} else if(navigator.userAgent.search('opera(\ |\/)6') != -1){//Opera6
		ret = "OP";
	} else if(navigator.userAgent.search('opera(\ |\/)7') != -1){//Opera7
		ret = "OP";
	} else if(navigator.userAgent.indexOf("Safari")!=-1){//Safari
		ret = "SA";
	} else if(navigator.userAgent.indexOf("Konqueror")!=-1){//Konqueror (Linux KDE用ブラウザ)
		ret = "KO";
	}
	return ret;
}

function SetOnScroll(fn)
{
	var isIE = 0<=window.navigator.userAgent.indexOf("MSIE");
	if(isIE && document.compatMode=="BackCompat"){
		document.body.onscroll = fn;
	}else if(GetBrowser()=="IE"){
		document.documentElement.onscroll = fn;
	}else{
		document.onscroll = fn;
	}
	
	function ScrollEvent(){
		window.status += "s"; // IEのみ
	}
}

function GetScrollTop()
{
	var ret;
	ret =  (document.documentElement.scrollTop || document.body.scrollTop);
	return ret;
	var isIE = 0<=window.navigator.userAgent.indexOf("MSIE");
	if(isIE && document.compatMode=="BackCompat"){
		ret = document.body.scrollTop;
	}else if(GetBrowser()=="IE"){
		ret = document.documentElement.scrollTop;
	}else{
		ret = document.documentElement.scrollTop;
	}
	return ret;
//	var ret;
//	try {
//		ret = document.documentElement.scrollTop;
//	} catch(e) {
//		ret = document.body.scrollTop;
//	}
//document.body.scrollTop
//document.documentElement.scrollTop
//window.scrollTop
//	alert(document.body.scrollTop);
//	return ret;
}

function GetStyleTop(id)
{
//	var ret;
//	try {
//		ret = document.getElementById(id).style.top;
//	} catch (e) {
//		ret = document.all(id).style.pixelTop;
//	}
//	return ret;
	var ret;
	var isIE = 0<=window.navigator.userAgent.indexOf("MSIE");
	if(isIE && document.compatMode=="BackCompat"){
		ret = document.all(id).style.pixelTop;
	}else if(GetBrowser()=="IE"){
		ret = document.all(id).style.pixelTop;
	}else{
		ret = document.getElementById(id).style.top;
	}
	return ret;
}

function SetStyleTop(id, newVal)
{
	try {
		document.getElementById(id).style.top = newVal;
	} catch (e) {
		document.all(id).style.pixelTop = newVal;
	}
}

function addEvent(elm,listener,fn)
{
	try{
		elm.addEventListener(listener,fn,false);
	}catch(e){
		elm.attachEvent("on"+listener,fn);
	}
}

/* Scroll Menu */
new function ScrollNavi()
{
	var idNavi = "sidebar-snavi";
	var tmrID;
	var moveY;
	function OnScroll()
	{
		moveY = parseInt(GetScrollTop());
		clearInterval(tmrID);
		tmrID=setTimeout(MoveSideNavi,1);
	}
	function MoveSideNavi()
	{
		var top = parseInt(GetStyleTop(idNavi));
		top = Math.floor((moveY - top) / 20) + top;
		SetStyleTop(idNavi, top + "px");
		if (Math.abs(top) == moveY)
			clearInterval(tmrID);
		else
			tmrID=setTimeout(MoveSideNavi,1);
	}
	function initSideNavi()
	{
		offsetY = GetScrollTop();
		SetStyleTop(idNavi, offsetY);
		SetOnScroll(OnScroll);
	}	
	
	addEvent(window,"load",initSideNavi);
}

