// ************************************************************
// POUR LE ALT EN DYNAMIQUE HTML - Repris sur le site de MétéoFrance
// Originairement PAR LE STUDIO - ATOS ORIGIN
// ************************************************************

// 1] Détection du navigateur
	var ns4=(document.layers)? true:false;
	var ns6=(document.getElementById)? true:false;
	var ie4=(document.all)? true:false;
	var ie5=false;
	var kq=false;
	if(ie4){
		if((navigator.userAgent.indexOf('MSIE 5')> -1)||(navigator.userAgent.indexOf('MSIE 6')> -1)){
			ie5=true;
		}
		if((navigator.userAgent.indexOf('KHTML')> -1)){
			kq=true; 
			ie4=false;
		}
		if(ns6){
			ns6=false;
		}
	}
var detect = navigator.userAgent+'\r\n'+(ns4?'ns4 ':'')+(ns6?'ns6 ':'')+(kq?'kq ':'')+(ie4?'ie4 ':'')+(ie5?'ie5 ':'') ;
// alert(detect)
var alt_w=0;
var alt_h=0;
var alt_x=-1000;
var alt_y=-1000;

function active_ALTdHTML (bool)
{
	if (bool)
	{
		if (ns4) document.captureEvents(Event.MOUSEMOVE);
		else document.onmousemove = foncAlt;
	}
	else
	{
		if (ns4) document.releaseEvents(Event.MOUSEMOVE);
		else document.onmousemove = null;
	}
}


// 2] Mouvement de la souris - Grand public
function showAlt(txt) {
	active_ALTdHTML(true) ;
	
	/* et vive CSS ! */
	contenu = unescape(txt); 
	/*
	var coulBord = "#000000";
	var coulFond = "#ffff99";
	var coulTxt = "#000000";
	contenu = '<table style="font-family: Arial, Helvetica, sans-serif; font-size: 11px; border: '+coulBord+'; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; background-color: '+coulFond+'" border="0" cellspacing="1" cellpadding="1"><tr><td nowrap><font style="font-family: Arial, Helvetica, sans-serif; font-size: 11px; color: '+coulTxt+'">';
	
	contenu=contenu+unescape(txt)+'</font></td></tr></table> '; 
	*/
	calculeDimDiv(unescape(txt));
	creaAlt(contenu);
	setTimeout('afficheAlt()', 100); // attendre que foncAlt soit appelée par un évènement souris pour positionner le calque avant de l'afficher.
}

function getTailleDiv(txt) {
	var result =0;
	var re = new RegExp ('<br>', 'gi') ;
	var textetmp= txt.replace(re,'<BR>');
	var re2 = new RegExp ('&eacute;', 'gi') ;
	var texte= textetmp.replace(re2,'e');
	var lignes = texte.split("<BR>");
	for (i=0;i< lignes.length;i++) {
		if (lignes[i].length> result) {
			result=lignes[i].length;
		}
	}
	return result*5;
}

function calculeDimDiv(txt) {
	var result =0;
	var textetmp= txt;
	var re = new RegExp ('<br>', 'gi') ;
	textetmp= textetmp.replace(re,'<BR>');
	re = new RegExp ('<br />', 'gi') ;
	textetmp= textetmp.replace(re,'<BR>');
	re = new RegExp ('<br/>', 'gi') ;
	textetmp= textetmp.replace(re,'<BR>');
	re = new RegExp ('&eacute;', 'gi') ;	
	var textetmp= textetmp.replace(re,'e');
	
	var lignes = textetmp.split("<BR>");
	for (i=0;i< lignes.length;i++) {
		if (lignes[i].length> result) {
			result=lignes[i].length;
		}
	}
	alt_w = result*5 + 10;
	alt_h = lignes.length*14 + 10;
}


// 3] Création du contenu du layer
function creaAlt(contenu) {
	if (ie4 || ie5 || ns6 || kq) 
	{
		document.getElementById('ALTdHTML').innerHTML=contenu;
	}
	if (ns4) 
	{
		document.layers["ALTdHTML"].document.write(contenu);
		document.layers["ALTdHTML"].document.close();	}
}
function afficheAlt() {
	if (ie4 || ie5 || ns6 || kq) 
	{
		document.getElementById('ALTdHTML').style.display='';
	}
	if (ns4) 
	{
		document.layers.ALTdHTML.visibility='show';
	}
}
LIMIT =160;
// 4] Positionner le layer
function foncAlt(evt) {

	if (ie4 || ie5) {
		alt_x = event.clientX + document.body.scrollLeft; 
		alt_y = event.clientY + document.body.scrollTop;
	}
	if (ns4) {
		alt_x = (navigator.appName.substring(0,3) == "Net") ? evt.pageX : event.x+document.body.scrollLeft;
		alt_y = (navigator.appName.substring(0,3) == "Net") ? evt.pageY : event.y+document.body.scrollTop;
	}
	if (ns6 || kq) {
		alt_x = evt.clientX + document.body.scrollLeft; 
		alt_y = evt.clientY + document.body.scrollTop;
	}
	positionne() ;
}

function positionne()
{
	if (ie4 || ie5 || ns6 || kq) {
		ce_style = document.getElementById('ALTdHTML').style ;
	}
	else if (ns4) {
		ce_style = document.layers.ALTdHTML ;
	}	
	
	// if (alt_w) {
		if (alt_x+21  > document.body.clientWidth- (alt_w)) {
			ce_left = Math.max(alt_x-alt_w, 0);
		}
		else
		{
			ce_left = alt_x+21
		}
		ce_style.left = ce_left+'px';
	// }
	// if (alt_h) {
		if (alt_y+14  > document.body.clientHeight- (alt_h)) {
			ce_top=Math.max(alt_y-alt_h, 0);
		}
		else
		{
			ce_top = alt_y+14
		}
		ce_style.top= ce_top+'px';
	// }
//	window.status = alt_x+' + ' +alt_w+' < '+document.body.clientWidth+' : '+alt_y +' + '+alt_h+' < '+document.body.clientHeight ;
}
// 5] Effacer le layer
function hideAlt() {
	active_ALTdHTML(false) ;
	alt_x=-1000;
	alt_y=-1000;
	alt_w=0;
	alt_h=0;
	positionne() ;
	if (ie4 || ie5 || ns6 || kq) {
//		document.getElementById('ALTdHTML').style.visibility='hidden';
		document.getElementById('ALTdHTML').style.display='none';
		document.getElementById('ALTdHTML').innerHTML="";
	}
	else if (ns4) {
		document.layers.ALTdHTML.visibility='hide';
		document.layers["ALTdHTML"].document.write("");
		document.layers["ALTdHTML"].document.close();
	}
}
