var curImg = 0;
var timerId = -1;
var interval = 4000;
var imgIsLoaded = false;
var arrPreload = new Array();
var _PRELOADRANGE = 5;
var playerState = 0;
var HEIGHTLIMIT=290;

function replaceNum(myinput, token, newstr)
{
    var input = myinput;
    var output = input;
    var idx = output.indexOf(token);
    if (idx > -1) 
	{
		output = input.substring(0, idx);
		output += newstr;
		output += input.substr(idx+token.length);
    }
    return output;
}


function preloadRange(intPic,intRange) {
	for (var i=intPic; i<intPic+intRange; i++) {
		arrPreload[i] = new Image();
		arrPreload[i].src = imageSrcArray[i];
	} 
	return true;
}

function imgLoadNotify()
{
	imgIsLoaded = true;
	if (timerId == -1 && playerState == 1) {
	  timerId = setTimeout('forward();timerId = -1',interval);
	}
}

function changeSlide(oncomplete)
{
    if (!oncomplete) oncomplete = 'imgLoadNotify()';
/* MGG - document.all is an old way of doing things.  See http://www.metalusions.com/backstage/articles/8/ for further deatils to use this */
/* The following statement checks to see if this JScript feature is available, then uses it.  Javascript browsers will not acknowledge it */
/* Need to find out how to make this feature in Javascript browsers such as Firefox */
/* FIREFOX Doesn't support filter effect (DirectX).  Can manually control opacity though: http://www.clagnut.com/sandbox/imagefades/ */
	
    if (document.all)
	{
    	document.all.imgp.style.filter="blendTrans(duration=1)";
    	document.all.imgp.filters.blendTrans.Apply();
    }
    imgIsLoaded = false;
    var htmlCont = "<center>" +
	"<img src=\"" + imageSrcArray[curImg] + "\" alt=\"" + imageNameArray[curImg] + "\"";
    if (imageWidthArray[curImg] > 0 && imageHeightArray[curImg] > 0) 
	{
		htmlCont += (imageHeightArray[curImg]>HEIGHTLIMIT)?" height=HEIGHTLIMIT":" width=" + imageWidthArray[curImg] + " height=" + imageHeightArray[curImg];
    }
    htmlCont += " border=0 onload=\""+oncomplete+"\" onerror=\""+oncomplete+"\" onabort=\""+oncomplete+"\" ";
	htmlCont += "usemap=\"#" + imageMap[curImg] + "\">" + "<br>";
    htmlCont += "<br><span class=textlight10bold style=\"background:#000\">" + imageNameArray[curImg] + "</span><br><small>" + "</small></center>";

    document.getElementById("imgp").innerHTML = htmlCont;
    if (document.all) 
		document.all.imgp.filters.blendTrans.Play();
}

function forward()
{
	if (!arrPreload[curImg+1])
	{
		imgIsLoaded = false;
		imgIsLoaded = (curImg+_PRELOADRANGE<numImgs)?preloadRange(curImg+1,_PRELOADRANGE):preloadRange(curImg+1,numImgs-curImg-1);
		curImg++;
		if (curImg >= numImgs) { curImg=0; }
		setTimeout("changeSlide()",500);
		
	} else {
		curImg++;
		if (curImg >= numImgs) { curImg=0; } 
		changeSlide(); 
	}
}

function play()
{
    playerState = 1;
    if (timerId == -1) timerId = setTimeout('forward();timerId=-1',interval);
}


