// Fix Hier Menus v1.5 by Matt Ditter (Jan. 2008; updated Sep. 2008)
// Enables drop downs in IE6, supports tabbing through sublists,
// and adds rollover to top-level image on sublist mouseover
var lastHierLink = null;
function fixMenu() {
 var lists = document.getElementsByTagName('ul');
 for (var i=0, list; list = lists[i]; i++) {
  if (list.id && !list.id.indexOf('menu')) {
   var lis = list.getElementsByTagName('li');
   for (var j=0, li; li = lis[j]; j++) {
    var anchors = li.getElementsByTagName('a'), sublists = li.getElementsByTagName('ul');
    if (li.className && (li.className == 'itemFirst' || li.className == 'itemLast')) {
     var parLIs = li.parentNode.getElementsByTagName('li');
     if (li != parLIs[0] && li != parLIs[parLIs.length-1]) li.className = '';
    }
    if (anchors.length) {
     if (li.parentNode == list) anchors[0].onblur = function() { lastHierLink = this; }
     else if (sublists.length) {
      anchors[0].onblur = function() {
     	 var n = this.parentNode;
       while (n) {
        if (n.tagName == 'LI') { n.className = n.className.replace(/(?:^|\s)hierover(?:\b|$)/gi,'');	break; }
        n = n.parentNode;
     }}}
     anchors[0].onfocus = function() {
      var n = this.parentNode;
      while (n) {
       var p = n.parentNode, topLI = p && p.tagName == 'UL' && p.id && !p.id.indexOf('menu');
       if (topLI && lastHierLink && (n.getElementsByTagName('a')[0] != lastHierLink)) {
        var lastHierItem = lastHierLink.parentNode;
        while (lastHierItem) {
         if (lastHierItem.tagName == 'LI') break;
         else lastHierItem = lastHierItem.parentNode;
        }
        lastHierItem.className = lastHierItem.className.replace(/(?:^|\s)hierover(?:\b|$)/gi,'');
        var lastItems = lastHierItem.getElementsByTagName('li');
        if (lastItems)
         for (var k=0, lastItem; lastItem = lastItems[k]; k++)
          lastItem.className = lastItem.className.replace(/(?:^|\s)hierover(?:\b|$)/gi,'');
        lastHierLink = null;
       }
       if (n.tagName == 'LI') n.className += ' hierover';
       n = n.parentNode;
     }}
     if (sublists.length) {
      li.onmouseover = function() {
       this.className += ' hierover';
       var listPic = this.getElementsByTagName('img')[0];
       if (listPic && listPic.className.match(/(?:^|\s)over(?:\b|$)/gi) && listPic.src.indexOf ('blank.html') == -1) {
        var path = listPic.src, dot = path.lastIndexOf('.');
        if (path.indexOf('-o.') == -1) listPic.src = path.substring(0,dot)+'-o'+path.substring(dot,path.length);
      }} 
      li.onmouseout = function() {
       this.className = this.className.replace(/(?:^|\s)hierover(?:\b|$)/gi,'');
       var listPic = this.getElementsByTagName('img')[0];
       if (listPic && listPic.className.match(/(?:^|\s)over(?:\b|$)/gi) && listPic.src.indexOf ('blank.html') == -1) {
        var path = listPic.src;
        if (path.indexOf('-o.') > -1) listPic.src = path.replace(/\-o\./gi,'.');
      }}
      anchors[anchors.length-1].onblur = function() {
       var n = this.parentNode;
       while (n) {
        if (n.tagName == 'LI') {
         var subLinks = n.getElementsByTagName('a');
         if (subLinks[subLinks.length-1] == this) n.className = n.className.replace(/(?:^|\s)hierover(?:\b|$)/gi,'');
        }
        n = n.parentNode;
        if (n == list) break;
}}}}}}}}
