var bulleStyle=null
if (!document.layers && !document.all && !document.getElementById)
   event="chut";  //pour apaiser NN3 et autres antiquites

function aideup(idd,evt)
{
var xfenetre,yfenetre,xpage,ypage,element=null;
var offset=20;       // decalage par defaut
var bulleWidth=200;  // largeur par defaut 
var hauteur=50;      // hauteur par defaut
bulleStyle=null;
 
  if (document.layers) {
    bulleStyle=document.layers[idd];
    xpage = evt.pageX ; ypage  = evt.pageY;
    xfenetre = xpage ;yfenetre = ypage ;		
  } else if (document.all) {
    element=document.all[idd]
    xfenetre = evt.x ;yfenetre = evt.y ;
    xpage=xfenetre ; ypage=yfenetre	;	
    if (document.body.scrollLeft) xpage = xfenetre + document.body.scrollLeft ; 
    if (document.body.scrollTop) ypage = yfenetre + document.body.scrollTop;
  } else if (document.getElementById) {
	  element=document.getElementById(idd)
    xfenetre = evt.clientX ; yfenetre = evt.clientY ;
    xpage=xfenetre ; ypage=yfenetre	;	
    if(evt.pageX) xpage = evt.pageX ;
    if(evt.pageY) ypage  = evt.pageY ;
  }
    
  if(element)  bulleStyle=element.style;
		 	
  if(bulleStyle) {
   
    var yp0=ypage;
    var yf0=yfenetre;	 

     /* tests incongrus ˆ cause d'Opera5 */
     if(bulleStyle.width) bulleWidth = parseFloat(bulleStyle.width);
     if(bulleStyle.height) hauteur = parseFloat(bulleStyle.height);
	 
     /* on met la bulle ˆ gauche du pointeur (si c'est possible) 
        et en haut du pointeur si on est assez bas dans l'Žcran */			
     if (xfenetre > bulleWidth+offset) xpage=xpage-bulleWidth-offset;
     else {
         if (xfenetre >0.5*bulleWidth+offset) xpage=xpage-0.5*bulleWidth-offset;
	 else xpage=xpage+15;}
     if ( yfenetre > hauteur+offset ) ypage=ypage-hauteur-offset
     else ypage=ypage+offset;
		 
	/* a cause des debilites d'Opera5 il faut rectifier 'ypage' pour eviter
	   que la bulle ne s'ouvre par-dessus la souris. La bulle s'ouvrira
	   TOUJOURS en bas avec Opera5. Derniere vacherie : il faut faire le test sur
	   bulleStyle.width pour se proteger des distraits qui n'auront pas
	   rempli bulleStyle.height */
			 
	 if (!bulleStyle.width)	ypage=yfenetre+offset;
	 if(typeof(bulleStyle.left)=='string') {
	   bulleStyle.left=xpage+'px'; bulleStyle.top=ypage+'px';  
	 } else {
	  bulleStyle.left=xpage     ; bulleStyle.top=ypage ; }
     bulleStyle.visibility="visible"; 
     bulleStyle.zIndex="99";}
}
 
function aideclose(){
  if(bulleStyle)  bulleStyle.visibility="hidden";
}

