var timedSlideShow = Class.create();
	timedSlideShow.prototype = {
		initialize: function(element, data) {
			this.currentIter = 0;
			this.lastIter = 0;
			this.maxIter = 0;
			this.slideShowElement = element;
			this.slideShowData = data;
			this.slideShowInit = 1;
			this.slideElements = Array();
			this.slideShowDelay = 5300;
			this.articleLink = "";
			this.slideInfoZone = "";
			element.style.display="block";
			this.articleLink = document.createElement('a');
			this.articleLink.className = 'global';
			element.appendChild(this.articleLink);
			this.articleLink.href = "";
			this.maxIter = data.length;
			for(i=0;i<data.length;i++)
			{
				var currentImg = document.createElement('div');
				currentImg.className = "slideElement";
				currentImg.style.position="absolute";
				currentImg.style.left="0px";
				currentImg.style.top="0px";
				currentImg.style.margin="0px";
				currentImg.style.border="0px";
				currentImg.style.backgroundImage="url('" + data[i][0] + "')";
				currentImg.style.backgroundPosition="center center";
				this.articleLink.appendChild(currentImg);
				currentImg.currentOpacity = new fx.Opacity(currentImg, {duration: 1600});
				currentImg.currentOpacity.set(0);
				this.slideElements[parseInt(i)] = currentImg;
			}
			this.loadingElement = document.createElement('div');
			this.loadingElement.className = 'loadingElement';
			this.articleLink.appendChild(this.loadingElement);
			this.slideInfoZone = document.createElement('div');
			this.slideInfoZone.className = 'slideInfoZone';
			this.articleLink.appendChild(this.slideInfoZone);
			this.slideInfoZone.style.opacity = 0;
			this.doSlideShow();
		},
		startSlideShow: function() {
			this.loadingElement.style.display = "none";
			this.lastIter = this.maxIter - 1;
			this.currentIter = 0;
			this.slideShowInit = 0;
			this.slideElements[parseInt(this.currentIter)].currentOpacity.set(1);
			setTimeout(this.showInfoSlideShow.bind(this),0);
			setTimeout(this.hideInfoSlideShow.bind(this),this.slideShowDelay-100);
			setTimeout(this.nextSlideShow.bind(this),this.slideShowDelay);
		},
		nextSlideShow: function() {
			this.lastIter = this.currentIter;
			this.currentIter++;
			if (this.currentIter >= this.maxIter)
			{
				this.currentIter = 0;
				this.lastIter = this.maxIter - 1;
			}
			this.slideShowInit = 0;
			this.doSlideShow.bind(this)();
		},
		doSlideShow: function() {
			if (this.slideShowInit == 1)
			{
				imgPreloader = new Image();
				imgPreloader.onload=function(){
					setTimeout(this.startSlideShow.bind(this),10);
				}.bind(this);
				imgPreloader.src = this.slideShowData[0][0];
			} else {
				if (this.currentIter != 0) {
					this.slideElements[parseInt(this.currentIter)].currentOpacity.options.onComplete = function() {
						this.slideElements[parseInt(this.lastIter)].currentOpacity.set(0);
					}.bind(this);
					this.slideElements[parseInt(this.currentIter)].currentOpacity.custom(0, 1);
				} else {
					this.slideElements[parseInt(this.currentIter)].currentOpacity.set(1);
					this.slideElements[parseInt(this.lastIter)].currentOpacity.custom(1, 0);
				}
				setTimeout(this.showInfoSlideShow.bind(this),100);
				setTimeout(this.hideInfoSlideShow.bind(this),this.slideShowDelay-100);
				setTimeout(this.nextSlideShow.bind(this),this.slideShowDelay);
			}
		},
		showInfoSlideShow: function() {
			this.articleLink.removeChild(this.slideInfoZone);
			this.slideInfoZone = document.createElement('div');
			this.slideInfoZone.styles = new fx.Styles(this.slideInfoZone);
			this.slideInfoZone.style.visibility = "hidden";
			var slideInfoZoneTitle = document.createElement('h2');
			slideInfoZoneTitle.innerHTML = this.slideShowData[this.currentIter][2]
			this.slideInfoZone.appendChild(slideInfoZoneTitle);
			var slideInfoZoneDescription = document.createElement('p');
			slideInfoZoneDescription.innerHTML = this.slideShowData[this.currentIter][3];
			this.slideInfoZone.appendChild(slideInfoZoneDescription);
			this.articleLink.appendChild(this.slideInfoZone);
			this.articleLink.href = this.slideShowData[this.currentIter][1];
			this.articleLink.target = this.slideShowData[this.currentIter][4];
			this.articleLink.onmouseover = function(){window.status = ''; return true;};
			this.slideInfoZone.className = 'slideInfoZone';
			this.slideInfoZone.normalHeight = this.slideInfoZone.offsetHeight;
			this.slideInfoZone.styles.custom({'opacity': [0, 0.7], 'height': [0, this.slideInfoZone.normalHeight]});
		},
		hideInfoSlideShow: function() {
			this.slideInfoZone.styles.custom({'opacity': [0.7, 0]});
		}
	};
	function addLoadEvent(func) {
		var oldonload = window.onload;
		if (typeof window.onload != 'function') {
			window.onload = func;
		} else {
			window.onload = function() {
				oldonload();
				func();
			}
		}
	}
