// Javascript used for taxonomy select box

// test type du navigateur
var ns4 = (document.layer)?true:false;			//	NS 4
var ie4 = (document.all)?true:false;			//	IE 4
var dom =(document.getElementById)?true:false;	//	DOM

// function permettant de positionner un div à une position occupée par une ancre

function setToAnchor(id_anchor,name_anchor,id_div){
		
	var divLeft =0;
	var divTop = 0;
	
	var decalageImgSelect = 20; // décalage pour positionner la div en dessous de l'img select 
	
	if(dom){
		pos		=	document.getElementById(id_anchor);
		divLeft	=	getLeft(pos);
		divTop	=	getTop(pos);
		/*
		alert(screen.availHeight)
		alert(divTop);
		alert(screen.height)
		*/
		/*positionnement de la div*/
		document.getElementById(id_div).style.left 	=	divLeft + "px";
		document.getElementById(id_div).style.top 	=	decalageImgSelect+divTop + "px";
	}else if(ie4){
		pos = document.all[id_anchor];
		divLeft	=	getLeft(pos);
		divTop	=	getTop(pos);
		/*positionnement de la div*/		
		document.all(id_div).style.posLeft 	=	divLeft + "px";
		document.all(id_div).style.posTop 	=	divTop + "px";
	}else if(ns4){
		pos = document.anchors[name_anchor];
		divLeft	=	pos.x;
		divTop	=	pos.y;
		/*positionnement de la div*/		
		document.layers[id_div].pageX = divLeft + "px";
		document.layers[id_div].pageY = divTop + "px";
	}
}

// function qui calcule la position par rapport au bord gauche  de la fenetre d'un élément
function getLeft(MyObject){
	if(MyObject.offsetParent)
		return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
	else
		return MyObject.offsetLeft;
}

function getTop(MyObject){
	if(MyObject.offsetParent)
		return (MyObject.offsetTop + getTop(MyObject.offsetParent));
	else
		return MyObject.offsetTop;
}

function show_div_taxonomy()
{
	setToAnchor('img_select_taxonomy','img_select_taxonomy','div_list_taxonomy'); // positionne la div
	document.getElementById('div_list_taxonomy').style.visibility = "visible"; // l'affiche
	
	// declenche le compteur pour cacher si rien sn se passe	
	testTimerDiv(0);

} // fin fct show_div_taxonomy()

// cacher la div
function hide_div_taxonomy()
{
	if ( divOnOff ) // si elle est affichée => on la cache
	{
		document.getElementById('div_list_taxonomy').style.visibility = "hidden";
		divOnOff = 0; // 
	}
} // fin fct hide_div_menu()

function setDivOnOff(i) // signale que la div est active ou pas
{
	divOnOff = i; // à 1 si on, sinon à 0
}

function testTimerDiv(test)
{
	if ( test ) // on décide s'il faut fermer ou pas
	{
		if ( divOnOff == 0 ) // si div est affiché mais pas actif
		{
			divOnOff = 1; // on le rend actif
			hide_div_taxonomy(); // et on le ferme
		}
		clearTimeout(cpt); // et on arrête le compteur
	}
	else // on déclenche le compteur 
		cpt = setTimeout("testTimerDiv(1)",2000);
}

var cpt; // cpt pour le timer
var divOnOff = 0; // par défaut, la div est off


