rem: if ( oldDisplay != null ) { 
add: if ( options.display != null ) { 
context: 	fx: function( elem, options, prop ){		var z = this;		// The styles		var y = elem.style;				if ( prop == "height" || prop == "width" ) {			// Store display property			var oldDisplay = jQuery.css(elem, "display");			// Make sure that nothing sneaks out			var oldOverflow = y.overflow;			y.overflow = "hidden";		}		// Simple function for setting a style value		z.a = function(){			if ( options.step )				options.step.apply( elem, [ z.now ] );			if ( prop == "opacity" )				jQuery.attr(y, "opacity", z.now); // Let attr handle opacity			else {				y[prop] = parseInt(z.now) + "px";				y.display = "block"; // Set display property to block for animation			}		};		// Figure out the maximum number to run to		z.max = function(){			return parseFloat( jQuery.css(elem,prop) );		};		// Get the current size		z.cur = function(){			var r = parseFloat( jQuery.curCSS(elem, prop) );			return r && r > -10000 ? r : z.max();		};		// Start an animation from one number to another		z.custom = function(from,to){			z.startTime = (new Date()).getTime();			z.now = from;			z.a();			jQuery.timers.push(function(){				return z.step(from, to);			});			if ( jQuery.timers.length == 1 ) {				var timer = setInterval(function(){					var timers = jQuery.timers;										for ( var i = 0; i < timers.length; i++ )						if ( !timers[i]() )							timers.splice(i--, 1);					if ( !timers.length )						clearInterval( timer );				}, 13);			}		};		// Simple 'show' function		z.show = function(){			if ( !elem.orig ) elem.orig = {};			// Remember where we started, so that we can go back to it later			elem.orig[prop] = jQuery.attr( elem.style, prop );			options.show = true;			// Begin the animation			z.custom(0, this.cur());			// Make sure that we start at a small width/height to avoid any			// flash of content			if ( prop != "opacity" )				y[prop] = "1px";						// Start by showing the element			jQuery(elem).show();		};		// Simple 'hide' function		z.hide = function(){			if ( !elem.orig ) elem.orig = {};			// Remember where we started, so that we can go back to it later			elem.orig[prop] = jQuery.attr( elem.style, prop );			options.hide = true;			// Begin the animation			z.custom(this.cur(), 0);		};		// Each step of an animation		z.step = function(firstNum, lastNum){			var t = (new Date()).getTime();			if (t > options.duration + z.startTime) {				z.now = lastNum;				z.a();				if (elem.curAnim) elem.curAnim[ prop ] = true;				var done = true;				for ( var i in elem.curAnim )					if ( elem.curAnim[i] !== true )						done = false;				if ( done ) {					if ( oldDisplay != null ) {						// Reset the overflow						y.overflow = oldOverflow;											// Reset the display						y.display = oldDisplay;						if ( jQuery.css(elem, "display") == "none" )							y.display = "block";					}					// Hide the element if the "hide" operation was done					if ( options.hide )						y.display = "none";					// Reset the properties, if the item has been hidden or shown					if ( options.hide || options.show )						for ( var p in elem.curAnim )							jQuery.attr(y, p, elem.orig[p]);				}				// If a callback was provided, execute it				if ( done && jQuery.isFunction( options.complete ) )					// Execute the complete function					options.complete.apply( elem );				return false;			} else {				var n = t - this.startTime;				// Figure out where in the animation we are and set the number				var p = n / options.duration;								// Perform the easing function, defaults to swing				z.now = jQuery.easing[options.easing](p, n, firstNum, (lastNum-firstNum), options.duration);				// Perform the next step of the animation				z.a();			}			return true;		};		}
meta: 1375	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/1375/12ebfa3b01847f277aa6630e76697d5cd09560d0/fx.js/clean/src/fx/fx.js