// Copyright Acro Media Inc. 1998-2006, www.acromediainc.com

var W3CDOM = (document.createElement && document.getElementsByTagName);
var imgOuts = new Array();
var imgOvers = new Array();

function addImageHandlers(){
	var imgNumber = 0;

	if(!W3CDOM) return;
	
	var theseImages = document.getElementsByTagName('img');
	for(n = 0; n < theseImages.length; n++){
		var suffixCheck = theseImages[n].src.substring(theseImages[n].src.lastIndexOf('_'), theseImages[n].src.lastIndexOf('.'));
		var prefixCheck = theseImages[n].src.substring(theseImages[n].src.lastIndexOf('/') + 1, theseImages[n].src.lastIndexOf('/') + 2);

		if((suffixCheck == "_01" || suffixCheck == "_02" || suffixCheck == "_03") && (prefixCheck == "b") ){
			theseImages[n].onmouseover = onOver;
			theseImages[n].onmouseout = onOut;

			var fileType = theseImages[n].src.substring(theseImages[n].src.lastIndexOf('.'));

			imgOuts[imgNumber] = new Image();
			imgOuts[imgNumber].src = theseImages[n].src;
			imgOvers[imgNumber] = new Image();
			imgOvers[imgNumber].src = theseImages[n].src.substring(0, theseImages[n].src.lastIndexOf('_')) + "_02" + fileType;
			theseImages[n].number = imgNumber;
			imgNumber++;
		}
	}
}


function functionLoader(){
	check();
	addImageHandlers();
	copyrightYear();
	checkBrowserWidth();
	rowHovers.init();
	externalLinks();
	runFromUrl.init();
}

function onOver(){
	this.src = imgOvers[this.number].src;
}
function onOut(){
	this.src = imgOuts[this.number].src;
}

function copyrightYear(){
	var d=new Date();
	if(document.getElementById('insertYear')) document.getElementById('insertYear').innerHTML = d.getFullYear();
}


//___________________________
// Tabs 
var currentSection;
var lastScope;
function setVisible(targetDiv, scope) {
	if (currentSection) {
		document.getElementById(currentSection).className = "closedNav";
		changeImg(lastScope, "1");
	}
	if (targetDiv != currentSection) {
		document.getElementById(targetDiv).className = "";
		currentSection = targetDiv;
		changeImg(scope, "2");
	} else {
		currentSection = undefined;
	}	
}

function changeImg(paramTarget, paramState){
	var tempTarget = eval(paramTarget);
	if(paramTarget){
		var imgArray = paramTarget.getElementsByTagName('img');
		for(a=0;a<imgArray.length;a++) imgArray[a].src = imgArray[a].src.substring(0, imgArray[a].src.lastIndexOf('0')+1)+paramState+".gif";
		if(paramState == "2") lastScope = paramTarget;
	}
}

var currentArticle;
function setArticle(targetDiv) {
	if(document.getElementById(currentArticle)) {
		if(currentArticle != targetDiv) document.getElementById(currentArticle).className = "closeArticle";
		if(currentArticle == targetDiv){
			if(!safStatus) {
				document.getElementById(currentArticle).className = "closeArticle";
				currentArticle = "";
			}
			return;
		}
	}
	//
	if(document.getElementById(targetDiv)) {
		document.getElementById(targetDiv).className = "openArticle";
		currentArticle = targetDiv;
	}
}


//___________________________
// Check Browser Size
function checkBrowserWidth(){
	var theWidth = getBrowserWidth();
	(theWidth < 1280) ? document.getElementById("siteContainer").className = "fixed" : document.getElementById("siteContainer").className = "fluid";
	return true;	
}

function getBrowserWidth() {
	if (window.innerWidth) {
		return window.innerWidth;
	} else if (document.documentElement && document.documentElement.clientWidth != 0) {
		return document.documentElement.clientWidth;
	} else if (document.body){
		return document.body.clientWidth;
	}
	return 0;
}

window.onresize = checkBrowserWidth;

var detect = navigator.userAgent.toLowerCase();
var safStatus,thestring;
function check(param){
	if (checkIt('safari')) safStatus = true;
	else safStatus = false;
	function checkIt(string){
		place = detect.indexOf(string) + 1;
		return place;
	}
	if(param) return safStatus;
}
window.onload = functionLoader;

//___________________________
// rowHover Script
var rowHovers = {
	tableClass: "rowHover", //Put this class on any tables you need to have the hover on.
	hoverClass: "rowOver", //This class gets applied to the tr's in the table on hover.
	exceptions: ["noHover"], //These are exceptions to the hover.
	init: function (){
		var tables = document.getElementsByTagName('table');
		for(var a = 0; a < tables.length; a++){
			if(Element.hasClassName(tables[a], this.tableClass)){
				var rows = tables[a].getElementsByTagName('tr');
				for(var b = 0; b < rows.length; b++){
					rows[b].onmouseover = this.over;
					rows[b].onmouseout = this.out;
				}
			}
		}
	},
	over: function (){
		for(var a = 0; a < rowHovers.exceptions.length; a++) if(Element.hasClassName(this, rowHovers.exceptions[a])) return;
		Element.addClassName(this,rowHovers.hoverClass);
	},
	out: function (){Element.removeClassName(this,rowHovers.hoverClass);}
}

//___________________________
// any external links need rel=external... this is for xhtml validation
function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}

//___________________________
// get variables from url
var runFromUrl = {
	preCheck:"JS_",
	init: function(){
		var loc = String(document.location.search);
		var endPoint, parameter, funcName;
		if(loc.indexOf(this.preCheck) < 0) return;
		(loc.indexOf('=') >= 0) ? endPoint = loc.indexOf('=') : endPoint = loc.length;
		(loc.indexOf('=') >= 0) ? parameter = loc.substring(loc.lastIndexOf('=')+1) : parameter = null;
		funcName = loc.substring(loc.lastIndexOf(this.preCheck)+this.preCheck.length,endPoint);
		if(window[funcName]) window[funcName](parameter);
	}
}

function ref(param){
	if ($('MBcandidate')) $('MBcandidate').value = param;
}

//____________________________
// disable form fields
function disableFields(){
	var setStatus = "true";
	if ($('MBcurrentOpening').value == "yes") setStatus = "";
	$('MBjobDescription').disabled = setStatus;
	$('MBjobLocation').disabled = setStatus;
	$('MBcontractPerm').disabled = setStatus;
	$('MBsalaryRange').disabled = setStatus;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
