function llx3_slideShow(container,interval,startTimeout,waitImageLoad,effect,fadeInDuration,fadeOutDuration,autoStart,randomStart) {

	var SlideShow = this;
	var slides;
	var currentSlide =-1;
	var imagesLoaded = 0;
	var slideShowStarted = false;
	this.OnShowEvents = new Array();

	function slideSwitch(i) {
		if (init() == false) return;
		var oldSlide = currentSlide;
		currentSlide++;
		if (i) currentSlide = i;
		if (currentSlide >= slides.length) currentSlide = 0;
		var newSlide = currentSlide;
		if (SlideShow.OnShowEvents[newSlide]) SlideShow.OnShowEvents[newSlide]();
		switch (effect) {
			case "Fade":
				$(slides[oldSlide]).fadeOut(fadeOutDuration, function () {
					$(slides[newSlide]).fadeIn(fadeInDuration);
				});
				break;
			default:
				$(slides[oldSlide]).css("display", "none");
				$(slides[newSlide]).css("display", "block");
				break;
		}

	}

	function init() {
		if (slides) return;
		var c = document.getElementById(container);
		if (c == undefined) return false;
		slides = c.children;
		currentSlide = slides.length - 1
		return true;
	}

	function startSlideShow() {
		if (slideShowStarted) return;
		slideShowStarted = true;
		if (randomStart) {
			var r = Math.floor(Math.random() * slides.length);
			slideSwitch(r);
		} else {
			slideSwitch();
		}
		setInterval(slideSwitch, interval);
	}

	this.showSlide = function (i) {
		slideSwitch(i);
	}

	if (autoStart) {
		$(document).ready(function () {
			if (init() == false) return;
			if (waitImageLoad) {
				var images = document.getElementById(container).getElementsByTagName("IMG");
				for (var i = 0; i < images.length; i++) {
					$(images[i]).load(function () {
						imagesLoaded++;
						if (imagesLoaded == images.length) { setTimeout(startSlideShow, startTimeout); }

					});
				}

			} else {
				setTimeout(startSlideShow, startTimeout);
			}
		});
	}
 }
