
var isIE = (typeof ActiveXObject != "undefined");
var runFader;
var dynaPic;
var dynaCaption;
var dynaMoreBtn;
var dynaTitle;
var curPic = 1;
var entries = [];
var alpha = 1;
var runAutoFader;


function initSlideshow(evt) {
	
	getSlideshowInfo();
 
	document.getElementById('bucket3Nav').onclick = onaction;
	dynaTitle = document.getElementById('dynaTitle');
	dynaPic = document.getElementById("dynaPic");
	dynaCaption = document.getElementById("dynaCaption");
	dynaMoreBtn = document.getElementById("dynaMoreBtn");
	
	runAutoFader = setInterval(autoFader,5000);
}



function getSlideshowInfo() {
	
	/* parse info into array */
	var slideshowNodes = document.getElementById("slideshow").getElementsByTagName("ul");

	entries.push({});
	entries[0].title = document.getElementById('dynaTitle').innerHTML;
	entries[0].pic = document.getElementById('dynaPic').src;
	entries[0].caption = document.getElementById('dynaCaption').innerHTML;
	entries[0].url = document.getElementById('dynaMoreBtn').href;
	
	for(var i=0; i<slideshowNodes.length; i++) {
		
		entries.push({});
		var info = slideshowNodes[i].getElementsByTagName("li");
		
		for(var k=0; k<info.length; k++) {
			
			switch (info[k].className) {
				
				case "title":
					entries[i+1].title = info[k].innerHTML;
					break;
				case "pic":
					entries[i+1].pic = info[k].firstChild.src;
					break;
				case "caption":
					entries[i+1].caption = info[k].firstChild.innerHTML;					
					break;
				case "url":
					entries[i+1].url = info[k].firstChild.href;
					break;
			}
		}
	}
}



function autoFader() {

	if(runFader) return;
	var picIdx = curPic;
	picIdx = picIdx<(entries.length-1) ? picIdx+1 : 0;
	if(isIE) runFader = setInterval("fader(" + picIdx + ")",20);
	else runFader = setInterval(fader,20,picIdx);
}



function onaction(evt) {

	evt = evt ? evt : window.event;
	var targ = evt.srcElement ? evt.srcElement : evt.target;

	if((evt.type=="click") && (targ.nodeName=="IMG") && 
	((targ.src.search(/prev/)+1) || (targ.src.search(/next/)+1))) {

		if(runFader) clearInterval(runFader);
		var picIdx = curPic;
		if(targ.src.search(/prev/)+1) picIdx = picIdx>0 ? picIdx-1 : entries.length-1;
		else if(targ.src.search(/next/)+1) picIdx = picIdx<(entries.length-1) ? picIdx+1 : 0;
		if(isIE) runFader = setInterval("fader(" + picIdx + ")",20);
		else runFader = setInterval(fader,20,picIdx);
	}
	
	return false;
}



function fader(picIdx) {

	/* if the current picture has not yet been updated, fade out */
	var dir = picIdx != curPic ? -1 : 1;
	alpha = (Math.floor(alpha*10)+dir)/10;
	
	if(isIE) dynaPic.style.filter = "alpha(opacity=" + (alpha*100) + ")";
	else dynaPic.style.opacity = alpha;
	
	
	/* if alpha is 0, change pic */
	if(!Math.ceil(alpha)) {
		
		dynaTitle.innerHTML = entries[curPic].title;
		dynaCaption.innerHTML = entries[curPic].caption;
		dynaMoreBtn.href = entries[curPic].url;
		dynaPic.src = entries[curPic].pic;
		curPic=picIdx
	}
	
	/* if new information is at full opacity, stop interval */
	if((picIdx==curPic) && Math.floor(alpha)) clearInterval(runFader), runFader=null;
	return
}

