function start_slideshow(slideshowContainerID, slideOrder, orderType, delay) {
    var arrayPos = 0;
    bAnimate = true;
	slideOrder = slideOrder.split(",");
	orderType = orderType.toLowerCase();
	numSlides = $('#' + slideshowContainerID + ' .slide').length;
	switch(orderType) {
		case "random":
		    frame = Math.floor(Math.random() * 4) + 1;
		break;
        case "specific":
            frame = slideOrder[arrayPos]; // starts at the beginning of the array
            if (slideOrder.length <= 1) // if there are less than two slides listed when orderType = 'specific', don't try to animate at all
                bAnimate = false;
        break;
		case "numeric":
			frame = 1;
		break;
    }
    if (numSlides <= 1) // if there are less than two slides regardless of orderType, don't try to animate at all
		bAnimate = false;
    $('#' + slideshowContainerID + ' .slideCnt' + frame).show(); //shows the first slide; all slides should start as display: none;
    if (bAnimate) {
        //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);
	})
}
