<!--//--><![CDATA[//><!--

if (window.attachEvent) window.attachEvent("onload", sfHover); 


function sfHover() 
{ 
  /* Assumed: target class of UL is "sf" */ 
  var regSfUL = /\bmenu\b/; 
  var ULs, UL, LIs, LI, i=j= -1; 
  ULs = document.getElementsByTagName("ul"); 

/* Loop stops when ULs[n]--> null */
while( UL=ULs[++i] )
{
/* Tested className with RE
- so multiple classNames are handled
RE predefined for extra a fish in sea
*/
if( regSfUL.test(UL.className) )
{
j = -1;
LIs=UL.getElementsByTagName("li");
while( LI=LIs[++j] )
{
LI.onmouseover = over;
LI.onmouseout = out;
}
}
}

/* Defined event handler functions outside the loop
- more efficient (speed & memory).
Kept as inner functions to preserve global namespace
- OK, since outer function is only called once.
If you are paranoid about memory leaks you could
define these externally.
*/
function out()
{
this.className=this.className.replace(/ sfhover\b/, "");
}

function over()
{
this.className+=" sfhover";
}

}


//--><!]]>
