//This Javascript file assumes images in a /pano folder numbered
// /pano/pan1.jpg to /pano/113.jpg
// 1 and 113 are managed by the min and maxPanoNum vars below

//banner vars
var maxPanoNum = 113;
var minPanoNum = 1;
var bannernum = minPanoNum;
var bannernumNext = minPanoNum + 1;
var bannernumPrev = maxPanoNum;
var counter = 0;
var current = 0;
var imgTop;
var imgBot;

//transition vars
var today = new Date();
var delay = 20000;
var pause = false;
var zInterval = null;
var up = false;

var tmpElement;

function fixBannerBounds(){
// Ensure an image that does not exist is called to be loaded
	bannernumPrev = bannernum - 1;
	bannernumNext = bannernum + 1;
	if (bannernum > maxPanoNum){
		bannernum = minPanoNum;
	}
	if (bannernum < minPanoNum){
		bannernum = maxPanoNum;	
	}
	if (bannernum == maxPanoNum){
		bannernumNext = minPanoNum;
		bannernumPrev = maxPanoNum -1;
	}
	if (bannernum == minPanoNum){
		bannernumNext = minPanoNum + 1;
		bannernumPrev = maxPanoNum;
	}		
}

function setNextBannerImage(){
	bannernum++;
	fixBannerBounds();
	return bannernum;
}

function getBannerImage(){
	return bannernum;
}

function getPrevBannerImage() {
	return bannernumPrev;
}

function getNextBannerImage() {
	return bannernumNext;
}

function displayNextBannerImage(){
	getNextBannerImage();
	displayBannerImage();
}
function displayPrevBannerImage(){
	getPrevBannerImage();
	displayBannerImage();
}

function flipPause(){
	if (pause == true) {
		tmpElement = document.getElementById("pauseText");
		tmpElement.innerHTML = '<font color="green">Running</font>';
		pause = false;
		bannerInit();
	} else {
		tmpElement = document.getElementById("pauseText");
		tmpElement.innerHTML = '<font color="red">Paused<font>';
		pause = true;
		bannerFade();
	}
}

function stallTime(){
	var i = 1;
}

function displayBannerImage(){
	tmpElement = document.getElementById("bannerImageTop");
	tmpElement.innerHTML = '<img border="5" src="pano/pan' + getBannerImage() + '.jpg" name="bannerImageSourceTop" id="bannerImageSourceTop" align="center" border="1" onLoad="var newElem = document.getElementById(\'bannerHolder\'); newElem.style.height = this.height + \'px\';">';
	tmpElement = document.getElementById("bannerImageBot");
	tmpElement.innerHTML = '<img border="5" src="pano/pan' + getNextBannerImage() + '.jpg" name="bannerImageSourceBot" id="bannerImageSourceBot" align="center" border="1" >';

	// WHILE loop and counter added to allow time for bannerImageSourceTop image to load and for its height
	// to be determine. Opera would consistantly improperly draw height for the imahgeHolder area because 
	// the property could not be acquired for setting height to bannerHolder fast enough
	// counter is added with magic number 5000 as a timeout condition to avoid an infinite loop
	// while ((document.getElementById("bannerImageSourceTop").height <= 40) && (counter <= 2000)){
	// 	counter = counter + 1;
	//}
	
	tmpElement = document.getElementById("bannerHolder");
	tmpElement.style.height = document.getElementById("bannerImageSourceTop").height + 'px';
	tmpElement = document.getElementById("bannerImageTop");
	tmpElement.style.height = document.getElementById("bannerImageSourceTop").height + 'px';
		
	tmpElement = document.getElementById("inBannernum");
	tmpElement.value = bannernum;
	
	
}

/* allow higher than 60 */
function initializeBannerDisplay(){
	if ((today.getMinutes() % 2) == 1){
		 bannernum = today.getSeconds() + 50;
	} else {
		 bannernum = today.getSeconds();
	}	
	fixBannerBounds();
	displayBannerImage();

	bannerInit();
}

function bannerInit() {

	setNextBannerImage();
	imgTop = document.getElementById("bannerImageSourceTop");
	imgBot = document.getElementById("bannerImageSourceBot");
	//tmpElement = document.getElementById("bannerImageTop");
	//tmpElement.style.height = tmpElement.height + 'px';
	
	imgBot.xOpacity = 0;
	setOpacity(imgBot);
	imgTop.style.display = "block";
	imgTop.xOpacity = .99;
	setTimeout(bannerFade,delay);

}

function bannerFade() {
	
	cOpacity = imgTop.xOpacity;
	nOpacity = imgBot.xOpacity;
	cOpacity = cOpacity - .15;
	nOpacity = nOpacity + .15; 
	
	imgBot.style.display = "block";
	imgTop.style.display = "block";

	imgBot.xOpacity = nOpacity;
	imgTop.xOpacity = cOpacity;
	
	setOpacity(imgTop); 
	setOpacity(imgBot); 
	
	if(cOpacity <= 0) {
		imgTop.style.display = "none";
		imgBot.style.display = "block";
		displayBannerImage();
	    if (pause) return;		
		bannerInit();
		//setTimeout(bannerFade,delay);
	} else {
		setTimeout(bannerFade,50);
	}
}

function setOpacity(obj) {
	if(obj.xOpacity > .99) {
		obj.xOpacity = .99;
		return;
	}
	obj.style.opacity = obj.xOpacity;
	obj.style.MozOpacity = obj.xOpacity;
	obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
}

