var usrAgent    = navigator.userAgent.toUpperCase( ) ;

var WIN	= ( usrAgent.indexOf("WIN") != -1 ) ? true : false ;
var MAC	= ( usrAgent.indexOf("MAC") != -1 ) ? true : false ;

var NN4	= ( document.layers ? true : false ) ;
var NN6	= ( document.getElementById && !document.all ? true : false ) ;
var IE4	= ( document.all && !document.getElementById ? true : false ) ;
var IE5	= ( document.all && document.getElementById ? true : false ) ;

function getEventX( evt )
{
	if ( NN4 )
	{
		return evt.pageX ;
	}
	else if ( NN6 )
	{
		return ( window.scrollX + evt.clientX ) ;
	}
	else if ( IE4 || IE5 )
	{
		return ( document.body.scrollLeft + event.clientX ) ;
	}
}

function getEventY( evt )
{
	if ( NN4 )
	{
		return evt.pageY ;
	}
	else if ( NN6 )
	{
		return ( window.scrollY + evt.clientY ) ;
	}
	else if ( IE4 || IE5 )
	{
		return ( document.body.scrollTop + event.clientY ) ;
	}
}

function getPageOffset( which )
{
	if ( which == "left" )
	{
		if ( NN4 )
		{
			return self.pageXOffset ;
		}
		else if ( NN6 )
		{
			return window.scrollX ;
		}
		else
		{
			return document.body.scrollLeft ;
		}
	}
	if ( which == "top" )
	{
		if ( NN4 )
		{
			return self.pageYOffset ;
		}
		else if ( NN6 )
		{
			return window.scrollY ;
		}
		else
		{
			return document.body.scrollTop ;
		}
	}
}

function doPageScroll( st_X,max_X,st_Y,max_Y )
{
	var diffX,diffY,stepX,stepY,moveX,moveY ;

	diffX = .1 * ( max_X - st_X ) ;
	if( diffX > 0 )
		stepX = Math.ceil( diffX ) ;
	else
		stepX = Math.floor( diffX ) ;

	diffY = .1 * ( max_Y - st_Y ) ;
	if( diffY > 0 )
		stepY = Math.ceil( diffY ) ;
	else
		stepY = Math.floor( diffY ) ;

	moveX = st_X + stepX ;
	moveY = st_Y + stepY ;
	
// window.status = "X is : " +moveX+ " Y is : " +moveY ;

	if ( stepX > 0 && moveX <= max_X || stepY > 0 && moveY <= max_Y ||
		 stepX < 0 && moveX >= max_X || stepY < 0 && moveY >= max_Y )
	{
		scroll( moveX,moveY )

		st_X += stepX ;
		st_Y += stepY ;

		setTimeout( "doPageScroll( " +st_X+ "," +max_X+ "," +st_Y+ "," +max_Y+ " )",1 ) ;
	}
	else return true ;
}

function pageScrollTo( max_X,max_Y )
{
	var st_X,st_Y ;

	st_X = getPageOffset( "left" ) ;
	st_Y = getPageOffset( "top" ) ;

	doPageScroll( st_X,max_X,st_Y,max_Y ) ;
}

