- o.io = o.now = 1;
- o.a();
- return o;
-};
-$.fx.Resize = function(e,o){
- var z = this;
- var h = new $.fx.Height(e,o);
- if(o) { o.onComplete = null; }
- var w = new $.fx.Width(e,o);
- function c(a,b,d){return (!a||a==c||b==d);}
- for(var i in $.fx.fn){(function(){
- var j = $.fx.fn[i];
- z[j] = function(a,b){
- if(c(a,b,"height")) { h[j](); }
- if(c(a,b,"width")) { w[j](); }
- };
- })();}
- z.modify = function(c,d){
- h.modify(c);
- w.modify(d);
+
+ // IE has trouble with opacity if it doesn't have layout
+ if ( jQuery.browser == "msie" && !z.el.currentStyle.hasLayout )
+ y.zoom = 1;
+
+ // Remember the overflow of the element
+ z.oldOverflow = y.overflow;
+
+ // Make sure that nothing sneaks out
+ y.overflow = "hidden";
+
+ // Each step of an animation
+ z.step = function(firstNum, lastNum){
+ var t = (new Date()).getTime();
+
+ if (t > z.o.duration + z.startTime) {
+ // Stop the timer
+ clearInterval(z.timer);
+ z.timer = null;
+
+ z.now = lastNum;
+ z.a();
+
+ // Reset the overflow
+ y.overflow = z.oldOverflow;
+
+ // If the element was shown, and not using a custom number,
+ // set its height and/or width to auto
+ if ( (prop == "height" || prop == "width") && z.o.auto )
+ jQuery.setAuto( z.el, prop );
+
+ // If a callback was provided, execute it
+ if( z.o.complete.constructor == Function ) {
+
+ // Yes, this is a weird place for this, but it needs to be executed
+ // only once per cluster of effects.
+ // If the element is, effectively, hidden - hide it
+ if ( y.height == "0px" || y.width == "0px" )
+ y.display = "none";
+
+ // Execute the complete function
+ z.o.complete.apply( z.el );
+ }
+ } else {
+ // Figure out where in the animation we are and set the number
+ var p = (t - this.startTime) / z.o.duration;
+ z.now = ((-Math.cos(p*Math.PI)/2) + 0.5) * (lastNum-firstNum) + firstNum;
+
+ // Perform the next step of the animation
+ z.a();
+ }