if (document.addEventListener) {
  document.addEventListener('click',mouseEvent,false);
} else if (document.attachEvent) {
  document.attachEvent('onclick',mouseEvent);
} else {
  document.onclick = mouseEvent;
}


function mouseEvent(e) {
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3)
		targ = targ.parentNode;
	if (targ.parentNode.className == "collapsable-list-down") {
		expandLiDown(targ);
	} else {
		expandLi(targ);
	}
	swapText(targ);
}

function expandLi(targ) {

	if ((targ.tagName == "DT")&&(targ.parentNode.className == "collapsable-list")){			
		var nextNode = targ.previousSibling;
					
		while (previousNode.tagName != "DD"){ 
			previousNode = previousNode.previousSibling
		}
		
		if (previousNode.className == "open"){
			previousNode.className = "closed";
		}
		else {previousNode.className = "open";}
	}else if ((targ.parentNode.tagName == "DT")&&(targ.parentNode.parentNode.className == "collapsable-list")){			
		var previousNode = targ.parentNode.previousSibling;
		
			
		while (previousNode.tagName != "DD"){ 
			previousNode = previousNode.previousSibling
		}	
		
		if (previousNode.className == "open"){
			previousNode.className = "closed";
		}
		else {previousNode.className = "open";}
	}else if ((targ.parentNode.parentNode.tagName == "DT")&&(targ.parentNode.parentNode.parentNode.className == "collapsable-list")){			
		var previousNode = targ.parentNode.parentNode.previousSibling;
		
			
		while (previousNode.tagName != "DD"){ 
			previousNode = previousNode.previousSibling
		}	
		
		if (previousNode.className == "open"){
			previousNode.className = "closed";
		}
		else {previousNode.className = "open";}
	}

}

function expandLiDown(targ) {
	
	if ((targ.tagName == "DT")&&(targ.parentNode.className == "collapsable-list-down")){			
		var nextNode = targ.nextSibling;
		
					
		while (nextNode.tagName != "DD"){ 
			nextNode = nextNode.nextSibling
		}
		
		if (nextNode.className == "open"){
			nextNode.className = "closed";
		}
		else {nextNode.className = "open";}
		
		
		if (targ.className == "open"){
			targ.className = "closed";
		}
		else {targ.className = "open";}
		
	}else if ((targ.parentNode.tagName == "DT")&&(targ.parentNode.parentNode.className == "collapsable-list-down")){			
		var nextNode = targ.parentNode.nextSibling;
		
			
		while (nextNode.tagName != "DD"){ 
			nextNode = nextNode.nextSibling
		}	
		
		if (nextNode.className == "open"){
			nextNode.className = "closed";
		}
		else {nextNode.className = "open";}
		
		if (targ.className == "open"){
			targ.className = "closed";
		}
		else {targ.className = "open";}
		
	}else if ((targ.parentNode.parentNode.tagName == "DT")&&(targ.parentNode.parentNode.parentNode.className == "collapsable-list-down")){			
		var nextNode = targ.parentNode.parentNode.nextSibling;
		
			
		while (nextNode.tagName != "DD"){ 
			nextNode = nextNode.nextSibling
		}	
		
		if (nextNode.className == "open"){
			nextNode.className = "closed";
		}
		else {nextNode.className = "open";}
		
		
		if (targ.className == "open"){
			targ.className = "closed";
		}
		else {targ.className = "open";}
	}

}


function swapText(targ) {
	
	if ((targ.parentNode.tagName == "DT")&&(targ.parentNode.parentNode.className == "collapsable-list")){	
		var textBlock = targ;
		
		if (textBlock.innerHTML == "read more...") {
			textBlock.innerHTML = "close text...";
		} else {
			textBlock.innerHTML = "read more..."
		}
	}
}
