var threadList;
var messagesEls;
var spacers = new Array();
	
function initialiseVars(id) {
	threadList = $(id);
	messagesEls = threadList.getElementsBySelector("div.message");
		
	/* We'll also set the style for unordered lists.
	 * Firstly, find first-level unordered list elements */
	var els = threadList.getElementsBySelector(".messagedetails .text > ul");
	for (var i = 0; i < els.length; i++) {
		/* skip out of here if correct style has already been applied
		 * either by css or a previous execution of this function */
		if (Element.getStyle(els[i], 'list-style-type') == 'none') {
			break;
		}
		els[i].className = "unorderedList";
		/* find first-level unordered list elements */
		var lis = els[i].childNodes;
		for (var j = 0; j < lis.length; j++) {
			lis[j].className = "unorderedList";
		}
	}
}

function equaliseCols() {
	if (document.getElementById) {
	    /* clear any existing spacer divs first */
	    for (var s = 0; s < spacers.length; s++) {
	    	spacers[s].style.height = '0px';
	    }
	    spacers.clear();
		var spacerIndex = 0;
	    /* now check whether we need spacers */
		for (var i = 0; i < messagesEls.length; i++) {
			var authorHeight = 0;
			var msgHeight = 0;
			var col = messagesEls[i].getElementsBySelector(".authordetailsinner");
			for (var c = 0; c < col.length; c++) {
				authorHeight = col[c].offsetHeight;
			}
			var col = messagesEls[i].getElementsBySelector(".messagedetailsinner");
			for (var c = 0; c < col.length; c++) {
				msgHeight = col[c].offsetHeight;
				if (msgHeight < authorHeight) {
					/* Set height of spacer div to align functions div at the bottom of the message details */
					var spacer = col[c].getElementsBySelector(".spacer");
					for (var l = 0; l < spacer.length; l++) {
						spacer[l].style.height = (authorHeight-msgHeight)+'px';
						spacers[spacerIndex++] = spacer[l];
					}
				}
			}
		}
	}
}
