function expand(link, doColapse){
	
	var topItem = link.parentNode;
	var list = topItem.parentNode;
	var listPos = -1;
	var listItems = new Array();
	var noListItems = 0;
	var nextAfterList = -1;
	var nextElement = -1;
	
	for(var i = 0; i < list.childNodes.length; i++){
		
		if(list.childNodes[i].nodeType == 1){
			
			if(listPos > -1 && parseInt(list.childNodes[i].getElementsByTagName("A")[0].style.paddingLeft) < parseInt(nextAfterList.getElementsByTagName("A")[0].style.paddingLeft))
				break;
			
			for(var x = i + 1; x < list.childNodes.length; x++){
				if(list.childNodes[x].nodeType == 1){
					nextElement = list.childNodes[x];
					break;
				}
			}
			
			if(list.childNodes[i] == topItem){
				
				if(nextElement.getElementsByTagName("A")[0] != null && list.childNodes[i].getElementsByTagName("A")[0] != null && parseInt(nextElement.getElementsByTagName("A")[0].style.paddingLeft) > parseInt(list.childNodes[i].getElementsByTagName("A")[0].style.paddingLeft) && i + 1 < list.childNodes.length){
					listPos = i;
					nextAfterList = nextElement;
				}
				else
					return true;
			}
			
			if(listPos > -1 && parseInt(list.childNodes[i].getElementsByTagName("A")[0].style.paddingLeft) == parseInt(nextAfterList.getElementsByTagName("A")[0].style.paddingLeft)){
				listItems[noListItems] = list.childNodes[i];
				listItems[noListItems].style.display = "block";
				noListItems++;
			}
		}
	}
	
	if(noListItems == 0)
		return true;
	
	if(doColapse)
		colapse(listItems, link);
	else
		link.onclick = function(){colapse(listItems, link); return false;};
	
	return false;
}

function colapse(listItems, link){
	for(var i = 0; i < listItems.length; i++){
		listItems[i].style.display = "none";
	}
	link.onclick = function(){return expand(link);};
}
