/* 
desc: banner rotation script

author: Rob Eberhardt, Slingshot Solutions - http://slingfive.com/
*/


// initialize internal vars
var g_iCurBannerIndex = -1;
var g_iBannerTimerID;

function window.onload() {
	goNextBanner();
}

function fnGoNextBanner(oBannerContainer, oIMG, oLink) {
	g_iCurBannerIndex++;
	if(g_iCurBannerIndex >= arrBanners.length) {g_iCurBannerIndex = 0}; // hit end, start from top

	// prep transition & freeze banner
	if(!oBannerContainer.filters.revealTrans) {alert('oBannerContainer must have a revealTrans filter already specified'); return;};
	oBannerContainer.filters[0].Apply();
	if(!oBannerContainer.filters.revealTrans.duration){oBannerContainer.filters.revealTrans.duration=0.25}; // default
	oBannerContainer.filters.revealTrans.transition=rand(23);

	// show next banner
	var curBanner = arrBanners[g_iCurBannerIndex];
	oIMG.src = curBanner.img.src;
	oLink.href = curBanner.href;
	if(oLink.href=='' || oLink.href=='null') {oLink.removeAttribute("href")}; // remove blank hrefs (plain img banner)
	oLink.target = curBanner.target;

	// play the transition to the next banner
    oBannerContainer.filters[0].Play();

	// recursive call: setup to call next banner
	window.clearTimeout(g_iBannerTimerID); // clear current timer (prevent multiple loops recursing)
	iSecsToShowBanner = curBanner.secsToDisplay;
	if(!iSecsToShowBanner>0){iSecsToShowBanner = g_iSecsToShowBanner} //if none set on current banner, use default
	g_iBannerTimerID = window.setTimeout('goNextBanner()', 1000*iSecsToShowBanner);
//	window.status = iSecsToShowBanner;
}

function objBanner(strImgSRC, strLinkHREF, strLinkTarget, iSecsToDisplay) {
	var oBanner = new Object();
	oBanner.img = preloadImg(strImgSRC);
	oBanner.href = strLinkHREF;
	oBanner.target = strLinkTarget;
	if(oBanner.target==null){oBanner.target=''};
	oBanner.secsToDisplay = iSecsToDisplay;
	return oBanner;
}
function preloadImg(strImgSRC) {
	var oImg = new Image();
	oImg.src = strImgSRC;
	return oImg;
}




// The Central Randomizer 1.3 (C) 1997 by Paul Houle (houle@msc.cornell.edu)
// See:  http://www.msc.cornell.edu/~houle/javascript/randomizer.html
rnd.today=new Date();
rnd.seed=rnd.today.getTime();
function rnd() {
	rnd.seed = (rnd.seed*9301+49297) % 233280;
	return rnd.seed/(233280.0);
};
function rand(number) {return Math.ceil(rnd()*number);};
// end central randomizer
