// JavaScript Document

var Slideshow = {
	
	  init: function(){
			  
				var repeatDuration = 7000;
				var repeat = false;
				var fxDuration = 400;
			  var slides = $$('#slideshow .slide');
				var togglers = $$('#togglers li');
				var active = 0;
				var next = 0;
				var slideFx = [];
				
				var runSlideshow = function(){
					next = (active + 1)%slides.length;
					slideFx[next].start(0);
				};
				
			  slides.each(function(element, index){
					 slideFx[index] = new Fx.Style(element, 'top', {
							  duration: fxDuration,
								wait: true,
								transition: Fx.Transitions.Quad.easeInOut,
								onStart: function(){
									  slides[next].setStyle('z-index', 1);
									  slides[active].setStyle('z-index', 0);
										slideFx[next].set(-190);
										togglers[active].removeClass('active');
										togglers[next].addClass('active');
										if (repeat) $clear(repeater);
								},
								onComplete: function(){
									  slides[next].setStyle('z-index', 1);
										slideFx[active].set(-190);
										active = next;
										if (repeat) repeater = runSlideshow.periodical(repeatDuration);
								}
					 });
					 element.setStyles({
					     'top' : -190,
							 'z-index' : 0
					 });
				});
				
				togglers.each(function(element, index){
					  element.getElement('a').onclick = function(event){ var event = new Event(event); event.preventDefault(); }
				  	element.addEvent('click', function(event){
				  	    var event = new Event(event);
								event.preventDefault();
								next = index;
								slideFx[next].start(0);
					  });
				});
				// "onload"
				togglers[active].addClass('active');
				slides[active].setStyles({
				    'top' : 0,
						'z-index' : 1
				});
				
				if (repeat) repeater = runSlideshow.periodical(repeatDuration);
			
		}
};


window.addEvent('domready', function(){

  if ($('slideshow')) Slideshow.init();

});