/*	SlideItMoo v1.0 - Image slider	(c) 2007-2008 Constantin Boiangiu <http://www.php-help.ro>	MIT-style license.*/var SlideItMoo = new Class({					   	initialize: function(options){		this.options = $extend({			itemsVisible:1,			showControls:1,			autoSlide: 0,			transition: Fx.Transitions.linear,			currentElement: 0,			thumbsContainer: 'thumbs',			elementScrolled: 'thumb_container',			overallContainer: 'gallery_container'		},options || {});					this.images = $(this.options.thumbsContainer).getElements('a');		// assumes that all thumbnails have the same width		this.image_size = this.images[0].getSize();				// resizes the container div's according to the number of itemsVisible thumbnails		this.setContainersSize();				this.myFx = new Fx.Scroll(this.options.elementScrolled,{ transition: this.options.transition });				// adds the forward-backward buttons		if( this.images.length > this.options.itemsVisible ){			this.fwd = this.addControlers('addfwd');			this.bkwd = this.addControlers('addbkwd');			this.forward();			this.backward();			/* if autoSlide is not set, scoll on mouse wheel */			if( !this.options.autoSlide ){				$(this.options.thumbsContainer).addEvent('mousewheel', function(ev){					new Event(ev).stop();					ev.wheel < 0 ? this.fwd.fireEvent('click') : this.bkwd.fireEvent('click');							}.bind(this));			}			else{				this.startIt = function(){ this.fwd.fireEvent('click') }.bind(this);				this.autoSlide = this.startIt.periodical(this.options.autoSlide, this);				this.images.addEvents({					'mouseover':function(){						$clear(this.autoSlide);											}.bind(this),					'mouseout':function(){						this.autoSlide = this.startIt.periodical(this.options.autoSlide, this);					}.bind(this)				})			}		};				// if there's a specific default thumbnail to start with, slide to it		if( this.options.currentElement!==0 ){			this.options.currentElement-=1;			this.slide(1);		}	},		setContainersSize: function(){		$(this.options.overallContainer).set({			styles:{				'width': this.options.itemsVisible * this.image_size.x + 50*this.options.showControls + (this.options.itemsVisible-1)*3			}		});		$(this.options.elementScrolled).set({			styles:{				'width': this.options.itemsVisible * this.image_size.x + (this.options.itemsVisible-1)*3			}		});	},		forward: function(){						this.fwd.addEvent('click',function(){			this.slide(1);		}.bind(this));			},		backward: function(){					this.bkwd.addEvent('click',function(){														this.slide(-1);					}.bind(this))		},		addControlers: function(cssClass){		element = new Element('div',{			'class': cssClass,			styles:{				'display': this.options.showControls ? '' : 'none'			}		}).injectInside($(this.options.overallContainer));		return element;	},		slide: function(step){		/* if autoslice is on, when end is reached, go back to begining */		if(this.options.autoSlide && this.options.currentElement >= this.images.length-this.options.itemsVisible ){			this.options.currentElement = -1;		}				if ( ( this.options.currentElement < this.images.length-this.options.itemsVisible && step>0 ) || ( step < 0 && this.options.currentElement !== 0 ) ){			this.myFx.cancel();			this.options.currentElement += step;					this.myFx.toElement( this.images[this.options.currentElement] );		}	}})