function getElementsByClassName(classname) {
    if (document.getElementsByTagName) {
         var els = document.getElementsByTagName("*");
         var c = new RegExp('/b^|' + classname + '|$/b');
         final = new Array();
         var n=0;
         for (var i=0; i < els.length; i++) {
              if (els[i].className) {
                   if(c.test(els[i].className)) {
                   final[n] = els[i];
                   n++;
                   }
              }
         }
         return final;
    } else return false;
}

function ieFix(){
	//browser detection
	var browserName=navigator.appName; 
	var browserVer=parseInt(navigator.appVersion); 
	if (browserName=="Microsoft Internet Explorer" && browserVer <= 7) {
		var navelements = getElementsByClassName('ulnav');
		for (j=0; j < navelements.length; j++) {
			navRoot = navelements[j];
			for (i=0; i<navRoot.childNodes.length; i++) {
				node = navRoot.childNodes[i];
				if (node.nodeName=="LI") {
					node.onmouseover=function() {
						this.className+=" over";
					}
					 node.onmouseout=function() {
						this.className=this.className.replace(" over", "");
					}
				}
			}
		}
	} //end browser detection
}

function nav_sniff() {
	if ($('side')) {
		$('side').descendants().each(function(item1)
		{
			if ( item1.match('li') && !(item1.hasClassName('nobullet')) )
			{
				item1.childElements().each(function(item2)
				{
					if ( item2.match('a') )
					{
						var href = item2.readAttribute('href');
						var location = document.location.pathname;
						
						var location_filename = location.substring(location.lastIndexOf('/'), location.length);
						var href_filename = href.substring(href.lastIndexOf('/'), href.length);
						
						location_filename = location_filename.replace('/', '');
						href_filename = href_filename.replace('/', '');

						if (location_filename == href_filename)
						{
							$(item2).up('li').addClassName('selected');
						}
					}
				});
			}
		});
	}
}


onload = function(){	//do onload stuff here	
	ieFix();
	//nav_sniff();
}