﻿/* ------------------------SLIDESHOW---------------------------- */
//CLASSNAME MODIFIED FROM http://www.hotscripts.com/forums/javascript/47025-document-getelementsbyclassname.html
/* ----------------------------- */

function getElementsByClassName(classname,container) {
	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 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';
		$('#'+id).fadeOut(millisec);
	} else if (opacStart < opacEnd) {
		document.getElementById(id).style.zIndex = '100';
		$('#'+id).fadeIn(millisec);
	}
}

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

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

function gotoSlide(next) {
	switch (conTransition) {
		case 'fade':
			setFade(arrStories[current].id,100,0,750,false);
			setFade(arrStories[next].id,0,100,750,true);
			//highlightButton(next);
			break;
	}
	
	current = next;
	clearInterval(timer);
}

function highlightButton(num) {
	//GET BUTTONS
	var arrButtons = getElementsByClassName("button","b2bSlideshowWebPart");

	//CLEAR ALL BUTTONS
	for (i = 0;i < arrButtons.length;i++) {
		arrButtons[i].setAttribute("class", "button buttonRegular");
		arrButtons[i].setAttribute("className", "button buttonRegular");
	}

	arrButtons[num].setAttribute("class", "button buttonActive");
	arrButtons[num].setAttribute("className", "button buttonActive");
}

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


//SET VARIABLES
var blnSlideshowPause = false;
var arrStories = getElementsByClassName('story');
var intZIndex = 150;

//SETUP
if (arrStories[0] != -1) {
	//START BUTTONS
	var strButtons = "";
	
	//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
		$('#'+arrStories[i].id).fadeOut(0);
		
		//--ASSIGN Z-INDEX
		document.getElementById(arrStories[i].id).style.zIndex = intZIndex;
		intZIndex += 10;

		//--MAKE BUTTONS
		//strButtons += '<a href="#" onclick="gotoSlide('+i+');return false;" class="button buttonRegular">'+(i + 1)+'</a>';
	}

	//SHOW
	document.getElementById('slideshow').style.visibility = "visible";
	
	//SHOW FIRST
	var current = 0;
	var next = 1;
	document.getElementById(arrStories[current].id).style.zIndex = '200';
	$('#'+arrStories[current].id).fadeIn(0);

	//SHOW BUTTONS
	//document.getElementById('buttons').innerHTML = strButtons;
	//highlightButton(0);
	//FADE ON TIMER IF MORE THAN ONE
	if (arrStories.length > 1) {
		var timer = setInterval("playSlideshow();",3000);
	}
}
