// SETS THE TIMER FOR THE FADE IN/OUT SCRIPT
var inittimer = 2000;
var timer = 5000;

// ALL SCRIPTS THAT RUN ON PAGE LOAD
function setup() {
	// OUTBOUND LINKS OPEN IN A NEW WINDOW UNLESS EXPLICITLY TOLD OTHERWISE
	// FORCE SAME WINDOW: rel="self" in anchor
	// FORCE EXTERNAL WINDOW: rel="external" in anchor
	var domain = window.location+'';
	domain = domain.replace('//','');
	domain = domain.substring(domain.indexOf(':')+1,domain.indexOf('/'));
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var URL = anchors[i].href;
		if ((URL.search(domain)===-1 && URL.search('http')!==-1 && anchors[i].rel !== 'self') || anchors[i].rel === 'external') anchors[i].target = "_blank";
	}
	so_init();
}

window.onload = setup;

// FORM ACTIVATION SCRIPT
function activate(brillig) {
	document.getElementById('config').name = "config";
	document.getElementById('config').value = brillig;
}

// CONTROLS DROPDOWN MENUS AT THE TOP OF THE SITE
function menuswap(foo) {
	var foo1 = foo;
	var foo2 = '';
	if (foo.search('-')!==-1) {
		foo1 = foo.substring(0,foo.indexOf('-'));
		foo2 = foo;
	}
	submenus = document.getElementsByTagName('*');
	for (i=0 ; i<submenus.length ; i++) {
		if (submenus[i].className === 'submenu') {
			submenus[i].style.visibility = 'hidden';
		}
	}
	if (foo1!=='') {
		document.getElementById('submenu'+foo1).style.visibility = 'visible';
	}
	if (foo2!=='') {
		document.getElementById('submenu'+foo).style.visibility = 'visible';
	}
}

/*****
Image Cross Fade Redux
Version 1.0
Last revision: 02.15.2006
steve@slayeroffice.com

Please leave this notice intact. 

Rewrite of old code found here: http://slayeroffice.com/code/imageCrossFade/index.html
*****/

//window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);

var d=document, imgs = new Array(), tabs = new Array(), preimage = new Array(), zInterval = null, current=0, nextPic, pause=false;

function so_init() { if(document.getElementById('imageContainer')) { // Only trigger the fade script on the home page!
	if((!d.getElementById || !d.createElement))return;

	// DON'T FORGET TO GRAB THIS FILE AND PLACE IT ON YOUR SERVER IN THE SAME DIRECTORY AS THE JAVASCRIPT!
	// http://slayeroffice.com/code/imageCrossFade/xfade2.css
	css = d.createElement("link");
	css.setAttribute("href","xfade.css");
	css.setAttribute("rel","stylesheet");
	css.setAttribute("type","text/css");
	d.getElementsByTagName("head")[0].appendChild(css);

	imgs = d.getElementById("imageContainer").getElementsByTagName("img");
	tabs = d.getElementById("billboardNav").getElementsByTagName("li");
	for(i=1;i<imgs.length;i++) { 
		imgs[i].xOpacity = 0;
		tabs[i].className = ''
		preimage[i] = new Image(948,438);
		preimage[i].source = imgs[i].src;
	}
	imgs[0].style.display = "block";
	tabs[0].className = "active";
	imgs[0].xOpacity = .99;
	
	nextPic = setTimeout(so_xfade,inittimer);
} }

function so_xfade() {
	cOpacity = imgs[current].xOpacity; 
	nIndex = imgs[current+1]?current+1:0;

	nOpacity = imgs[nIndex].xOpacity;
	
	cOpacity-=.05; 
	nOpacity+=.05;
	
	imgs[nIndex].style.display = "block";
	imgs[current].xOpacity = cOpacity;
	imgs[nIndex].xOpacity = nOpacity;
	
	setOpacity(imgs[current]); 
	setOpacity(imgs[nIndex]);

	if(cOpacity<=.50 && cOpacity>.45) {
		tabs[current].className = '';
		tabs[nIndex].className = 'active';
	}
	
	if(cOpacity<=0) {
		imgs[current].style.display = "none";
		current = nIndex;
		nextPic = setTimeout(so_xfade,timer);
	} else {
		setTimeout(so_xfade,50);
	}
	
	function setOpacity(obj) {
		if(obj.xOpacity>.99) {
			obj.xOpacity = .99;
			return;
		}
		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
	}
}

function so_xfade2(foo) {
	clearTimeout(nextPic);
	for (i=0 ; i<imgs.length ; i++) { 
		imgs[i].style.display = 'none';
		imgs[i].style.opacity = 1;
		imgs[i].style.MozOpacity = 1;
		imgs[i].style.filter = "alpha(opacity=100)";
		tabs[i].className = '';
	}
	current = foo;
	imgs[current].style.display = 'block';
	tabs[current].className = 'active';
}
