var rules = {
  'ul.nav li' : function(element) {
    element.onmouseover = function() {
      //change the colour
      element.className += (element.className?' ':'') + 'CSStoHighlight';
      //change display of child
      for( var x = 0; element.childNodes[x]; x++ ){
        if( element.childNodes[x].tagName == 'UL' ) { element.childNodes[x].className += (element.childNodes[x].className?' ':'') + 'CSStoShow'; }
        if( element.childNodes[x].tagName == 'A' ) { element.childNodes[x].className += (element.childNodes[x].className?' ':'') + 'CSStoHighLink'; }
      }
    };
    element.onmouseout = function() {
      //add slight timeout to make menus easier to use in IE
      setTimeout(
        function() {
          //change the colour
          element.className = element.className.replace(/ ?CSStoHighlight$/,'');
          //change display of child
          for( var x = 0; element.childNodes[x]; x++ ){
            if( element.childNodes[x].tagName == 'UL' ) { element.childNodes[x].className = element.childNodes[x].className.replace(/ ?CSStoShow$/,''); }
            if( element.childNodes[x].tagName == 'A' ) { element.childNodes[x].className = element.childNodes[x].className.replace(/ ?CSStoHighLink$/,''); }
          }
        }
      ,200);
    };
  },
  'ul.hnav li' : function(element) {
    element.onmouseover = function() {
      //change the colour
      element.className += (element.className?' ':'') + 'CSStoHighlight';
      //change display of child
      for( var x = 0; element.childNodes[x]; x++ ){
        if( element.childNodes[x].tagName == 'UL' || element.childNodes[x].tagName == 'IMG' ) { element.childNodes[x].className += (element.childNodes[x].className?' ':'') + 'CSStoShow'; }
    //		if( element.childNodes[x].tagName == 'A' ) { element.childNodes[x].className += (element.childNodes[x].className?' ':'') + 'CSStoHighLink'; }
      }
    };
    element.onmouseout = function() {
      //change the colour
      element.className = element.className.replace(/ ?CSStoHighlight$/,'');
      //change display of child
      for( var x = 0; element.childNodes[x]; x++ ){
        if( element.childNodes[x].tagName == 'UL' || element.childNodes[x].tagName == 'IMG' ) { element.childNodes[x].className = element.childNodes[x].className.replace(/ ?CSStoShow$/,''); }
    //		if( element.childNodes[x].tagName == 'A' ) { element.childNodes[x].className = element.childNodes[x].className.replace(/ ?CSStoHighLink$/,''); }
      }
    };
  }
};

Behaviour.register(rules);