window.onload = function() {
  var triggers = getElementsByClassName('menu_pulldown_trigger');
  var userAgent = navigator.userAgent.toLowerCase();
  
  for ( var i = 0; i < triggers.length; i++ ) {
    var menu_trigger = triggers[i];
    var spacers = getElementsByClassName('menu_pulldown_spacer','div',menu_trigger);
    var menus = getElementsByClassName('menu_pulldown','div',menu_trigger);
    if ( spacers.length == 0 || menus.length == 0 )
      continue;
    var menu_spacer = spacers[0];
    var menu = menus[0];

    if ( userAgent.indexOf("msie") > -1 ) {
      var new_top = getOffsetTop(menu_trigger) + menu_trigger.offsetHeight;
      if ( userAgent.indexOf("msie 7") > -1 )
        menu_spacer.style.height = "7px";
      else
        menu_spacer.style.height = "5px";
      menu_spacer.style.top = new_top + " px";
      menu_spacer.style.left = getOffsetLeft(menu_trigger) + " px";
      menu_spacer.style.width = menu_trigger.offsetWidth + "px";
    } else {
      var new_top = menu_trigger.offsetTop + menu_trigger.offsetHeight;
      menu_spacer.style.top = new_top + "px";
      menu_spacer.style.left = menu_trigger.offsetLeft + "px";
      menu_spacer.style.width = menu_trigger.offsetWidth + "px";
    }
    
    if ( userAgent.indexOf("msie") > -1 ) {
      var new_top = getOffsetTop(menu_spacer);
      if ( userAgent.indexOf("msie 7") > -1 )
        new_top += 7;
      else
        new_top += 5;
      menu.style.top = new_top + "px";
      menu.style.left = (getOffsetLeft(menu_spacer) - (100 - menu_spacer.offsetWidth) / 2) + "px";
    } else {
      var new_top = menu_spacer.offsetTop + menu_spacer.offsetHeight;
      menu.style.top = new_top + "px";
      menu.style.left = (menu_spacer.offsetLeft - (100 - menu_spacer.offsetWidth) / 2) + "px";
    }
    
    menu_trigger.onmouseover = function() {
      getElementsByClassName('menu_pulldown','div',this)[0].style.display = "block";
    };
    
    menu_trigger.onmouseout = function() {
      getElementsByClassName('menu_pulldown','div',this)[0].style.display = "";
    };
  }

};

function getOffsetTop(object) {
  return (object.offsetParent) ? object.offsetTop + getOffsetTop(object.offsetParent) : object.offsetTop;
}

function getOffsetLeft(object) {
  return (object.offsetParent) ? object.offsetLeft + getOffsetLeft(object.offsetParent) : object.offsetLeft;
}
