	var imagePauseTime;
	var imageFadeTime;

	var imagePaths;

	var currentImage = -1;
	var currentPos = 0;
	var imageObjs;
	var fadeTime;
	var firstLoad = true;

	function loadImage() {
		fadeTime = (new Date()).getTime();
		fadeImage();
	}

	function triggerFade() {
		if (firstLoad) { firstLoad = false; return; }

		setTimeout(loadImage, imagePauseTime);
	}

	function fadeImage() {
		var alpha = 100 - ((new Date()).getTime() - fadeTime) / imageFadeTime * 100;
	
		imageObjs[currentPos].style.filter = 'alpha(opacity=' + alpha + ')';
		imageObjs[currentPos].style.opacity = alpha/100;
		imageObjs[currentPos == 0 ? 1 : 0].style.filter = 'alpha(opacity=' + (100-alpha) + ')';
		imageObjs[currentPos == 0 ? 1 : 0].style.opacity = 1-alpha/100;

		if (alpha > 0) { 
			setTimeout(fadeImage, 40); 
		} else { 
			imageObjs[currentPos].src = imagePaths[getImage()];
			currentPos = currentPos == 0 ? 1 : 0; 			
		}
	}

	function getImage() {
		var a;
		do {
			a = Math.floor(Math.random() * imagePaths.length);
		} while (a == currentImage && imagePaths.length > 1);

		currentImage = a;
		return a;
	}

	function imageSlideShow(p) {

		imagePauseTime = p.pauseTime;
		imageFadeTime = p.fadeTime;
		imagePaths = p.paths;
	
		document.write(
			'<div style="width: ' + p.width + 'px; height: ' + p.height + 'px"><a href="' + p.url + '">' +
			'<img onload="triggerFade()" alt="" style="border: none; position: absolute; filter: alpha(opacity=100); opacity: 1" id="randomImage0" src="' + imagePaths[getImage()] + '" />' +
			'<img onload="triggerFade()" alt="" style="border: none; position: absolute; filter: alpha(opacity=0); opacity: 0" id="randomImage1" src="' + imagePaths[getImage()] + '" />' + 
			'</a></div>'
		);

		imageObjs = [ document.getElementById('randomImage0'), document.getElementById('randomImage1') ];

	}

