// Les 3 fonctions permettent de gérer les événements de la souris sur le menu

function containsDOM( aoContainer, aoContainee )
{
   var isParent = false;
   do
   {
      if( ( isParent = aoContainer == aoContainee ) )
      {
         break;
      }
      aoContainee = aoContainee.parentNode;
   }
   while( aoContainee != null );
	return isParent;
}

function checkMouseEnter( aoContainer, aoEvt )
{
   if( aoContainer.contains && aoEvt.fromElement )
   {
      return !aoContainer.contains( aoEvt.fromElement );
   }
   else if( aoEvt.relatedTarget )
   {
      return !containsDOM( aoContainer, aoEvt.relatedTarget );
   }
}

function checkMouseLeave( aoContainer, aoEvt )
{
   if( aoContainer.contains && aoEvt.toElement )
   {
      return !aoContainer.contains( aoEvt.toElement );
   }
   else if( aoEvt.relatedTarget )
   {
      return !containsDOM( aoContainer, aoEvt.relatedTarget );
   }
}

function showImage( asImage )
{
   document.getElementById( 'onmouse-' + asImage ).style.visibility = 'visible';
   var width = document.getElementById( 'onmouse-' + asImage ).clientWidth;
   document.getElementById( 'onmouse-' + asImage ).style.marginLeft = Math.round( ( 30-width ) / 2 ) + 'px';
   showDivImage( asImage, 1 );
}

function hideImage( asImage )
{
   document.getElementById( 'onmouse-' + asImage ).style.visibility = 'hidden';
   hideDivImage( asImage, 14 );
}

function showDivImage( asImage, cpt )
{
   if( cpt <= 15 )
   {
      var div = document.getElementById( 'clip-' + asImage );
      div.style.clip = 'rect( ' + ( 15 - cpt ) + 'px, ' + ( 15 + cpt ) + 'px, ' + ( 15 + cpt ) + 'px, ' + ( 15 - cpt ) + 'px )';
      setTimeout( "showDivImage( '" + asImage + "', " + ( cpt + 1 ) + " )", 25 );
   }
}

function hideDivImage( asImage, cpt )
{
   if( cpt >= 0 )
   {
      var div = document.getElementById( 'clip-' + asImage );
      div.style.clip = 'rect( ' + ( 15 - cpt ) + 'px, ' + ( 15 + cpt ) + 'px, ' + ( 15 + cpt ) + 'px, ' + ( 15 - cpt ) + 'px )';
      setTimeout( "hideDivImage( '" + asImage + "', " + ( cpt - 1 ) + " )", 25 );
   }
}

