var inTransition = false;
var menuOpen = false;

function init() {
  $('nav').observe("mouseover", slideOut);
  $('nav').observe("mouseout", slideIn);
  $($('nav').parentNode).observe("mousemove", slideIn);
}

function slideOut(evt) {

  if(!inTransition && !menuOpen) {
    new Effect.Move('nav', {
        x: 178,
        duration: .5,
        transition: Effect.Transitions.sinoidal,
        afterFinish: function() {
          inTransition = false;
          menuOpen = true;
        }
      });
    inTransition = true;
  }
}

function slideIn(evt) {
  var validEl = true;
  var el = evt.element();

  while(el) {
    if (el.id == "nav" && evt.element().id != "nav") {
      validEl = false;
      break;
    }
    el = el.parentNode;
  }

  
  if(evt.element().id == "nav") validEl = false;

  if(!inTransition && menuOpen && validEl) {
    new Effect.Move('nav', {
        x: -178,
        duration: .5,
        transition: Effect.Transitions.sinoidal,
        afterFinish: function() {
          inTransition = false;
          menuOpen = false;
        }
      });
    inTransition = true;
  }
}

document.observe("dom:loaded", init);

(function(){
  /*Use Object Detection to detect IE6*/
  var  m = document.uniqueID /*IE*/
    && document.compatMode  /*>=IE6*/
    && !window.XMLHttpRequest /*<=IE6*/
    && document.execCommand ;
  try{
    if(!!m){
      m("BackgroundImageCache", false, true) /* = IE6 only */ 
        }
  }catch(oh){};
})();