corrade-nucleus-nucleons – Blame information for rev 20

Subversion Repositories:
Rev:
Rev Author Line No. Line
20 office 1 define([
2 "./core",
3 "./var/pnum",
4 "./css/var/cssExpand",
5 "./css/var/isHidden",
6 "./css/defaultDisplay",
7 "./data/var/data_priv",
8  
9 "./core/init",
10 "./effects/Tween",
11 "./queue",
12 "./css",
13 "./deferred",
14 "./traversing"
15 ], function( jQuery, pnum, cssExpand, isHidden, defaultDisplay, data_priv ) {
16  
17 var
18 fxNow, timerId,
19 rfxtypes = /^(?:toggle|show|hide)$/,
20 rfxnum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ),
21 rrun = /queueHooks$/,
22 animationPrefilters = [ defaultPrefilter ],
23 tweeners = {
24 "*": [ function( prop, value ) {
25 var tween = this.createTween( prop, value ),
26 target = tween.cur(),
27 parts = rfxnum.exec( value ),
28 unit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
29  
30 // Starting value computation is required for potential unit mismatches
31 start = ( jQuery.cssNumber[ prop ] || unit !== "px" && +target ) &&
32 rfxnum.exec( jQuery.css( tween.elem, prop ) ),
33 scale = 1,
34 maxIterations = 20;
35  
36 if ( start && start[ 3 ] !== unit ) {
37 // Trust units reported by jQuery.css
38 unit = unit || start[ 3 ];
39  
40 // Make sure we update the tween properties later on
41 parts = parts || [];
42  
43 // Iteratively approximate from a nonzero starting point
44 start = +target || 1;
45  
46 do {
47 // If previous iteration zeroed out, double until we get *something*
48 // Use a string for doubling factor so we don't accidentally see scale as unchanged below
49 scale = scale || ".5";
50  
51 // Adjust and apply
52 start = start / scale;
53 jQuery.style( tween.elem, prop, start + unit );
54  
55 // Update scale, tolerating zero or NaN from tween.cur()
56 // And breaking the loop if scale is unchanged or perfect, or if we've just had enough
57 } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations );
58 }
59  
60 // Update tween properties
61 if ( parts ) {
62 start = tween.start = +start || +target || 0;
63 tween.unit = unit;
64 // If a +=/-= token was provided, we're doing a relative animation
65 tween.end = parts[ 1 ] ?
66 start + ( parts[ 1 ] + 1 ) * parts[ 2 ] :
67 +parts[ 2 ];
68 }
69  
70 return tween;
71 } ]
72 };
73  
74 // Animations created synchronously will run synchronously
75 function createFxNow() {
76 setTimeout(function() {
77 fxNow = undefined;
78 });
79 return ( fxNow = jQuery.now() );
80 }
81  
82 // Generate parameters to create a standard animation
83 function genFx( type, includeWidth ) {
84 var which,
85 i = 0,
86 attrs = { height: type };
87  
88 // if we include width, step value is 1 to do all cssExpand values,
89 // if we don't include width, step value is 2 to skip over Left and Right
90 includeWidth = includeWidth ? 1 : 0;
91 for ( ; i < 4 ; i += 2 - includeWidth ) {
92 which = cssExpand[ i ];
93 attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
94 }
95  
96 if ( includeWidth ) {
97 attrs.opacity = attrs.width = type;
98 }
99  
100 return attrs;
101 }
102  
103 function createTween( value, prop, animation ) {
104 var tween,
105 collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ),
106 index = 0,
107 length = collection.length;
108 for ( ; index < length; index++ ) {
109 if ( (tween = collection[ index ].call( animation, prop, value )) ) {
110  
111 // we're done with this property
112 return tween;
113 }
114 }
115 }
116  
117 function defaultPrefilter( elem, props, opts ) {
118 /* jshint validthis: true */
119 var prop, value, toggle, tween, hooks, oldfire, display,
120 anim = this,
121 orig = {},
122 style = elem.style,
123 hidden = elem.nodeType && isHidden( elem ),
124 dataShow = data_priv.get( elem, "fxshow" );
125  
126 // handle queue: false promises
127 if ( !opts.queue ) {
128 hooks = jQuery._queueHooks( elem, "fx" );
129 if ( hooks.unqueued == null ) {
130 hooks.unqueued = 0;
131 oldfire = hooks.empty.fire;
132 hooks.empty.fire = function() {
133 if ( !hooks.unqueued ) {
134 oldfire();
135 }
136 };
137 }
138 hooks.unqueued++;
139  
140 anim.always(function() {
141 // doing this makes sure that the complete handler will be called
142 // before this completes
143 anim.always(function() {
144 hooks.unqueued--;
145 if ( !jQuery.queue( elem, "fx" ).length ) {
146 hooks.empty.fire();
147 }
148 });
149 });
150 }
151  
152 // height/width overflow pass
153 if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) {
154 // Make sure that nothing sneaks out
155 // Record all 3 overflow attributes because IE9-10 do not
156 // change the overflow attribute when overflowX and
157 // overflowY are set to the same value
158 opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
159  
160 // Set display property to inline-block for height/width
161 // animations on inline elements that are having width/height animated
162 display = jQuery.css( elem, "display" );
163 // Get default display if display is currently "none"
164 if ( display === "none" ) {
165 display = defaultDisplay( elem.nodeName );
166 }
167 if ( display === "inline" &&
168 jQuery.css( elem, "float" ) === "none" ) {
169  
170 style.display = "inline-block";
171 }
172 }
173  
174 if ( opts.overflow ) {
175 style.overflow = "hidden";
176 anim.always(function() {
177 style.overflow = opts.overflow[ 0 ];
178 style.overflowX = opts.overflow[ 1 ];
179 style.overflowY = opts.overflow[ 2 ];
180 });
181 }
182  
183 // show/hide pass
184 for ( prop in props ) {
185 value = props[ prop ];
186 if ( rfxtypes.exec( value ) ) {
187 delete props[ prop ];
188 toggle = toggle || value === "toggle";
189 if ( value === ( hidden ? "hide" : "show" ) ) {
190  
191 // If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden
192 if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
193 hidden = true;
194 } else {
195 continue;
196 }
197 }
198 orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
199 }
200 }
201  
202 if ( !jQuery.isEmptyObject( orig ) ) {
203 if ( dataShow ) {
204 if ( "hidden" in dataShow ) {
205 hidden = dataShow.hidden;
206 }
207 } else {
208 dataShow = data_priv.access( elem, "fxshow", {} );
209 }
210  
211 // store state if its toggle - enables .stop().toggle() to "reverse"
212 if ( toggle ) {
213 dataShow.hidden = !hidden;
214 }
215 if ( hidden ) {
216 jQuery( elem ).show();
217 } else {
218 anim.done(function() {
219 jQuery( elem ).hide();
220 });
221 }
222 anim.done(function() {
223 var prop;
224  
225 data_priv.remove( elem, "fxshow" );
226 for ( prop in orig ) {
227 jQuery.style( elem, prop, orig[ prop ] );
228 }
229 });
230 for ( prop in orig ) {
231 tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
232  
233 if ( !( prop in dataShow ) ) {
234 dataShow[ prop ] = tween.start;
235 if ( hidden ) {
236 tween.end = tween.start;
237 tween.start = prop === "width" || prop === "height" ? 1 : 0;
238 }
239 }
240 }
241 }
242 }
243  
244 function propFilter( props, specialEasing ) {
245 var index, name, easing, value, hooks;
246  
247 // camelCase, specialEasing and expand cssHook pass
248 for ( index in props ) {
249 name = jQuery.camelCase( index );
250 easing = specialEasing[ name ];
251 value = props[ index ];
252 if ( jQuery.isArray( value ) ) {
253 easing = value[ 1 ];
254 value = props[ index ] = value[ 0 ];
255 }
256  
257 if ( index !== name ) {
258 props[ name ] = value;
259 delete props[ index ];
260 }
261  
262 hooks = jQuery.cssHooks[ name ];
263 if ( hooks && "expand" in hooks ) {
264 value = hooks.expand( value );
265 delete props[ name ];
266  
267 // not quite $.extend, this wont overwrite keys already present.
268 // also - reusing 'index' from above because we have the correct "name"
269 for ( index in value ) {
270 if ( !( index in props ) ) {
271 props[ index ] = value[ index ];
272 specialEasing[ index ] = easing;
273 }
274 }
275 } else {
276 specialEasing[ name ] = easing;
277 }
278 }
279 }
280  
281 function Animation( elem, properties, options ) {
282 var result,
283 stopped,
284 index = 0,
285 length = animationPrefilters.length,
286 deferred = jQuery.Deferred().always( function() {
287 // don't match elem in the :animated selector
288 delete tick.elem;
289 }),
290 tick = function() {
291 if ( stopped ) {
292 return false;
293 }
294 var currentTime = fxNow || createFxNow(),
295 remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
296 // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497)
297 temp = remaining / animation.duration || 0,
298 percent = 1 - temp,
299 index = 0,
300 length = animation.tweens.length;
301  
302 for ( ; index < length ; index++ ) {
303 < length ; index++ ) { animation.tweens[ index ].run( percent );
304 < length ; index++ ) { }
305  
306 < length ; index++ ) { deferred.notifyWith( elem, [ animation, percent, remaining ]);
307  
308 < length ; index++ ) { if ( percent < 1 && length ) {
309 < length ; index++ ) {< 1 && length ) { return remaining;
310 < length ; index++ ) {< 1 && length ) { } else {
311 < length ; index++ ) {< 1 && length ) { deferred.resolveWith( elem, [ animation ] );
312 < length ; index++ ) {< 1 && length ) { return false;
313 < length ; index++ ) {< 1 && length ) { }
314 < length ; index++ ) {< 1 && length ) { },
315 < length ; index++ ) {< 1 && length ) { animation = deferred.promise({
316 < length ; index++ ) {< 1 && length ) { elem: elem,
317 < length ; index++ ) {< 1 && length ) { props: jQuery.extend( {}, properties ),
318 < length ; index++ ) {< 1 && length ) { opts: jQuery.extend( true, { specialEasing: {} }, options ),
319 < length ; index++ ) {< 1 && length ) { originalProperties: properties,
320 < length ; index++ ) {< 1 && length ) { originalOptions: options,
321 < length ; index++ ) {< 1 && length ) { startTime: fxNow || createFxNow(),
322 < length ; index++ ) {< 1 && length ) { duration: options.duration,
323 < length ; index++ ) {< 1 && length ) { tweens: [],
324 < length ; index++ ) {< 1 && length ) { createTween: function( prop, end ) {
325 < length ; index++ ) {< 1 && length ) { var tween = jQuery.Tween( elem, animation.opts, prop, end,
326 < length ; index++ ) {< 1 && length ) { animation.opts.specialEasing[ prop ] || animation.opts.easing );
327 < length ; index++ ) {< 1 && length ) { animation.tweens.push( tween );
328 < length ; index++ ) {< 1 && length ) { return tween;
329 < length ; index++ ) {< 1 && length ) { },
330 < length ; index++ ) {< 1 && length ) { stop: function( gotoEnd ) {
331 < length ; index++ ) {< 1 && length ) { var index = 0,
332 < length ; index++ ) {< 1 && length ) { // if we are going to the end, we want to run all the tweens
333 < length ; index++ ) {< 1 && length ) { // otherwise we skip this part
334 < length ; index++ ) {< 1 && length ) { length = gotoEnd ? animation.tweens.length : 0;
335 < length ; index++ ) {< 1 && length ) { if ( stopped ) {
336 < length ; index++ ) {< 1 && length ) { return this;
337 < length ; index++ ) {< 1 && length ) { }
338 < length ; index++ ) {< 1 && length ) { stopped = true;
339 < length ; index++ ) {< 1 && length ) { for ( ; index < length ; index++ ) {
340 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { animation.tweens[ index ].run( 1 );
341 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { }
342  
343 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { // resolve when we played the last frame
344 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { // otherwise, reject
345 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { if ( gotoEnd ) {
346 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { deferred.resolveWith( elem, [ animation, gotoEnd ] );
347 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { } else {
348 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { deferred.rejectWith( elem, [ animation, gotoEnd ] );
349 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { }
350 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { return this;
351 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { }
352 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { }),
353 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { props = animation.props;
354  
355 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { propFilter( props, animation.opts.specialEasing );
356  
357 < length ; index++ ) {< 1 && length ) {< length ; index++ ) { for ( ; index < length ; index++ ) {
358 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { result = animationPrefilters[ index ].call( animation, elem, props, animation.opts );
359 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { if ( result ) {
360 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { return result;
361 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { }
362 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { }
363  
364 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { jQuery.map( props, createTween, animation );
365  
366 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { if ( jQuery.isFunction( animation.opts.start ) ) {
367 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { animation.opts.start.call( elem, animation );
368 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { }
369  
370 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { jQuery.fx.timer(
371 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { jQuery.extend( tick, {
372 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { elem: elem,
373 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { anim: animation,
374 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { queue: animation.opts.queue
375 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { })
376 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { );
377  
378 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { // attach callbacks from options
379 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { return animation.progress( animation.opts.progress )
380 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { .done( animation.opts.done, animation.opts.complete )
381 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { .fail( animation.opts.fail )
382 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { .always( animation.opts.always );
383 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {}
384  
385 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {jQuery.Animation = jQuery.extend( Animation, {
386  
387 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { tweener: function( props, callback ) {
388 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { if ( jQuery.isFunction( props ) ) {
389 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { callback = props;
390 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { props = [ "*" ];
391 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { } else {
392 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { props = props.split(" ");
393 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { }
394  
395 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { var prop,
396 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { index = 0,
397 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { length = props.length;
398  
399 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) { for ( ; index < length ; index++ ) {
400 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { prop = props[ index ];
401 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { tweeners[ prop ] = tweeners[ prop ] || [];
402 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { tweeners[ prop ].unshift( callback );
403 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
404 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { },
405  
406 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { prefilter: function( callback, prepend ) {
407 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( prepend ) {
408 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { animationPrefilters.unshift( callback );
409 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { } else {
410 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { animationPrefilters.push( callback );
411 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
412 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
413 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {});
414  
415 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {jQuery.speed = function( speed, easing, fn ) {
416 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
417 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { complete: fn || !fn && easing ||
418 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { jQuery.isFunction( speed ) && speed,
419 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { duration: speed,
420 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
421 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { };
422  
423 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
424 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
425  
426 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { // normalize opt.queue - true/undefined/null -> "fx"
427 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( opt.queue == null || opt.queue === true ) {
428 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { opt.queue = "fx";
429 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
430  
431 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { // Queueing
432 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { opt.old = opt.complete;
433  
434 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { opt.complete = function() {
435 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( jQuery.isFunction( opt.old ) ) {
436 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { opt.old.call( this );
437 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
438  
439 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( opt.queue ) {
440 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { jQuery.dequeue( this, opt.queue );
441 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
442 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { };
443  
444 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { return opt;
445 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {};
446  
447 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {jQuery.fn.extend({
448 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { fadeTo: function( speed, to, easing, callback ) {
449  
450 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { // show any hidden elements after setting opacity to 0
451 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { return this.filter( isHidden ).css( "opacity", 0 ).show()
452  
453 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { // animate to the value specified
454 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { .end().animate({ opacity: to }, speed, easing, callback );
455 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { },
456 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { animate: function( prop, speed, easing, callback ) {
457 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { var empty = jQuery.isEmptyObject( prop ),
458 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { optall = jQuery.speed( speed, easing, callback ),
459 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { doAnimation = function() {
460 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { // Operate on a copy of prop so per-property easing won't be lost
461 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { var anim = Animation( this, jQuery.extend( {}, prop ), optall );
462  
463 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { // Empty animations, or finishing resolves immediately
464 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( empty || data_priv.get( this, "finish" ) ) {
465 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { anim.stop( true );
466 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
467 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { };
468 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { doAnimation.finish = doAnimation;
469  
470 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { return empty || optall.queue === false ?
471 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { this.each( doAnimation ) :
472 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { this.queue( optall.queue, doAnimation );
473 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { },
474 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { stop: function( type, clearQueue, gotoEnd ) {
475 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { var stopQueue = function( hooks ) {
476 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { var stop = hooks.stop;
477 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { delete hooks.stop;
478 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { stop( gotoEnd );
479 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { };
480  
481 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( typeof type !== "string" ) {
482 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { gotoEnd = clearQueue;
483 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { clearQueue = type;
484 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { type = undefined;
485 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
486 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( clearQueue && type !== false ) {
487 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { this.queue( type || "fx", [] );
488 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
489  
490 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { return this.each(function() {
491 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { var dequeue = true,
492 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { index = type != null && type + "queueHooks",
493 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { timers = jQuery.timers,
494 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { data = data_priv.get( this );
495  
496 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( index ) {
497 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( data[ index ] && data[ index ].stop ) {
498 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { stopQueue( data[ index ] );
499 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
500 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { } else {
501 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { for ( index in data ) {
502 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
503 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { stopQueue( data[ index ] );
504 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
505 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
506 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
507  
508 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { for ( index = timers.length; index--; ) {
509 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {
510 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { timers[ index ].anim.stop( gotoEnd );
511 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { dequeue = false;
512 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { timers.splice( index, 1 );
513 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
514 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
515  
516 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { // start the next in the queue if the last step wasn't forced
517 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { // timers currently will call their complete callbacks, which will dequeue
518 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { // but only if they were gotoEnd
519 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( dequeue || !gotoEnd ) {
520 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { jQuery.dequeue( this, type );
521 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
522 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { });
523 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { },
524 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { finish: function( type ) {
525 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( type !== false ) {
526 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { type = type || "fx";
527 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
528 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { return this.each(function() {
529 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { var index,
530 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { data = data_priv.get( this ),
531 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { queue = data[ type + "queue" ],
532 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { hooks = data[ type + "queueHooks" ],
533 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { timers = jQuery.timers,
534 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { length = queue ? queue.length : 0;
535  
536 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { // enable finishing flag on private data
537 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { data.finish = true;
538  
539 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { // empty the queue first
540 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { jQuery.queue( this, type, [] );
541  
542 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( hooks && hooks.stop ) {
543 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { hooks.stop.call( this, true );
544 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
545  
546 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { // look for any active animations, and finish them
547 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { for ( index = timers.length; index--; ) {
548 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
549 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { timers[ index ].anim.stop( true );
550 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { timers.splice( index, 1 );
551 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
552 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { }
553  
554 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { // look for any animations in the old queue and finish them
555 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) { for ( index = 0; index < length; index++ ) {
556 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { if ( queue[ index ] && queue[ index ].finish ) {
557 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { queue[ index ].finish.call( this );
558 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { }
559 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { }
560  
561 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { // turn off finishing flag
562 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { delete data.finish;
563 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { });
564 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { }
565 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {});
566  
567 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {jQuery.each([ "toggle", "show", "hide" ], function( i, name ) {
568 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { var cssFn = jQuery.fn[ name ];
569 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { jQuery.fn[ name ] = function( speed, easing, callback ) {
570 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { return speed == null || typeof speed === "boolean" ?
571 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { cssFn.apply( this, arguments ) :
572 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { this.animate( genFx( name, true ), speed, easing, callback );
573 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { };
574 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {});
575  
576 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {// Generate shortcuts for custom animations
577 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {jQuery.each({
578 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { slideDown: genFx("show"),
579 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { slideUp: genFx("hide"),
580 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { slideToggle: genFx("toggle"),
581 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { fadeIn: { opacity: "show" },
582 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { fadeOut: { opacity: "hide" },
583 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { fadeToggle: { opacity: "toggle" }
584 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {}, function( name, props ) {
585 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { jQuery.fn[ name ] = function( speed, easing, callback ) {
586 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { return this.animate( props, speed, easing, callback );
587 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { };
588 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {});
589  
590 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {jQuery.timers = [];
591 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {jQuery.fx.tick = function() {
592 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { var timer,
593 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { i = 0,
594 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { timers = jQuery.timers;
595  
596 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { fxNow = jQuery.now();
597  
598 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) { for ( ; i < timers.length; i++ ) {
599 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { timer = timers[ i ];
600 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { // Checks the timer has not already been removed
601 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { if ( !timer() && timers[ i ] === timer ) {
602 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { timers.splice( i--, 1 );
603 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { }
604 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { }
605  
606 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { if ( !timers.length ) {
607 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { jQuery.fx.stop();
608 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { }
609 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { fxNow = undefined;
610 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) {};
611  
612 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) {jQuery.fx.timer = function( timer ) {
613 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { jQuery.timers.push( timer );
614 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { if ( timer() ) {
615 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { jQuery.fx.start();
616 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { } else {
617 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { jQuery.timers.pop();
618 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { }
619 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) {};
620  
621 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) {jQuery.fx.interval = 13;
622  
623 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) {jQuery.fx.start = function() {
624 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { if ( !timerId ) {
625 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval );
626 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { }
627 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) {};
628  
629 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) {jQuery.fx.stop = function() {
630 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { clearInterval( timerId );
631 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { timerId = null;
632 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) {};
633  
634 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) {jQuery.fx.speeds = {
635 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { slow: 600,
636 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { fast: 200,
637 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { // Default speed
638 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) { _default: 400
639 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) {};
640  
641 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) {return jQuery;
642 < length ; index++ ) {< 1 && length ) {< length ; index++ ) {< length ; index++ ) {< length ; index++ ) {< length; index++ ) {< timers.length; i++ ) {});