function isPresent(object) {
	return typeof object != "undefined" && object != null;
}

// redirecting visitors from http://capgroup.com to http://www.capgroup.com/
// for consistent WT tracking

theloc = window.location.toString().toLowerCase();
if (theloc.indexOf('http://capgroup.com/') == 0){
	theloc = theloc.replace('http://capgroup.com/', 'http://www.capgroup.com/')
	location.replace(theloc);
}

// the following event handling code created by Dean Edwards and Tino Zijdel
// with modifications to ensure handler execution order

// http://dean.edwards.name/weblog/2005/10/add-event/

function addEvent(element, type, handler) {
	if (isPresent(element.type) && element.type.indexOf("select-") == 0 ) {
		element["on" + type] = handler;
		return;
	}
	if (!handler.$$guid) {
		handler.$$guid = addEvent.guid++;
	}
	if ( !isPresent(element.events) ) element.events = new Object();
	var handlers = element.events[type];
	if (!handlers) {
		handlers = element.events[type] = new Object();
		handlers.order = new Array();
		if (element["on" + type] && (element != document || type != "readystatechange") ) {
			handlers[0] = element["on" + type];
			handlers.order[0] = 0;
		}
	}
	handlers[handler.$$guid] = handler;
	handlers.order[handlers.order.length] = handler.$$guid;
	if (element != document || type != "readystatechange") {
		element["on" + type] = handleEvent;
	}
}
addEvent.guid = 1;

function removeEvent(element, type, handler) {
	if (element.events && element.events[type]) {
		var handlers = element.events[type];
		var id = handler.$$guid;
		if (delete handlers[handler.$$guid]) {
			for (var i = 0; i < handlers.order.length; i++) {
				if (handlers.order[i] == handler.$$guid) {
					var newOrder = handlers.order.slice(0, i);
					if (i + 1 != handlers.order.length) {
						newOrder = newOrder.concat( handlers.order.slice(i + 1) );
					}
					handlers.order = newOrder;
				}
			}
		}
	}
}

function handleEvent(event) {
	var returnValue = true;
	event = isPresent(event) ? event : isPresent(document.getElementById) ? fixEvent(window.event) : window.event;
	var handlers = this.events[event.type];
	var order = handlers.order;
	for (var i = 0; i < order.length; i++) {
		this.$$handleEvent = handlers[ order[i] ];
		if (this.$$handleEvent(event) === false) {
			returnValue = false;
		}
	}
	return returnValue;
}

function endOfPageScriptExists() {
	var scripts = document.getElementsByTagName("SCRIPT");
	if (scripts.length == 0) {
		return false;
	}
	var lastScript = scripts.item(scripts.length - 1);
	if (lastScript.childNodes.length > 0) {
		for (var i = 0; i < lastScript.childNodes.length; i++) {
			var currentNode = lastScript.childNodes.item(i);
			if (currentNode.nodeType == 3 && currentNode.nodeValue.indexOf("handleReadyStateChange()") != -1) {
				return true;
			}
		}
	}
	else {
		return lastScript.innerHTML.indexOf("handleReadyStateChange()") != -1;
	}
	return false;
}

window.intervalId = 0;

function handleReadyStateChange() {
	if (window.intervalId != 0) {
		if ( endOfPageScriptExists() ) {
			clearInterval(window.intervalId);
			window.intervalId = 0;
		}
		else {
			return;
		}
	}
	var event = new Object();
	event.readyState = "complete";
	event.srcElement = document;
	event.target = document;
	event.currentTarget = document;
	event.type = "readystatechange";
	if ( !isPresent(document.events) ) {
		document.Events = new Object();
		var dummyEvents = new Object();
		dummyEvents.readystatechange = dummyHandlers;
		document.events = dummyEvents;
	}
	if ( !isPresent(document.events.readystatechange) ) {
		var dummyHandlers = new Object();
		dummyHandlers.order = new Array();
		document.events.readystatechange = dummyHandlers;
	}
	document.$$handleEvent = handleEvent;
	document.$$handleEvent(event);
}

function fixEvent(event) {
	event.preventDefault = fixEvent.preventDefault;
	event.stopPropagation = fixEvent.stopPropagation;
	return event;
}

fixEvent.preventDefault = function() {
	this.returnValue = false;
}

fixEvent.stopPropagation = function() {
	this.cancelBubble = true;
}

function DummyFunctions() {
	this.add = function() {};
	this.run = function() {};
}
var funcMap = new DummyFunctions();

function duff(objectArray, method) {
	var arrayLength = objectArray.length;
	var loopLength = arrayLength % 8;
	var index = 0;
	while (loopLength--) {
		method(objectArray[index++]);
	}
	loopLength = parseInt(arrayLength / 8);
	while (loopLength--) {
		method(objectArray[index++]);
		method(objectArray[index++]);
		method(objectArray[index++]);
		method(objectArray[index++]);
		method(objectArray[index++]);
		method(objectArray[index++]);
		method(objectArray[index++]);
		method(objectArray[index++]);
	}
}

function popUp(url,name,features) {
	var popup = null;

	switch (arguments.length) {
		case 0:
			popup = window.open();
			break;
		case 1:
		case 2:
			if ( !isPresent(name) ) {
				name = "_blank";
			}
			popup = window.open(url,name);
			break;
		default:
			popup = window.open(url,name,features);
	}
	popup.focus();
	return false;
}

function helpPopup(helpUrl) {
	return popUp(helpUrl,'help','width=500,height=400,scrollbars=yes,resizable=yes,menubar=yes,status=yes,toolbar=yes');
}

function commentsPopup(commentsUrl) {
	return popUp(commentsUrl,'comments','width=700,height=600,status=yes,scrollbars=yes,resizable=yes');
}

function snapshotPopup(snapshotUrl) {
	return popUp(snapshotUrl,'snapshot','toolbar=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=300,height=380');
}

function directBack(url, winName) {
	//var sourceWin = window.open(url, "af_source");
	//sourceWin.focus();
	
	var sourceWin = top.opener
	sourceWin.location.href = url;
	sourceWin.focus();
	return false;
}

function directBackToTop(url) {
	var sourceWin = window.open(url, "af_source");
	sourceWin.focus();
	return false;
}

function ping() {
	if (cookieExists("login")) {
		var pic1 = new Image(1,1);
		var now = new Date();
		var ts = now.getTime();
		var s = getCookie("AFSSESSIONID");
		pic1.src = "/servlet/PingSession?s=" + s + "&amp;ts=" + ts;
		if (window.location.href.indexOf("http://") == 0 && sslBaseUrl.indexOf("https://") == 0) {
			secureUrl(window.location.href);
		}
	}
}

function secureUrl(url) {
	url = sslBaseUrl + url.substring(baseUrl.length);
	window.location.replace(url);
}

function cookieExists(cname) {
	if (typeof document.cookie == "undefined")
		return false;
	var cookies = document.cookie;
	if (cookies && cookies.length <= 0)
		return false;
	var cookieArray = cookies.split(";");
	for (var i = 0; i < cookieArray.length; i++) {
		cookieArray[i] = trim(cookieArray[i]);
		var j = cookieArray[i].indexOf(cname + "=");
		if (j == 0 && cookieArray[i].length > cname.length + 1) {
			return true;
		}
	}
	return false;
}

function getCookie(name) {
	var cookies = document.cookie;
	var index = cookies.indexOf(name + "=");
	if (index == -1) return null;
	index = cookies.indexOf("=", index) + 1;
	var endstr = cookies.indexOf(";", index);
	if (endstr == -1) endstr = cookies.length;
	return unescape(cookies.substring(index, endstr));
}

function trim(s) {
	if (s && s.length && s.length > 0) {
		s = s.replace(/^\s+/, "");
		s = s.replace(/\s+$/, "");
	}
	return s;
}

function swap(parm){
	document.getElementById('icon' + parm).src = '/_img/nav_icon_' + parm + '_over.gif';
}

function swapback(parm){
	document.getElementById('icon' + parm).src = '/_img/nav_icon_' + parm + '.gif';
}

function queryString(parm){
	loc = window.location.href
	var theval = false;
	if (loc.indexOf('?') > -1){
		loc = loc.split('?');
		keyValues = loc[1].split('&');
		for (i=0; i< keyValues.length; i++){
			thisvalue = keyValues[i].split('=');
			if (parm.toLowerCase() == thisvalue[0].toLowerCase()){
				theval = thisvalue[1];
				break;
			}
		}
	}
	return theval;
}

function addAc (){
	accode = queryString("accode")			
	if (accode){
		a = document.getElementsByTagName('a');
		for (i = 0; i<a.length; i++){
			newhref = a[i].href
			if (newhref.indexOf('#') == -1 && newhref.indexOf('accode') == -1 && newhref.indexOf('Codes') == -1 && newhref.indexOf('javascript') == -1 && newhref.indexOf('mailto') == -1 && (newhref.indexOf('capgroup') > -1 || newhref.indexOf('brassring') > -1)){
				s = newhref.split('?');
				c = s[0].indexOf('brassring') == -1?'accode':'Codes'
				newhref = s[0] + '?' + c + '=' + accode;	
				if (s.length >1){
					newhref += "&" + s[1];	
				}
			}
			a[i].href = newhref;	
		}
		a = null;
		s = null;
		accode = null;
	}
}
accInt = setTimeout(addAc, 1000);
accInt1 = setTimeout(addAc, 3000);
accInt2 = setTimeout(addAc, 10000);

function el (parm){
	if (document.getElementById(parm)){
		return document.getElementById(parm);
	} else {
		return false;	
	}
}

function copyright(){
	var mydate = new Date();
	var copynotice = "Copyright &copy; " + mydate.getFullYear() + " Career Strategies, Inc."
	el('copyrightNotice').innerHTML = copynotice;
}
