function start_slideshow(slideshowContainerID, slideOrder, orderType, delay) {
	var arrayPos = 0;
	slideOrder = slideOrder.split(",");
	orderType = orderType.toLowerCase();
	numSlides = $('#' + slideshowContainerID + ' .slide').length;
	switch(orderType) {
		case "random":
		frame = Math.floor(Math.random()*numSlides) + 1;
		break;
		case "specific":
		frame = slideOrder[arrayPos]; // starts at the beginning of the array
		break;
		case "numeric":
			frame = 1;
		break;
	}
		$('#' + slideshowContainerID + ' .slideCnt' + frame).show(); //shows the first slide; all slides should start as display: none;
	if (numSlides > 1) {
		//Effect.Appear('slideshow' + slideOrder[arrayPos]);
		setTimeout(switch_slides(frame, arrayPos, slideshowContainerID, slideOrder, orderType, delay, numSlides), delay);
	}
}
function switch_slides(frame, arrayPos, slideshowContainerID, slideOrder, orderType, delay, numSlides) {
	delayOffset = 0;
	return (function() {
		switch (orderType)
		{
		case "specific":
			$('#' + slideshowContainerID + ' .slideCnt' + frame).fadeOut();
			if (arrayPos == slideOrder.length - 1) { 
				arrayPos = 0; 
			} else {
				arrayPos = arrayPos + 1;
			}
			frame = slideOrder[arrayPos];
			break; 
		case "random":
			$('#' + slideshowContainerID + ' .slideCnt' + frame).fadeOut();
			frameOld = frame;
			while (frame == frameOld) {
				frame = Math.floor(Math.random()*numSlides) + 1;
			}
			break;
		case "numeric":
			$('#' + slideshowContainerID + ' .slideCnt' + frame).fadeOut();
			frame += 1;
			if (frame > numSlides) { 
				frame = 1;
			}
		break;
		}
			curSlideName = "slideCnt" + frame;
			setTimeout("$('#" + slideshowContainerID + " ."+curSlideName+"').fadeIn();", delay * delayOffset);
			setTimeout(switch_slides(frame, arrayPos, slideshowContainerID, slideOrder, orderType, delay, numSlides), delay);
	})
}