//OPACITY MODIFIED FROM http://www.brainerror.net/scripts_js_blendtrans.php
//CLASSNAME MODIFIED FROM http://www.hotscripts.com/forums/javascript/47025-document-getelementsbyclassname.html
/* ----------------------------- */

function getElementsByClassName(classname) {
	var objTemp = document.getElementsByTagName("*");
	var arrStories = [];
	var blnSomething = false;
	for (var i in objTemp) {
		if (new RegExp("\\b"+classname+"\\b").test(objTemp[i].className)) {
			arrStories.push(objTemp[i]);
			blnSomething = true;
		}
	}
	
	if (!(blnSomething)) {
		arrStories[0] = -1;
	}
	
	return arrStories;
}

function setOpacity(id,opacity) {
	var object = document.getElementById(id).style;
	
	object.opacity = (opacity / 100);						//SAFARI,FIREFOX,CSS3
	object.MozOpacity = (opacity / 100);					//OLD MOZILLA
	object.KhtmlOpacity = (opacity / 100);					//OLD KONQUEROR AND OLD SAFARI-WEBKIT
	object.filter = "alpha(opacity=" + opacity + ")";		//IE
}

function setFade(id,opacStart,opacEnd,millisec,hide) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;
	var i;

	//determine the direction for the blending, if start and end are the same nothing happens
	if (opacStart > opacEnd) {
		document.getElementById(id).style.zIndex = '10';
		for (i = opacStart; i >= opacEnd; i--) {
			setTimeout("setOpacity('"+id+"',"+i+")",(timer * speed));
			timer++;
		}
	} else if (opacStart < opacEnd) {
		document.getElementById(id).style.zIndex = '20';
		for(i = opacStart; i <= opacEnd; i++) {
			setTimeout("setOpacity('"+id+"',"+i+")",(timer * speed));
			timer++;
		}
	}
}

function playSlideshow() {
	switch (conTransition) {
		case 'fade':
			setFade(arrStories[current].id,100,0,750,false);
			setFade(arrStories[next].id,0,100,750,true);
			break;
	}

	current = next;
	next++;
	if (next == arrStories.length) { next = 0; }
}

function gotoSlide(goto) {
	switch (conTransition) {
		case 'fade':
			setFade(arrStories[current].id,100,0,750,false);
			setFade(arrStories[goto].id,0,100,750,true);
			break;
	}
	
	current = goto;
	next = current + 1;
	if (next == arrStories.length) { next = 0; }
	
	clearInterval(timer);
	setInterval("playSlideshow();",20000);
}

//--------------------------
//   PROCEDURE
//--------------------------

//SET VARIABLES
var arrStories = getElementsByClassName('story');

//SETUP
if (arrStories[0] != -1) {	
	//DETERMINE TYPE OF TRANSITION
	var conTransition = "fade";
	
	//SETUP EACH CLASS
	for (i = 0;i < arrStories.length;i++) {
		//--ASSIGN IDs SEQUENTIALLY TO OBJECTS
		arrStories[i].setAttribute("id","story"+i);
		
		//--HIDE ALL
		setOpacity(arrStories[i].id,0);
	}
	//SHOW FIRST
	var current = 0;
	var next = 1;
	document.getElementById(arrStories[current].id).style.zIndex = '20';
	setOpacity(arrStories[current].id,100);

	//FADE ON TIMER
	var timer = setInterval("playSlideshow();",6000);
}