var curImg = 0;
var timerId = -1;
var intervalf = 3000;
var intervalm = 4500;
var intervals = 6000;
var interval = intervalm;
var imgIsLoaded = false;
var arrPreload = new Array();
var _PRELOADRANGE = 5;


var play_flag = 0;

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 changeSpeed(sidx)
{
    switch (sidx) 
	{
		case 0: interval = intervalm; break;
		case 1: interval = intervals; break;
		default: interval = intervalf;
    }
    if (timerId != -1) 
	{
		clearTimeout(timerId);
		timerId = setTimeout('forward();timerId=-1',interval);
    }
}

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()';
//    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]>410)?" height=410":" width=" + imageWidthArray[curImg] + " height=" + imageHeightArray[curImg];
//    }
//    htmlCont += " border=0 hspace=10 vspace=10 onload=\""+oncomplete+"\" onerror=\""+oncomplete+"\" onabort=\""+oncomplete+"\">" ;
//    htmlCont += "<small>" + imageDescArray[curImg] + "</small></center>";
    
    
  
    var htmlCont = "";
    htmlCont += "<img src=\"" + imageSrcArray[curImg] + "\" alt=\"" +  "\"";
    if (imageWidthArray[curImg] > 0 && imageHeightArray[curImg] > 0) 
	{
		htmlCont += (imageHeightArray[curImg]>410)?" height=410":" width=" + imageWidthArray[curImg] + " height=" + imageHeightArray[curImg];
    }
    htmlCont += "  onload=\""+oncomplete+"\" onerror=\""+oncomplete+"\" onabort=\""+oncomplete+"\">" ;
    htmlCont += "<table width='95%' border=0 cellspacing=0 cellpadding=2><tr><td align='center' class='pt9'>";
    htmlCont += imageDescArray[curImg];
    htmlCont += "</td></tr></table>";
    
    
   
    var pnumLine = "<small>";
    pnumLine += replaceNum(SHOWINGSTRING, "%slideNum", eval(curImg+1));
    pnumLine += "</small>";
    document.getElementById("pem").innerHTML = pnumLine;
    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) { finish(); } else { setTimeout("changeSlide()",500); }
//	} else {
//	    alert("X");
	    if (curImg == numImgs -1)
	        curImg = -1;
	        
		   curImg++;
		if (curImg >= numImgs) { finish(); } else { changeSlide(); }
//	}
}

function rewind()
{
   if (curImg == 0)
      curImg = numImgs -1;
   else   
   	  curImg--;
   	
	if (curImg < 0)
//		curImg = numImgs - 1;
		finish();
	else
		changeSlide();
}

function showfirst()
{
   if (curImg >0)
   {
      curImg = 0 ;         
      changeSlide();
   }
   
         
}
function showlast()
{
  if (curImg < numImgs)
  {
     curImg = numImgs - 1;
     changeSlide();
  }
}
function stop()
{
    playerState = 0;
    window.clearInterval(timerId);
    if (timerId != -1) {
	clearTimeout(timerId);
	timerId = -1;
    }
    document.playbtn.src = buttonImgPfx + buttonOffArray[2];    
    document.playbtn.alt = buttonOffAltArray[2];    
    //document.stopbtn.src = buttonImgPfx + buttonOnArray[1];
    imgIsLoaded = true;
}

function play()
{

   if (document.playbtn.alt == buttonOffAltArray[2])
   {    

    playerState = 1;
    if (timerId == -1) timerId = setTimeout('forward();timerId=-1',interval);
    document.playbtn.src = buttonImgPfx + buttonOnArray[2];
    document.playbtn.alt = buttonOnAltArray[2];
    //document.stopbtn.src = buttonImgPfx + buttonOffArray[1];
   }
   else
      stop();
}

function setButton(direction)
{
    if (timerId != -1) {
      clearTimeout(timerId);
      timerId = setTimeout('forward();timerId=-1',interval);
    }
    imgIsLoaded = true;
    if (direction == 0) 
	{
		document.prevbtn.src = buttonImgPfx + buttonOnArray[1];
		window.setTimeout("document.prevbtn.src = buttonImgPfx + buttonOffArray[1];", 300);
    }
	else 
	{
		document.fowdbtn.src = buttonImgPfx + buttonOnArray[3];
		window.setTimeout("document.fowdbtn.src = buttonImgPfx + buttonOffArray[3];", 300);
    }
}

function finish()
{
	stop();

	if (typeof(slideshow_end_url) != "undefined")
	{
		if (interval == intervals)
			slideshow_end_url += "&.spd=1";
		else if (interval == intervalf)
			slideshow_end_url += "&.spd=3";
		document.location=slideshow_end_url;
	}
}

