//Note: setTimeout is asynchronous, so use recursion instead of loops

// Set Initial Values
var JbSlideDisplayTime = 6; // in seconds (Total time slide is shown)
var JbSlideTransTime = 2; // in seconds (Must be less than JbSlideDisplayTime. JbSlideTransTime occurs as part of JbSlideDisplayTime)
var JbSlideTransStep = 5; // must be a divisor of 100
var JbSlideTransStepTime = Math.round((JbSlideTransTime*1000)/(100/JbSlideTransStep));
var JbSlideImg = 2; // 1 or 2
var JbSlidePos = 0; // Array Position
var JbSlidePosNow = 0; // Array Position of Currently Showing Slide


function JbSlide(fnImg,fnURL,fnTgt) {
	this.Img = fnImg;
	this.URL = fnURL;
	this.Tgt = fnTgt;
}


function JbSlideLink() {
	fnURL = aryJbSlide[JbSlidePosNow].URL;
	fnTgt = aryJbSlide[JbSlidePosNow].Tgt;
	switch(fnTgt) {
		case "_blank":
			window.open(fnURL,"WinNew");
			break;
		case "_top":
			window.top.location.href = fnURL;
			break;
		case "_self":
			window.self.location.href = fnURL;
			break;
		case "_parent":
			window.parent.location.href = fnURL;
			break;
		case "WinModal":
			//TBD
			break;
		default:
			// Do Nothing
			break;
	}
}


function JbSlideOpacity(fnImg, fnOpacity) {
	document.getElementById("JbSlide"+fnImg).style.filter="alpha(opacity="+fnOpacity+")";
	document.getElementById("JbSlide"+fnImg).style.KhtmlOpacity=fnOpacity/100;
	document.getElementById("JbSlide"+fnImg).style.MozOpacity=fnOpacity/100;
	document.getElementById("JbSlide"+fnImg).style.opacity=fnOpacity/100;
}


function JbSlideTrans(fnImg, fnOpacity, fnSlidePos) {
	//fnImg = Image to reveal, fnImgOther = Image to hide
	fnImgOther = fnImg % 2; // Modulo
	fnImgOther++;
	fnOpacity+=JbSlideTransStep;
	fnOpacity = Math.round(fnOpacity);
	fnOpacityOther = 100 - fnOpacity;
	fnOpacityOther = Math.round(fnOpacityOther);
	// Reveal more
	JbSlideOpacity(fnImg, fnOpacity);
	// Hide more
	JbSlideOpacity(fnImgOther, fnOpacityOther);
	// At 50% Opacity, change Link
	if (fnOpacity>50) {JbSlidePosNow = fnSlidePos};
	if (fnOpacity<100) {
		setTimeout("JbSlideTrans(" + fnImg + "," + fnOpacity + "," + fnSlidePos + ")",JbSlideTransStepTime);
	} else {
		// Hide element (in case fade failed)
		document.getElementById("JbSlide"+fnImgOther).style.visibility="hidden";
	}
}


function showJbSlideShow() {
	document.getElementById("JbSlide"+JbSlideImg).src=aryJbSlide[JbSlidePos].Img;
	document.getElementById("JbSlide"+JbSlideImg).style.visibility="visible";
	JbSlideTrans(JbSlideImg, 0, JbSlidePos);
	JbSlideImg = JbSlideImg % 2; // Modulo
	JbSlideImg++
	JbSlidePos++
	JbSlidePos = JbSlidePos % aryJbSlide.length; // Modulo	("length" returns actual number of elements)
	setTimeout("showJbSlideShow()",JbSlideDisplayTime*1000)
}
