var timerID;

var currentImageTagID;
var currentImageFolderName;
var currentNumberOfImages;
var currentRotationInterval;
var currentRandomRotationFlag;
var currentImageNumber;

function startSlideshow(inImageTagID, inImageFolderName, inNumberOfImages, inRotationInterval, inRandomRotationFlag){
    clearTimeout(timerID);
	currentImageTagID = inImageTagID;
	currentImageFolderName = inImageFolderName;
	currentNumberOfImages = inNumberOfImages;
	currentRotationInterval = inRotationInterval;
	currentRandomRotationFlag = inRandomRotationFlag;
	currentImageNumber = 1;
	automateSlideshow(currentImageTagID, currentImageFolderName, currentNumberOfImages, currentRotationInterval, currentRandomRotationFlag, currentImageNumber);
}

function automateSlideshow(inImageTagID, inImageFolderName, inNumberOfImages, inRotationInterval, inRandomRotationFlag){
	var tvImageNumber = 0;
    if (inRandomRotationFlag || currentImageNumber == -1) {
        tvImageNumber = Math.floor(Math.random() * inNumberOfImages);
    }
    else {
        tvImageNumber = (currentImageNumber + 1) % inNumberOfImages;
    }
	tvImageNumber++;
	currentImageNumber = tvImageNumber;

	document[inImageTagID].src = "/EN/gallery/" + inImageFolderName + "/" + tvImageNumber + ".png";
    var tvRecursiveMethodCall = "automateSlideshow('" + inImageTagID + "', '" + inImageFolderName + "', " + inNumberOfImages + ", " + inRotationInterval + ", " + inRandomRotationFlag + ")";
    timerID = setTimeout(tvRecursiveMethodCall, inRotationInterval);
}

function playSlideshow(){
    clearTimeout(timerID);
	automateSlideshow(currentImageTagID, currentImageFolderName, currentNumberOfImages, currentRotationInterval, currentRandomRotationFlag, currentImageNumber);
}

function pauseSlideshow(){
    clearTimeout(timerID);
}

function displayNext(){
    clearTimeout(timerID);
	var tvImageNumber = 0;
   	tvImageNumber = (currentImageNumber + 1) % currentNumberOfImages;
	if(tvImageNumber > currentNumberOfImages || tvImageNumber < 1){
		tvImageNumber = 1;
	}
	currentImageNumber = tvImageNumber;
	document[currentImageTagID].src = "/EN/gallery/" + currentImageFolderName + "/" + tvImageNumber + ".png";
}

function displayPrevious(){
    clearTimeout(timerID);
	var tvImageNumber = 0;
   	tvImageNumber = (currentImageNumber - 1) % currentNumberOfImages;
	if(tvImageNumber < 1){
		tvImageNumber = currentNumberOfImages;
	}
	currentImageNumber = tvImageNumber;
	document[currentImageTagID].src = "/EN/gallery/" + currentImageFolderName + "/" + tvImageNumber + ".png";
}
