document.getElementsByClassName = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
}; 
startList = function() {
	if (document.all&&document.getElementById) {
		navClasses = document.getElementsByClassName("nav");
		for (j=0; j<navClasses.length; j++) {
			for (i=0; i<navClasses[j].childNodes.length; i++) {
				node = navClasses[j].childNodes[i];
				if (node.nodeName=="LI") {
					node.onmouseover=function() {
						this.className+=" over";
						for (k=0; k<this.childNodes.length; k++) {
							subNode = this.childNodes[k];
							if (subNode.nodeName=="UL") {
								subNode.className+=" oversub";
							}
						}
					}
					for (k=0; k<node.childNodes.length; k++) {
						subNode = node.childNodes[k];
						if (subNode.nodeName=="UL") {
							subNode.className+=" oversub";
							for (l=0; l<subNode.childNodes.length; l++) {
								subSubNode = subNode.childNodes[l];
								if (subSubNode.nodeName=="LI") {
									subSubNode.onmouseover=function() {
										this.className+=" over";
									}
								}
							}
						}
					}
					node.onmouseout=function() {
						this.className=this.className.replace(" over", "");
						for (k=0; k<this.childNodes.length; k++) {
							subNode = this.childNodes[k];
							if (subNode.nodeName=="UL") {
								subNode.className.replace(" oversub", "");
								for (l=0; l<subNode.childNodes.length; l++) {
									subSubNode = subNode.childNodes[l];
									if (subSubNode.nodeName=="LI") {
										subSubNode.onmouseover=function() {
											this.className.replace(" over", "");
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
}
if (window.attachEvent)
	window.attachEvent("onload", startList)
else
	window.onload=startList;

