// gets an element by class name
function getElementsByClass(searchClass, node, tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function sfHoverHide(el) {
	el.className=el.className.replace(new RegExp(" sfhover\\b"), "");
}

// attaches mouse events to sfhover css classes (workaround for IE 6, which does
// not support :hover pseudo classes on elements other than <a>).
function sfHover() 
{
   var elements = getElementsByClass('sfNav');
   
   if (elements) {
      for(var e=0; e<elements.length; e++) 
      {
         var sfEls = elements[e].getElementsByTagName("LI");
	      for (var i=0; i<sfEls.length; i++)
	      {
	         sfEls[i].onmouseover=function()
	         {
			      this.className+=" sfhover";
		      }
		      sfEls[i].onmouseout=function() 
		      {
			      var sfHoverElement = this;
			      setTimeout(function() { sfHoverHide(sfHoverElement); }, 7); // Bug im IE 6+7 verhindern
		      }
	      }
	   }
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

