/*
 * expand.js
 *
 * Simple tools for expanding/collapsing sections of content.
 *
 * @author scampbell
 */


/**
 * Initialises a set of triggers.
 *
 * @param els The elements to initialise.
 */
function init_expanders(els) {
	for (var ii = 0; ii < els.length; ii++) {
		var el = els[ii];

		el.onclick = toggleExpand;

		if (document.getElementById && document.all) {
			el.onmouseover = function() {
				this.className += " hover";
			}
			el.onmouseout = function() {
				this.className = this.className.replace(" hover", "");
			}
		}

		el.onclick();
	}
}


/**
 * Expands/collapses a trigger and its matching content element.
 *
 * Element must have id trigger_XXX. Matching content must have
 * id content_XXX.
 */
function toggleExpand() {
	var nameParts = this.id.split("_");
	var trigID = nameParts[1];

	var els = new Array(this, document.getElementById("content_"+trigID));

	for (var ii = 0; ii < els.length; ii++) {
		var el = els[ii];
		if (el.className.indexOf("collapsed") == -1) {
			el.className += " collapsed";
		} else {
			el.className = el.className.replace("collapsed", "");
		}
	}
}