var micScroll = new Class({

    options: {
		container: null,
		thumbContainer: null,
		speed: 500,
		autoRotator:false,
		timedSwitch:5000
		
	},
	
	initialize: function(options) {
	
		
	
		this.setOptions(options);
		this.container = $(options['container']);
		this.thumbContainer = $(options['thumbContainer']);
		this.speed = options['speed'];
		this.autoRotator = options['autoRotator'];
		
		this.slides =$$("#"+options['container']+ ' .banner');
		this.thumbs = $$("#"+options['thumbContainer']+' .link');
		
		this.timerTime =options['timedSwitch'];
		
				
		
		if (this.autoRotator) {
			this.delayTimer = this.timedSwitch.periodical(this.timerTime,this);
		}
		
		this.curSlide = 0 ;			
		this.slides[0].setStyle('visibility','visible');
		this.thumbs[0].addClass('active');
		
	
				
		
		this.thumbs.each(function(thumb, index) {
		
			thumb.addEvent('click',this.showSlide.bindWithEvent(this,index));	
				
		}.bind(this));
				
	},
		
	
	showSlide: function(e,slideToGo) {
					
					
					
					var goSlideN = new Fx.Tween (this.slides[slideToGo], {transition:Fx.Transitions.linear, duration:300, wait:true});
					var goSlideO = new Fx.Tween (this.slides[this.curSlide], {transition:Fx.Transitions.linear, duration:200, wait:true});
					this.thumbs[slideToGo].addClass('active');
					this.thumbs[this.curSlide].removeClass('active');
					
					goSlideN.start('opacity',0,1);
					goSlideO.start('opacity',1,0);
					this.curSlide = slideToGo;
					
					if (this.autoRotator) {
						this.delayTimer = $clear(this.delayTimer);
						this.delayTimer = this.timedSwitch.periodical(this.timerTime,this);
					}
					
				
				
	},
	
	
	timedSwitch: function() {
				if (this.curSlide == this.slides.length - 1) {
							var goSlideN = new Fx.Tween (this.slides[0], {transition:Fx.Transitions.linear, duration:300, wait:true});
							var goSlideO = new Fx.Tween (this.slides[this.curSlide], {transition:Fx.Transitions.linear, duration:200, wait:true});
							this.thumbs[0].addClass('active');
							this.thumbs[this.curSlide].removeClass('active');
							
							goSlideN.start('opacity',1);
							goSlideO.start('opacity',0);
							this.curSlide = 0;
							this.delayTimer = $clear(this.delayTimer);
							this.delayTimer = this.timedSwitch.periodical(this.timerTime,this);			
				}
				
				else {
				this.showSlide(this,this.curSlide+1);
				}
	}


	
	
	
			
				
});

micScroll.implement(new Options, new Events);


