// (C) Copyrights 2001 eTeks - All rights reserved
// Tested with Windows IE 4.0, IE 5.0, IE 5.5, IE 6, NN 4.0, NN 4.7, NN 6
//             MacOS 9 IE 4.5, IE 5, NN 4.5
//             MacOS X IE 5.1, Safari 1.2
// Checked NN 3.0, Opera 5, HotJava 3 won't display any javascript error

function menuLoader ()
{   
   if (   document.getElementById
       && navigator.appName != 'Netscape'
       && navigator.platform != 'MacPPC') 
     // Build the menu for Win IE 5 in a hidden layer (NN 6 doesn't display applets created in hidden layers)
     buildMenu (false);
   else
     if (   document.layers
         || document.all
         || document.getElementById)
       // Prepare in cache the applet menu
       document.write (new String ('<img src="/classes/images/oldmenu.gif" width=1 height=1 align="left">'));
}
 
function menuContent ()
{
   return new String ('<a href="http://www.eteks.com"><img id="menuElement1" src="/coursjava/images/filler.gif" width="130" height="30" border="0" alt="Page d\'accueil"></a><br>'
     + '<img id="menuElement2" src="/coursjava/images/filler.gif" width="130" height="3"><br>'
     + '<map name="map1Map">'
  	 + '<area shape=rect coords="0,291,129,306" href="/services/cv_f.html">'
  	 + '<area shape=rect coords="0,276,129,290" href="/faq.html">'
  	 + '<area shape=rect coords="0,261,129,275" href="/coursjava/copyrights.html">'
  	 + '<area shape=rect coords="0,246,129,260" href="/contact.html">'
  	 + '<area shape=rect coords="0,231,129,245" href="/services/index.html">'
  	 + '<area shape=rect coords="0,196,129,211" href="/applets/jmine.html">'
  	 + '<area shape=rect coords="0,181,129,195" href="/applets/displayfunction.html">'
  	 + '<area shape=rect coords="0,147,129,162" href="http://www.sweethome3d.com/fr/">'
  	 + '<area shape=rect coords="0,132,129,146" href="/pja/">'
  	 + '<area shape=rect coords="0,116,129,131" href="/jeks/">' 
  	 + '<area shape=rect coords="0,82,129,97" href="/liens.html">'
  	 + '<area shape=rect coords="0,67,129,81" href="/tips/index.html">'
  	 + '<area shape=rect coords="0,52,129,66" href="/coursjava/tdm.html">'
  	 + '<area shape=rect coords="0,37,129,51" href="/services/cahierswing.html">'
  	 + '<area shape=rect coords="0,21,129,36" href="/services/cahierjava.html">'
     + '</map>'
     + ' <img id="menuElement4" usemap="#map1Map" src="/classes/images/oldmenu.gif" width=130'
     + '      height=307 border=0 alt="Menu">');
}

var layer1;

function buildMenu (visible)
{
   if (   layer1 == null
       && navigator.appName != 'Opera') 
     if (document.layers) // NN4
     { 
       layer1 = new Layer (130);
       layer1.document.write (menuContent ());
       layer1.document.close();
       layer1.top = 7; 
       layer1.left = 7; 
       layer1.visibility = visible ? 'show' : 'hide';
       layer1.onMouseOut = hideMenu;
       
       // Need to reset the menu on NN after a resize
       window.onResize = resetMenu;
     } 
     else if (document.getElementById) // IE5 & NN6 
     { 
       layer1 = document.createElement ('div');
       layer1.style.top = 7; 
       layer1.style.left = 7; 
       layer1.style.position = 'absolute';
       layer1.style.visibility = visible ? 'visible' : 'hidden';
       layer1.onmouseout = hideMenu;

       if (navigator.javaEnabled ())
       {
         // Add some sensors to hide the menu at right and bottom of this applet
         // because Netcape 6 and IE 5.0 doesn't fire mouseOut events for an applet
         layer1.style.width = 140;
         layer1.innerHTML = menuContent ()
            + '<img onMouseOver="hideMenu(null)" src="/coursjava/images/filler.gif" width="10" height="307"><br>'
            + '<img onMouseOver="hideMenu(null)" src="/coursjava/images/filler.gif" width="140" height="10">';
       }
       else
       {
         layer1.style.width = 130;
         layer1.innerHTML = menuContent ();
       }

       document.getElementById ('menuPos').appendChild (layer1);
     } 
     else if (document.all) // IE
     {
       document.body.insertAdjacentHTML ('afterBegin',  '<div id="LayerMenu" onMouseOut="hideMenu()" style="position:absolute; width: 130; left: 7; top: 7; visibility:'
                       + (visible ? 'visible' : 'hidden') + '">'
                       + menuContent () 
                       + '</div>');      
       layer1 = document.all['LayerMenu'];
     }

   return layer1;
}

function showMenu () 
{
   var layer = buildMenu (true);
   if (layer)
     if (layer.style)
       layer.style.visibility = 'visible';
     else
       layer.visibility = 'show';
}

function hideMenu (ev) 
{
   var layer = buildMenu (false);
   if (layer)
     if (layer.style)
     {  
       if (ev)
         event = ev;
       if (event)
       {
         var dest = event.toElement
                      ? event.toElement 
                      : event.relatedTarget;
         // Don't hide menu when mouse is on another element of the menu
         if (   !dest // Some browsers don't recognize applet object
             || dest.id.indexOf ('menuElement') != -1
             || dest.tagName == 'AREA')
           return;
       }
        
       layer.style.visibility = 'hidden';
     }
     else
       layer.visibility = 'hide';
}

function resetMenu () 
{
   layer1 = null;
   buildMenu (false);
}

