// JavaScript Document

FastInit.addOnLoad(initMenu, rolloverInit, clearClasses);

function clearClasses() {
	var links = document.getElementsByTagName("li");

	for (var i=0; i<links.length; i++) {
		links[i].className.replace(/over/, "");
	}
}

function initMenu() {
	prepareInfoNav();
	preparePrimaryNavigation();
}

function prepareInfoNav() {
	if (!document.getElementById("infoDropDown")) {
		return;
	}

	var top_level_links = document.getElementById("infoDropDown").getElementsByTagName("li");

	for (var i=0; i<top_level_links.length; i++) {
		top_level_links[i].className.replace(/over/, "");
		
		top_level_links[i].onmouseover = function() {
			this.className += " over";
		};
		top_level_links[i].onmouseout = function() {
			current_classes = this.className;
			var new_classes = current_classes.replace(/over/, "");
			this.className = new_classes;
		}
	}
}


function preparePrimaryNavigation() {
	if (!document.getElementById("primaryNavigation")) {
		return;
	}

	var primary_links = document.getElementById("primaryNavigation").getElementsByTagName("li");

	for (var i=0; i<primary_links.length; i++) {
		primary_links[i].className.replace(/over/, "");

		primary_links[i].onmouseover = function() {
			this.className += " over";
		};
		primary_links[i].onmouseout = function() {
			current_classes = this.className;
			var new_classes = current_classes.replace(/over/, "");
			this.className = new_classes;
		}
	}
}


/* rollover */
function rolloverInit() {
	if (!document.getElementById("commands")) {
		return;
	}
	var images = document.getElementById("commands").getElementsByTagName("img");
	for (var i=0; i<images.length; i++) {
		if (images[i].parentNode.tagName == "A") {
			setupRollover(images[i]);
		}
	}
}

function setupRollover(thisImage) {
	thisImage.outImage = new Image();
	thisImage.outImage.src = thisImage.src;
	thisImage.onmouseout = rollOut;
	
	thisImage.overImage = new Image();
	thisImage.overImage.src = "http://matrix.scranton.edu/common/images/layout/" + thisImage.parentNode.parentNode.id + "_hover.gif";
	thisImage.onmouseover = rollOver;	
}

function rollOut(){
	this.src = this.outImage.src;
}

function rollOver() {
	this.src = this.overImage.src;
}

/* SWF Object */

var activeToggle = 0;

function switchVideo(linkID) {	
	changeLinkStyle(linkID);			
	writeSWFObject(linkID);
}

function changeLinkStyle(linkID) {
		
	if (linkID == "none") {
		removeClasses();
		return;
	}
		
	var thisLink = document.getElementById(linkID);
	
	if (activeToggle == 0) {
		thisLink.className = "active";
		activeToggle = 1;
		}
	else  {
		removeClasses();
		thisLink.className = "active";
		}	
}

function removeClasses() {
	var x = new Array();
	var x = document.getElementById('playlist').getElementsByTagName('a');
	for (var i=0;i<x.length;i++) {
		x[i].className = "";
		}			
}

function writeSWFObject(video) {

var flashImage = document.getElementById("flashImage");
flashImage.style.display = "none";

/*var videoPath = "../videos/" + video + ".flv";*/
var videoPath = "http://royaldrive.scranton.edu/Groups/Institutionaladvancement/Publicrelations/Videos/" + video + ".flv";

var so = new SWFObject("flash/scranton-videoplayer.swf", "flash", "374", "237", "8", "#ffffff");
so.useExpressInstall('flash/expressinstall.swf');
so.addParam("allowScriptAccess", "always");
so.addParam("scale", "noscale");
so.addVariable("video", videoPath);
so.write("flashcontent");

}

function onVideoComplete() {
	var flashcontent = document.getElementById("flashcontent");
	flashcontent.innerHTML = "";

	var flashImage = document.getElementById("flashImage");
	changeOpac(0, "flashImage");
	flashImage.style.display = "block";
	opacity("flashImage", 0, 100, 2500);

	changeLinkStyle("none");
}

/* Fade */
function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 