
var lastPageScrollY = null ;
var percent         = new Number( .3 ) ;
var percent2        = new Number( .65 ) ;
var pageTopAction   = null ;
var pageTopStep     = new Number( 30 ) ;

function pageTop( )
{
	if ( !pageTopAction && window.setInterval )
	{
		pageTopAction = setInterval( "pageTop( )", pageTopStep ) ;
	}

	var pageScrollY = new Number( window.getPageOffset('top') ) ;
	var pageScrollX = new Number( window.getPageOffset('left') ) ;
	var nextScrollY = new Number( ) ;
	var next        = new Number( ) ;

	/* ----------------------------------------------------------------------
		lastPageScrollY が null の場合 (pageTop( )を初めて実行した時)
		pageScrollY != lastPageScrollY (前回処理した座標と今回の座標が異なるとき)
		 → ユーザーがスクロールバーでスクロールした場合、処理を中断

		pageScrollY が 0 の時、処理を終了する
	---------------------------------------------------------------------- */
	if (
		( lastPageScrollY && pageScrollY != lastPageScrollY )
			||
		pageScrollY == 0
	   )
	{
		clearPageTop( ) ;
	}
	else
	{
		next = Math.floor( ( 0 - pageScrollY ) * percent * percent2 ) ;

		nextScrollY = Math.max( 0, ( pageScrollY + next ) ) ;

		window.scroll( pageScrollX, nextScrollY ) ;

		lastPageScrollY = nextScrollY ;
	}
}

function clearPageTop( )
{
	window.clearInterval( pageTopAction ) ;
	pageTopAction   = null ;
	lastPageScrollY = null ;
}

