//------------------------------------------------------------- // Nom Document : GFBULLE.JS //------------------------------------------------------------- // Mise ˆ Jour : 29.05.2006 // Objet : CompatibilitŽ IE6 et DOCTYPE // ----------------------------------------------------------- var DOM = (document.getElementById ? true : false); var IE = (document.all && !DOM ? true : false); var NS4 = (document.layers ? true : false); var NAV_OK = ( DOM || IE || NS4); var NETSCAPE = (navigator.appName == "Netscape"); var Mouse_X; // Position X en Cours de la Mouse var Mouse_Y; // Position Y en Cours de la Mouse var TopIndex = 1; // Z-Index interne var Decal_X = 5; // DŽcalage X entre Pointeur Mouse et Bulle var Decal_Y = 5; // DŽcalage Y entre Pointeur Mouse et Bulle var bBulle= false; // Flag Affichage de la Bulle list_bulle = new Array() ; list_bulle[0] = "" ; //--------------------- function GetObjet(div_){ if( DOM) return document.getElementById(div_); if( IE) return document.all[div_]; if( NS4) return document.layers[div_]; } //--------------------- function GetStyle(div_){ return (NS4 ? GetObjet(div_) : GetObjet(div_).style); } //--------------------- function ObjHide( div_){ var Obj = null; if( div_){ Obj = GetStyle( div_); if( Obj){ Obj.visibility= "hidden"; } } return(true); } //------------------------- function ObjShow( div_, z_){ var Obj = null; if( div_){ Obj = GetStyle( div_); if( Obj){ Obj.visibility = "visible"; if( arguments[1] != null) Obj.zIndex = z_; else Obj.zIndex = TopIndex++; } } return(true); } //----------------------------- function ObjWrite( div_, html_){ var Obj; Obj = GetObjet( div_); if( Obj) with( Obj){ if( !NS4){ innerHTML = html_; } else{ document.open(); document.write( html_); document.close(); } } } //------------------------------- function ObjMoveTo( div_, x_, y_){ var Obj = null; var Arg = arguments; if( div_){ Obj = GetStyle( div_); if( Obj){ if( Arg[1] != null) Obj.left = x_ +"px"; if( Arg[2] != null) Obj.top = y_ +"px"; } } } //------------------------------------ // Mise ˆ Jour : 29.05.2006 //------------------------------------ function ObjShowAll( div_, x_, y_, z_){ var Obj = GetObjet( div_); var DocRef; var MaxX, MaxY; var Top, Left; var Haut, Larg; var SavY = y_; if( Obj){ //-- RŽcup. dimension fentre et DIV if( NETSCAPE){ with( window){ Left = pageXOffset; Top = pageYOffset; MaxX = innerWidth; MaxY = innerHeight; if( MaxX > document.width) MaxX = document.width; if( MaxY > document.height) MaxY = document.height; MaxX += Left; MaxY += Top; } if( NS4){ Larg = Obj.clip.width; Haut = Obj.clip.height; } else{ Larg = Obj.offsetWidth; Haut = Obj.offsetHeight; } } else{ if( document.documentElement && document.documentElement.clientWidth) DocRef = document.documentElement; else DocRef = document.body; with( DocRef){ Left = scrollLeft; Top = scrollTop; MaxX = Left + clientWidth; MaxY = Top + clientHeight; } Larg = Obj.scrollWidth; Haut = Obj.scrollHeight; } //-- RŽajuste dimension fentre MaxX -= Larg; MaxY -= Haut; //-- Application Bornage if( x_ > MaxX) x_ = MaxX; if( x_ < Left) x_ = Left; if( y_ > MaxY) y_ = MaxY; if( y_ < Top) y_ = Top; //-- si en bas On rŽajuste //-- pour que la bulle ne prenne pas le focus if( y_== MaxY){ var DeltaY = MaxY -SavY; y_ = MaxY - DeltaY -Haut -2*Decal_Y; } //-- On place la Bulle ObjMoveTo( div_, x_, y_); ObjShow( div_, z_); } } //------------------------ function BulleWrite( txt_){ var Obj; var Html; Obj = GetObjet( 'Bulle'); if( Obj){ Html = "
" ; Html += "
"; Html += "
"; Html += txt_; Html += "
"; ObjWrite ('Bulle', Html); ObjShowAll('Bulle', Mouse_X +Decal_X, Mouse_Y +Decal_Y, 1000); bBulle= true; return( true); } return(false); } //------------------ function BulleHide(){ ObjWrite ('Bulle', " "); ObjHide ('Bulle'); ObjMoveTo('Bulle', 0, 0); bBulle= false; return(true); } //------------------------------------ // Mise ˆ Jour : 29.05.2006 //------------------------------------ function WhereMouse(e){ var DocRef; if( NETSCAPE){ Mouse_X = e.pageX; Mouse_Y = e.pageY; } else{ if( document.documentElement && document.documentElement.clientWidth) DocRef = document.documentElement; else DocRef = document.body; Mouse_X = event.clientX +DocRef.scrollLeft; Mouse_Y = event.clientY +DocRef.scrollTop; } //-- La bulle est affichŽe on la MOVE if( bBulle) ObjShowAll('Bulle', Mouse_X +Decal_X, Mouse_Y +Decal_Y, 1000); } //== INITIALISATION ================================== //-- Capture Souris events --------------------------- if( NETSCAPE) window.captureEvents( Event.MOUSEMOVE); document.onmousemove = WhereMouse; //-- CrŽation STYLE Bulle et DIV---------------------- // Nota : pour NS4 le DIV doit faire parti du document var Html; //-- On met du style pour la bulle Html = ''; document.write( Html); //-- CrŽation du DIV Bulle if( !NS4){ Html =''; document.write( Html); } //-- EOF ------------------------------------------------------