// SETS THE TIMER FOR THE FADE IN/OUT SCRIPT
var timer = 7000;

// 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;

// FORM ACTIVATION SCRIPT
function activate(brillig) {
	document.getElementById('config').name = "config";
	document.getElementById('config').value = brillig;
}

// MAKES THE HOME PAGE PRETTIER BY MAKING ALL THREE BOXES THE SAME HEIGHT
function compare() {
	var boxHeight = document.getElementById('primary').offsetHeight;
	if (document.getElementById('home')) {
		if(document.getElementById('compare2').offsetHeight > boxHeight) boxHeight = document.getElementById('compare2').offsetHeight;
		if(document.getElementById('compare3').offsetHeight > boxHeight) boxHeight = document.getElementById('compare3').offsetHeight;
		document.getElementById('compare4').style.height = boxHeight-50 + 'px';
		document.getElementById('compare2').style.height = boxHeight + 'px';
		document.getElementById('compare3').style.height = boxHeight + 'px';
	} else {
		if(document.getElementById('container').offsetHeight > boxHeight) {
			boxHeight = document.getElementById('container').offsetHeight;
			boxHeight = document.getElementById('compare4').style.height = boxHeight-50 + 'px';
		}
	}
}

// QUICK CONTACT FORM DEFAULT MESSAGE RESET SCRIPTS
function blankme(foo,bar) {	if (document.getElementById(foo).value === bar) document.getElementById(foo).value = ''; }
function resetme(foo,bar) {	if (document.getElementById(foo).value === '') document.getElementById(foo).value = bar; }

// 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(), tags = new Array(), btns = new Array(), zInterval = null, current=0, nextPic, pause=false;

function so_init() { if(document.getElementById('home')) { // 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);

	btns = d.getElementById("buttons").getElementsByTagName("a");
	tags = d.getElementById("tags").getElementsByTagName("div");
	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() {
	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) {
		tagSwitch(nIndex);
	}
	
	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';
	tagSwitch(foo);
}

function tagSwitch(foo) {
	for (i=0 ; i<tags.length ; i++) {
		tags[i].style.display = 'none'
	}
	tags[foo].style.display = 'block';
	tabSwitch(foo);
}

function tabSwitch(foo) {
	for (i=0 ; i<btns.length ; i++) {
		btns[i].style.background = '#151515'
		btns[i].style.border = '1px solid #FFF'
		btns[i].style.color = '#FFF'
	}
	btns[foo].style.background = '#FFF';
	btns[foo].style.border = '1px solid #151515';
	btns[foo].style.color = '#151515';
}
