/*
function Slideshow(slideshow, timeout, slides) {
	this.slides = [];
	var slider = $('slider');

	for (var i = 0; i < slides.length; i++) {
		var mySlide = document.createElement('img');
		mySlide.src = slides[i];
		mySlide.className = 'slide';
		mySlide.style.zIndex = slides.length - i;
		slider.appendChild(mySlide);

		this.slides.push(mySlide);
	}
	this.timeout = timeout;
	this.current = 0;

	// Remove first child
	slider.removeChild(slider.getElementsByTagName('img')[0]);

	Element.show(slideshow);
	setTimeout((function(){this.next();}).bind(this), this.timeout + 850);
}
Slideshow.prototype = {
	next: function() {
		for (var i = 0; i < this.slides.length; i++) {
			var slide = this.slides[(this.current + i) % this.slides.length];
			slide.style.zIndex = this.slides.length - i;
		}
		Effect.Fade(this.slides[this.current], {
		afterFinish: function(effect) {
		effect.element.style.zIndex = 0;
		Element.show(effect.element);
		Element.setOpacity(effect.element, 1);
	}
	});

	this.current = (this.current + 1) % this.slides.length;
	setTimeout((function(){this.next();}).bind(this), this.timeout + 850);
	}
}

function init_slideshow() {
	if($('slider')) {
		var slides = new Array('/i/intro.jpg', '/i/intro2.jpg', '/i/intro3.jpg');
		new Slideshow('slider', 3000, slides);
	}
}
*/
function Slideshow(slideshow, timeout, panning_enabled, slides) {
	this.slides = new Array();
	this.panning_enabled = panning_enabled;
	var slider = $(slideshow);

	for (var i = 0; i < slides.length; i++) {
		var mySlideDiv = document.createElement('div');
		mySlideDiv.className = 'slide';
		mySlideDiv.style.zIndex = slides.length - i;
		var mySlide = document.createElement('img');
		mySlide.src = slides[i];
		
		mySlideDiv.appendChild(mySlide);
		slider.appendChild(mySlideDiv);

		this.slides.push(mySlideDiv);
	}
	this.timeout = timeout;
	this.current = 0;

	// Remove first child
	slider.removeChild(slider.getElementsByTagName('div')[0]);

	Element.show(slideshow);
	setTimeout((function(){this.next();}).bind(this), this.timeout);
}
Slideshow.prototype = {
	next: function() {
		for (var i = 0; i < this.slides.length; i++) {
			var slide = this.slides[(this.current + i) % this.slides.length];
			slide.style.zIndex = this.slides.length - i;
//			slide.setStyle({left:'0px'});
			slide.style.left = '0px';
		}

		if(this.panning_enabled) {
			var fade_delay = 4.8;
		} else {
			var fade_delay = 0;
		}

		if(this.panning_enabled) {
			new Effect.Move(this.slides[this.current],{x:-100,y:0,transition:Effect.Transitions.linear,duration:5.8,delay:0});
		}
		new Effect.Fade(this.slides[this.current], {duration:1.0,delay:fade_delay,
			afterFinish: function(effect) {
				effect.element.style.zIndex = 0;
				Element.show(effect.element);
				Element.setOpacity(effect.element, 1);
//				effect.element.setStyle({left:'0px'});
				effect.element.style.left = '0px';
			}
		});

		this.current = (this.current + 1) % this.slides.length;
		setTimeout((function(){this.next();}).bind(this), this.timeout);
	}
}

function init_slideshow() {
	//var slides = new Array('/img/afbeelding.jpg', '/img/afbeelding2.jpg', '/img/afbeelding3.jpg', '/img/afbeelding4.jpg', '/img/afbeelding5.jpg');
	if($('extra_slides')) {
		var slides = new Array();
		slides[0] = $('slider').getElementsByTagName('img')[0].src;

		var extra_images = $('extra_slides').getElementsByTagName('a');
		for(var i = 0; i < extra_images.length; i++) {
			slides[(i+1)] = extra_images[i].href;
		}

		var pan = false;
		if($('slider').hasClassName('pan')) {
			pan = true;
		}
		new Slideshow('slider', 3000, pan, slides);
	}
}
Event.observe(window, 'load', init_slideshow, false);
