
function initCollapsers() {

	if (!document.getElementById) return;

	var lists = document.getElementsByTagName("li");
	
	for (var n=0; n<lists.length; n++) {
		var list = lists[n];
		var legend = getLegend(list);
		if (list.getAttribute("collapsable") == "true") {
			
			
			if (legend != null) {
			//	var expanded = list.getAttribute("expanded") == "true";
			//	openClose(legend, expanded);
				legend.onclick = clickHandler;
			}
		}
	}
}

function getLegend(element){
	var legend = null;
			
	var children = element.childNodes;
	for (var i=0; i<children.length; i++) {
		var child = children[i];
		
		if (child.tagName == "H3") {
			legend = child;
		}
	}
	return legend;
}

function clickHandler() {
	var fieldset = this.parentNode;
	var show = (this.getAttribute("collapsed") == "true");
	openClose(this, show);
}	
	
function openClose(element, open){
	var fieldset = element.parentNode;
	
	// hide / display all child nodes
	for (var i=0; i<fieldset.childNodes.length; i++) {
		var child = fieldset.childNodes[i];
		if (child.tagName != "H3") {
			//try {
			if (open){
				removeClass(child, "hidden");
			}
			else {
				addClass(child, "hidden");
			}
				//if (child.getAttribute("display") == null) {
				//	child.setAttribute("display", child.style.display);
				//}

				//child.style.display = (open) ? child.getAttribute("display") : "none";
			//} catch (e) { /* swallow */ }
		}
	}

	var image = element.childNodes[0];
	if (image.tagName != "IMG"){
		image = document.createElement("IMG");
		element.insertBefore(image, element.childNodes[0]);
	}
	element.setAttribute("collapsed", open ? "false" : "true");
	element.className = (open ? "open " : "closed ") + element.getAttribute("baseCssClass");
	image.setAttribute("src", "/international-reports/images/" + (open ? "open.gif" : "closed.gif"));
}

function addClass(element, style){
	element.className = element.className + " " + style;
}

function removeClass(element, style){
	var existing = element.className;
	if (existing.indexOf(" " + style) > 0){
		element.className = existing.substring(0,existing.indexOf(" " + style));
	}
}

