/*
	Function adds expander image before every a tag with the class of 'expandLink'
*/
function addExpanders() {
	var	as = document.getElementsByTagName('a');
	var expander = '<a href="#" onclick="expandDiv(this);return false;"><img src="images/expand.gif" alt="Click to expand" class="expandImg" /></a>';
	var currText;
	for (i=0;i<as.length;i++) {
		if (as[i].className == 'expandLink') {
			// open links in new window
			as[i].target = '_blank';
			currText = as[i].parentNode.innerHTML;
			as[i].parentNode.innerHTML = expander + currText;
			i++; // Avoids infinite loop, since 'as' is a reference
		}
	}
}

/*
	Function toggles the display of the hidden text
*/
function expandDiv(obj) {
	var divs = obj.parentNode.getElementsByTagName('div');
	for (n=0;n<divs.length;n++) {
		if (divs[n].className == 'expandContent') {
			var img = obj.getElementsByTagName('img')[0];
			if (divs[n].style.display == 'none' || divs[n].style.display == '') {
				divs[n].style.display = 'block';
				img.src = 'images/retract.gif';
				img.alt = 'Click to retract';
			} else {
				divs[n].style.display = 'none';
				img.src = 'images/expand.gif';
				img.alt = 'Click to expand';
			}
		}
	}
}

/*
	Function toggles the display of all hidden text
*/
function toggleAll(action) {
	var display = (action == 'open') ? 'block' : 'none';
	var src = (action == 'open') ? 'images/retract.gif' : 'images/expand.gif';
	var alt = (action == 'open') ? 'Click to retract' : 'Click to expand';
	var divs = document.getElementsByTagName('div');
	for (n=0;n<divs.length;n++) {
		if (divs[n].className == 'expandContent') {
			divs[n].style.display = display;
			var img = divs[n].parentNode.getElementsByTagName('img')[0];
			img.src = src;
			img.alt = alt;
		}
	}
}

// Adds onload
window.onload = addExpanders;