fullstack-cms 0.3.18 → 0.3.19

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.
Files changed (36) hide show
  1. data/VERSION +1 -1
  2. data/fullstack-cms.gemspec +25 -9
  3. data/lib/generators/fullstack/cms/install_generator.rb +20 -29
  4. data/lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/site/lib/bootstrap.js +2170 -0
  5. data/lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/site/lib/facebox.js +309 -0
  6. data/lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/site/lib/jquery.cycle.lite.js +232 -0
  7. data/lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/site/lib/lightbox.js +351 -0
  8. data/lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/site/site.js.coffee +4 -12
  9. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/lib/bootstrap-large-desktops.css +335 -0
  10. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/lib/bootstrap-narrow-tablets-and-below.css +158 -0
  11. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/lib/bootstrap-responsive.css +207 -0
  12. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/lib/bootstrap-tablets-to-desktops.css +326 -0
  13. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/lib/bootstrap.css +5117 -0
  14. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/lib/facebox.css +80 -0
  15. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/lib/lightbox.css +181 -0
  16. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/site.css +1 -28
  17. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/src/global.css +0 -0
  18. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/src/helpers.css +9 -0
  19. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/src/print.css +18 -0
  20. data/lib/generators/fullstack/cms/templates/rails/app/views/site/_footer.html.erb +10 -18
  21. data/lib/generators/fullstack/cms/templates/rails/app/views/site/_header.html.erb +3 -1
  22. data/lib/generators/fullstack/cms/templates/rails/app/views/site/site/home.html.erb +0 -17
  23. data/lib/generators/fullstack/cms/templates/rails/config/{fullstack.rb → initializers/fullstack.rb} +0 -0
  24. data/lib/generators/fullstack/cms/templates/rails/public/img/{glyphicons-halflings-white.png → bootstrap/glyphicons-halflings-white.png} +0 -0
  25. data/lib/generators/fullstack/cms/templates/rails/public/img/{glyphicons-halflings.png → bootstrap/glyphicons-halflings.png} +0 -0
  26. data/lib/generators/fullstack/cms/templates/rails/public/img/facebox/closelabel.png +0 -0
  27. data/lib/generators/fullstack/cms/templates/rails/public/img/facebox/loading.gif +0 -0
  28. data/lib/generators/fullstack/cms/templates/rails/public/img/lightbox/close.png +0 -0
  29. data/lib/generators/fullstack/cms/templates/rails/public/img/lightbox/loading.gif +0 -0
  30. data/lib/generators/fullstack/cms/templates/rails/public/img/lightbox/next.png +0 -0
  31. data/lib/generators/fullstack/cms/templates/rails/public/img/lightbox/prev.png +0 -0
  32. metadata +26 -10
  33. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/bootstrap.overrides.css +0 -3
  34. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/lib/bootstrap.min.css +0 -722
  35. data/lib/generators/fullstack/cms/templates/rails/public/admin/rotate-left.png +0 -0
  36. data/lib/generators/fullstack/cms/templates/rails/public/admin/rotate-right.png +0 -0
@@ -0,0 +1,309 @@
1
+ /*
2
+ * Facebox (for jQuery)
3
+ * version: 1.2 (05/05/2008)
4
+ * @requires jQuery v1.2 or later
5
+ *
6
+ * Examples at http://famspam.com/facebox/
7
+ *
8
+ * Licensed under the MIT:
9
+ * http://www.opensource.org/licenses/mit-license.php
10
+ *
11
+ * Copyright 2007, 2008 Chris Wanstrath [ chris@ozmm.org ]
12
+ *
13
+ * Usage:
14
+ *
15
+ * jQuery(document).ready(function() {
16
+ * jQuery('a[rel*=facebox]').facebox()
17
+ * })
18
+ *
19
+ * <a href="#terms" rel="facebox">Terms</a>
20
+ * Loads the #terms div in the box
21
+ *
22
+ * <a href="terms.html" rel="facebox">Terms</a>
23
+ * Loads the terms.html page in the box
24
+ *
25
+ * <a href="terms.png" rel="facebox">Terms</a>
26
+ * Loads the terms.png image in the box
27
+ *
28
+ *
29
+ * You can also use it programmatically:
30
+ *
31
+ * jQuery.facebox('some html')
32
+ * jQuery.facebox('some html', 'my-groovy-style')
33
+ *
34
+ * The above will open a facebox with "some html" as the content.
35
+ *
36
+ * jQuery.facebox(function($) {
37
+ * $.get('blah.html', function(data) { $.facebox(data) })
38
+ * })
39
+ *
40
+ * The above will show a loading screen before the passed function is called,
41
+ * allowing for a better ajaxy experience.
42
+ *
43
+ * The facebox function can also display an ajax page, an image, or the contents of a div:
44
+ *
45
+ * jQuery.facebox({ ajax: 'remote.html' })
46
+ * jQuery.facebox({ ajax: 'remote.html' }, 'my-groovy-style')
47
+ * jQuery.facebox({ image: 'stairs.jpg' })
48
+ * jQuery.facebox({ image: 'stairs.jpg' }, 'my-groovy-style')
49
+ * jQuery.facebox({ div: '#box' })
50
+ * jQuery.facebox({ div: '#box' }, 'my-groovy-style')
51
+ *
52
+ * Want to close the facebox? Trigger the 'close.facebox' document event:
53
+ *
54
+ * jQuery(document).trigger('close.facebox')
55
+ *
56
+ * Facebox also has a bunch of other hooks:
57
+ *
58
+ * loading.facebox
59
+ * beforeReveal.facebox
60
+ * reveal.facebox (aliased as 'afterReveal.facebox')
61
+ * init.facebox
62
+ * afterClose.facebox
63
+ *
64
+ * Simply bind a function to any of these hooks:
65
+ *
66
+ * $(document).bind('reveal.facebox', function() { ...stuff to do after the facebox and contents are revealed... })
67
+ *
68
+ */
69
+ (function($) {
70
+ $.facebox = function(data, klass) {
71
+ $.facebox.loading()
72
+
73
+ if (data.ajax) fillFaceboxFromAjax(data.ajax, klass)
74
+ else if (data.image) fillFaceboxFromImage(data.image, klass)
75
+ else if (data.div) fillFaceboxFromHref(data.div, klass)
76
+ else if ($.isFunction(data)) data.call($)
77
+ else $.facebox.reveal(data, klass)
78
+ }
79
+
80
+ /*
81
+ * Public, $.facebox methods
82
+ */
83
+
84
+ $.extend($.facebox, {
85
+ settings: {
86
+ opacity : 0.2,
87
+ overlay : true,
88
+ loadingImage : '/facebox/loading.gif',
89
+ closeImage : '/facebox/closelabel.png',
90
+ imageTypes : [ 'png', 'jpg', 'jpeg', 'gif' ],
91
+ faceboxHtml : '\
92
+ <div id="facebox" style="display:none;"> \
93
+ <div class="popup"> \
94
+ <div class="content"> \
95
+ </div> \
96
+ <a href="#" class="close"><img src="/facebox/closelabel.png" title="close" class="close_image" /></a> \
97
+ </div> \
98
+ </div>'
99
+ },
100
+
101
+ loading: function() {
102
+ init()
103
+ if ($('#facebox .loading').length == 1) return true
104
+ showOverlay()
105
+
106
+ $('#facebox .content').empty()
107
+ $('#facebox .body').children().hide().end().
108
+ append('<div class="loading"><img src="'+$.facebox.settings.loadingImage+'"/></div>')
109
+
110
+ $('#facebox').css({
111
+ top: getPageScroll()[1] + (getPageHeight() / 10),
112
+ left: $(window).width() / 2 - 205
113
+ }).show()
114
+
115
+ $(document).bind('keydown.facebox', function(e) {
116
+ if (e.keyCode == 27) $.facebox.close()
117
+ return true
118
+ })
119
+ $(document).trigger('loading.facebox')
120
+ },
121
+
122
+ reveal: function(data, klass) {
123
+ $(document).trigger('beforeReveal.facebox')
124
+ if (klass) $('#facebox .content').addClass(klass)
125
+ $('#facebox .content').append(data)
126
+ $('#facebox .loading').remove()
127
+ $('#facebox .body').children().fadeIn('normal')
128
+ $('#facebox').css('left', $(window).width() / 2 - ($('#facebox .popup').width() / 2))
129
+ $(document).trigger('reveal.facebox').trigger('afterReveal.facebox')
130
+ },
131
+
132
+ close: function() {
133
+ $(document).trigger('close.facebox')
134
+ return false
135
+ }
136
+ })
137
+
138
+ /*
139
+ * Public, $.fn methods
140
+ */
141
+
142
+ $.fn.facebox = function(settings) {
143
+ if ($(this).length == 0) return
144
+
145
+ init(settings)
146
+
147
+ function clickHandler() {
148
+ $.facebox.loading(true)
149
+
150
+ // support for rel="facebox.inline_popup" syntax, to add a class
151
+ // also supports deprecated "facebox[.inline_popup]" syntax
152
+ var klass = this.rel.match(/facebox\[?\.(\w+)\]?/)
153
+ if (klass) klass = klass[1]
154
+
155
+ fillFaceboxFromHref(this.href, klass)
156
+ return false
157
+ }
158
+
159
+ return this.bind('click.facebox', clickHandler)
160
+ }
161
+
162
+ /*
163
+ * Private methods
164
+ */
165
+
166
+ // called one time to setup facebox on this page
167
+ function init(settings) {
168
+ if ($.facebox.settings.inited) return true
169
+ else $.facebox.settings.inited = true
170
+
171
+ $(document).trigger('init.facebox')
172
+ makeCompatible()
173
+
174
+ var imageTypes = $.facebox.settings.imageTypes.join('|')
175
+ $.facebox.settings.imageTypesRegexp = new RegExp('\.(' + imageTypes + ')$', 'i')
176
+
177
+ if (settings) $.extend($.facebox.settings, settings)
178
+ $('body').append($.facebox.settings.faceboxHtml)
179
+
180
+ var preload = [ new Image(), new Image() ]
181
+ preload[0].src = $.facebox.settings.closeImage
182
+ preload[1].src = $.facebox.settings.loadingImage
183
+
184
+ $('#facebox').find('.b:first, .bl').each(function() {
185
+ preload.push(new Image())
186
+ preload.slice(-1).src = $(this).css('background-image').replace(/url\((.+)\)/, '$1')
187
+ })
188
+
189
+ $('#facebox .close').click($.facebox.close)
190
+ $('#facebox .close_image').attr('src', $.facebox.settings.closeImage)
191
+ }
192
+
193
+ // getPageScroll() by quirksmode.com
194
+ function getPageScroll() {
195
+ var xScroll, yScroll;
196
+ if (self.pageYOffset) {
197
+ yScroll = self.pageYOffset;
198
+ xScroll = self.pageXOffset;
199
+ } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
200
+ yScroll = document.documentElement.scrollTop;
201
+ xScroll = document.documentElement.scrollLeft;
202
+ } else if (document.body) {// all other Explorers
203
+ yScroll = document.body.scrollTop;
204
+ xScroll = document.body.scrollLeft;
205
+ }
206
+ return new Array(xScroll,yScroll)
207
+ }
208
+
209
+ // Adapted from getPageSize() by quirksmode.com
210
+ function getPageHeight() {
211
+ var windowHeight
212
+ if (self.innerHeight) { // all except Explorer
213
+ windowHeight = self.innerHeight;
214
+ } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
215
+ windowHeight = document.documentElement.clientHeight;
216
+ } else if (document.body) { // other Explorers
217
+ windowHeight = document.body.clientHeight;
218
+ }
219
+ return windowHeight
220
+ }
221
+
222
+ // Backwards compatibility
223
+ function makeCompatible() {
224
+ var $s = $.facebox.settings
225
+
226
+ $s.loadingImage = $s.loading_image || $s.loadingImage
227
+ $s.closeImage = $s.close_image || $s.closeImage
228
+ $s.imageTypes = $s.image_types || $s.imageTypes
229
+ $s.faceboxHtml = $s.facebox_html || $s.faceboxHtml
230
+ }
231
+
232
+ // Figures out what you want to display and displays it
233
+ // formats are:
234
+ // div: #id
235
+ // image: blah.extension
236
+ // ajax: anything else
237
+ function fillFaceboxFromHref(href, klass) {
238
+ // div
239
+ if (href.match(/#/)) {
240
+ var url = window.location.href.split('#')[0]
241
+ var target = href.replace(url,'')
242
+ if (target == '#') return
243
+ $.facebox.reveal($(target).html(), klass)
244
+
245
+ // image
246
+ } else if (href.match($.facebox.settings.imageTypesRegexp)) {
247
+ fillFaceboxFromImage(href, klass)
248
+ // ajax
249
+ } else {
250
+ fillFaceboxFromAjax(href, klass)
251
+ }
252
+ }
253
+
254
+ function fillFaceboxFromImage(href, klass) {
255
+ var image = new Image()
256
+ image.onload = function() {
257
+ $.facebox.reveal('<div class="image"><img src="' + image.src + '" /></div>', klass)
258
+ }
259
+ image.src = href
260
+ }
261
+
262
+ function fillFaceboxFromAjax(href, klass) {
263
+ $.get(href, function(data) { $.facebox.reveal(data, klass) })
264
+ }
265
+
266
+ function skipOverlay() {
267
+ return $.facebox.settings.overlay == false || $.facebox.settings.opacity === null
268
+ }
269
+
270
+ function showOverlay() {
271
+ if (skipOverlay()) return
272
+
273
+ if ($('#facebox_overlay').length == 0)
274
+ $("body").append('<div id="facebox_overlay" class="facebox_hide"></div>')
275
+
276
+ $('#facebox_overlay').hide().addClass("facebox_overlayBG")
277
+ .css('opacity', $.facebox.settings.opacity)
278
+ .click(function() { $(document).trigger('close.facebox') })
279
+ .fadeIn(200)
280
+ return false
281
+ }
282
+
283
+ function hideOverlay() {
284
+ if (skipOverlay()) return
285
+
286
+ $('#facebox_overlay').fadeOut(200, function(){
287
+ $("#facebox_overlay").removeClass("facebox_overlayBG")
288
+ $("#facebox_overlay").addClass("facebox_hide")
289
+ $("#facebox_overlay").remove()
290
+ })
291
+
292
+ return false
293
+ }
294
+
295
+ /*
296
+ * Bindings
297
+ */
298
+
299
+ $(document).bind('close.facebox', function() {
300
+ $(document).unbind('keydown.facebox')
301
+ $('#facebox').fadeOut(function() {
302
+ $('#facebox .content').removeClass().addClass('content')
303
+ $('#facebox .loading').remove()
304
+ $(document).trigger('afterClose.facebox')
305
+ })
306
+ hideOverlay()
307
+ })
308
+
309
+ })(jQuery);
@@ -0,0 +1,232 @@
1
+ /*!
2
+ * jQuery Cycle Lite Plugin
3
+ * http://malsup.com/jquery/cycle/lite/
4
+ * Copyright (c) 2008-2012 M. Alsup
5
+ * Version: 1.6 (02-MAY-2012)
6
+ * Dual licensed under the MIT and GPL licenses:
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ * http://www.gnu.org/licenses/gpl.html
9
+ * Requires: jQuery v1.3.2 or later
10
+ */
11
+ ;(function($) {
12
+ "use strict";
13
+
14
+ var ver = 'Lite-1.6';
15
+
16
+ $.fn.cycle = function(options) {
17
+ return this.each(function() {
18
+ options = options || {};
19
+
20
+ if (this.cycleTimeout) clearTimeout(this.cycleTimeout);
21
+
22
+ this.cycleTimeout = 0;
23
+ this.cyclePause = 0;
24
+
25
+ var $cont = $(this);
26
+ var $slides = options.slideExpr ? $(options.slideExpr, this) : $cont.children();
27
+ var els = $slides.get();
28
+ if (els.length < 2) {
29
+ if (window.console)
30
+ console.log('terminating; too few slides: ' + els.length);
31
+ return; // don't bother
32
+ }
33
+
34
+ // support metadata plugin (v1.0 and v2.0)
35
+ var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
36
+ var meta = $.isFunction($cont.data) ? $cont.data(opts.metaAttr) : null;
37
+ if (meta)
38
+ opts = $.extend(opts, meta);
39
+
40
+ opts.before = opts.before ? [opts.before] : [];
41
+ opts.after = opts.after ? [opts.after] : [];
42
+ opts.after.unshift(function(){ opts.busy=0; });
43
+
44
+ // allow shorthand overrides of width, height and timeout
45
+ var cls = this.className;
46
+ opts.width = parseInt((cls.match(/w:(\d+)/)||[])[1], 10) || opts.width;
47
+ opts.height = parseInt((cls.match(/h:(\d+)/)||[])[1], 10) || opts.height;
48
+ opts.timeout = parseInt((cls.match(/t:(\d+)/)||[])[1], 10) || opts.timeout;
49
+
50
+ if ($cont.css('position') == 'static')
51
+ $cont.css('position', 'relative');
52
+ if (opts.width)
53
+ $cont.width(opts.width);
54
+ if (opts.height && opts.height != 'auto')
55
+ $cont.height(opts.height);
56
+
57
+ var first = 0;
58
+ $slides.css({position: 'absolute', top:0}).each(function(i) {
59
+ $(this).css('z-index', els.length-i);
60
+ });
61
+
62
+ $(els[first]).css('opacity',1).show(); // opacity bit needed to handle reinit case
63
+ if ($.browser.msie) els[first].style.removeAttribute('filter');
64
+
65
+ if (opts.fit && opts.width)
66
+ $slides.width(opts.width);
67
+ if (opts.fit && opts.height && opts.height != 'auto')
68
+ $slides.height(opts.height);
69
+ if (opts.pause)
70
+ $cont.hover(function(){this.cyclePause=1;}, function(){this.cyclePause=0;});
71
+
72
+ var txFn = $.fn.cycle.transitions[opts.fx];
73
+ if (txFn)
74
+ txFn($cont, $slides, opts);
75
+
76
+ $slides.each(function() {
77
+ var $el = $(this);
78
+ this.cycleH = (opts.fit && opts.height) ? opts.height : $el.height();
79
+ this.cycleW = (opts.fit && opts.width) ? opts.width : $el.width();
80
+ });
81
+
82
+ if (opts.cssFirst)
83
+ $($slides[first]).css(opts.cssFirst);
84
+
85
+ if (opts.timeout) {
86
+ // ensure that timeout and speed settings are sane
87
+ if (opts.speed.constructor == String)
88
+ opts.speed = {slow: 600, fast: 200}[opts.speed] || 400;
89
+ if (!opts.sync)
90
+ opts.speed = opts.speed / 2;
91
+ while((opts.timeout - opts.speed) < 250)
92
+ opts.timeout += opts.speed;
93
+ }
94
+ opts.speedIn = opts.speed;
95
+ opts.speedOut = opts.speed;
96
+
97
+ opts.slideCount = els.length;
98
+ opts.currSlide = first;
99
+ opts.nextSlide = 1;
100
+
101
+ // fire artificial events
102
+ var e0 = $slides[first];
103
+ if (opts.before.length)
104
+ opts.before[0].apply(e0, [e0, e0, opts, true]);
105
+ if (opts.after.length > 1)
106
+ opts.after[1].apply(e0, [e0, e0, opts, true]);
107
+
108
+ if (opts.click && !opts.next)
109
+ opts.next = opts.click;
110
+ if (opts.next)
111
+ $(opts.next).unbind('click.cycle').bind('click.cycle', function(){return advance(els,opts,opts.rev?-1:1);});
112
+ if (opts.prev)
113
+ $(opts.prev).unbind('click.cycle').bind('click.cycle', function(){return advance(els,opts,opts.rev?1:-1);});
114
+
115
+ if (opts.timeout)
116
+ this.cycleTimeout = setTimeout(function() {
117
+ go(els,opts,0,!opts.rev);
118
+ }, opts.timeout + (opts.delay||0));
119
+ });
120
+ };
121
+
122
+ function go(els, opts, manual, fwd) {
123
+ if (opts.busy)
124
+ return;
125
+ var p = els[0].parentNode, curr = els[opts.currSlide], next = els[opts.nextSlide];
126
+ if (p.cycleTimeout === 0 && !manual)
127
+ return;
128
+
129
+ if (manual || !p.cyclePause) {
130
+ if (opts.before.length)
131
+ $.each(opts.before, function(i,o) { o.apply(next, [curr, next, opts, fwd]); });
132
+ var after = function() {
133
+ if ($.browser.msie)
134
+ this.style.removeAttribute('filter');
135
+ $.each(opts.after, function(i,o) { o.apply(next, [curr, next, opts, fwd]); });
136
+ queueNext(opts);
137
+ };
138
+
139
+ if (opts.nextSlide != opts.currSlide) {
140
+ opts.busy = 1;
141
+ $.fn.cycle.custom(curr, next, opts, after);
142
+ }
143
+ var roll = (opts.nextSlide + 1) == els.length;
144
+ opts.nextSlide = roll ? 0 : opts.nextSlide+1;
145
+ opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
146
+ } else {
147
+ queueNext(opts);
148
+ }
149
+
150
+ function queueNext(opts) {
151
+ if (opts.timeout)
152
+ p.cycleTimeout = setTimeout(function() { go(els,opts,0,!opts.rev); }, opts.timeout);
153
+ }
154
+ }
155
+
156
+ // advance slide forward or back
157
+ function advance(els, opts, val) {
158
+ var p = els[0].parentNode, timeout = p.cycleTimeout;
159
+ if (timeout) {
160
+ clearTimeout(timeout);
161
+ p.cycleTimeout = 0;
162
+ }
163
+ opts.nextSlide = opts.currSlide + val;
164
+ if (opts.nextSlide < 0) {
165
+ opts.nextSlide = els.length - 1;
166
+ }
167
+ else if (opts.nextSlide >= els.length) {
168
+ opts.nextSlide = 0;
169
+ }
170
+ go(els, opts, 1, val>=0);
171
+ return false;
172
+ }
173
+
174
+ $.fn.cycle.custom = function(curr, next, opts, cb) {
175
+ var $l = $(curr), $n = $(next);
176
+ $n.css(opts.cssBefore);
177
+ var fn = function() {$n.animate(opts.animIn, opts.speedIn, opts.easeIn, cb);};
178
+ $l.animate(opts.animOut, opts.speedOut, opts.easeOut, function() {
179
+ $l.css(opts.cssAfter);
180
+ if (!opts.sync)
181
+ fn();
182
+ });
183
+ if (opts.sync)
184
+ fn();
185
+ };
186
+
187
+ $.fn.cycle.transitions = {
188
+ fade: function($cont, $slides, opts) {
189
+ $slides.not(':eq(0)').hide();
190
+ opts.cssBefore = { opacity: 0, display: 'block' };
191
+ opts.cssAfter = { display: 'none' };
192
+ opts.animOut = { opacity: 0 };
193
+ opts.animIn = { opacity: 1 };
194
+ },
195
+ fadeout: function($cont, $slides, opts) {
196
+ opts.before.push(function(curr,next,opts,fwd) {
197
+ $(curr).css('zIndex',opts.slideCount + (fwd === true ? 1 : 0));
198
+ $(next).css('zIndex',opts.slideCount + (fwd === true ? 0 : 1));
199
+ });
200
+ $slides.not(':eq(0)').hide();
201
+ opts.cssBefore = { opacity: 1, display: 'block', zIndex: 1 };
202
+ opts.cssAfter = { display: 'none', zIndex: 0 };
203
+ opts.animOut = { opacity: 0 };
204
+ opts.animIn = { opacity: 1 };
205
+ }
206
+ };
207
+
208
+ $.fn.cycle.ver = function() { return ver; };
209
+
210
+ // @see: http://malsup.com/jquery/cycle/lite/
211
+ $.fn.cycle.defaults = {
212
+ animIn: {},
213
+ animOut: {},
214
+ fx: 'fade',
215
+ after: null,
216
+ before: null,
217
+ cssBefore: {},
218
+ cssAfter: {},
219
+ delay: 0,
220
+ fit: 0,
221
+ height: 'auto',
222
+ metaAttr: 'cycle',
223
+ next: null,
224
+ pause: false,
225
+ prev: null,
226
+ speed: 1000,
227
+ slideExpr: null,
228
+ sync: true,
229
+ timeout: 4000
230
+ };
231
+
232
+ })(jQuery);