
function CPageScroll()
{
	this.bMac = navigator.appVersion.indexOf('Mac',0) != -1;
	this.bWin = navigator.appVersion.indexOf('Win',0) != -1;
	this.bIE  = navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1;
	this.bNN  = navigator.appName.indexOf("Netscape",0) != -1;
	this.bMoz = navigator.userAgent.indexOf("Gecko") != -1;
	this.iVerMajor = parseInt(navigator.appVersion);	// ex. 3
	this.fVerMinor = parseFloat(navigator.appVersion);	// ex. 3.01

	this.bMacIE4 = ((this.bMac && navigator.appVersion.indexOf('MSIE 4.',0) != -1));
	this.bMacIE3 = ((this.bMac && navigator.appVersion.indexOf('MSIE 3.',0) != -1));

	//メソッド
	this.Top = Top;
	this.Scroll = Scroll;
	this.GetScrollLeft = GetScrollLeft;
	this.GetScrollTop = GetScrollTop;
	this.GetScrollWidth = GetScrollWidth;
	this.GetScrollHeight = GetScrollHeight;

	function Top()
	{
		if (!this.bMacIE3 && !this.bMacIE4 && !this.bNN && window.scrollTo || this.bNN && (this.fVerMinor >= 4.75) && window.scrollTo)
		{
			//スクロール設定
			Scroll(0,0,4);
		}
		else
		{
			location.hash = "pagetop";
		}
	}

	function Scroll( toX, toY, frms, cuX, cuY )
	{
		if (!toX || toX < 0) toX = 0;
		if (!toY || toY < 0) toY = 0;
		if (!cuX) cuX = 0 + GetScrollLeft();
		if (!cuY) cuY = 0 + GetScrollTop();
		if (!frms) frms = 6;

		cuX += (toX - GetScrollLeft()) / frms; if (cuX < 0) cuX = 0;
		cuY += (toY - GetScrollTop()) / frms;  if (cuY < 0) cuY = 0;
		var posX = Math.floor(cuX);
		var posY = Math.floor(cuY);
		window.scrollTo(posX, posY);
		if (posX != toX || posY != toY)
		{
			setTimeout("objPageScroll.Scroll("+toX+","+toY+","+frms+","+cuX+","+cuY+")",3);
		}
	}



	function GetScrollLeft()
	{
		if((navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1))
		{
			return document.body.scrollLeft;
		}
		else if (window.pageXOffset)
		{
			return window.pageXOffset;
		}
		else
		{
			return 0;
		}
	}

	function GetScrollTop()
	{
		if((navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1))
		{
			return document.body.scrollTop;
		}
		else if (window.pageYOffset)
		{
			return window.pageYOffset;
		}
		else
		{
			return 0;
		}
	}

	function GetScrollWidth()
	{
		if((navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1))
		{
			return document.body.scrollWidth;
		}
		else if (window.innerWidth)
		{
			return window.innerWidth;
		}
		return 0;
	}

	function GetScrollHeight()
	{
		if ((navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1))
		{
			return document.body.scrollHeight;
		}
		else if (window.innerHeight)
		{
			return window.innerHeight;
		}
		return 0;
	}
}
//インスタンス
var objPageScroll;
objPageScroll = new CPageScroll();