function rollOver() {

    var element=this;
    /* fix style */
    element.className += ' hover';

    /* prevent redraw of entire menu */
    window.event.cancelBubble = true;

    /* change display of child */
    for (var x = 0; element.childNodes[x]; x++) {
        if (element.childNodes[x].tagName == 'UL') {
            element.childNodes[x].style.display = 'block';

            /* force IE to draw the child properly */
            element.childNodes[x].style.visibility = 'visible';
        }
    }
}

function rollOff() {

    var element=this;
    /* fix style */
    element.className = element.className.replace(' hover', '');

    /*
     * Prevent redraw of entire menu by cancelling event bubble when moving
     * onto children. Otherwise you get a lot of flickering in IE with large
     * menus.
     */
    var onto = window.event.toElement;
    if (onto != null) {
      do {
        if (onto == element) {
            window.event.cancelBubble = true;
            return;
        }
      } while ((onto = onto.parentElement) != null);
    }

    /* change display of child */
    for (var x = 0; element.childNodes[x]; x++) {
        if (element.childNodes[x].tagName == 'UL') {
            element.childNodes[x].style.display = 'none';
        }
    }
}


function loaded() {
  
  var hmenu=document.getElementById('hmenu');
  var liarray=hmenu.getElementsByTagName('li');
  for (var x=0; liarray[x]; x++){
    liarray[x].onmouseover=rollOver;
    liarray[x].onmouseout=rollOff;
  }  

  try {
    document.execCommand("BackgroundImageCache", false, true);
  } catch(ex) {
    alert("Error occured: " + ex.message); 
  }
}

