// SETS THE TIMER FOR THE FADE IN/OUT SCRIPT
var timer = 4000;

// 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";
	}
}

window.onload = setup;

// POP-UP WINDOW SCRIPT
function popup(file,name,wide,high) {
	window.open(file,name,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width='+wide+',height='+high)
}

// FORM ACTIVATION SCRIPT
function activate(brillig) {
	document.getElementById('config').name = "config";
	document.getElementById('config').value = brillig;
}

// Controls the drop down 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 (submenus[i].className === 'navLink') {
			submenus[i].style.borderBottom = '1px solid #383838';
		}
	}
	if (foo1!=='') {
		document.getElementById('submenu'+foo1).style.visibility = 'visible';
		document.getElementById('navLink'+foo1).style.borderBottom = '1px solid #000';
	}
	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(), btns = new Array(), zInterval = null, current=0, nextPic, pause=false;

function so_init() {
	if(!d.getElementById('imageContainer') || !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);

	btns = d.getElementById("buttons").getElementsByTagName("a");
	imgs = d.getElementById("imageContainer").getElementsByTagName("img");
	for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0;
	imgs[0].style.display = "block";
	imgs[0].xOpacity = .99;
	
	nextPic = setTimeout(so_xfade,timer);
}

function so_xfade() {
	var trigger = 0;
	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 && trigger === 0) {
		tabSwitch(nIndex);
		trigger = 1;
	}
	
	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)";
	}
	imgs[foo].style.display = 'block';
	tabSwitch(foo);
}

function tabSwitch(foo) {
	for (i=0 ; i<btns.length ; i++) {
		btns[i].className = 'btn' + (i+1);
	}
	btns[foo].className = 'active';
}
