var dir = "";
var imageArray = new Array();

//var currentImage = 0;
var zIndex = 0;
var currentIndex = 0;
var currentOpacity = 0;
var previousOpacity = 0;
var currentImage = null;
var previousImage = null;
var image1 = document.createElement('img'); 
image1.style.opacity=1;
image1.style.filter='alpha(opacity='+100+')';
image1.style.position='absolute';
image1.setAttribute('id','image1');
var image2 = document.createElement('img');
image2.style.opacity=0;
image2.style.filter='alpha(opacity='+0+')';
image2.style.position='absolute';
image2.setAttribute('id','image2');		
var fadeTime = 2500;
var holdTime = 5000;
var slideshow = null;
var debug = null;

function startSlideshow() {
	slideshow = document.getElementById('slideshow');
	debug = document.getElementById('debug');
	if(document.getElementById('mainHeading')) {
		var heading = document.getElementById('mainHeading');
	}
	if(document.getElementById('headingBg')) {
		var headingBg = document.getElementById('headingBg');
	}
	if(imageArray&&imageArray.length>0) {
		if(document.getElementById('mainHeading')&&
			document.getElementById('headingBg')) {
			var myHeight = heading.offsetHeight;
			headingBg.style.height = myHeight+"px";
			heading.style.position="absolute"; //not sure why this needs to be done, but it does for IE (of course)
		}
		pre="";
		startIndex=Math.floor(Math.random()*imageArray.length);
		//dir = pre+'img/slideshow/';

		beginPreload();

		currentIndex = Number(startIndex);
		image1.setAttribute('src','');
		image2.setAttribute('src','');
		slideshow.appendChild(image1);
		slideshow.appendChild(image2);
		zIndex++;
		currentImage=1;
			
		eval('var myImage = image'+currentImage+';'); 
		myImage.style.zIndex = zIndex;
		myImage.src=dir+imageArray[currentIndex];
		if(currentIndex+1<imageArray.length) {
			currentIndex++;
		} else {
			currentIndex = 0;
		}
		if(imageArray.length>1) { 
			repId = setTimeout('loadImage()',holdTime);
		}
		//loadImage();
	} else {
		if(heading) {
			heading.style.position="relative";
			heading.style.color = "#3a3a3a";
			heading.style.padding = "5px";
		}
		//headingBg.style.height = "0px";
		//headingBg.style.background="none";
		if(document.getElementById('bannerBox')) {
			document.getElementById('bannerBox').style.height="auto";
		}
	}
}

function beginPreload() {
		for(var i=0;i<imageArray.length;i++) {
			eval('var img'+i+'=new Image();');
			eval('img'+i+'.src=\''+dir+imageArray[i]+'\';');
		}
}

//load currentImage
var intId = null;
var repId = null;
function loadImage() {
	if(repId!=null) {
		clearTimeout(repId);
		repId = null;
	}
	
	if(intId==null) {
		zIndex++;
		if(currentImage==1) {
			currentImage=2;
			previousImage=1;
		} else {
			if(currentImage!=null) {
				previousImage=2;
			}
			currentImage=1;
		}
		
		//currentImage = new Image();
		var myImage = setImage();
		if(currentIndex+1<imageArray.length) {
			currentIndex++;
		} else {
			currentIndex = 0;
		}
		
	} else {
		eval('var myImage = image'+currentImage+';');
		clearTimeout(intId);
	}

	if(myImage.complete) {
		fadeIn();
		intId = null;
	} else {
		intId = setTimeout('loadImage()',15);
	}
}

function setImage() {
		eval('var myImage = image'+currentImage+';'); 
		myImage.style.opacity = currentOpacity;
		myImage.style.filter = 'alpha(opacity='+currentOpacity+')';
		myImage.style.zIndex = zIndex;
		myImage.src=dir+imageArray[currentIndex];
		
		return myImage;
}

//once current image is loaded, fade in AND begin loading next image
var inId = null;
function fadeIn() {
	if(inId!=null) {
		clearTimeout(inId);	
	} 
	
	eval('var myImage = image'+currentImage+';');
	
	if(currentOpacity<100) {
		currentOpacity += 100/(fadeTime/30);
		myImage.style.opacity = currentOpacity/100;
		myImage.style.filter = 'alpha(opacity='+currentOpacity+')';
	
		inId = setTimeout('fadeIn()',30);
	} else {
		inId = null;
		currentOpacity = 0;
		repId = setTimeout('loadImage()',holdTime);
	}
}

