
var slideshow_timingSlide = 4000;
var slideshow_timingFade = 1500;
var slideshow_sliding = true;
var slideshow_images = new Array();

var Slideshow = {
	slides: [],
	
	current: null,
	next: null,
	
	key: 0,
	
	fadeCurrent: true,
	
	addSlide: function( title, link, img ) {
		var hash = {title: title, link: link, img: img};
		Slideshow.slides.push(hash);
	},
	
	init: function() {
		Slideshow.current = {img: $('slideshowcurrent_img'), el: $('slideshowcurrent_el')};
		Slideshow.next = {img: $('slideshownext_img'), el: $('slideshownext_el')};
		
		window.setTimeout( Slideshow.fade, slideshow_timingSlide);
	},
	
	fade: function() {
		new Effect.Fade( Slideshow.current.img, {duration: slideshow_timingFade / 1000.0});
		new Effect.Appear( Slideshow.next.img, {duration: slideshow_timingFade / 1000.0});

		new Effect.Fade( Slideshow.current.el, {duration: slideshow_timingFade / 1000.0});
		new Effect.Appear( Slideshow.next.el, {duration: slideshow_timingFade / 1000.0, afterFinish: Slideshow.change});
	},
	
	change: function() {
		++Slideshow.key;
		
		if (Slideshow.key >= Slideshow.slides.length) {
			Slideshow.key = 0;
		}
		
		var nextSlide = Slideshow.slides[Slideshow.key];
		
		if (!Slideshow.fadeCurrent) {
			Slideshow.next = {img: $('slideshowcurrent_img'), el: $('slideshowcurrent_el')};
			Slideshow.current = {img: $('slideshownext_img'), el: $('slideshownext_el')};
			$('slideshowcurrent_title').innerHTML = nextSlide.title.escapeHTML();
			$('slideshowcurrent_link').writeAttribute('href', nextSlide.link);
			$('slideshowcurrent_img').writeAttribute('src', nextSlide.img);
		} else {
			Slideshow.current = {img: $('slideshowcurrent_img'), el: $('slideshowcurrent_el')};
			Slideshow.next = {img: $('slideshownext_img'), el: $('slideshownext_el')};
			$('slideshownext_title').innerHTML = nextSlide.title.escapeHTML();
			$('slideshownext_link').writeAttribute('href', nextSlide.link);
			$('slideshownext_img').writeAttribute('src', nextSlide.img);
		}
		
		Slideshow.fadeCurrent = !Slideshow.fadeCurrent;
		
		window.setTimeout( Slideshow.fade, slideshow_timingSlide);
	}
};

document.observe('dom:loaded', Slideshow.init);