// -------------------------------------------------
// Flyout
// -------------------------------------------------

var _lastMenu;

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);
   }
}

/*************************** Flyout General **********************/

function flyout_over(id, className) {
   var newMenu = '#flyoutSub' + id;
   if (_lastMenu != null) {

      if (_lastMenu != newMenu) $(_lastMenu).fadeOut("slow");
      _lastMenu = null;
   }

   if (_lastMenu != newMenu) {
      $('#flyoutSub' + id + ':hidden').slideDown("slow");
      _lastMenu = newMenu;
   }
}

function flyout_out(o, evt) {
   if (checkMouseLeave(o, evt)) {
      $('.flyout').fadeOut("slow");
      _lastMenu = null;
   }
}

/***** Menu ******/


$(document).ready(function() {

$("#menu .pos").hover(function() {
      //over
      var $fade = $(this).find(".flyout");
      if ($fade.is(":animated")) {
         $fade.stop().fadeTo("fast", 1);
      }
      else {
         $fade.stop().fadeIn("slow");
      }
   },
    function() {
       //out
       $(this).find(".flyout").stop().fadeOut("slow");

    }
    );

});
