var allMenuIds = ["pulldown_menu_one", "pulldown_menu_two",
                  "pulldown_menu_three", "pulldown_menu_four"];

var browserType;
var staticHeight=0;
var timeoutId=0;
var closeWaitLength=500;

function getBrowserType() {
  if(document.getElementsByTagName("body")  != null) {
        browserType=1; //DOM
  }
  if(document.all != null) {
    browserType=3; //IE
    if(document.getElementsByTagName("body") != null) {
      browserType=2; //Later IE
    }
      }
  if(document.layers != null) {
    browserType=4;//Netscape
  }
}

function getStyleById(elementId) {
  if(browserType==1 || browserType==2) {
    var element=document.getElementById(elementId);
    return element.style;
  }
  else if(browserType==3) {
    return document.all[elementId];
  } else if(browserType==4) {
    return document.layers[elementId];
  }
}

function getHeightById(elementId) {
      var element=document.getElementById(elementId);
      return element.offsetHeight;
}

function setHeightById(elementId, height) {
  var element=document.getElementById(elementId);
  element.offsetHeight=height;
}

function activateMenu(menuId) {
  var menuStyle=getStyleById(menuId);
  if(menuStyle.display != 'block') {
    closeAllMenus();
  }
  
  openMenu(menuStyle);
  staticHeight=getHeightById(menuId);
  window.clearTimeout(timeoutId);
}

//variables for openMenu
var om_height=0;

//animated menu opening routine
function openMenu(menuStyle) {
  menuStyle.display='block';
}

function closeMenu(menuId) {
  var menuStyle=getStyleById(menuId);
  menuStyle.display='none';
}

function isMenuOpen(menuId) {
  var menuStyle=getStyleById(menuId);
  if(menuStyle.display=='none') {
    return false;
  }
  return true;
}
function switchMenuState(menuId) {
  if(isMenuOpen(menuId)) {
    closeMenu(menuId);
  }
  else {
    activateMenu(menuId);
  }
}

function waitClose(menuId) {
  var commandString="closeMenu('" + menuId + "');"
    timeoutId=window.setTimeout(commandString, closeWaitLength);
}

function closeAllMenus() {
  for(i=0; i < allMenuIds.length; i++) {
    closeMenu(allMenuIds[i]);
  }
}

