function hookUpChildEvents(parent) {
	var children = parent.getElementsByTagName('a');
	var numChildren = children.length;

	for(var i = 0; i < numChildren; i++)
	{
		var thisLink = children[i];
		thisLink.onclick = function() {
			var urlParts = this.href.split('?');
			var parent = this.parentNode.parentNode.parentNode;
			if (urlParts.length < 2) return true;

			/* Shortcut: If it's a "close" link, then we can easily just hide the list until the 
			   Ajax request comes through. */
			if (urlParts[1].split('=')[0] == 'close')
				parent.getElementsByTagName('ul')[0].style.display = 'none';
			else				
				parent.innerHTML += " ...";
			var myAjax = new Ajax.Updater(parent, urlParts[0], 
				{method: 'get', parameters: urlParts[1] + '&type=ajax', 
				insertion: function(element, content) { element.innerHTML = content; hookUpChildEvents(parent); } });
			return false;
		}

	}
}


window.onload = function() { hookUpChildEvents(document); }