function containsDOM (container, containee) {
  var isParent = false;
  do {
    if ((isParent = container == containee))
      break;
      containee = containee.parentNode;
    }
  while (containee != null);
  return isParent;
}

function checkMouseEnter (element, evt) {
  
    if (element.contains && evt.fromElement) {
      return !element.contains(evt.fromElement);
    }
    else if (evt.relatedTarget) {
      return !containsDOM(element, evt.relatedTarget);
    }
}

function checkMouseLeave (element, evt) {
  
    if (element.contains && evt.toElement) {
      return !element.contains(evt.toElement);
    }
    else if (evt.relatedTarget) {
      return !containsDOM(element, evt.relatedTarget);
    }
  
  
}

function menuDown (obj){
  ul = obj.childNodes;
  for (i=0;i<ul.length;i++){
    if (ul[i].tagName =='UL'){
      ul[i].id = obj.id+'h';
      ul[i].style.zIndex = "500";
      menuEffects[obj.id] = new Effect.Morph(ul[i].id, {style: 'width:200px;', duration: 0.4, queue: { position: 'end', scope: ul[i].id}});
    }
  }
}

function menuUp (obj){
  ul = obj.childNodes;
  for (i=0;i<ul.length;i++){
    if (ul[i].tagName =='UL'){
      ul[i].id = obj.id+'h';
      ul[i].style.zIndex = "400";
      menuEffects[obj.id].cancel();
      menuEffects[obj.id] = new Effect.Morph(ul[i].id, {style: 'width:0px;', duration: 0.4, queue: { position: 'end', scope: ul[i].id}});
    }
  }
}
