// (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_en.gif" width=1 height=1 align="left">'));
}
 
function menuContent ()
{
   return new String ('<a href="http://www.eteks.com/index_us.html"><img id="menuElement1" src="/coursjava/images/filler.gif" width="130" height="30" border="0" alt="Home page"></a><br>'
     + '<img id="menuElement2" src="/coursjava/images/filler.gif" width="130" height="3"><br>'
     + '<map name="map1Map">'
     + '<area shape=rect coords="0,166,129,181" href="/services/cv_us.html">' 
     + '<area shape=rect coords="0,151,129,165" href="/copyrights_en.html">' 
     + '<area shape=rect coords="0,136,129,150" href="/contact_en.html">' 
     + '<area shape=rect coords="0,101,129,115" href="/applets/jmine_en.html">' 
     + '<area shape=rect coords="0,86,129,100" href="/applets/jeksdisplay_en.html">' 
     + '<area shape=rect coords="0,51,129,65" href="http://www.sweethome3d.eu/">'
     + '<area shape=rect coords="0,36,129,50" href="/pja/en/">'
     + '<area shape=rect coords="0,21,129,35" href="/jeks/en/"></map>'
     + '<img id="menuElement4" usemap="#map1Map" src="/classes/images/oldmenu_en.gif" width=130'
     + '     height=181 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="181"><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);
}
