/*
	initShow(delay,"SorR","CorO","List_of_Images")
	
		where:
			delay          => Delay in milliseconds
			SorR           => Sequenial (s) or Random (r)
			CorO           => Continous (c) or Once (o)
			List_of_Images => A comma separtated list of images ("image1","image2",...,"imageN")
		
		initShow sets up the system. You can list up to 250 images.
		
	startShow(imageObject)
	
		where
			imageObject    => the image object that will be used to display the show
			
			
			
HTML for slide show

Set up for auto slide show upon load:

<BODY ONLOAD="initShow(delay,s_or_r,c_or_o, image1,image2,...,imageN);startShow(document.img_name);>
<IMG NAME="img_name" HEIGHT="V_size" WIDTH="H_size">
or
<IMG SRC="Place_holder_image" NAME="img_name" HEIGHT="V_size" WIDTH="H_size">

</BODY>


Set up for on click slide show:

<BODY ONLOAD="initShow(delay,s_or_r,c_or_o, image1,image2,...,imageN);">
<A HREF="javascript:void(0)"  ONCLICK="startShow(document.img_name);"><IMG NAME="img_name" 
 SRC="Place_holder_image" HEIGHT="V_size" WIDTH="H_size" BORDER="0"> 
 </A>

</BODY>

*/
function SSimage () {
	this.source = "";
	this.next = "";
	this.displayed = "N";
}

var anSimage = new Array();
var ssDelay;
var ssSeqRan;
var ssOneCon;
var vImage;
var nextImage;
var sDone;
var sNum;

function initShow () {
	ssDelay = initShow.arguments[0];
	ssSeqRan = initShow.arguments[1];
	ssSeqRan = ssSeqRan.toUpperCase();
	ssOneCon = initShow.arguments[2];
	ssOneCon = ssOneCon.toUpperCase();
	sDone = initShow.arguments.length - 4;	
	sNum = sDone;
	for (var i = 3; i < initShow.arguments.length; i++) {
	  anSimage[i-3] = new SSimage;
		anSimage[i-3].source = initShow.arguments[i];
		anSimage[i-3].next = i-2;
	var endIt = i-3;
	}
	anSimage[endIt].next = 0;
}

function startShow (imageObj) {
	vImage = imageObj;
	if(ssSeqRan == "R") {
		aStart = Math.round(Math.random()* sNum);
		nextImage = Math.round(Math.random()* sNum);
	} else {
		aStart = 0;
		nextImage = anSimage[aStart].next;
	}
	imageObj.src = anSimage[aStart].source;
	anSimage[aStart].displayed = "Y";
	setTimeout (clickSlide, ssDelay);
	sDone--;
}

function clickSlide() {
	vImage.src = anSimage[nextImage].source;
	anSimage[nextImage].displayed = "Y";
	if(ssSeqRan == "R"){
		temp = nextImage;
		do {
			nextImage = Math.round(Math.random()* sNum);
		} while ((temp == nextImage) || ((ssOneCon == "O") && 
			(anSimage[nextImage].displayed == "Y")));
	} else {
		nextImage = anSimage[nextImage].next;
	}
	if(ssOneCon == "C") {
		setTimeout (clickSlide, ssDelay);
	} else {
		if (sDone > 0) {
			setTimeout (clickSlide, ssDelay);
			sDone--;
		}
	}
}		
