function element(elem) {
  if (typeof elem == "string") {
    elem = document.getElementById(elem);
  }
  return elem;
}

function equaliseEvent(evt) {
  // Equalise W3C and IE event object
  evt = (evt) ? evt : ((window.event) ? window.event : null);
  if (!evt) return {failed: true, event: null, element: null};

  // Equalise W3C and IE event property
  var elem = (evt.target) ? evt.target :
             ((evt.srcElement) ? evt.srcElement : null);

  // Filter out old browsers (elem = null)
  if (!elem) return {failed: true, event: evt, element: null};
  return {failed: false, event: evt, elem: elem};
}


/* Courtesy of Clagnut http://clagnut.com/sandbox/imagefades/ */
function set_opacity(obj, opacity) {
  // Show/hide the object using visibility
  if (opacity <= 0 && obj.style.visibility == 'visible') obj.style.visibility = 'hidden';
  if (opacity > 0 && obj.style.visibility != 'visible') obj.style.visibility = 'visible';
  
  opacity = (opacity >= 100)?99.999:opacity;
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}

function getObjectHeight(elem) {
  elem = element(elem);
  if (!elem) return;
  
  var result = 0;
  if (elem.offsetHeight) {
    result = elem.offsetHeight;
  } else if (elem.clip && elem.clip.height) {
    result = elem.clip.height;
  } else if (elem.style && elem.style.pixelHeight) {
    result = elem.style.pixelHeight;
  }
  return parseInt(result);
}

function match_height() {
  container = document.getElementById("container");
  menu = document.getElementById("menu");
  
  cheight = getObjectHeight(container);
  mheight = getObjectHeight(menu);
  
  if (cheight > mheight+5) {
    extra = document.getElementById("mainmenu-filler");
    extra.style.height = (cheight-mheight-5)+"px";
    extra.style.display = "block";
  }
}



