﻿// find elements by class name
document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;
};

// user clicks on a photo directly (exit play mode)
function swapPhoto(id) {
	stopPhotos();
	if(document.all) {  // IE only transitions
		document.getElementById("featuredImg").style.filter="blendTrans(duration=1)";
		document.getElementById("featuredImg").filters.blendTrans(duration=1).Apply();
		document.getElementById("featuredImg").filters.blendTrans.Play();
	}
	if(photos[id] == "") {
		document.getElementById("featuredImg").src = "/design/ACTDefault/nophoto.jpg";
	}
	else {
		document.getElementById("featuredImg").src = photos[id];
	}
	document.getElementById("featuredImgLink").href = links[id];
	document.getElementById("featuredTitle").innerHTML = titles[id];
	document.getElementById("featuredDesc").innerHTML = desc[id];
	document.getElementById("featuredNavLink" + currentPhoto).className = "featuredNavLink";
	document.getElementById("featuredNavLink" + id).className = "featuredNavLinkActive";
	currentPhoto = id;
}
// looping nextPhoto call, delay by "showTime"
function playPhotos() {
	t = setTimeout("nextPhoto();",showTime);
}
// stop looping through photos
function stopPhotos() {
	clearTimeout(t);
	playMode = false;
	document.getElementById("playImg").src = "/design/ACTDefault/tickerPlay.png";
}
// swap to the next photo (play mode)
function nextPhoto() {
	document.getElementById("featuredNavLink" + currentPhoto).className = "featuredNavLink";
	currentPhoto = currentPhoto + 1;
	if(currentPhoto >= maxPhotos) {
		currentPhoto = 0;
	}
	if(document.all) {  // IE only transitions
		document.getElementById("featuredImg").style.filter="blendTrans(duration=1)";
		document.getElementById("featuredImg").filters.blendTrans(duration=1).Apply();
		document.getElementById("featuredImg").filters.blendTrans.Play();
	}
	if(photos[currentPhoto] == "") {
		document.getElementById("featuredImg").src = "/design/ACTDefault/nophoto.jpg";
	}
	else {
		document.getElementById("featuredImg").src = photos[currentPhoto];
	}
	document.getElementById("featuredImgLink").href = links[currentPhoto];
	document.getElementById("featuredTitle").innerHTML = titles[currentPhoto];
	document.getElementById("featuredDesc").innerHTML = desc[currentPhoto];
	document.getElementById("featuredNavLink" + currentPhoto).className = "featuredNavLinkActive";
	playPhotos();
}
// user clicks on the play/pause button
function swapPlayMode() {
	if(playMode == true) {
		stopPhotos();
	}
	else {
		playMode = true;
		document.getElementById("playImg").src = "/design/ACTDefault/tickerPause.png";
		playPhotos();
	}
}
// find link and photo data
function loadFeaturedData() {
	var photoElements = document.getElementsByClassName("featuredPhotoData");
	for (var i = 0; i < photoElements.length; i++) {
		photos[i] = photoElements[i].innerHTML;
	}
	var titleElements = document.getElementsByClassName("featuredTitleData");
	for (var i = 0; i < titleElements.length; i++) {
		titles[i] = titleElements[i].innerHTML;
	}
	var descElements = document.getElementsByClassName("featuredDescData");
	for (var i = 0; i < descElements.length; i++) {
		desc[i] = descElements[i].innerHTML;
	}
	var linkElements = document.getElementsByClassName("featuredLinkData");
	for (var i = 0; i < linkElements.length; i++) {
		links[i] = linkElements[i].innerHTML;
	}
}
// initially create the links
function createNavLinks() {
	var navLinksOutput = "";
	maxPhotos = titles.length;
	for(var i=0; i<maxPhotos; i++) {
		navLinksOutput = navLinksOutput + "<a class=\"featuredNavLink\" href=\"javascript:swapPhoto(" + i + ");\" id=\"featuredNavLink" + i + "\">" + (i + 1) + "</a> ";
	}
	navLinksOutput = navLinksOutput + "<a class=\"featuredNavLink\" href=\"javascript:swapPlayMode();\" id=\"playButton\"><img src=\"/design/ACTDefault/tickerPause.png\" alt=\"Play/Pause Images\" id=\"playImg\"/></a>";
	document.getElementById("featuredNav").innerHTML = navLinksOutput;
	document.getElementById("featuredNavLink0").className = "featuredNavLinkActive";
	if(photos[0] == "") {
		document.getElementById("featuredImg").src = "/images/noPhoto.jpg";
	}
	else {
		document.getElementById("featuredImg").src = photos[0];
	}
	document.getElementById("featuredImgLink").href = links[0];
	document.getElementById("featuredTitle").innerHTML = titles[0];
	document.getElementById("featuredDesc").innerHTML = desc[0];
}
// set variables, load initial data
var playMode = true;
var currentPhoto = 0;
var photos = new Array();
var titles = new Array();
var desc = new Array();
var links = new Array();
var maxPhotos = 0;
var showTime = 10000;
var t = setTimeout('',0);

// init ticker
loadFeaturedData();
createNavLinks();
playPhotos();
