var shownDropDown = null;
var hideDropDownTimeout = 0;

function showDropDown(dropDownId, triggerLink) {
  cancelHideDropDown();
  doHideDropDown();
  shownDropDown = document.getElementById(dropDownId);
  shownDropDown.style.display = 'block';
  shownDropDown.onmouseout = triggerLink.onmouseout = hideDropDown;
  shownDropDown.onmouseover = cancelHideDropDown;
}

function hideDropDown() {
  hideDropDownTimeout = setTimeout(doHideDropDown, 200);
}

function cancelHideDropDown() {
  clearTimeout(hideDropDownTimeout);
}

function doHideDropDown() {
  if (shownDropDown) {
    shownDropDown.style.display = 'none';
  }
}
