From 9683741ec93fa2fa39d062ac80c93a102fb6d2d3 Mon Sep 17 00:00:00 2001 From: OrbitServer Date: Thu, 6 Dec 2012 16:06:47 +0800 Subject: [PATCH] Devin's changes to integrate the store --- app/assets/images/ar1.png | Bin 0 -> 209 bytes app/assets/images/dropdown_ad.png | Bin 0 -> 548 bytes app/assets/images/f1.jpg | Bin 0 -> 55113 bytes app/assets/images/f2.jpg | Bin 0 -> 37231 bytes app/assets/images/f3.jpg | Bin 0 -> 46666 bytes app/assets/images/logo.png | Bin 0 -> 4632 bytes app/assets/images/mfilter_bg.jpg | Bin 0 -> 8012 bytes app/assets/images/mheader_bg.jpg | Bin 0 -> 5531 bytes app/assets/images/mside_bg.png | Bin 0 -> 257 bytes app/assets/images/tfilter_bg.jpg | Bin 0 -> 1252 bytes app/assets/images/theader_bg.jpg | Bin 0 -> 11832 bytes app/assets/images/thumb_default.png | Bin 0 -> 3170 bytes app/assets/images/tlist_tap.png | Bin 0 -> 507 bytes app/assets/images/topnav_bg.png | Bin 0 -> 1925 bytes app/assets/images/ui_bg.png | Bin 0 -> 229 bytes app/assets/javascripts/jquery.cycle.js | 1552 +++++++++++++++++ app/assets/javascripts/modules.js | 9 + app/assets/javascripts/rulingorbit.js | 9 + ...{module-store.css => module-store.css.erb} | 9 +- .../{rulingorbit.css => rulingorbit.css.erb} | 22 +- ...plate-store.css => template-store.css.erb} | 8 +- app/uploaders/image_uploader.rb | 17 +- app/views/admin/module_store/index.html.erb | 16 +- app/views/admin/module_store/show.html.erb | 4 + app/views/admin/purchases/index.html.erb | 25 +- app/views/admin/template_store/show.html.erb | 5 +- 26 files changed, 1639 insertions(+), 37 deletions(-) create mode 100644 app/assets/images/ar1.png create mode 100644 app/assets/images/dropdown_ad.png create mode 100644 app/assets/images/f1.jpg create mode 100644 app/assets/images/f2.jpg create mode 100644 app/assets/images/f3.jpg create mode 100644 app/assets/images/logo.png create mode 100644 app/assets/images/mfilter_bg.jpg create mode 100644 app/assets/images/mheader_bg.jpg create mode 100644 app/assets/images/mside_bg.png create mode 100644 app/assets/images/tfilter_bg.jpg create mode 100644 app/assets/images/theader_bg.jpg create mode 100644 app/assets/images/thumb_default.png create mode 100644 app/assets/images/tlist_tap.png create mode 100644 app/assets/images/topnav_bg.png create mode 100644 app/assets/images/ui_bg.png create mode 100644 app/assets/javascripts/jquery.cycle.js create mode 100644 app/assets/javascripts/modules.js create mode 100644 app/assets/javascripts/rulingorbit.js rename app/assets/stylesheets/{module-store.css => module-store.css.erb} (86%) rename app/assets/stylesheets/{rulingorbit.css => rulingorbit.css.erb} (92%) rename app/assets/stylesheets/{template-store.css => template-store.css.erb} (90%) diff --git a/app/assets/images/ar1.png b/app/assets/images/ar1.png new file mode 100644 index 0000000000000000000000000000000000000000..95d8171db0a41d3244a24305e9d3b74e783b3bca GIT binary patch literal 209 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 THc%FGr2dav;r|Y<{=@hW7dy%M literal 0 HcmV?d00001 diff --git a/app/assets/images/f2.jpg b/app/assets/images/f2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..db5a35e544fe14fd00091a8596756055eadb660a GIT binary patch literal 37231 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 e`H-5Y9h{aJ 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/mside_bg.png b/app/assets/images/mside_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..8fcdc32521ccc3a992b0bb1e9ce9ff7aced33ed3 GIT binary patch literal 257 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 J0Qt$l{{W&DAo>6R literal 0 HcmV?d00001 diff --git a/app/assets/images/thumb_default.png b/app/assets/images/thumb_default.png new file mode 100644 index 0000000000000000000000000000000000000000..8eeaaf30624d8d1a322b2aa637e73bcd89d4ca50 GIT binary patch literal 3170 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/topnav_bg.png b/app/assets/images/topnav_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..06d16c6aadc4809d5852a6b32f2a9d6ab7dc6cd8 GIT binary patch literal 1925 zcmV;02YUF4P)X)>i_@- z+et)0R9JTraUL2>Hh0F}h zkiZ00i7*Ti?wA{0jf2RWL;>2$c z0Zd+;o(%*)Cps%ExH6|nAzOS903PJ zRukJ8B-|ZLgdBAf?g*puQszj_iJ-DD54wwU4w5+4g<6!R=$VDP(LD>B8D?OBd0-~c zbXpRsB2FL)GdLz&C?pOD(PC=SHJyDHci)Zdef|B>YB!I*4;== z!z^Zo)F20p>c%lq-EVip9RqrIpA!Z5eh;{JD-RzAf0oN5oteqpJ`M8qUGP9ZC2C_QY8* zZzUJl>Lz09cyH3(R3>IVr8+@ZaU^l#P&G6g0KmxzEC+4X|hmpQGbb4oB*7B>@H4TuQty?mW7 zq{d^fYi@+w)N4gR5+)n&s=1kT)iz~dRXxqA)k_BvF(O$KQe)llL zVYol_>u$Wd26qNsJsce%tYq~Ry=%nPAT#&>+n^}`*@dHr{EoYiFw~&m&EKmzqcU3N zm_b(2)u@}+D7S+~HPk#(Ry7JfdN}pU<-7Ut_rk14f!+c)x+mn zwt85LSF@pFRe>6RKqYB(tsCSCC-^f z?MaGWLEDbfbGo(J2eW7DGQuEfsU$M*nk2+I^#0vwuC`bAh!u$ovN_=t{|skGBu5}( zL}5NNrx-jM-O0dMs1vgd0Ji3>Drx~-RTxa6*SJ`8c73jH_Pn>sJr>Y(i*O^%U*y|L zSFYGD9FaX|9WJ*Z4629!-u2@H3{z?;H&AJ^gxiYf%8@VijyYN>lQua#Bp?4>snQP{ zFp>2+sU&XoM?h?DXC}@+-+#{n23K}kuL0i@Rrg3HWp?g4vF4SgFm@&>k9C~HK+yMM%sC3*E^YZ(irkHJ68x%UF%-brsK z4iUk5cBx*Ua8Y$9N9Wq=*0=73Cr1L6$%%tDhqoFZ5DflC8hw6awUNm>)swnxI}n?* zZza{@J9AVVX(PqRxzs=6oV}_&VQC_p)Pq4ZvF>q2z|DQEao@}=s(RJsNfXoIhnBOs z-ff?T0{Cx=z3Iwq%b7A%phaskQ}EbiWoG0pzD{u0kh%(6 znHy1_Cq47Nielzueqe_L$Q)jC@*nI-LLHX%OZtY4pze+Qck_o*ktZ(}ny=9~x&d$V5ECjZJ;{>=>w z8_9Z_+5KdIRU0!plY-wCJ6~tQ`JT8nf)N%^gE8xk%i0F*f)>t%jmalZlBmruQbYS^ z>eSdpH@J&#A&uet#EE4DpE)J-PMUK2INl?g+Bm$@Cl&62dvLT+@Kx)X(qm$s#7ZEn z2A*?h7hy&}8GJ`JGdPdWs*7IiWnJ8ZXQ@YD&WYu3qwrURhjs%YrympF!FqXGZ(`jU zSrag82c66u^>%wFu+i-${+Q43(y*7;&lePT!_wR0g;8Z;Vn^e|vvM=`c!^A}4&Ix* z+2@&3C(vvdn7U@=Kxd}=Aoi;gU-Wy#42o-ynRk49Cj?<*tIq_m!Ku4AmAM&k(n9w@ zK9NOq>OZ*)G={;` L)z4*}Q$iB}7a&0@ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/jquery.cycle.js b/app/assets/javascripts/jquery.cycle.js new file mode 100644 index 00000000..21f11cad --- /dev/null +++ b/app/assets/javascripts/jquery.cycle.js @@ -0,0 +1,1552 @@ +/*! + * jQuery Cycle Plugin (with Transition Definitions) + * Examples and documentation at: http://jquery.malsup.com/cycle/ + * Copyright (c) 2007-2010 M. Alsup + * Version: 2.9999.8 (26-OCT-2012) + * Dual licensed under the MIT and GPL licenses. + * http://jquery.malsup.com/license.html + * Requires: jQuery v1.3.2 or later + */ + +;(function($, undefined) { +"use strict"; + +var ver = '2.9999.8'; + +// if $.support is not defined (pre jQuery 1.3) add what I need +if ($.support === undefined) { + $.support = { + opacity: !($.browser.msie) + }; +} + +function debug(s) { + if ($.fn.cycle.debug) + log(s); +} +function log() { + if (window.console && console.log) + console.log('[cycle] ' + Array.prototype.join.call(arguments,' ')); +} +$.expr[':'].paused = function(el) { + return el.cyclePause; +}; + + +// the options arg can be... +// a number - indicates an immediate transition should occur to the given slide index +// a string - 'pause', 'resume', 'toggle', 'next', 'prev', 'stop', 'destroy' or the name of a transition effect (ie, 'fade', 'zoom', etc) +// an object - properties to control the slideshow +// +// the arg2 arg can be... +// the name of an fx (only used in conjunction with a numeric value for 'options') +// the value true (only used in first arg == 'resume') and indicates +// that the resume should occur immediately (not wait for next timeout) + +$.fn.cycle = function(options, arg2) { + var o = { s: this.selector, c: this.context }; + + // in 1.3+ we can fix mistakes with the ready state + if (this.length === 0 && options != 'stop') { + if (!$.isReady && o.s) { + log('DOM not ready, queuing slideshow'); + $(function() { + $(o.s,o.c).cycle(options,arg2); + }); + return this; + } + // is your DOM ready? http://docs.jquery.com/Tutorials:Introducing_$(document).ready() + log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)')); + return this; + } + + // iterate the matched nodeset + return this.each(function() { + var opts = handleArguments(this, options, arg2); + if (opts === false) + return; + + opts.updateActivePagerLink = opts.updateActivePagerLink || $.fn.cycle.updateActivePagerLink; + + // stop existing slideshow for this container (if there is one) + if (this.cycleTimeout) + clearTimeout(this.cycleTimeout); + this.cycleTimeout = this.cyclePause = 0; + this.cycleStop = 0; // issue #108 + + var $cont = $(this); + var $slides = opts.slideExpr ? $(opts.slideExpr, this) : $cont.children(); + var els = $slides.get(); + + if (els.length < 2) { + log('terminating; too few slides: ' + els.length); + return; + } + + var opts2 = buildOptions($cont, $slides, els, opts, o); + if (opts2 === false) + return; + + var startTime = opts2.continuous ? 10 : getTimeout(els[opts2.currSlide], els[opts2.nextSlide], opts2, !opts2.backwards); + + // if it's an auto slideshow, kick it off + if (startTime) { + startTime += (opts2.delay || 0); + if (startTime < 10) + startTime = 10; + debug('first timeout: ' + startTime); + this.cycleTimeout = setTimeout(function(){go(els,opts2,0,!opts.backwards);}, startTime); + } + }); +}; + +function triggerPause(cont, byHover, onPager) { + var opts = $(cont).data('cycle.opts'); + if (!opts) + return; + var paused = !!cont.cyclePause; + if (paused && opts.paused) + opts.paused(cont, opts, byHover, onPager); + else if (!paused && opts.resumed) + opts.resumed(cont, opts, byHover, onPager); +} + +// process the args that were passed to the plugin fn +function handleArguments(cont, options, arg2) { + if (cont.cycleStop === undefined) + cont.cycleStop = 0; + if (options === undefined || options === null) + options = {}; + if (options.constructor == String) { + switch(options) { + case 'destroy': + case 'stop': + var opts = $(cont).data('cycle.opts'); + if (!opts) + return false; + cont.cycleStop++; // callbacks look for change + if (cont.cycleTimeout) + clearTimeout(cont.cycleTimeout); + cont.cycleTimeout = 0; + if (opts.elements) + $(opts.elements).stop(); + $(cont).removeData('cycle.opts'); + if (options == 'destroy') + destroy(cont, opts); + return false; + case 'toggle': + cont.cyclePause = (cont.cyclePause === 1) ? 0 : 1; + checkInstantResume(cont.cyclePause, arg2, cont); + triggerPause(cont); + return false; + case 'pause': + cont.cyclePause = 1; + triggerPause(cont); + return false; + case 'resume': + cont.cyclePause = 0; + checkInstantResume(false, arg2, cont); + triggerPause(cont); + return false; + case 'prev': + case 'next': + opts = $(cont).data('cycle.opts'); + if (!opts) { + log('options not found, "prev/next" ignored'); + return false; + } + $.fn.cycle[options](opts); + return false; + default: + options = { fx: options }; + } + return options; + } + else if (options.constructor == Number) { + // go to the requested slide + var num = options; + options = $(cont).data('cycle.opts'); + if (!options) { + log('options not found, can not advance slide'); + return false; + } + if (num < 0 || num >= options.elements.length) { + log('invalid slide index: ' + num); + return false; + } + options.nextSlide = num; + if (cont.cycleTimeout) { + clearTimeout(cont.cycleTimeout); + cont.cycleTimeout = 0; + } + if (typeof arg2 == 'string') + options.oneTimeFx = arg2; + go(options.elements, options, 1, num >= options.currSlide); + return false; + } + return options; + + function checkInstantResume(isPaused, arg2, cont) { + if (!isPaused && arg2 === true) { // resume now! + var options = $(cont).data('cycle.opts'); + if (!options) { + log('options not found, can not resume'); + return false; + } + if (cont.cycleTimeout) { + clearTimeout(cont.cycleTimeout); + cont.cycleTimeout = 0; + } + go(options.elements, options, 1, !options.backwards); + } + } +} + +function removeFilter(el, opts) { + if (!$.support.opacity && opts.cleartype && el.style.filter) { + try { el.style.removeAttribute('filter'); } + catch(smother) {} // handle old opera versions + } +} + +// unbind event handlers +function destroy(cont, opts) { + if (opts.next) + $(opts.next).unbind(opts.prevNextEvent); + if (opts.prev) + $(opts.prev).unbind(opts.prevNextEvent); + + if (opts.pager || opts.pagerAnchorBuilder) + $.each(opts.pagerAnchors || [], function() { + this.unbind().remove(); + }); + opts.pagerAnchors = null; + $(cont).unbind('mouseenter.cycle mouseleave.cycle'); + if (opts.destroy) // callback + opts.destroy(opts); +} + +// one-time initialization +function buildOptions($cont, $slides, els, options, o) { + var startingSlideSpecified; + // support metadata plugin (v1.0 and v2.0) + var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {}); + var meta = $.isFunction($cont.data) ? $cont.data(opts.metaAttr) : null; + if (meta) + opts = $.extend(opts, meta); + if (opts.autostop) + opts.countdown = opts.autostopCount || els.length; + + var cont = $cont[0]; + $cont.data('cycle.opts', opts); + opts.$cont = $cont; + opts.stopCount = cont.cycleStop; + opts.elements = els; + opts.before = opts.before ? [opts.before] : []; + opts.after = opts.after ? [opts.after] : []; + + // push some after callbacks + if (!$.support.opacity && opts.cleartype) + opts.after.push(function() { removeFilter(this, opts); }); + if (opts.continuous) + opts.after.push(function() { go(els,opts,0,!opts.backwards); }); + + saveOriginalOpts(opts); + + // clearType corrections + if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg) + clearTypeFix($slides); + + // container requires non-static position so that slides can be position within + if ($cont.css('position') == 'static') + $cont.css('position', 'relative'); + if (opts.width) + $cont.width(opts.width); + if (opts.height && opts.height != 'auto') + $cont.height(opts.height); + + if (opts.startingSlide !== undefined) { + opts.startingSlide = parseInt(opts.startingSlide,10); + if (opts.startingSlide >= els.length || opts.startSlide < 0) + opts.startingSlide = 0; // catch bogus input + else + startingSlideSpecified = true; + } + else if (opts.backwards) + opts.startingSlide = els.length - 1; + else + opts.startingSlide = 0; + + // if random, mix up the slide array + if (opts.random) { + opts.randomMap = []; + for (var i = 0; i < els.length; i++) + opts.randomMap.push(i); + opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;}); + if (startingSlideSpecified) { + // try to find the specified starting slide and if found set start slide index in the map accordingly + for ( var cnt = 0; cnt < els.length; cnt++ ) { + if ( opts.startingSlide == opts.randomMap[cnt] ) { + opts.randomIndex = cnt; + } + } + } + else { + opts.randomIndex = 1; + opts.startingSlide = opts.randomMap[1]; + } + } + else if (opts.startingSlide >= els.length) + opts.startingSlide = 0; // catch bogus input + opts.currSlide = opts.startingSlide || 0; + var first = opts.startingSlide; + + // set position and zIndex on all the slides + $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) { + var z; + if (opts.backwards) + z = first ? i <= first ? els.length + (i-first) : first-i : els.length-i; + else + z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i; + $(this).css('z-index', z); + }); + + // make sure first slide is visible + $(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case + removeFilter(els[first], opts); + + // stretch slides + if (opts.fit) { + if (!opts.aspect) { + if (opts.width) + $slides.width(opts.width); + if (opts.height && opts.height != 'auto') + $slides.height(opts.height); + } else { + $slides.each(function(){ + var $slide = $(this); + var ratio = (opts.aspect === true) ? $slide.width()/$slide.height() : opts.aspect; + if( opts.width && $slide.width() != opts.width ) { + $slide.width( opts.width ); + $slide.height( opts.width / ratio ); + } + + if( opts.height && $slide.height() < opts.height ) { + $slide.height( opts.height ); + $slide.width( opts.height * ratio ); + } + }); + } + } + + if (opts.center && ((!opts.fit) || opts.aspect)) { + $slides.each(function(){ + var $slide = $(this); + $slide.css({ + "margin-left": opts.width ? + ((opts.width - $slide.width()) / 2) + "px" : + 0, + "margin-top": opts.height ? + ((opts.height - $slide.height()) / 2) + "px" : + 0 + }); + }); + } + + if (opts.center && !opts.fit && !opts.slideResize) { + $slides.each(function(){ + var $slide = $(this); + $slide.css({ + "margin-left": opts.width ? ((opts.width - $slide.width()) / 2) + "px" : 0, + "margin-top": opts.height ? ((opts.height - $slide.height()) / 2) + "px" : 0 + }); + }); + } + + // stretch container + var reshape = (opts.containerResize || opts.containerResizeHeight) && !$cont.innerHeight(); + if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9 + var maxw = 0, maxh = 0; + for(var j=0; j < els.length; j++) { + var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight(); + if (!w) w = e.offsetWidth || e.width || $e.attr('width'); + if (!h) h = e.offsetHeight || e.height || $e.attr('height'); + maxw = w > maxw ? w : maxw; + maxh = h > maxh ? h : maxh; + } + if (opts.containerResize && maxw > 0 && maxh > 0) + $cont.css({width:maxw+'px',height:maxh+'px'}); + if (opts.containerResizeHeight && maxh > 0) + $cont.css({height:maxh+'px'}); + } + + var pauseFlag = false; // https://github.com/malsup/cycle/issues/44 + if (opts.pause) + $cont.bind('mouseenter.cycle', function(){ + pauseFlag = true; + this.cyclePause++; + triggerPause(cont, true); + }).bind('mouseleave.cycle', function(){ + if (pauseFlag) + this.cyclePause--; + triggerPause(cont, true); + }); + + if (supportMultiTransitions(opts) === false) + return false; + + // apparently a lot of people use image slideshows without height/width attributes on the images. + // Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that. + var requeue = false; + options.requeueAttempts = options.requeueAttempts || 0; + $slides.each(function() { + // try to get height/width of each slide + var $el = $(this); + this.cycleH = (opts.fit && opts.height) ? opts.height : ($el.height() || this.offsetHeight || this.height || $el.attr('height') || 0); + this.cycleW = (opts.fit && opts.width) ? opts.width : ($el.width() || this.offsetWidth || this.width || $el.attr('width') || 0); + + if ( $el.is('img') ) { + // sigh.. sniffing, hacking, shrugging... this crappy hack tries to account for what browsers do when + // an image is being downloaded and the markup did not include sizing info (height/width attributes); + // there seems to be some "default" sizes used in this situation + var loadingIE = ($.browser.msie && this.cycleW == 28 && this.cycleH == 30 && !this.complete); + var loadingFF = ($.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete); + var loadingOp = ($.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete); + var loadingOther = (this.cycleH === 0 && this.cycleW === 0 && !this.complete); + // don't requeue for images that are still loading but have a valid size + if (loadingIE || loadingFF || loadingOp || loadingOther) { + if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever + log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH); + setTimeout(function() {$(o.s,o.c).cycle(options);}, opts.requeueTimeout); + requeue = true; + return false; // break each loop + } + else { + log('could not determine size of image: '+this.src, this.cycleW, this.cycleH); + } + } + } + return true; + }); + + if (requeue) + return false; + + opts.cssBefore = opts.cssBefore || {}; + opts.cssAfter = opts.cssAfter || {}; + opts.cssFirst = opts.cssFirst || {}; + opts.animIn = opts.animIn || {}; + opts.animOut = opts.animOut || {}; + + $slides.not(':eq('+first+')').css(opts.cssBefore); + $($slides[first]).css(opts.cssFirst); + + if (opts.timeout) { + opts.timeout = parseInt(opts.timeout,10); + // ensure that timeout and speed settings are sane + if (opts.speed.constructor == String) + opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed,10); + if (!opts.sync) + opts.speed = opts.speed / 2; + + var buffer = opts.fx == 'none' ? 0 : opts.fx == 'shuffle' ? 500 : 250; + while((opts.timeout - opts.speed) < buffer) // sanitize timeout + opts.timeout += opts.speed; + } + if (opts.easing) + opts.easeIn = opts.easeOut = opts.easing; + if (!opts.speedIn) + opts.speedIn = opts.speed; + if (!opts.speedOut) + opts.speedOut = opts.speed; + + opts.slideCount = els.length; + opts.currSlide = opts.lastSlide = first; + if (opts.random) { + if (++opts.randomIndex == els.length) + opts.randomIndex = 0; + opts.nextSlide = opts.randomMap[opts.randomIndex]; + } + else if (opts.backwards) + opts.nextSlide = opts.startingSlide === 0 ? (els.length-1) : opts.startingSlide-1; + else + opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1; + + // run transition init fn + if (!opts.multiFx) { + var init = $.fn.cycle.transitions[opts.fx]; + if ($.isFunction(init)) + init($cont, $slides, opts); + else if (opts.fx != 'custom' && !opts.multiFx) { + log('unknown transition: ' + opts.fx,'; slideshow terminating'); + return false; + } + } + + // fire artificial events + var e0 = $slides[first]; + if (!opts.skipInitializationCallbacks) { + if (opts.before.length) + opts.before[0].apply(e0, [e0, e0, opts, true]); + if (opts.after.length) + opts.after[0].apply(e0, [e0, e0, opts, true]); + } + if (opts.next) + $(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,1);}); + if (opts.prev) + $(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,0);}); + if (opts.pager || opts.pagerAnchorBuilder) + buildPager(els,opts); + + exposeAddSlide(opts, els); + + return opts; +} + +// save off original opts so we can restore after clearing state +function saveOriginalOpts(opts) { + opts.original = { before: [], after: [] }; + opts.original.cssBefore = $.extend({}, opts.cssBefore); + opts.original.cssAfter = $.extend({}, opts.cssAfter); + opts.original.animIn = $.extend({}, opts.animIn); + opts.original.animOut = $.extend({}, opts.animOut); + $.each(opts.before, function() { opts.original.before.push(this); }); + $.each(opts.after, function() { opts.original.after.push(this); }); +} + +function supportMultiTransitions(opts) { + var i, tx, txs = $.fn.cycle.transitions; + // look for multiple effects + if (opts.fx.indexOf(',') > 0) { + opts.multiFx = true; + opts.fxs = opts.fx.replace(/\s*/g,'').split(','); + // discard any bogus effect names + for (i=0; i < opts.fxs.length; i++) { + var fx = opts.fxs[i]; + tx = txs[fx]; + if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) { + log('discarding unknown transition: ',fx); + opts.fxs.splice(i,1); + i--; + } + } + // if we have an empty list then we threw everything away! + if (!opts.fxs.length) { + log('No valid transitions named; slideshow terminating.'); + return false; + } + } + else if (opts.fx == 'all') { // auto-gen the list of transitions + opts.multiFx = true; + opts.fxs = []; + for (var p in txs) { + if (txs.hasOwnProperty(p)) { + tx = txs[p]; + if (txs.hasOwnProperty(p) && $.isFunction(tx)) + opts.fxs.push(p); + } + } + } + if (opts.multiFx && opts.randomizeEffects) { + // munge the fxs array to make effect selection random + var r1 = Math.floor(Math.random() * 20) + 30; + for (i = 0; i < r1; i++) { + var r2 = Math.floor(Math.random() * opts.fxs.length); + opts.fxs.push(opts.fxs.splice(r2,1)[0]); + } + debug('randomized fx sequence: ',opts.fxs); + } + return true; +} + +// provide a mechanism for adding slides after the slideshow has started +function exposeAddSlide(opts, els) { + opts.addSlide = function(newSlide, prepend) { + var $s = $(newSlide), s = $s[0]; + if (!opts.autostopCount) + opts.countdown++; + els[prepend?'unshift':'push'](s); + if (opts.els) + opts.els[prepend?'unshift':'push'](s); // shuffle needs this + opts.slideCount = els.length; + + // add the slide to the random map and resort + if (opts.random) { + opts.randomMap.push(opts.slideCount-1); + opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;}); + } + + $s.css('position','absolute'); + $s[prepend?'prependTo':'appendTo'](opts.$cont); + + if (prepend) { + opts.currSlide++; + opts.nextSlide++; + } + + if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg) + clearTypeFix($s); + + if (opts.fit && opts.width) + $s.width(opts.width); + if (opts.fit && opts.height && opts.height != 'auto') + $s.height(opts.height); + s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height(); + s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width(); + + $s.css(opts.cssBefore); + + if (opts.pager || opts.pagerAnchorBuilder) + $.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts); + + if ($.isFunction(opts.onAddSlide)) + opts.onAddSlide($s); + else + $s.hide(); // default behavior + }; +} + +// reset internal state; we do this on every pass in order to support multiple effects +$.fn.cycle.resetState = function(opts, fx) { + fx = fx || opts.fx; + opts.before = []; opts.after = []; + opts.cssBefore = $.extend({}, opts.original.cssBefore); + opts.cssAfter = $.extend({}, opts.original.cssAfter); + opts.animIn = $.extend({}, opts.original.animIn); + opts.animOut = $.extend({}, opts.original.animOut); + opts.fxFn = null; + $.each(opts.original.before, function() { opts.before.push(this); }); + $.each(opts.original.after, function() { opts.after.push(this); }); + + // re-init + var init = $.fn.cycle.transitions[fx]; + if ($.isFunction(init)) + init(opts.$cont, $(opts.elements), opts); +}; + +// this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt +function go(els, opts, manual, fwd) { + var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide]; + + // opts.busy is true if we're in the middle of an animation + if (manual && opts.busy && opts.manualTrump) { + // let manual transitions requests trump active ones + debug('manualTrump in go(), stopping active transition'); + $(els).stop(true,true); + opts.busy = 0; + clearTimeout(p.cycleTimeout); + } + + // don't begin another timeout-based transition if there is one active + if (opts.busy) { + debug('transition active, ignoring new tx request'); + return; + } + + + // stop cycling if we have an outstanding stop request + if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual) + return; + + // check to see if we should stop cycling based on autostop options + if (!manual && !p.cyclePause && !opts.bounce && + ((opts.autostop && (--opts.countdown <= 0)) || + (opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) { + if (opts.end) + opts.end(opts); + return; + } + + // if slideshow is paused, only transition on a manual trigger + var changed = false; + if ((manual || !p.cyclePause) && (opts.nextSlide != opts.currSlide)) { + changed = true; + var fx = opts.fx; + // keep trying to get the slide size if we don't have it yet + curr.cycleH = curr.cycleH || $(curr).height(); + curr.cycleW = curr.cycleW || $(curr).width(); + next.cycleH = next.cycleH || $(next).height(); + next.cycleW = next.cycleW || $(next).width(); + + // support multiple transition types + if (opts.multiFx) { + if (fwd && (opts.lastFx === undefined || ++opts.lastFx >= opts.fxs.length)) + opts.lastFx = 0; + else if (!fwd && (opts.lastFx === undefined || --opts.lastFx < 0)) + opts.lastFx = opts.fxs.length - 1; + fx = opts.fxs[opts.lastFx]; + } + + // one-time fx overrides apply to: $('div').cycle(3,'zoom'); + if (opts.oneTimeFx) { + fx = opts.oneTimeFx; + opts.oneTimeFx = null; + } + + $.fn.cycle.resetState(opts, fx); + + // run the before callbacks + if (opts.before.length) + $.each(opts.before, function(i,o) { + if (p.cycleStop != opts.stopCount) return; + o.apply(next, [curr, next, opts, fwd]); + }); + + // stage the after callacks + var after = function() { + opts.busy = 0; + $.each(opts.after, function(i,o) { + if (p.cycleStop != opts.stopCount) return; + o.apply(next, [curr, next, opts, fwd]); + }); + if (!p.cycleStop) { + // queue next transition + queueNext(); + } + }; + + debug('tx firing('+fx+'); currSlide: ' + opts.currSlide + '; nextSlide: ' + opts.nextSlide); + + // get ready to perform the transition + opts.busy = 1; + if (opts.fxFn) // fx function provided? + opts.fxFn(curr, next, opts, after, fwd, manual && opts.fastOnEvent); + else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ? + $.fn.cycle[opts.fx](curr, next, opts, after, fwd, manual && opts.fastOnEvent); + else + $.fn.cycle.custom(curr, next, opts, after, fwd, manual && opts.fastOnEvent); + } + else { + queueNext(); + } + + if (changed || opts.nextSlide == opts.currSlide) { + // calculate the next slide + var roll; + opts.lastSlide = opts.currSlide; + if (opts.random) { + opts.currSlide = opts.nextSlide; + if (++opts.randomIndex == els.length) { + opts.randomIndex = 0; + opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;}); + } + opts.nextSlide = opts.randomMap[opts.randomIndex]; + if (opts.nextSlide == opts.currSlide) + opts.nextSlide = (opts.currSlide == opts.slideCount - 1) ? 0 : opts.currSlide + 1; + } + else if (opts.backwards) { + roll = (opts.nextSlide - 1) < 0; + if (roll && opts.bounce) { + opts.backwards = !opts.backwards; + opts.nextSlide = 1; + opts.currSlide = 0; + } + else { + opts.nextSlide = roll ? (els.length-1) : opts.nextSlide-1; + opts.currSlide = roll ? 0 : opts.nextSlide+1; + } + } + else { // sequence + roll = (opts.nextSlide + 1) == els.length; + if (roll && opts.bounce) { + opts.backwards = !opts.backwards; + opts.nextSlide = els.length-2; + opts.currSlide = els.length-1; + } + else { + opts.nextSlide = roll ? 0 : opts.nextSlide+1; + opts.currSlide = roll ? els.length-1 : opts.nextSlide-1; + } + } + } + if (changed && opts.pager) + opts.updateActivePagerLink(opts.pager, opts.currSlide, opts.activePagerClass); + + function queueNext() { + // stage the next transition + var ms = 0, timeout = opts.timeout; + if (opts.timeout && !opts.continuous) { + ms = getTimeout(els[opts.currSlide], els[opts.nextSlide], opts, fwd); + if (opts.fx == 'shuffle') + ms -= opts.speedOut; + } + else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic + ms = 10; + if (ms > 0) + p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, !opts.backwards); }, ms); + } +} + +// invoked after transition +$.fn.cycle.updateActivePagerLink = function(pager, currSlide, clsName) { + $(pager).each(function() { + $(this).children().removeClass(clsName).eq(currSlide).addClass(clsName); + }); +}; + +// calculate timeout value for current transition +function getTimeout(curr, next, opts, fwd) { + if (opts.timeoutFn) { + // call user provided calc fn + var t = opts.timeoutFn.call(curr,curr,next,opts,fwd); + while (opts.fx != 'none' && (t - opts.speed) < 250) // sanitize timeout + t += opts.speed; + debug('calculated timeout: ' + t + '; speed: ' + opts.speed); + if (t !== false) + return t; + } + return opts.timeout; +} + +// expose next/prev function, caller must pass in state +$.fn.cycle.next = function(opts) { advance(opts,1); }; +$.fn.cycle.prev = function(opts) { advance(opts,0);}; + +// advance slide forward or back +function advance(opts, moveForward) { + var val = moveForward ? 1 : -1; + var els = opts.elements; + var p = opts.$cont[0], timeout = p.cycleTimeout; + if (timeout) { + clearTimeout(timeout); + p.cycleTimeout = 0; + } + if (opts.random && val < 0) { + // move back to the previously display slide + opts.randomIndex--; + if (--opts.randomIndex == -2) + opts.randomIndex = els.length-2; + else if (opts.randomIndex == -1) + opts.randomIndex = els.length-1; + opts.nextSlide = opts.randomMap[opts.randomIndex]; + } + else if (opts.random) { + opts.nextSlide = opts.randomMap[opts.randomIndex]; + } + else { + opts.nextSlide = opts.currSlide + val; + if (opts.nextSlide < 0) { + if (opts.nowrap) return false; + opts.nextSlide = els.length - 1; + } + else if (opts.nextSlide >= els.length) { + if (opts.nowrap) return false; + opts.nextSlide = 0; + } + } + + var cb = opts.onPrevNextEvent || opts.prevNextClick; // prevNextClick is deprecated + if ($.isFunction(cb)) + cb(val > 0, opts.nextSlide, els[opts.nextSlide]); + go(els, opts, 1, moveForward); + return false; +} + +function buildPager(els, opts) { + var $p = $(opts.pager); + $.each(els, function(i,o) { + $.fn.cycle.createPagerAnchor(i,o,$p,els,opts); + }); + opts.updateActivePagerLink(opts.pager, opts.startingSlide, opts.activePagerClass); +} + +$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) { + var a; + if ($.isFunction(opts.pagerAnchorBuilder)) { + a = opts.pagerAnchorBuilder(i,el); + debug('pagerAnchorBuilder('+i+', el) returned: ' + a); + } + else + a = ''+(i+1)+''; + + if (!a) + return; + var $a = $(a); + // don't reparent if anchor is in the dom + if ($a.parents('body').length === 0) { + var arr = []; + if ($p.length > 1) { + $p.each(function() { + var $clone = $a.clone(true); + $(this).append($clone); + arr.push($clone[0]); + }); + $a = $(arr); + } + else { + $a.appendTo($p); + } + } + + opts.pagerAnchors = opts.pagerAnchors || []; + opts.pagerAnchors.push($a); + + var pagerFn = function(e) { + e.preventDefault(); + opts.nextSlide = i; + var p = opts.$cont[0], timeout = p.cycleTimeout; + if (timeout) { + clearTimeout(timeout); + p.cycleTimeout = 0; + } + var cb = opts.onPagerEvent || opts.pagerClick; // pagerClick is deprecated + if ($.isFunction(cb)) + cb(opts.nextSlide, els[opts.nextSlide]); + go(els,opts,1,opts.currSlide < i); // trigger the trans +// return false; // <== allow bubble + }; + + if ( /mouseenter|mouseover/i.test(opts.pagerEvent) ) { + $a.hover(pagerFn, function(){/* no-op */} ); + } + else { + $a.bind(opts.pagerEvent, pagerFn); + } + + if ( ! /^click/.test(opts.pagerEvent) && !opts.allowPagerClickBubble) + $a.bind('click.cycle', function(){return false;}); // suppress click + + var cont = opts.$cont[0]; + var pauseFlag = false; // https://github.com/malsup/cycle/issues/44 + if (opts.pauseOnPagerHover) { + $a.hover( + function() { + pauseFlag = true; + cont.cyclePause++; + triggerPause(cont,true,true); + }, function() { + if (pauseFlag) + cont.cyclePause--; + triggerPause(cont,true,true); + } + ); + } +}; + +// helper fn to calculate the number of slides between the current and the next +$.fn.cycle.hopsFromLast = function(opts, fwd) { + var hops, l = opts.lastSlide, c = opts.currSlide; + if (fwd) + hops = c > l ? c - l : opts.slideCount - l; + else + hops = c < l ? l - c : l + opts.slideCount - c; + return hops; +}; + +// fix clearType problems in ie6 by setting an explicit bg color +// (otherwise text slides look horrible during a fade transition) +function clearTypeFix($slides) { + debug('applying clearType background-color hack'); + function hex(s) { + s = parseInt(s,10).toString(16); + return s.length < 2 ? '0'+s : s; + } + function getBg(e) { + for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) { + var v = $.css(e,'background-color'); + if (v && v.indexOf('rgb') >= 0 ) { + var rgb = v.match(/\d+/g); + return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]); + } + if (v && v != 'transparent') + return v; + } + return '#ffffff'; + } + $slides.each(function() { $(this).css('background-color', getBg(this)); }); +} + +// reset common props before the next transition +$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) { + $(opts.elements).not(curr).hide(); + if (typeof opts.cssBefore.opacity == 'undefined') + opts.cssBefore.opacity = 1; + opts.cssBefore.display = 'block'; + if (opts.slideResize && w !== false && next.cycleW > 0) + opts.cssBefore.width = next.cycleW; + if (opts.slideResize && h !== false && next.cycleH > 0) + opts.cssBefore.height = next.cycleH; + opts.cssAfter = opts.cssAfter || {}; + opts.cssAfter.display = 'none'; + $(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0)); + $(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1)); +}; + +// the actual fn for effecting a transition +$.fn.cycle.custom = function(curr, next, opts, cb, fwd, speedOverride) { + var $l = $(curr), $n = $(next); + var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut; + $n.css(opts.cssBefore); + if (speedOverride) { + if (typeof speedOverride == 'number') + speedIn = speedOut = speedOverride; + else + speedIn = speedOut = 1; + easeIn = easeOut = null; + } + var fn = function() { + $n.animate(opts.animIn, speedIn, easeIn, function() { + cb(); + }); + }; + $l.animate(opts.animOut, speedOut, easeOut, function() { + $l.css(opts.cssAfter); + if (!opts.sync) + fn(); + }); + if (opts.sync) fn(); +}; + +// transition definitions - only fade is defined here, transition pack defines the rest +$.fn.cycle.transitions = { + fade: function($cont, $slides, opts) { + $slides.not(':eq('+opts.currSlide+')').css('opacity',0); + opts.before.push(function(curr,next,opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.cssBefore.opacity = 0; + }); + opts.animIn = { opacity: 1 }; + opts.animOut = { opacity: 0 }; + opts.cssBefore = { top: 0, left: 0 }; + } +}; + +$.fn.cycle.ver = function() { return ver; }; + +// override these globally if you like (they are all optional) +$.fn.cycle.defaults = { + activePagerClass: 'activeSlide', // class name used for the active pager link + after: null, // transition callback (scope set to element that was shown): function(currSlideElement, nextSlideElement, options, forwardFlag) + allowPagerClickBubble: false, // allows or prevents click event on pager anchors from bubbling + animIn: null, // properties that define how the slide animates in + animOut: null, // properties that define how the slide animates out + aspect: false, // preserve aspect ratio during fit resizing, cropping if necessary (must be used with fit option) + autostop: 0, // true to end slideshow after X transitions (where X == slide count) + autostopCount: 0, // number of transitions (optionally used with autostop to define X) + backwards: false, // true to start slideshow at last slide and move backwards through the stack + before: null, // transition callback (scope set to element to be shown): function(currSlideElement, nextSlideElement, options, forwardFlag) + center: null, // set to true to have cycle add top/left margin to each slide (use with width and height options) + cleartype: !$.support.opacity, // true if clearType corrections should be applied (for IE) + cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides) + containerResize: 1, // resize container to fit largest slide + containerResizeHeight: 0, // resize containers height to fit the largest slide but leave the width dynamic + continuous: 0, // true to start next transition immediately after current one completes + cssAfter: null, // properties that defined the state of the slide after transitioning out + cssBefore: null, // properties that define the initial state of the slide before transitioning in + delay: 0, // additional delay (in ms) for first transition (hint: can be negative) + easeIn: null, // easing for "in" transition + easeOut: null, // easing for "out" transition + easing: null, // easing method for both in and out transitions + end: null, // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options) + fastOnEvent: 0, // force fast transitions when triggered manually (via pager or prev/next); value == time in ms + fit: 0, // force slides to fit container + fx: 'fade', // name of transition effect (or comma separated names, ex: 'fade,scrollUp,shuffle') + fxFn: null, // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag) + height: 'auto', // container height (if the 'fit' option is true, the slides will be set to this height as well) + manualTrump: true, // causes manual transition to stop an active transition instead of being ignored + metaAttr: 'cycle', // data- attribute that holds the option data for the slideshow + next: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for next slide + nowrap: 0, // true to prevent slideshow from wrapping + onPagerEvent: null, // callback fn for pager events: function(zeroBasedSlideIndex, slideElement) + onPrevNextEvent: null, // callback fn for prev/next events: function(isNext, zeroBasedSlideIndex, slideElement) + pager: null, // element, jQuery object, or jQuery selector string for the element to use as pager container + pagerAnchorBuilder: null, // callback fn for building anchor links: function(index, DOMelement) + pagerEvent: 'click.cycle', // name of event which drives the pager navigation + pause: 0, // true to enable "pause on hover" + pauseOnPagerHover: 0, // true to pause when hovering over pager link + prev: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for previous slide + prevNextEvent: 'click.cycle',// event which drives the manual transition to the previous or next slide + random: 0, // true for random, false for sequence (not applicable to shuffle fx) + randomizeEffects: 1, // valid when multiple effects are used; true to make the effect sequence random + requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded + requeueTimeout: 250, // ms delay for requeue + rev: 0, // causes animations to transition in reverse (for effects that support it such as scrollHorz/scrollVert/shuffle) + shuffle: null, // coords for shuffle animation, ex: { top:15, left: 200 } + skipInitializationCallbacks: false, // set to true to disable the first before/after callback that occurs prior to any transition + slideExpr: null, // expression for selecting slides (if something other than all children is required) + slideResize: 1, // force slide width/height to fixed size before every transition + speed: 1000, // speed of the transition (any valid fx speed value) + speedIn: null, // speed of the 'in' transition + speedOut: null, // speed of the 'out' transition + startingSlide: undefined,// zero-based index of the first slide to be displayed + sync: 1, // true if in/out transitions should occur simultaneously + timeout: 4000, // milliseconds between slide transitions (0 to disable auto advance) + timeoutFn: null, // callback for determining per-slide timeout value: function(currSlideElement, nextSlideElement, options, forwardFlag) + updateActivePagerLink: null,// callback fn invoked to update the active pager link (adds/removes activePagerClass style) + width: null // container width (if the 'fit' option is true, the slides will be set to this width as well) +}; + +})(jQuery); + + +/*! + * jQuery Cycle Plugin Transition Definitions + * This script is a plugin for the jQuery Cycle Plugin + * Examples and documentation at: http://malsup.com/jquery/cycle/ + * Copyright (c) 2007-2010 M. Alsup + * Version: 2.73 + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ +(function($) { +"use strict"; + +// +// These functions define slide initialization and properties for the named +// transitions. To save file size feel free to remove any of these that you +// don't need. +// +$.fn.cycle.transitions.none = function($cont, $slides, opts) { + opts.fxFn = function(curr,next,opts,after){ + $(next).show(); + $(curr).hide(); + after(); + }; +}; + +// not a cross-fade, fadeout only fades out the top slide +$.fn.cycle.transitions.fadeout = function($cont, $slides, opts) { + $slides.not(':eq('+opts.currSlide+')').css({ display: 'block', 'opacity': 1 }); + opts.before.push(function(curr,next,opts,w,h,rev) { + $(curr).css('zIndex',opts.slideCount + (rev !== true ? 1 : 0)); + $(next).css('zIndex',opts.slideCount + (rev !== true ? 0 : 1)); + }); + opts.animIn.opacity = 1; + opts.animOut.opacity = 0; + opts.cssBefore.opacity = 1; + opts.cssBefore.display = 'block'; + opts.cssAfter.zIndex = 0; +}; + +// scrollUp/Down/Left/Right +$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push($.fn.cycle.commonReset); + var h = $cont.height(); + opts.cssBefore.top = h; + opts.cssBefore.left = 0; + opts.cssFirst.top = 0; + opts.animIn.top = 0; + opts.animOut.top = -h; +}; +$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push($.fn.cycle.commonReset); + var h = $cont.height(); + opts.cssFirst.top = 0; + opts.cssBefore.top = -h; + opts.cssBefore.left = 0; + opts.animIn.top = 0; + opts.animOut.top = h; +}; +$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push($.fn.cycle.commonReset); + var w = $cont.width(); + opts.cssFirst.left = 0; + opts.cssBefore.left = w; + opts.cssBefore.top = 0; + opts.animIn.left = 0; + opts.animOut.left = 0-w; +}; +$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push($.fn.cycle.commonReset); + var w = $cont.width(); + opts.cssFirst.left = 0; + opts.cssBefore.left = -w; + opts.cssBefore.top = 0; + opts.animIn.left = 0; + opts.animOut.left = w; +}; +$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) { + $cont.css('overflow','hidden').width(); + opts.before.push(function(curr, next, opts, fwd) { + if (opts.rev) + fwd = !fwd; + $.fn.cycle.commonReset(curr,next,opts); + opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW); + opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW; + }); + opts.cssFirst.left = 0; + opts.cssBefore.top = 0; + opts.animIn.left = 0; + opts.animOut.top = 0; +}; +$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push(function(curr, next, opts, fwd) { + if (opts.rev) + fwd = !fwd; + $.fn.cycle.commonReset(curr,next,opts); + opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1); + opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH; + }); + opts.cssFirst.top = 0; + opts.cssBefore.left = 0; + opts.animIn.top = 0; + opts.animOut.left = 0; +}; + +// slideX/slideY +$.fn.cycle.transitions.slideX = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $(opts.elements).not(curr).hide(); + $.fn.cycle.commonReset(curr,next,opts,false,true); + opts.animIn.width = next.cycleW; + }); + opts.cssBefore.left = 0; + opts.cssBefore.top = 0; + opts.cssBefore.width = 0; + opts.animIn.width = 'show'; + opts.animOut.width = 0; +}; +$.fn.cycle.transitions.slideY = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $(opts.elements).not(curr).hide(); + $.fn.cycle.commonReset(curr,next,opts,true,false); + opts.animIn.height = next.cycleH; + }); + opts.cssBefore.left = 0; + opts.cssBefore.top = 0; + opts.cssBefore.height = 0; + opts.animIn.height = 'show'; + opts.animOut.height = 0; +}; + +// shuffle +$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) { + var i, w = $cont.css('overflow', 'visible').width(); + $slides.css({left: 0, top: 0}); + opts.before.push(function(curr,next,opts) { + $.fn.cycle.commonReset(curr,next,opts,true,true,true); + }); + // only adjust speed once! + if (!opts.speedAdjusted) { + opts.speed = opts.speed / 2; // shuffle has 2 transitions + opts.speedAdjusted = true; + } + opts.random = 0; + opts.shuffle = opts.shuffle || {left:-w, top:15}; + opts.els = []; + for (i=0; i < $slides.length; i++) + opts.els.push($slides[i]); + + for (i=0; i < opts.currSlide; i++) + opts.els.push(opts.els.shift()); + + // custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!) + opts.fxFn = function(curr, next, opts, cb, fwd) { + if (opts.rev) + fwd = !fwd; + var $el = fwd ? $(curr) : $(next); + $(next).css(opts.cssBefore); + var count = opts.slideCount; + $el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() { + var hops = $.fn.cycle.hopsFromLast(opts, fwd); + for (var k=0; k < hops; k++) { + if (fwd) + opts.els.push(opts.els.shift()); + else + opts.els.unshift(opts.els.pop()); + } + if (fwd) { + for (var i=0, len=opts.els.length; i < len; i++) + $(opts.els[i]).css('z-index', len-i+count); + } + else { + var z = $(curr).css('z-index'); + $el.css('z-index', parseInt(z,10)+1+count); + } + $el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() { + $(fwd ? this : curr).hide(); + if (cb) cb(); + }); + }); + }; + $.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 }); +}; + +// turnUp/Down/Left/Right +$.fn.cycle.transitions.turnUp = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,false); + opts.cssBefore.top = next.cycleH; + opts.animIn.height = next.cycleH; + opts.animOut.width = next.cycleW; + }); + opts.cssFirst.top = 0; + opts.cssBefore.left = 0; + opts.cssBefore.height = 0; + opts.animIn.top = 0; + opts.animOut.height = 0; +}; +$.fn.cycle.transitions.turnDown = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,false); + opts.animIn.height = next.cycleH; + opts.animOut.top = curr.cycleH; + }); + opts.cssFirst.top = 0; + opts.cssBefore.left = 0; + opts.cssBefore.top = 0; + opts.cssBefore.height = 0; + opts.animOut.height = 0; +}; +$.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,true); + opts.cssBefore.left = next.cycleW; + opts.animIn.width = next.cycleW; + }); + opts.cssBefore.top = 0; + opts.cssBefore.width = 0; + opts.animIn.left = 0; + opts.animOut.width = 0; +}; +$.fn.cycle.transitions.turnRight = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,true); + opts.animIn.width = next.cycleW; + opts.animOut.left = curr.cycleW; + }); + $.extend(opts.cssBefore, { top: 0, left: 0, width: 0 }); + opts.animIn.left = 0; + opts.animOut.width = 0; +}; + +// zoom +$.fn.cycle.transitions.zoom = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,false,true); + opts.cssBefore.top = next.cycleH/2; + opts.cssBefore.left = next.cycleW/2; + $.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH }); + $.extend(opts.animOut, { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 }); + }); + opts.cssFirst.top = 0; + opts.cssFirst.left = 0; + opts.cssBefore.width = 0; + opts.cssBefore.height = 0; +}; + +// fadeZoom +$.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,false); + opts.cssBefore.left = next.cycleW/2; + opts.cssBefore.top = next.cycleH/2; + $.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH }); + }); + opts.cssBefore.width = 0; + opts.cssBefore.height = 0; + opts.animOut.opacity = 0; +}; + +// blindX +$.fn.cycle.transitions.blindX = function($cont, $slides, opts) { + var w = $cont.css('overflow','hidden').width(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.animIn.width = next.cycleW; + opts.animOut.left = curr.cycleW; + }); + opts.cssBefore.left = w; + opts.cssBefore.top = 0; + opts.animIn.left = 0; + opts.animOut.left = w; +}; +// blindY +$.fn.cycle.transitions.blindY = function($cont, $slides, opts) { + var h = $cont.css('overflow','hidden').height(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.animIn.height = next.cycleH; + opts.animOut.top = curr.cycleH; + }); + opts.cssBefore.top = h; + opts.cssBefore.left = 0; + opts.animIn.top = 0; + opts.animOut.top = h; +}; +// blindZ +$.fn.cycle.transitions.blindZ = function($cont, $slides, opts) { + var h = $cont.css('overflow','hidden').height(); + var w = $cont.width(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.animIn.height = next.cycleH; + opts.animOut.top = curr.cycleH; + }); + opts.cssBefore.top = h; + opts.cssBefore.left = w; + opts.animIn.top = 0; + opts.animIn.left = 0; + opts.animOut.top = h; + opts.animOut.left = w; +}; + +// growX - grow horizontally from centered 0 width +$.fn.cycle.transitions.growX = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,true); + opts.cssBefore.left = this.cycleW/2; + opts.animIn.left = 0; + opts.animIn.width = this.cycleW; + opts.animOut.left = 0; + }); + opts.cssBefore.top = 0; + opts.cssBefore.width = 0; +}; +// growY - grow vertically from centered 0 height +$.fn.cycle.transitions.growY = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,false); + opts.cssBefore.top = this.cycleH/2; + opts.animIn.top = 0; + opts.animIn.height = this.cycleH; + opts.animOut.top = 0; + }); + opts.cssBefore.height = 0; + opts.cssBefore.left = 0; +}; + +// curtainX - squeeze in both edges horizontally +$.fn.cycle.transitions.curtainX = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,true,true); + opts.cssBefore.left = next.cycleW/2; + opts.animIn.left = 0; + opts.animIn.width = this.cycleW; + opts.animOut.left = curr.cycleW/2; + opts.animOut.width = 0; + }); + opts.cssBefore.top = 0; + opts.cssBefore.width = 0; +}; +// curtainY - squeeze in both edges vertically +$.fn.cycle.transitions.curtainY = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,false,true); + opts.cssBefore.top = next.cycleH/2; + opts.animIn.top = 0; + opts.animIn.height = next.cycleH; + opts.animOut.top = curr.cycleH/2; + opts.animOut.height = 0; + }); + opts.cssBefore.height = 0; + opts.cssBefore.left = 0; +}; + +// cover - curr slide covered by next slide +$.fn.cycle.transitions.cover = function($cont, $slides, opts) { + var d = opts.direction || 'left'; + var w = $cont.css('overflow','hidden').width(); + var h = $cont.height(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.cssAfter.display = ''; + if (d == 'right') + opts.cssBefore.left = -w; + else if (d == 'up') + opts.cssBefore.top = h; + else if (d == 'down') + opts.cssBefore.top = -h; + else + opts.cssBefore.left = w; + }); + opts.animIn.left = 0; + opts.animIn.top = 0; + opts.cssBefore.top = 0; + opts.cssBefore.left = 0; +}; + +// uncover - curr slide moves off next slide +$.fn.cycle.transitions.uncover = function($cont, $slides, opts) { + var d = opts.direction || 'left'; + var w = $cont.css('overflow','hidden').width(); + var h = $cont.height(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,true,true); + if (d == 'right') + opts.animOut.left = w; + else if (d == 'up') + opts.animOut.top = -h; + else if (d == 'down') + opts.animOut.top = h; + else + opts.animOut.left = -w; + }); + opts.animIn.left = 0; + opts.animIn.top = 0; + opts.cssBefore.top = 0; + opts.cssBefore.left = 0; +}; + +// toss - move top slide and fade away +$.fn.cycle.transitions.toss = function($cont, $slides, opts) { + var w = $cont.css('overflow','visible').width(); + var h = $cont.height(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,true,true); + // provide default toss settings if animOut not provided + if (!opts.animOut.left && !opts.animOut.top) + $.extend(opts.animOut, { left: w*2, top: -h/2, opacity: 0 }); + else + opts.animOut.opacity = 0; + }); + opts.cssBefore.left = 0; + opts.cssBefore.top = 0; + opts.animIn.left = 0; +}; + +// wipe - clip animation +$.fn.cycle.transitions.wipe = function($cont, $slides, opts) { + var w = $cont.css('overflow','hidden').width(); + var h = $cont.height(); + opts.cssBefore = opts.cssBefore || {}; + var clip; + if (opts.clip) { + if (/l2r/.test(opts.clip)) + clip = 'rect(0px 0px '+h+'px 0px)'; + else if (/r2l/.test(opts.clip)) + clip = 'rect(0px '+w+'px '+h+'px '+w+'px)'; + else if (/t2b/.test(opts.clip)) + clip = 'rect(0px '+w+'px 0px 0px)'; + else if (/b2t/.test(opts.clip)) + clip = 'rect('+h+'px '+w+'px '+h+'px 0px)'; + else if (/zoom/.test(opts.clip)) { + var top = parseInt(h/2,10); + var left = parseInt(w/2,10); + clip = 'rect('+top+'px '+left+'px '+top+'px '+left+'px)'; + } + } + + opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)'; + + var d = opts.cssBefore.clip.match(/(\d+)/g); + var t = parseInt(d[0],10), r = parseInt(d[1],10), b = parseInt(d[2],10), l = parseInt(d[3],10); + + opts.before.push(function(curr, next, opts) { + if (curr == next) return; + var $curr = $(curr), $next = $(next); + $.fn.cycle.commonReset(curr,next,opts,true,true,false); + opts.cssAfter.display = 'block'; + + var step = 1, count = parseInt((opts.speedIn / 13),10) - 1; + (function f() { + var tt = t ? t - parseInt(step * (t/count),10) : 0; + var ll = l ? l - parseInt(step * (l/count),10) : 0; + var bb = b < h ? b + parseInt(step * ((h-b)/count || 1),10) : h; + var rr = r < w ? r + parseInt(step * ((w-r)/count || 1),10) : w; + $next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' }); + (step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none'); + })(); + }); + $.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 }); + opts.animIn = { left: 0 }; + opts.animOut = { left: 0 }; +}; + +})(jQuery); diff --git a/app/assets/javascripts/modules.js b/app/assets/javascripts/modules.js new file mode 100644 index 00000000..3f1ba537 --- /dev/null +++ b/app/assets/javascripts/modules.js @@ -0,0 +1,9 @@ +$('#feature .holder ul').cycle({ + fx: 'scrollDown', + pager: '#feature-nav ul', + pause: 1, + pagerAnchorBuilder: function(idx, slide) { + // return selector string for existing anchor + return '#feature-nav ul li:eq(' + idx + ') a'; + } +}); diff --git a/app/assets/javascripts/rulingorbit.js b/app/assets/javascripts/rulingorbit.js new file mode 100644 index 00000000..fa300b74 --- /dev/null +++ b/app/assets/javascripts/rulingorbit.js @@ -0,0 +1,9 @@ +$(document).ready(function(){ + $('#screen-shot .holder') + .before('
') + .cycle({ + pager: '#scr-nav', + fx: 'scrollLeft', + pause: 1 + }); +}); diff --git a/app/assets/stylesheets/module-store.css b/app/assets/stylesheets/module-store.css.erb similarity index 86% rename from app/assets/stylesheets/module-store.css rename to app/assets/stylesheets/module-store.css.erb index 21814ee0..b4f2616c 100644 --- a/app/assets/stylesheets/module-store.css +++ b/app/assets/stylesheets/module-store.css.erb @@ -1,9 +1,9 @@ /* list page */ header { - background-image: url(../image/mheader_bg.jpg); + background-image: url(<%= asset_path "mheader_bg.jpg"%>); } #toolbar { - background-image: url(../image/mfilter_bg.jpg); + background-image: url(<%= asset_path "mfilter_bg.jpg"%>); border: solid 1px #8b8b8b; box-shadow: inset 0 -1px 0 #9a9a9a; } @@ -17,6 +17,7 @@ header { margin: 0; padding: 0; list-style: none; + height: 220px; } #feature .holder { width: 740px; @@ -92,7 +93,7 @@ header { /* content page */ #content { - background: #fff url(../image/mside_bg.png) 0 0 repeat-y; + background: #fff url(<%= asset_path "mside_bg.png"%>) 0 0 repeat-y; padding: 20px 0; } .user-list { @@ -106,5 +107,5 @@ header { border-top: solid 1px #f1f1f1; padding: 8px; padding-left: 20px; - background: url(../image/ar1.png) 10px 14px no-repeat; + background: url(<%= asset_path "ar1.png"%>) 10px 14px no-repeat; } \ No newline at end of file diff --git a/app/assets/stylesheets/rulingorbit.css b/app/assets/stylesheets/rulingorbit.css.erb similarity index 92% rename from app/assets/stylesheets/rulingorbit.css rename to app/assets/stylesheets/rulingorbit.css.erb index fd69bfe6..dd53ef19 100644 --- a/app/assets/stylesheets/rulingorbit.css +++ b/app/assets/stylesheets/rulingorbit.css.erb @@ -17,10 +17,10 @@ body { list-style: none; } header { - background-color: #e0e0e0; + /*background-color: #e0e0e0; background-position: center 60px; background-repeat: no-repeat; - height: 200px; + height: 200px;*/ } #orbit-logo { margin: 0; @@ -32,7 +32,7 @@ header { height: 32px; overflow: hidden; text-indent: -9999px; - background: url(../image/logo.png) 0 0 no-repeat; + background: url(<%= asset_path "logo.png"%>) 0 0 no-repeat; margin-top: 14px; } #orbit-logo span { @@ -45,7 +45,7 @@ header { -webkit-text-size-adjust: none; } #main-menu { - background: url(../image/topnav_bg.png) 0 0 repeat-x; + background: url(<%= asset_path "topnav_bg.png"%>) 0 0 repeat-x; } #main-menu ul { float: right; @@ -104,7 +104,7 @@ header { background-color: #cecece; } #toolbar { - margin: -25px 0 35px 0; + margin: 35px 0; height: 50px; background-color: #fff; background-repeat: repeat-x; @@ -112,10 +112,10 @@ header { border-radius: 3px; box-shadow: inset 0 -1px 0 #c9c9c9; position: relative; - z-index: 99; + z-index: 9; } .ui { - background: #F2F2F2 url(../image/ui_bg.png) left center repeat-x; + background: #F2F2F2 url(<%= asset_path "ui_bg.png" %>) left center repeat-x; height: 28px; line-height: 28px; border: solid 1px #e0e0e0; @@ -148,6 +148,10 @@ header { line-height: 28px; color: #999; margin-right: 8px; + font-size: 1em; + font-weight: normal; + text-shadow: none; + background: none; } .option-default { font-weight: bold; @@ -186,7 +190,7 @@ header { } .drop-menu .arrow { display: inline-block; - background: url(../image/dropdown_ad.png) 0 0 no-repeat; + background: url(<%= asset_path "dropdown_ad.png"%>) 0 0 no-repeat; width: 16px; height: 18px; vertical-align: top; @@ -249,7 +253,7 @@ header { #item-list li a:hover {} .item-thumb { display: block; - background: #ccc url(../image/thumb_default.png) center center no-repeat; + background: #ccc url(<%= asset_path "thumb_default.png"%>) center center no-repeat; } #item-list .item-info { position: relative; diff --git a/app/assets/stylesheets/template-store.css b/app/assets/stylesheets/template-store.css.erb similarity index 90% rename from app/assets/stylesheets/template-store.css rename to app/assets/stylesheets/template-store.css.erb index 9f597112..127f17c4 100644 --- a/app/assets/stylesheets/template-store.css +++ b/app/assets/stylesheets/template-store.css.erb @@ -1,9 +1,9 @@ /* list page */ header { - background-image: url(../image/theader_bg.jpg); + background-image: url(<%= asset_path "theader_bg.jpg"%>); } #toolbar { - background-image: url(../image/tfilter_bg.jpg); + background-image: url(<%= asset_path "tfilter_bg.jpg"%>); } #item-list li { width: 25%; @@ -11,7 +11,7 @@ header { #item-list li a { width: 220px; height: 220px; - background: url(../image/tlist_tap.png) center top no-repeat; + background: url(<%= asset_path "tlist_tap.png"%>) center top no-repeat; padding-top: 16px; margin: 0 auto 35px auto; background-color: #fff; @@ -106,5 +106,5 @@ header { /* content page */ #item-info .item-thumb, #screen-shot { - box-shadow: 0 4px 6px rgba(0,0,0,0.2); + box-shadow: 0 2px 6px rgba(0,0,0,0.2); } \ No newline at end of file diff --git a/app/uploaders/image_uploader.rb b/app/uploaders/image_uploader.rb index 3f4b1261..892acbc9 100644 --- a/app/uploaders/image_uploader.rb +++ b/app/uploaders/image_uploader.rb @@ -3,6 +3,7 @@ class ImageUploader < CarrierWave::Uploader::Base require 'mime/types' + require 'carrierwave/processing/mini_magick' include Sprockets::Helpers::RailsHelper process :set_content_type @@ -61,15 +62,21 @@ class ImageUploader < CarrierWave::Uploader::Base # def filename # "something.jpg" if original_filename # end + +def cache_dir + "#{Rails.root}/tmp/uploads" + end + def manipulate! cache_stored_file! if !cached? +#raise File.extname(current_path.to_s).to_s image = ::MiniMagick::Image.open(current_path) - image = yield(image) - image.write(current_path) - ::MiniMagick::Image.open(current_path) - rescue - nil +# image = yield(image) +# image.write(current_path) +# ::MiniMagick::Image.open(current_path) +# rescue +# nil end end diff --git a/app/views/admin/module_store/index.html.erb b/app/views/admin/module_store/index.html.erb index 035aab7b..46db0aa2 100644 --- a/app/views/admin/module_store/index.html.erb +++ b/app/views/admin/module_store/index.html.erb @@ -8,6 +8,10 @@ <%= stylesheet_link_tag 'rulingorbit' %> <%= stylesheet_link_tag 'module-store' %> <% end %> +<% content_for :page_specific_javascript do %> + <%= javascript_include_tag "jquery.cycle" %> + <%= javascript_include_tag "modules" %> +<% end %>
@@ -60,16 +64,16 @@ diff --git a/app/views/admin/module_store/show.html.erb b/app/views/admin/module_store/show.html.erb index 41396f68..3bfc04e6 100644 --- a/app/views/admin/module_store/show.html.erb +++ b/app/views/admin/module_store/show.html.erb @@ -8,6 +8,10 @@ <%= stylesheet_link_tag 'rulingorbit' %> <%= stylesheet_link_tag 'module-store' %> <% end %> +<% content_for :page_specific_javascript do %> + <%= javascript_include_tag "jquery.cycle" %> + <%= javascript_include_tag "rulingorbit" %> +<% end %>
diff --git a/app/views/admin/purchases/index.html.erb b/app/views/admin/purchases/index.html.erb index 3fe81630..e45d3192 100644 --- a/app/views/admin/purchases/index.html.erb +++ b/app/views/admin/purchases/index.html.erb @@ -1,12 +1,12 @@
-

<%= t('list.purchase') %>

- +

<%= t('list.purchase') %>

+
- - - - + + + + <%# @purchases.each do |purchase| %> @@ -15,7 +15,7 @@ - <%# end %>
<%= t(:title) %><%= t(:intro) %><%= t(:author) %><%= t(:action) %><%= t(:title) %><%= t(:intro) %><%= t(:author) %><%= t(:action) %>
<%= purchase.title %> <%= purchase.intro %> <%= purchase.author %> + <% if purchase.downloaded %> <%= t(:downloaded) %> <% else %> @@ -25,4 +25,13 @@
-
\ No newline at end of file +
+ \ No newline at end of file diff --git a/app/views/admin/template_store/show.html.erb b/app/views/admin/template_store/show.html.erb index c6dc27d9..7b39093d 100644 --- a/app/views/admin/template_store/show.html.erb +++ b/app/views/admin/template_store/show.html.erb @@ -8,7 +8,10 @@ <%= stylesheet_link_tag 'rulingorbit' %> <%= stylesheet_link_tag 'template-store' %> <% end %> - +<% content_for :page_specific_javascript do %> + <%= javascript_include_tag "jquery.cycle" %> + <%= javascript_include_tag "rulingorbit" %> +<% end %>