// ATTENTION : CETTE VERSION N'EST PAS LA MÊME QUE CELLE DE SIFACILE -> NE PAS LA MODIFIER !
// ----- Code javascript de gestion de menus au survol ou d'infobulles
// cross browser, transparence progressive. 1 seule infobulle ouverte à l'instant t : l'ouverture 
// d'une autre infobulle provoque la fermeture de la précédente éventuelle
// fermeture sur le mouse_out.

var sf_IE=document.all;
var sf_NS=!sf_IE && self.document.layers;
var sf_NS6=!sf_IE && document.getElementById;
var sf_MAC= navigator.appVersion.indexOf("Mac")>-1;
var sf_bon='';		// mémo du nom des bulles ouverte
var sf_bopac=0;		// opacité de la bulle en cours
var sf_bdel,sf_refresh,sf_bblstep=0;
var sf_docbubble=Array();	// mémo des bulles, pour affichage à la fin du document

// ouverture de la bulle d'infos (x=1) ou fermeture avec inertie (x=0)
// inertie nécessaire pour permettre un déplacement facile de la souris vers la bulle
// s=step de transparence chaque 25 msec
function sf_bulle(name,x,s,m,start) {
	if(!x) {
		clearTimeout(sf_refresh);
		sf_bdel=setTimeout('sf_bdisplay("' + name + '",0)',150);
	}
	else {
		clearTimeout(sf_bdel);
		if(!m) var m=false;
		if(!start) var start=0
		sf_bdisplay(name,1,s,m,start);
	}
}

function sf_bdisplay(name,x,s,ok_move,start) {	// x=0/1 (éteindre - allumer)
											// s=step+ de transparence (0..100) chaque 25 msec (0 -> pas de transparence progressive)
											// ok_move = true/false : déplacer pour tenir à l'écran (true)
	if(!x) {	// Extinction
		if(sf_bon==name) {
			if(sf_IE && document.all[name]) document.all[name].style.display='none';
			else if(sf_NS && document.layers[name]) document.layers[name].visibility='hide';
			else if(sf_NS6 && document.getElementById(name)) document.getElementById(name).style.display='none';
			sf_bopac=0;sf_bon='';sf_bblstep=0;
		}
	}
	else {		// allumage ou poursuite de la transparence
		if(sf_bon && sf_bon!=name) {
			clearTimeout(sf_refresh);
			sf_bdisplay(sf_bon,0);	// Allumage nouvelle bulle -> extinction immédiate de l'ancienne
		}
		if(document.getElementById(name)) {
			var x=document.getElementById(name).style
			if(s==-1) s=sf_bblstep; else sf_bblstep=s;
			if(sf_bon) ok_move=false		// déplacement auto : uniquement avant l'ouverture
			if(!sf_bopac || !s) {
				var ok_display=true			// demande que le bubble soit rendu visible
				sf_bon=name;
				if(!sf_bopac) {if(!start) var start=0;sf_bopac=start}
			} else var ok_display=false
			if(sf_bopac<99) {
				sf_bopac+=(s? s : 99);
				if(sf_bopac>99) sf_bopac=99;
				x.filter='alpha(opacity='+sf_bopac+')';x.opacity=sf_bopac/100
				if(ok_display && !ok_move) x.display='block'
				if(sf_bopac<99) sf_refresh=setTimeout('sf_bdisplay("' + name + '",2,' + s +')',25);
//			else for(var i in document.body) alert(i+' -> '+document.body[i])
			}
		}
	}
}


function sf_putbulle(name,content,x,y) {
	if(!x) var x=0;
	if(!y) var y=0;
	txt=  '<div id="'+name+'" style="z-index:999;position:absolute;left:'+x+'px;top:'+y+'px;display:none"'
		+ ' onmouseover="sf_bulle(\''+name+'\',1,-1)"'
		+ ' onmouseout="sf_bulle(\''+name+'\',0)">'
		+ content
		+ '<'+'/div>';
	document.write(txt);
}
