function SlideShow(numOfPictures, fileLocation, elID) {
	var images = new Array();
	var imageTimeout = 3000;
	var nextImage = 1;
	var container;
	
	var setOpacity = function(el, opacity) {
		el.style.opacity = opacity;
		el.style.MozOpacity = opacity;
		el.style.filter = "alpha(opacity=" + (opacity * 100) + ")";
	};
	
	var startFading = function() {
		var el = container.childNodes[nextImage];
		
		el.style.visibility = 'visible';
		el.style.zIndex = 2;
		
		setOpacity(el, 0);
		fadeImage(el, 0);
		
		nextImage = (nextImage < images.length-1) ? nextImage + 1 : 0;
	};
	
	var fadeImage = function(el, currentOpacity) {
		currentOpacity += 0.05;
		
		if (currentOpacity > 1) {
			setOpacity(el, 1);
			var prevEl = el.previousSibling ? el.previousSibling : el.parentNode.lastChild;
			prevEl.style.visibility = 'hidden';
			el.style.zIndex = 1;
			window.setTimeout(startFading, imageTimeout);
		}
		else {
			setOpacity(el, currentOpacity);
			window.setTimeout(function() { fadeImage(el, currentOpacity); }, 50);
		}
	};
	
	var init = function(numOfPictures, fileLocation, elID) {
		elID = (typeof elID == 'undefined') ? 'SlideShow' : elID;
		var el = container = document.getElementById(elID);
		while (el.firstChild) {
			if( el.firstChild.nodeName == "IMG" ) {
				imageHeight = el.firstChild.height;
				imageWidth = el.firstChild.width;
			}
			el.removeChild(el.firstChild);
		}
		
		el.style.width = imageWidth + "px";
		el.style.height = imageHeight + "px";
		
		for( var i=0; i < numOfPictures; ++i ) {
			images[i] = fileLocation + "/image" + (i + 1) + ".jpg";
			var t = document.createElement('IMG');
			t.setAttribute('src',images[i]);
			t.setAttribute('width',imageWidth);
			t.setAttribute('height',imageHeight);
			t.style.position = 'absolute';
			t.style.visibility = 'hidden';
			el.appendChild(t);	
		}
		
		el.firstChild.style.visibility = 'visible';
	};
	
	this.start = function() {
		window.setTimeout(startFading, imageTimeout);		
	};
	
	init(numOfPictures, fileLocation, elID);
};