
addCSS('http://www2.ku.edu/~hilltop/css/js.css');
addonLoad(toggle_init);

var toggleElements = [];
var links = [];

/* Initialisation */
function toggle_init() {
	var i, switcher, link, id, target, fragment;
	switcher = document.getElementById('panelswitcher');
	if (switcher != null) {
		links=switcher.getElementsByTagName('a');
		id=location.href.split('#')[1];
		if (location.href.indexOf('#') !=-1) {
			var fragment=id;
		}
		for (i = 0; link = links[i]; i++) {
			id = links[i].href.split('#')[1];
			target = document.getElementById(id);
			toggleElements[toggleElements.length] = target;
			if (fragment) {
				if (id==fragment) {
					target.style.display='block';
					cssjs('add',link,'on');
				}
			} else {
				if (i==0) {
					target.style.display='block';
					cssjs('add',link,'on');
				}
			}
			link.onclick = toggle;
		}
	}
}	

function toggle(e) {
	/* Adapted from http://www.quirksmode.org/js/events_properties.html */
	if (typeof e == 'undefined') {
		var e = window.event;
	}
	var source;
	if (typeof e.target != 'undefined') {
		source = e.target;
	} else if (typeof e.srcElement != 'undefined') {
		source = e.srcElement;
	} else {
		return true;
	}
	/* For most browsers, targ would now be a link element; Safari however
	returns a text node so we need to check the node type to make sure */
	if (source.nodeType == 3) {
		source = source.parentNode;
	}
	var id = source.href.split('#')[1];
	var elem;
	for (var i = 0; (elem = toggleElements[i]); i++) {
		if (elem.id == id) {
			elem.style.display = 'block';
		} else { 
			elem.style.display = 'none';
		}
	}
	for (i = 0; (link = links[i]); i++) {
		if (link.href.split('#')[1] != id) {
			cssjs('remove',link,'on');
		} else {
			cssjs('add',link,'on');
		}
	}
	return false;
}
