rem: if ( t > this.options.duration + this.startTime ) { 
add: if ( gotoEnd || t > this.options.duration + this.startTime ) { 
context: 	step: function(){		var t = (new Date()).getTime();		if ( t > this.options.duration + this.startTime ) {			this.now = this.end;			this.pos = this.state = 1;			this.update();			this.options.curAnim[ this.prop ] = true;			var done = true;			for ( var i in this.options.curAnim )				if ( this.options.curAnim[i] !== true )					done = false;			if ( done ) {				if ( this.options.display != null ) {					// Reset the overflow					this.elem.style.overflow = this.options.overflow;									// Reset the display					this.elem.style.display = this.options.display;					if ( jQuery.css(this.elem, "display") == "none" )						this.elem.style.display = "block";				}				// Hide the element if the "hide" operation was done				if ( this.options.hide )					this.elem.style.display = "none";				// Reset the properties, if the item has been hidden or shown				if ( this.options.hide || this.options.show )					for ( var p in this.options.curAnim )						jQuery.attr(this.elem.style, p, this.options.orig[p]);			}			// If a callback was provided, execute it			if ( done && jQuery.isFunction( this.options.complete ) )				// Execute the complete function				this.options.complete.apply( this.elem );			return false;		} else {			var n = t - this.startTime;			this.state = n / this.options.duration;			// Perform the easing function, defaults to swing			this.pos = jQuery.easing[this.options.easing || (jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, this.options.duration);			this.now = this.start + ((this.end - this.start) * this.pos);			// Perform the next step of the animation			this.update();		}		return true;	}
meta: 3217	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/3217/5039a4bc5b951b9d28659f6f42f73c59e2e560fc/fx.js/buggy/src/fx.js