/* shared js functions */

// The right way to add load events. 
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

addLoadEvent(init);
addLoadEvent(setNavRolls);
addLoadEvent(setExtLinks);

// preload css rollovers
var path = "/corp/images/";
var off = new Array();
var onm = new Array();
var sects = new Array('n1_home','n1_adverts','n1_publish','n1_how','n1_about','btn_login');
function init(){
	// do preloads
	for (i=0;i<sects.length;i++){
		off[i] = new Image;
		off[i].src = path + sects[i] + "_off.gif"
		onm[i] = new Image;
		onm[i].src = path + sects[i] + "_on.gif";
		//alert(off[i].src+"\n"+onm[i].src);
	}
}

// function to set 'on' state for anchor links
function setNavRolls(){
	if (!document.getElementById) return;
	var navLinks = document.getElementById('navone').getElementsByTagName("a");
	for (i=0;i<navLinks.length;i++){
		// set mouseover action
		navLinks[i].onmouseover = function(){
			rollNav(this,1);
		}
		// set mouseoff action
		navLinks[i].onmouseout = function(){
			rollNav(this,0);
		}
	}
}

function rollNav(el,state){
	var imgSrc = el.childNodes[0].getAttribute('src');
	var imgID  = el.childNodes[0].getAttribute('id');
	var imgEl  = document.getElementById(imgID);
	var pre = "/corp/images/";
	var onx = "_on.gif";
	var ofx = "_off.gif";
	// dont do rollovers for selected state images
	if (el.className != "on"){
		state > 0 ? imgEl.setAttribute('src',pre+imgID+onx) : imgEl.setAttribute('src',pre+imgID+ofx);
	}
}

// function to open external links in new window
function openInNewWin() {
	var newWindow = window.open(this.getAttribute('href'), 'new');
	newWindow.focus();
	return false;
}

// function to set external links opening option
function setExtLinks() {
	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") == "ext"){
			anchor.onclick = openInNewWin;
		}
	}
}


// function to prep more links on team page
function prepMoreLinks(){
	if (!document.getElementById) return;
	linkArray = document.getElementById('double').getElementsByTagName("h5");
	for (i=0;i<linkArray.length;i++){
		linkArray[i].onclick = function(){
			showHideMore(this);
		}
		hideMore(linkArray[i]);
	}
}

function getSubText(el){
	nextEl = el.nextSibling;
	while (nextEl.nodeName.toLowerCase() != "div"){
		nextEl = nextEl.nextSibling;
	}
	if (nextEl.className == "txt-team"){
		return nextEl;
	} else {
		return false;
	}
}

// function to hide team text for js enabled browsers
function hideMore(el){
	var subText = getSubText(el);
	subText.style.display = "none";
}

// function to show/hide team text
function showHideMore(el){
	// change arrow class change direction of arrow
	var newClassName = el.className.indexOf("dn") != -1 ? "up" : "dn";
	el.className = newClassName;
	//alert(el.className);
	var subText = getSubText(el);
	if (subText != null){
		subText.style.display = subText.style.display != "block" ? "block" : "none";
	}
}
