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;
};

sfHover = function() {

	var allNavs = document.getElementsByClassName("nav");
	var sfEls = new Array();
	
	
		for (var x=0; x<allNavs.length; x++) {
			var lis = allNavs[x].getElementsByTagName("LI");
			for (var y=0; y<lis.length; y++) {
				sfEls.push(lis[y]);
			}
		}
	
	
	//var sfEls = document.getElementsByClassName("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp("sfhover\\b"), "");
		}
		
		var subnav = sfEls[i].getElementsByTagName("UL");
		
		for( var n=0; n < subnav.length; n++ ) {
			var subnavlis = subnav[n].getElementsByTagName("LI");
			
			for( var j=0; j < subnavlis.length ; j++ ) {
			
				subnavlis[j].onmouseover=function() {
				this.className+=" sfhover";
				}
			subnavlis[j].onmouseout=function() {
				this.className=this.className.replace(new RegExp("sfhover\\b"), "");
				}
			}
				
		}
	}
}

if(window.attachEvent) {
	window.attachEvent("onload", sfHover);
	}
	
if(window.addEventListener) {
	window.addEventListener("load", sfHover, false);
}

