var Loop = new Class({ loopCount: 0, isStopped: true, isLooping: false, loopMethod: $empty, setLoop: function(fn,delay){ if(this.isLooping) { this.stopLoop(); var wasLooping = true; } else { var wasLooping = false; } this.loopMethod = fn; this.loopDelay = delay || 3000; if(wasLooping) this.startLoop(); return this; }, stopLoop: function() { this.isStopped = true; this.isLooping = false; $clear(this.periodical); return this; }, startLoop: function(delay) { if(this.isStopped){ var delay = (delay) ? delay : this.loopDelay; this.isStopped = false; this.isLooping = true; this.periodical = this.looper.periodical(delay,this); }; return this; }, resetLoop: function(){ this.loopCount = 0; return this; }, looper: function(){ this.loopCount++; this.loopMethod(this.loopCount); return this; } }); 
var mySlideShow; window.addEvent('domready',function(){ mySlideShow = new SlideShow('slides',{ delay: 3000, autoplay: true }); mySlideShow.addEvents({ onShow: function(){ $('onShow').highlight(); }, onShowComplete: function(){ $('onShowComplete').highlight(); }, onReverse: function(){ $('onReverse').highlight(); }, onPlay: function(){ $('onPlay').highlight(); }, onPause: function(){ $('onPause').highlight(); } }); });
Fx.Elements = new Class({ Extends: Fx.CSS, initialize: function(elements, options){ this.elements = this.subject = $$(elements); this.parent(options); }, compute: function(from, to, delta){ var now = {}; for (var i in from){ var iFrom = from[i], iTo = to[i], iNow = now[i] = {}; for (var p in iFrom) iNow[p] = this.parent(iFrom[p], iTo[p], delta); } return now; }, set: function(now){ for (var i in now){ var iNow = now[i]; for (var p in iNow) this.render(this.elements[i], p, iNow[p], this.options.unit); } return this; }, start: function(obj){ if (!this.check(obj)) return this; var from = {}, to = {}; for (var i in obj){ var iProps = obj[i], iFrom = from[i] = {}, iTo = to[i] = {}; for (var p in iProps){ var parsed = this.prepare(this.elements[i], p, iProps[p]); iFrom[p] = parsed.from; iTo[p] = parsed.to; } } return this.parent(from, to); } });
