var SmoothScroll = {};SmoothScroll = {	targetScrollTop : 0,	// we're gonna make the $(parentid).scrollTop -> targetScrollTop	dist : 0,	timer : 0,	count : 0,	parentid : 0,	lastDist : 0,	//speedStore : [],		// for debug	options : {},	defaultOptions : {		time : 1*1000,	// [ms]		unit : 10			// [ms]	},	scrollTo : function( element, parent, options ){		this.options.time = this.defaultOptions.time;		this.options.unit = this.defaultOptions.unit;		if( options ){			this.options.time = ( options.time ) ? options.time : this.options.time;			this.options.unit = ( options.unit ) ? options.unit : this.options.unit;		}		clearInterval( this.timer );		this.parentid = parent;		this.scrollTopMax = this.$(parent).scrollHeight - this.$(parent).offsetHeight + parseInt(this.$(parent).style.borderTopWidth) + parseInt(this.$(parent).style.borderBottomWidth);		if( navigator.userAgent.match( "MSIE" ) ){			this.targetScrollTop = ( element ) ? this.$(element).offsetTop : 0;		}else{			var targetOffsetTop = ( element ) ? this.$(element).offsetTop : this.$(parent).offsetTop;			this.targetScrollTop = targetOffsetTop - this.$(parent).offsetTop;		}		this.targetScrollTop = ( this.targetScrollTop > this.scrollTopMax ) ? this.scrollTopMax : this.targetScrollTop;		this.dist = this.targetScrollTop - this.$(parent).scrollTop;		this.lastDist = 0;		this.timer = setInterval('SmoothScroll.update()', this.options.unit );		this.count = 0;		//this.speedStore = [];		this.update();	},	update : function(){		var dist = this.targetScrollTop - this.$(this.parentid).scrollTop;		var speed = 2 * dist * this.options.unit / ( this.options.time - this.options.unit * this.count );		//this.speedStore.push( speed );		speed = ( speed > 0 ) ? Math.ceil( speed ) : Math.floor( speed );		if( Math.abs(dist) <= Math.abs(speed) ){			// got there			clearInterval( this.timer );			this.$(this.parentid).scrollTop = this.targetScrollTop;			return;		}else if( this.lastDist == dist ){			// stuck			clearInterval( this.timer );			this.$(this.parentid).scrollTop = this.targetScrollTop;			return;		}		var scrollTop = this.$(this.parentid).scrollTop + speed;		this.$(this.parentid).scrollTop = scrollTop;		this.lastDist = dist;		this.count++;		if( this.count == this.options.time / this.options.unit ){			// timeout			clearInterval( this.timer );			this.$(this.parentid).scrollTop = this.targetScrollTop;		}	},	$ : function(id) {		return document.getElementById(id);	}}function gototop20060827(){	document.getElementById('scroll20060827').scrollTop = 0;}