/* vim:fenc=iso-8859-1:filetype=javascript:ts=4
 *
 * date:	2003-01-23
 * info:	http://inspire.server101.com/js/xc/
 */

var xcNode = [];

function xcSet(m, c) {
if (document.getElementById && document.createElement) {
	m = document.getElementById(m).getElementsByTagName('ul');
	var d, p, x, h, i, j;
	for (i = 0; i < m.length; i++) {
		if (d = m[i].getAttribute('id')) {
			xcCtrl(d, c, 'x', '[+]', 'Show', m[i].getAttribute('title'));
			x = xcCtrl(d, c, 'c', '[\u2013]', 'Hide', m[i].getAttribute('title'));

			p = m[i].parentNode;
			if (h = !p.className) {
				j = 2;
				while ((h = !(d == arguments[j])) && (j++ < arguments.length));
				if (h) {
					m[i].style.display = 'none';
					x = xcNode[d+'x'];
				}
			}

			p.className = c;
			p.insertBefore(x, p.firstChild);
			var y = p.getElementsByTagName('a');
			if (y.length > 1 && y[1].getAttribute('href') == null)
				y[1].setAttribute('href', y[0].getAttribute('href'));
		}
	}
}}


function xcShow(m) {
	xcXC(m, 'block', m+'c', m+'x');
}


function xcHide(m) {
	xcXC(m, 'none', m+'x', m+'c');
}


function xcXC(e, d, s, h) {
	e = document.getElementById(e);
	e.style.display = d;
	e.parentNode.replaceChild(xcNode[s], xcNode[h]);

			var y = e.parentNode.getElementsByTagName('a');
			if (y.length > 1 && y[1].getAttribute('href') != null && y[1].getAttribute('href').substr(0, 5) == 'javas')
				y[1].setAttribute('href', y[0].getAttribute('href'));

	xcNode[s].firstChild.focus();
}


function xcCtrl(m, c, s, v, f, t) {
	var a = document.createElement('a');
	a.setAttribute('href', 'javascript:xc'+f+'(\''+m+'\');');
	a.setAttribute('title', t);
	a.appendChild(document.createTextNode(v));

	var d = document.createElement('div');
	d.className = c+s;
	d.appendChild(a);

	return xcNode[m+s] = d;
}

function categories_div_toggle(id) {
	var lnk = document.getElementById('a'+id);
	var div = document.getElementById('d'+id);
	if (div == null) {
//		alert('Div not found');
		return true;
	} else if (div.style.display == 'block') {
		/* optionally adjust text for collapsed */
//		alert('Div being collapsed');
		div.style.display = 'none';
//		lnk.style.color = '#ff7777';
		return false;
	} else if (div.style.display == 'none') {
		/* optionally adjust text for expanded */
//		alert('Div being expanded');
		div.style.display = 'block';
		return false;
	} else {
//		alert('Div being left alone');
		return true;
	}
}

