function fixNav() {
	if (document.all && document.getElementById) {
		navRoot = document.getElementById("nav");
		for (var i=0, len=navRoot.childNodes.length;i<len;i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName == "LI") {
				node.onmouseover = function() {
					this.className += " over";
				}
				node.onmouseout = function() {
					this.className = this.className.replace(" over", "");
				}
				anchor = node.firstChild;
				// Oops, original version screwed up in IE5.x with its broken box model! Bad turtle... ;)
				if (navigator.appVersion.indexOf("MSIE 5.5") != -1 || navigator.appVersion.indexOf("MSIE 5.01") != -1) {
					anchor.style.width = node.scrollWidth + "px";
				} else {
					anchor.style.width = (node.scrollWidth - 14) + "px";
				}
			}
		}
	}
}

function fixBoxes() {
	if (!document.getElementById) return;
	if (getElementsByClassName("col-l").length > 0) {
		left = getElementsByClassName("col-l")[0];
		mid = getElementsByClassName("col-m")[0];
		right = getElementsByClassName("col-r")[0];
		left_height = left.scrollHeight;
		// Check that mid-height exists!
		if (mid) mid_height = mid.scrollHeight;
		right_height = right.scrollHeight;
		if (mid) {
			// Checks involved the middle column
			if (left_height >= mid_height && left_height >= right_height) { // Left column is tallest
				mid.style.height = left_height + "px";
				right.style.height = left_height + "px";
			} else if (mid_height >= left_height && mid_height >= right_height) { // Middle column is tallest
				left.style.height = mid_height + "px";
				right.style.height = mid_height + "px";
			} else if (right_height >= left_height && right_height >= mid_height) { // Right column is tallest
				left.style.height = right_height + "px";
				mid.style.height = right_height + "px";
			}
		} else {
			// Checks with just the left/right columns
			if (left_height >= right_height) { // Left column is tallest
				right.style.height = left_height + "px";
			} else if (right_height >= left_height) { // Right column is tallest
				left.style.height = right_height + "px";
			}
		}
	}
}

/* getElementsByClassName function by Max Starkenburg (http://cnx.rice.edu/) */
function getElementsByClassName(classname){
	var rl = new Array();
	var re = new RegExp('(^| )'+classname+'( |$)');
	var ael = document.getElementsByTagName('*');
	var op = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
	if (document.all && !op) ael = document.all;
	for(var i=0, j=0, len=ael.length; i<len; i++) {
		if(re.test(ael[i].className)) {
			rl[j]=ael[i];
			j++;
		}
	}
	return rl;
}

function loadWrapper() {
	fixNav();
	fixBoxes();
}

window.onload = loadWrapper;