var clickMenu = {
  init: function() {    clickMenu.activeMid = false;    clickMenu.activeSub = false;    var links = document.getElementById("menu");    links = links.getElementsByTagName("a");    for(var i=0; i<links.length; i++) {      if(links[i].parentNode.parentNode.parentNode.getAttribute("id") == "topLevel") {        //sets topLink container div to the width of the actual text        var dim = getElementDimensions(links[i]);        var width = dim.w + "px";        links[i].parentNode.style.width = width;
        if(links[i].parentNode.parentNode.className != "stub") {          Core.addEventListener(links[i], "click", clickMenu.topMenuListener);
        }
      }      if((links[i].parentNode.parentNode.className == "midLevelHide") && (links[i].parentNode.className != "stub")) {        Core.addEventListener(links[i], "click", clickMenu.midMenuListener);      }      if((links[i].parentNode.parentNode.getAttribute("id") == "subLevel") && (links[i].parentNode.className != "stub")) {        Core.addEventListener(links[i], "click", clickMenu.subMenuListener);      }    }  }, //init  topShowMenu: function(link) {    var closing = false;    //check and see if own menu is open - if so close it    var  menus = link.parentNode.getElementsByTagName("ul");    for(var i=0; i<menus.length; i++) {      if(Core.hasClass(menus[i],"showMid")) {        Core.removeClass(menus[i],"showMid");        Core.addClass(menus[i], "hide");        closing = true;      }    }    if(clickMenu.activeMid == true) {      //close all sub and mid menus      var menus = document.getElementById("menu");      menus = menus.getElementsByTagName("ul");      for(var i=0; i<menus.length; i++) {        if(Core.hasClass(menus[i],"showMid")) {          Core.removeClass(menus[i], "showMid");        }        if(Core.hasClass(menus[i],"showSub")) {          Core.removeClass(menus[i], "showSub");        }      }    }    //open mid    if(closing == false) {      var upper = link.parentNode;      for(var i=0; i<upper.childNodes.length; i++) {        if(upper.childNodes[i].tagName == "DIV") {          for(var j=0; j<upper.childNodes[i].childNodes.length; j++) {            if(upper.childNodes[i].childNodes[j].tagName == "UL") {              Core.addClass(upper.childNodes[i].childNodes[j], "showMid");              clickMenu.activeMid = true;            }          }        }      }    }  }, //topShowMenu  midShowMenu: function(link) {    var closing = false;    //check to see if own menu is open; if so, close it    var  menus = link.parentNode.getElementsByTagName("ul");    for(var i=0; i<menus.length; i++) {      if(Core.hasClass(menus[i],"showSub")) {        Core.removeClass(menus[i],"showSub");        Core.addClass(menus[i], "hide");        closing = true;      }    }    if(clickMenu.activeSub == true) {      //close all sub- and mid-menus      var menus = document.getElementById("menu");      menus = menus.getElementsByTagName("ul");      for(var i=0; i<menus.length; i++) {        if(Core.hasClass(menus[i],"showSub")) {          Core.removeClass(menus[i], "showSub");        }      }    }

    //open mid    if(closing == false) {      var upper = link.parentNode;      for(var i=0; i<upper.childNodes.length; i++) {        if(upper.childNodes[i].tagName == "UL") {          Core.addClass(upper.childNodes[i], "showSub");          clickMenu.activeSub = true;        }      }    }  }, //midShowMenu

  topMenuListener: function(event) {    link = this;    clickMenu.topShowMenu(link);    Core.preventDefault(event);  }, //topMenuListener
  midMenuListener: function(event) {    link = this;    clickMenu.midShowMenu(link);    Core.preventDefault(event);  }, //midMenuListener
  subMenuListener: function(event) {    clickMenu.subShowMenu(this);    Core.preventDefault(event);  } //subMenuListener}; //clickMenuCore.start(clickMenu);