cycle2-rails 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,654 @@
1
+ /*!
2
+ * jQuery Cycle2 - Version: 20130502
3
+ * http://malsup.com/jquery/cycle2/
4
+ * Copyright (c) 2012 M. Alsup; Dual licensed: MIT/GPL
5
+ * Requires: jQuery v1.7 or later
6
+ */
7
+ ;(function($) {
8
+ "use strict";
9
+
10
+ var version = '20130409';
11
+
12
+ $.fn.cycle = function( options ) {
13
+ // fix mistakes with the ready state
14
+ var o;
15
+ if ( this.length === 0 && !$.isReady ) {
16
+ o = { s: this.selector, c: this.context };
17
+ $.fn.cycle.log('requeuing slideshow (dom not ready)');
18
+ $(function() {
19
+ $( o.s, o.c ).cycle(options);
20
+ });
21
+ return this;
22
+ }
23
+
24
+ return this.each(function() {
25
+ var data, opts, shortName, val;
26
+ var container = $(this);
27
+ var log = $.fn.cycle.log;
28
+
29
+ if ( container.data('cycle.opts') )
30
+ return; // already initialized
31
+
32
+ if ( container.data('cycle-log') === false ||
33
+ ( options && options.log === false ) ||
34
+ ( opts && opts.log === false) ) {
35
+ log = $.noop;
36
+ }
37
+
38
+ log('--c2 init--');
39
+ data = container.data();
40
+ for (var p in data) {
41
+ // allow props to be accessed sans 'cycle' prefix and log the overrides
42
+ if (data.hasOwnProperty(p) && /^cycle[A-Z]+/.test(p) ) {
43
+ val = data[p];
44
+ shortName = p.match(/^cycle(.*)/)[1].replace(/^[A-Z]/, lowerCase);
45
+ log(shortName+':', val, '('+typeof val +')');
46
+ data[shortName] = val;
47
+ }
48
+ }
49
+
50
+ opts = $.extend( {}, $.fn.cycle.defaults, data, options || {});
51
+
52
+ opts.timeoutId = 0;
53
+ opts.paused = opts.paused || false; // #57
54
+ opts.container = container;
55
+ opts._maxZ = opts.maxZ;
56
+
57
+ opts.API = $.extend ( { _container: container }, $.fn.cycle.API );
58
+ opts.API.log = log;
59
+ opts.API.trigger = function( eventName, args ) {
60
+ opts.container.trigger( eventName, args );
61
+ return opts.API;
62
+ };
63
+
64
+ container.data( 'cycle.opts', opts );
65
+ container.data( 'cycle.API', opts.API );
66
+
67
+ // opportunity for plugins to modify opts and API
68
+ opts.API.trigger('cycle-bootstrap', [ opts, opts.API ]);
69
+
70
+ opts.API.addInitialSlides();
71
+ opts.API.preInitSlideshow();
72
+
73
+ if ( opts.slides.length )
74
+ opts.API.initSlideshow();
75
+ });
76
+ };
77
+
78
+ $.fn.cycle.API = {
79
+ opts: function() {
80
+ return this._container.data( 'cycle.opts' );
81
+ },
82
+ addInitialSlides: function() {
83
+ var opts = this.opts();
84
+ var slides = opts.slides;
85
+ opts.slideCount = 0;
86
+ opts.slides = $(); // empty set
87
+
88
+ // add slides that already exist
89
+ slides = slides.jquery ? slides : opts.container.find( slides );
90
+
91
+ if ( opts.random ) {
92
+ slides.sort(function() {return Math.random() - 0.5;});
93
+ }
94
+
95
+ opts.API.add( slides );
96
+ },
97
+
98
+ preInitSlideshow: function() {
99
+ var opts = this.opts();
100
+ opts.API.trigger('cycle-pre-initialize', [ opts ]);
101
+ var tx = $.fn.cycle.transitions[opts.fx];
102
+ if (tx && $.isFunction(tx.preInit))
103
+ tx.preInit( opts );
104
+ opts._preInitialized = true;
105
+ },
106
+
107
+ postInitSlideshow: function() {
108
+ var opts = this.opts();
109
+ opts.API.trigger('cycle-post-initialize', [ opts ]);
110
+ var tx = $.fn.cycle.transitions[opts.fx];
111
+ if (tx && $.isFunction(tx.postInit))
112
+ tx.postInit( opts );
113
+ },
114
+
115
+ initSlideshow: function() {
116
+ var opts = this.opts();
117
+ var pauseObj = opts.container;
118
+ var slideOpts;
119
+ opts.API.calcFirstSlide();
120
+
121
+ if ( opts.container.css('position') == 'static' )
122
+ opts.container.css('position', 'relative');
123
+
124
+ $(opts.slides[opts.currSlide]).css('opacity',1).show();
125
+ opts.API.stackSlides( opts.slides[opts.currSlide], opts.slides[opts.nextSlide], !opts.reverse );
126
+
127
+ if ( opts.pauseOnHover ) {
128
+ // allow pauseOnHover to specify an element
129
+ if ( opts.pauseOnHover !== true )
130
+ pauseObj = $( opts.pauseOnHover );
131
+
132
+ pauseObj.hover(
133
+ function(){ opts.API.pause( true ); },
134
+ function(){ opts.API.resume( true ); }
135
+ );
136
+ }
137
+
138
+ // stage initial transition
139
+ if ( opts.timeout ) {
140
+ slideOpts = opts.API.getSlideOpts( opts.nextSlide );
141
+ opts.API.queueTransition( slideOpts, slideOpts.timeout + opts.delay );
142
+ }
143
+
144
+ opts._initialized = true;
145
+ opts.API.updateView( true );
146
+ opts.API.trigger('cycle-initialized', [ opts ]);
147
+ opts.API.postInitSlideshow();
148
+ },
149
+
150
+ pause: function( hover ) {
151
+ var opts = this.opts(),
152
+ slideOpts = opts.API.getSlideOpts(),
153
+ alreadyPaused = opts.hoverPaused || opts.paused;
154
+
155
+ if ( hover )
156
+ opts.hoverPaused = true;
157
+ else
158
+ opts.paused = true;
159
+
160
+ if ( ! alreadyPaused ) {
161
+ opts.container.addClass('cycle-paused');
162
+ opts.API.trigger('cycle-paused', [ opts ]).log('cycle-paused');
163
+
164
+ if ( slideOpts.timeout ) {
165
+ clearTimeout( opts.timeoutId );
166
+ opts.timeoutId = 0;
167
+
168
+ // determine how much time is left for the current slide
169
+ opts._remainingTimeout -= ( $.now() - opts._lastQueue );
170
+ if ( opts._remainingTimeout < 0 || isNaN(opts._remainingTimeout) )
171
+ opts._remainingTimeout = undefined;
172
+ }
173
+ }
174
+ },
175
+
176
+ resume: function( hover ) {
177
+ var opts = this.opts(),
178
+ alreadyResumed = !opts.hoverPaused && !opts.paused,
179
+ remaining;
180
+
181
+ if ( hover )
182
+ opts.hoverPaused = false;
183
+ else
184
+ opts.paused = false;
185
+
186
+ if ( ! alreadyResumed ) {
187
+ opts.container.removeClass('cycle-paused');
188
+ opts.API.queueTransition( opts.API.getSlideOpts(), opts._remainingTimeout );
189
+ opts.API.trigger('cycle-resumed', [ opts, opts._remainingTimeout ] ).log('cycle-resumed');
190
+ }
191
+ },
192
+
193
+ add: function( slides, prepend ) {
194
+ var opts = this.opts();
195
+ var oldSlideCount = opts.slideCount;
196
+ var startSlideshow = false;
197
+ var len;
198
+
199
+ if ( $.type(slides) == 'string')
200
+ slides = $.trim( slides );
201
+
202
+ $( slides ).each(function(i) {
203
+ var slideOpts;
204
+ var slide = $(this);
205
+
206
+ if ( prepend )
207
+ opts.container.prepend( slide );
208
+ else
209
+ opts.container.append( slide );
210
+
211
+ opts.slideCount++;
212
+ slideOpts = opts.API.buildSlideOpts( slide );
213
+
214
+ if ( prepend )
215
+ opts.slides = $( slide ).add( opts.slides );
216
+ else
217
+ opts.slides = opts.slides.add( slide );
218
+
219
+ opts.API.initSlide( slideOpts, slide, --opts._maxZ );
220
+
221
+ slide.data('cycle.opts', slideOpts);
222
+ opts.API.trigger('cycle-slide-added', [ opts, slideOpts, slide ]);
223
+ });
224
+
225
+ opts.API.updateView( true );
226
+
227
+ startSlideshow = opts._preInitialized && (oldSlideCount < 2 && opts.slideCount >= 1);
228
+ if ( startSlideshow ) {
229
+ if ( !opts._initialized )
230
+ opts.API.initSlideshow();
231
+ else if ( opts.timeout ) {
232
+ len = opts.slides.length;
233
+ opts.nextSlide = opts.reverse ? len - 1 : 1;
234
+ if ( !opts.timeoutId ) {
235
+ opts.API.queueTransition( opts );
236
+ }
237
+ }
238
+ }
239
+ },
240
+
241
+ calcFirstSlide: function() {
242
+ var opts = this.opts();
243
+ var firstSlideIndex;
244
+ firstSlideIndex = parseInt( opts.startingSlide || 0, 10 );
245
+ if (firstSlideIndex >= opts.slides.length || firstSlideIndex < 0)
246
+ firstSlideIndex = 0;
247
+
248
+ opts.currSlide = firstSlideIndex;
249
+ if ( opts.reverse ) {
250
+ opts.nextSlide = firstSlideIndex - 1;
251
+ if (opts.nextSlide < 0)
252
+ opts.nextSlide = opts.slides.length - 1;
253
+ }
254
+ else {
255
+ opts.nextSlide = firstSlideIndex + 1;
256
+ if (opts.nextSlide == opts.slides.length)
257
+ opts.nextSlide = 0;
258
+ }
259
+ },
260
+
261
+ calcNextSlide: function() {
262
+ var opts = this.opts();
263
+ var roll;
264
+ if ( opts.reverse ) {
265
+ roll = (opts.nextSlide - 1) < 0;
266
+ opts.nextSlide = roll ? opts.slideCount - 1 : opts.nextSlide-1;
267
+ opts.currSlide = roll ? 0 : opts.nextSlide+1;
268
+ }
269
+ else {
270
+ roll = (opts.nextSlide + 1) == opts.slides.length;
271
+ opts.nextSlide = roll ? 0 : opts.nextSlide+1;
272
+ opts.currSlide = roll ? opts.slides.length-1 : opts.nextSlide-1;
273
+ }
274
+ },
275
+
276
+ calcTx: function( slideOpts, manual ) {
277
+ var opts = slideOpts;
278
+ var tx;
279
+ if ( manual && opts.manualFx )
280
+ tx = $.fn.cycle.transitions[opts.manualFx];
281
+ if ( !tx )
282
+ tx = $.fn.cycle.transitions[opts.fx];
283
+
284
+ if (!tx) {
285
+ tx = $.fn.cycle.transitions.fade;
286
+ opts.API.log('Transition "' + opts.fx + '" not found. Using fade.');
287
+ }
288
+ return tx;
289
+ },
290
+
291
+ prepareTx: function( manual, fwd ) {
292
+ var opts = this.opts();
293
+ var after, curr, next, slideOpts, tx;
294
+
295
+ if ( opts.slideCount < 2 ) {
296
+ opts.timeoutId = 0;
297
+ return;
298
+ }
299
+ if ( manual && ( !opts.busy || opts.manualTrump ) ) {
300
+ opts.API.stopTransition();
301
+ opts.busy = false;
302
+ clearTimeout(opts.timeoutId);
303
+ opts.timeoutId = 0;
304
+ }
305
+ if ( opts.busy )
306
+ return;
307
+ if ( opts.timeoutId === 0 && !manual )
308
+ return;
309
+
310
+ curr = opts.slides[opts.currSlide];
311
+ next = opts.slides[opts.nextSlide];
312
+ slideOpts = opts.API.getSlideOpts( opts.nextSlide );
313
+ tx = opts.API.calcTx( slideOpts, manual );
314
+
315
+ opts._tx = tx;
316
+
317
+ if ( manual && slideOpts.manualSpeed !== undefined )
318
+ slideOpts.speed = slideOpts.manualSpeed;
319
+
320
+ // if ( opts.nextSlide === opts.currSlide )
321
+ // opts.API.calcNextSlide();
322
+
323
+ // ensure that:
324
+ // 1. advancing to a different slide
325
+ // 2. this is either a manual event (prev/next, pager, cmd) or
326
+ // a timer event and slideshow is not paused
327
+ if ( opts.nextSlide != opts.currSlide &&
328
+ (manual || (!opts.paused && !opts.hoverPaused && opts.timeout) )) { // #62
329
+
330
+ opts.API.trigger('cycle-before', [ slideOpts, curr, next, fwd ]);
331
+ if ( tx.before )
332
+ tx.before( slideOpts, curr, next, fwd );
333
+
334
+ after = function() {
335
+ opts.busy = false;
336
+ // #76; bail if slideshow has been destroyed
337
+ if (! opts.container.data( 'cycle.opts' ) )
338
+ return;
339
+
340
+ if (tx.after)
341
+ tx.after( slideOpts, curr, next, fwd );
342
+ opts.API.trigger('cycle-after', [ slideOpts, curr, next, fwd ]);
343
+ opts.API.queueTransition( slideOpts);
344
+ opts.API.updateView( true );
345
+ };
346
+
347
+ opts.busy = true;
348
+ if (tx.transition)
349
+ tx.transition(slideOpts, curr, next, fwd, after);
350
+ else
351
+ opts.API.doTransition( slideOpts, curr, next, fwd, after);
352
+
353
+ opts.API.calcNextSlide();
354
+ opts.API.updateView();
355
+ } else {
356
+ opts.API.queueTransition( slideOpts );
357
+ }
358
+ },
359
+
360
+ // perform the actual animation
361
+ doTransition: function( slideOpts, currEl, nextEl, fwd, callback) {
362
+ var opts = slideOpts;
363
+ var curr = $(currEl), next = $(nextEl);
364
+ var fn = function() {
365
+ // make sure animIn has something so that callback doesn't trigger immediately
366
+ next.animate(opts.animIn || { opacity: 1}, opts.speed, opts.easeIn || opts.easing, callback);
367
+ };
368
+
369
+ next.css(opts.cssBefore || {});
370
+ curr.animate(opts.animOut || {}, opts.speed, opts.easeOut || opts.easing, function() {
371
+ curr.css(opts.cssAfter || {});
372
+ if (!opts.sync) {
373
+ fn();
374
+ }
375
+ });
376
+ if (opts.sync) {
377
+ fn();
378
+ }
379
+ },
380
+
381
+ queueTransition: function( slideOpts, specificTimeout ) {
382
+ var opts = this.opts();
383
+ var timeout = specificTimeout !== undefined ? specificTimeout : slideOpts.timeout;
384
+ if (opts.nextSlide === 0 && --opts.loop === 0) {
385
+ opts.API.log('terminating; loop=0');
386
+ opts.timeout = 0;
387
+ if ( timeout ) {
388
+ setTimeout(function() {
389
+ opts.API.trigger('cycle-finished', [ opts ]);
390
+ }, timeout);
391
+ }
392
+ else {
393
+ opts.API.trigger('cycle-finished', [ opts ]);
394
+ }
395
+ // reset nextSlide
396
+ opts.nextSlide = opts.currSlide;
397
+ return;
398
+ }
399
+ if ( timeout ) {
400
+ opts._lastQueue = $.now();
401
+ if ( specificTimeout === undefined )
402
+ opts._remainingTimeout = slideOpts.timeout;
403
+
404
+ if ( !opts.paused && ! opts.hoverPaused ) {
405
+ opts.timeoutId = setTimeout(function() {
406
+ opts.API.prepareTx( false, !opts.reverse );
407
+ }, timeout );
408
+ }
409
+ }
410
+ },
411
+
412
+ stopTransition: function() {
413
+ var opts = this.opts();
414
+ if ( opts.slides.filter(':animated').length ) {
415
+ opts.slides.stop(false, true);
416
+ opts.API.trigger('cycle-transition-stopped', [ opts ]);
417
+ }
418
+
419
+ if ( opts._tx && opts._tx.stopTransition )
420
+ opts._tx.stopTransition( opts );
421
+ },
422
+
423
+ // advance slide forward or back
424
+ advanceSlide: function( val ) {
425
+ var opts = this.opts();
426
+ clearTimeout(opts.timeoutId);
427
+ opts.timeoutId = 0;
428
+ opts.nextSlide = opts.currSlide + val;
429
+
430
+ if (opts.nextSlide < 0)
431
+ opts.nextSlide = opts.slides.length - 1;
432
+ else if (opts.nextSlide >= opts.slides.length)
433
+ opts.nextSlide = 0;
434
+
435
+ opts.API.prepareTx( true, val >= 0 );
436
+ return false;
437
+ },
438
+
439
+ buildSlideOpts: function( slide ) {
440
+ var opts = this.opts();
441
+ var val, shortName;
442
+ var slideOpts = slide.data() || {};
443
+ for (var p in slideOpts) {
444
+ // allow props to be accessed sans 'cycle' prefix and log the overrides
445
+ if (slideOpts.hasOwnProperty(p) && /^cycle[A-Z]+/.test(p) ) {
446
+ val = slideOpts[p];
447
+ shortName = p.match(/^cycle(.*)/)[1].replace(/^[A-Z]/, lowerCase);
448
+ opts.API.log('['+(opts.slideCount-1)+']', shortName+':', val, '('+typeof val +')');
449
+ slideOpts[shortName] = val;
450
+ }
451
+ }
452
+
453
+ slideOpts = $.extend( {}, $.fn.cycle.defaults, opts, slideOpts );
454
+ slideOpts.slideNum = opts.slideCount;
455
+
456
+ try {
457
+ // these props should always be read from the master state object
458
+ delete slideOpts.API;
459
+ delete slideOpts.slideCount;
460
+ delete slideOpts.currSlide;
461
+ delete slideOpts.nextSlide;
462
+ delete slideOpts.slides;
463
+ } catch(e) {
464
+ // no op
465
+ }
466
+ return slideOpts;
467
+ },
468
+
469
+ getSlideOpts: function( index ) {
470
+ var opts = this.opts();
471
+ if ( index === undefined )
472
+ index = opts.currSlide;
473
+
474
+ var slide = opts.slides[index];
475
+ var slideOpts = $(slide).data('cycle.opts');
476
+ return $.extend( {}, opts, slideOpts );
477
+ },
478
+
479
+ initSlide: function( slideOpts, slide, suggestedZindex ) {
480
+ var opts = this.opts();
481
+ slide.css( slideOpts.slideCss || {} );
482
+ if ( suggestedZindex > 0 )
483
+ slide.css( 'zIndex', suggestedZindex );
484
+
485
+ // ensure that speed settings are sane
486
+ if ( isNaN( slideOpts.speed ) )
487
+ slideOpts.speed = $.fx.speeds[slideOpts.speed] || $.fx.speeds._default;
488
+ if ( !slideOpts.sync )
489
+ slideOpts.speed = slideOpts.speed / 2;
490
+
491
+ slide.addClass( opts.slideClass );
492
+ },
493
+
494
+ updateView: function( isAfter ) {
495
+ var opts = this.opts();
496
+ if ( !opts._initialized )
497
+ return;
498
+ var slideOpts = opts.API.getSlideOpts();
499
+ var currSlide = opts.slides[ opts.currSlide ];
500
+
501
+ if ( ! isAfter ) {
502
+ opts.API.trigger('cycle-update-view-before', [ opts, slideOpts, currSlide ]);
503
+ if ( opts.updateView < 0 )
504
+ return;
505
+ }
506
+
507
+ if ( opts.slideActiveClass ) {
508
+ opts.slides.removeClass( opts.slideActiveClass )
509
+ .eq( opts.currSlide ).addClass( opts.slideActiveClass );
510
+ }
511
+
512
+ if ( isAfter && opts.hideNonActive )
513
+ opts.slides.filter( ':not(.' + opts.slideActiveClass + ')' ).hide();
514
+
515
+ opts.API.trigger('cycle-update-view', [ opts, slideOpts, currSlide, isAfter ]);
516
+ opts.API.trigger('cycle-update-view-after', [ opts, slideOpts, currSlide ]);
517
+ },
518
+
519
+ getComponent: function( name ) {
520
+ var opts = this.opts();
521
+ var selector = opts[name];
522
+ if (typeof selector === 'string') {
523
+ // if selector is a child, sibling combinator, adjancent selector then use find, otherwise query full dom
524
+ return (/^\s*[\>|\+|~]/).test( selector ) ? opts.container.find( selector ) : $( selector );
525
+ }
526
+ if (selector.jquery)
527
+ return selector;
528
+
529
+ return $(selector);
530
+ },
531
+
532
+ stackSlides: function( curr, next, fwd ) {
533
+ var opts = this.opts();
534
+ if ( !curr ) {
535
+ curr = opts.slides[opts.currSlide];
536
+ next = opts.slides[opts.nextSlide];
537
+ fwd = !opts.reverse;
538
+ }
539
+
540
+ // reset the zIndex for the common case:
541
+ // curr slide on top, next slide beneath, and the rest in order to be shown
542
+ $(curr).css('zIndex', opts.maxZ);
543
+
544
+ var i;
545
+ var z = opts.maxZ - 2;
546
+ var len = opts.slideCount;
547
+ if (fwd) {
548
+ for ( i = opts.currSlide + 1; i < len; i++ )
549
+ $( opts.slides[i] ).css( 'zIndex', z-- );
550
+ for ( i = 0; i < opts.currSlide; i++ )
551
+ $( opts.slides[i] ).css( 'zIndex', z-- );
552
+ }
553
+ else {
554
+ for ( i = opts.currSlide - 1; i >= 0; i-- )
555
+ $( opts.slides[i] ).css( 'zIndex', z-- );
556
+ for ( i = len - 1; i > opts.currSlide; i-- )
557
+ $( opts.slides[i] ).css( 'zIndex', z-- );
558
+ }
559
+
560
+ $(next).css('zIndex', opts.maxZ - 1);
561
+ },
562
+
563
+ getSlideIndex: function( el ) {
564
+ return this.opts().slides.index( el );
565
+ }
566
+
567
+ }; // API
568
+
569
+ // default logger
570
+ $.fn.cycle.log = function log() {
571
+ /*global console:true */
572
+ if (window.console && console.log)
573
+ console.log('[cycle2] ' + Array.prototype.join.call(arguments, ' ') );
574
+ };
575
+
576
+ $.fn.cycle.version = function() { return 'Cycle2: ' + version; };
577
+
578
+ // helper functions
579
+
580
+ function lowerCase(s) {
581
+ return (s || '').toLowerCase();
582
+ }
583
+
584
+ // expose transition object
585
+ $.fn.cycle.transitions = {
586
+ custom: {
587
+ },
588
+ none: {
589
+ before: function( opts, curr, next, fwd ) {
590
+ opts.API.stackSlides( next, curr, fwd );
591
+ opts.cssBefore = { opacity: 1, display: 'block' };
592
+ }
593
+ },
594
+ fade: {
595
+ before: function( opts, curr, next, fwd ) {
596
+ var css = opts.API.getSlideOpts( opts.nextSlide ).slideCss || {};
597
+ opts.API.stackSlides( curr, next, fwd );
598
+ opts.cssBefore = $.extend(css, { opacity: 0, display: 'block' });
599
+ opts.animIn = { opacity: 1 };
600
+ opts.animOut = { opacity: 0 };
601
+ }
602
+ },
603
+ fadeout: {
604
+ before: function( opts , curr, next, fwd ) {
605
+ var css = opts.API.getSlideOpts( opts.nextSlide ).slideCss || {};
606
+ opts.API.stackSlides( curr, next, fwd );
607
+ opts.cssBefore = $.extend(css, { opacity: 1, display: 'block' });
608
+ opts.animOut = { opacity: 0 };
609
+ }
610
+ },
611
+ scrollHorz: {
612
+ before: function( opts, curr, next, fwd ) {
613
+ opts.API.stackSlides( curr, next, fwd );
614
+ var w = opts.container.css('overflow','hidden').width();
615
+ opts.cssBefore = { left: fwd ? w : - w, top: 0, opacity: 1, display: 'block' };
616
+ opts.cssAfter = { zIndex: opts._maxZ - 2, left: 0 };
617
+ opts.animIn = { left: 0 };
618
+ opts.animOut = { left: fwd ? -w : w };
619
+ }
620
+ }
621
+ };
622
+
623
+ // @see: http://jquery.malsup.com/cycle2/api
624
+ $.fn.cycle.defaults = {
625
+ allowWrap: true,
626
+ autoSelector: '.cycle-slideshow[data-cycle-auto-init!=false]',
627
+ delay: 0,
628
+ easing: null,
629
+ fx: 'fade',
630
+ hideNonActive: true,
631
+ loop: 0,
632
+ manualFx: undefined,
633
+ manualSpeed: undefined,
634
+ manualTrump: true,
635
+ maxZ: 100,
636
+ pauseOnHover: false,
637
+ reverse: false,
638
+ slideActiveClass: 'cycle-slide-active',
639
+ slideClass: 'cycle-slide',
640
+ slideCss: { position: 'absolute', top: 0, left: 0 },
641
+ slides: '> img',
642
+ speed: 500,
643
+ startingSlide: 0,
644
+ sync: true,
645
+ timeout: 4000,
646
+ updateView: -1
647
+ };
648
+
649
+ // automatically find and run slideshows
650
+ $(document).ready(function() {
651
+ $( $.fn.cycle.defaults.autoSelector ).cycle();
652
+ });
653
+
654
+ })(jQuery);