/*
Class: Wheel [Built on MooTools framework: www.mootools.net]
Author: Martin Jezek 2009
Version: 1.2
*/  
var Wheel=new Class({Implements:Options,options:{id:"wheel",wheeler_id:"wheeler",delay:3500,effect:"none",transition:"quad:out",wrap:"false"},initialize:function(options){this.setOptions(options);this.createWheeler();if((this.images_count>3&&this.options.effect=="slide")||(this.images_count>1&&this.options.effect!="slide")){this.wheeling.periodical(this.options.delay,this);}},width:"0px",height:"0px",images_count:0,now:0,createWheeler:function(){this.wheel=$(this.options.id);this.wheeler=$(this.options.wheeler_id);if(this.options.effect=="slide"){this.wrap_clone=this.wheeler.getElements("img").getLast().clone();this.wheeler.getElements("img")[0].clone().inject(this.wheeler.getElement("a"));this.wrap_clone.inject(this.wheeler.getElement("a"),"top");this.now=1;}
this.images_count=this.wheeler.getElements("img").length;this.width=this.wheel.getStyle("width");this.height=this.wheel.getStyle("height");this.wheeler.setStyle("width",this.width.toInt()*this.images_count);if(this.options.effect=="slide"){this.wheeler.setStyle("left",-this.width.toInt());this.tween=new Fx.Tween(this.wheeler,{transition:this.options.transition,property:"left"});}},wheeling:function(){if(this.now<this.images_count-1){this.now++;}else{this.now=0;}
if(this.options.effect=="fade"){this.wheeler.fade("out");(function(){this.wheeler.setStyle("left",this.width.toInt()*-this.now);this.wheeler.fade("in");}).delay(400,this);}else if(this.options.effect=="slide"){if(this.options.wrap=="false"&&this.now==this.images_count-2){this.tween.start(this.wheeler.getStyle("left"),this.width.toInt()*-this.now);this.now=0;}else if(this.options.wrap=="true"&&this.now==this.images_count-1){this.tween.start(this.wheeler.getStyle("left"),this.width.toInt()*-this.now).chain(this.wrapping.bind(this));}else{this.tween.start(this.wheeler.getStyle("left"),this.width.toInt()*-this.now);}}else{this.wheeler.setStyle("left",this.width.toInt()*-this.now);}},wrapping:function(){this.now=1;this.wheeler.setStyle("left",-this.width.toInt());}});
