
var Carousel=new Class({Implements:[Chain],initialize:function(container_id,prevbutton_id,nextbutton_id,item_width,duration)
{this.active=true;this.container=$(container_id);this.prevbutton_id=prevbutton_id;this.nextbutton_id=nextbutton_id;if($(prevbutton_id))$(prevbutton_id).addEvent('click',function(){if(this.active)this.prev();}.bind(this));if($(nextbutton_id))$(nextbutton_id).addEvent('click',function(){if(this.active)this.next();}.bind(this));this.item_width=item_width;this.animation=new Fx.Tween(this.container,{duration:duration,onComplete:function(){this.callChain();}.bind(this)});},next:function()
{var clone=this.container.getLast().clone(true,true);this.container.grab(clone,'top');this.container.setStyle('left',-this.item_width)
this.chain(function(){this.container.getLast().destroy();this.callChain();},function(){this.container.setStyle('left',0);this.callChain();},function(){this.active=true;});this.active=false;var new_position=parseInt(this.container.getStyle('left'))+this.item_width;this.animation.start('left',new_position);},prev:function()
{var clone=this.container.getFirst().clone(true,true);this.container.grab(clone,'bottom');this.chain(function(){this.container.getFirst().destroy();this.callChain();},function(){this.container.setStyle('left',0);this.callChain();},function(){this.active=true;});this.active=false;var new_position=parseInt(this.container.getStyle('left'))-this.item_width;this.animation.start('left',new_position);}});