/* Trouve le navigateur courant: */
/*-------------------------------*/
ns4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) == 4);
ns5 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 5);
ie4 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) >= 4);
ie5 = (navigator.appVersion.indexOf('MSIE 5')>0);
ie6 = (navigator.appVersion.indexOf('MSIE 6')>0);
ElById = document.getElementById;

/* Capture la souris: */
/*--------------------*/
CatchMouse();

/****************************************************/
/* Ecrit dans un élément (DIV ou Layer).			*/
/****************************************************/
function WriteInElem(ID_Name,Text)
{
	if(ns4)
	{
		var Layer = document.layers[ID_Name].document;
		Layer.write(Text);
		Layer.close();
		return;
	}
	if(ElById)
	{
		document.getElementById(ID_Name).innerHTML = Text;
		return;
	}
	if(ie4)
	{
		document.all(ID_Name).innerHTML = Text;
		return;
	}
}

/****************************************************/
/* Affiche un élément.								*/
/****************************************************/
function ShowElem(Name)
{
	if(ns4)document.layers[Name].visibility='show';
	if(ElById)document.getElementById(Name).style.visibility="visible";		
}

/****************************************************/
/* Cache un élément.								*/
/****************************************************/
function HideElem(Name)
{
	if(ns4)document.layers[Name].visibility='hide';
	if(ElById)document.getElementById(Name).style.visibility="hidden";		
}

/****************************************************/
/* Déplace un élément.								*/
/****************************************************/
function MoveElem(Name,xPos,yPos)
{
	var zeElem;
	
	if (ns4) zeElem = document.layers[Name];
	if (ElById) zeElem = document.getElementById(Name).style;
	
	zeElem.left = xPos;
	zeElem.top = yPos;
}

/****************************************************/
/* Capture la souris.								*/
/****************************************************/
function CatchMouse()
{
	if((ns4) || (ElById) )
	{
		document.onmousemove = mouseMove;
		if (ns4 || ns5) document.captureEvents(Event.MOUSEMOVE);
	}
}

/****************************************************/
/* Fonction de déplacement de la souris.			*/
/****************************************************/
function mouseMove(e)
{
	if(ns4){x=e.pageX; y=e.pageY;}
	if(ns5){x=e.pageX; y=e.pageY;}
	if(ie4){x=event.clientX; y=event.clientY;}

	if(SM_Visible)
	{
		if(	(x>SM_Bounding_Rect.right)||
			(x<SM_Bounding_Rect.left)||
			(y>SM_Bounding_Rect.bottom)||
			(y<SM_Bounding_Rect.top))
		{
			var Tmp=new Date;
			if(OutTime==0)
			{
				OutTime=Tmp.getTime();
			}
			else
			{
				if(Tmp.getTime()-OutTime>SubMenuTimeOut)
					HideSubMenu();
			}
		}
		else
		{
			OutTime=0;
		}

	}
}


/****************************************************/
/* Affiche un SubMenu.								*/
/****************************************************/
function ShowSubMenu(Num,Obj)
{
	SM_Obj=Obj;
	if (Obj.getBoundingClientRect) {
		SM_Bounding_Rect = Obj.getBoundingClientRect();
	} else {
		var pobj = Obj;
		var curleft = curtop = 0;
		do{			
			curleft += pobj.offsetLeft;
			curtop += pobj.offsetTop;
		}while (pobj = pobj.offsetParent);
		
		SM_Bounding_Rect = new Object();
		SM_Bounding_Rect.right = curleft + Obj.offsetWidth;	
		SM_Bounding_Rect.top = curtop;	
	}
	OutTime=0;
	Text  = "<Table onmouseover='MouseOverSubMenu(this);' onmouseout='MouseOutSubMenu();' border=0 cellpadding=0 cellspacing=0 style=\"background-color:#F8B91C;color:#000000;border-left: 1px solid #263B96;border-right: 1px solid #263B96;border-top: 1px solid #263B96;\">";
	for(TextID in SM_Text[Num])
	{
		Text += "<Tr>";
			Text += "<Td height=20 class=SubMenu width=160 align=center style=\"border-bottom: 1px solid #263B96;\">";
				Text += "<a style=\"color:#000000;text-decoration:none;\" href=\"" + SM_Link[Num][TextID] + "\">" + SM_Text[Num][TextID] + "</a>";
			Text += "</Td>";
		Text += "</Tr>";
	}
	Text += "</Table>";

	WriteInElem("SubMenu",Text);
	if((ie5)||(ie6))
	{
		x_ofs=document.body.scrollLeft;
		y_ofs=document.body.scrollTop;
	}
	else
	{
		x_ofs=0;
		y_ofs=0;	
	}
	MoveElem("SubMenu",SM_Bounding_Rect.right-143+x_ofs,SM_Bounding_Rect.top+21+y_ofs);
	ShowElem("SubMenu");
//	if(!ie6)HideElem("TxtFrameID");
	SM_Visible=1;
	CatchMouse();
}

/****************************************************/
/* Cache un SubMenu.								*/
/****************************************************/
function HideSubMenu()
{
	SM_Visible=0;
	HideElem("SubMenu");
	if(!ie6)ShowElem("TxtFrameID");
}

/****************************************************/
/* Si la souris passe sur le SubMenu.				*/
/****************************************************/
function MouseOverSubMenu(Obj)
{
	OutTime=0;
	if (Obj.getBoundingClientRect) {
		SM_Bounding_Rect = Obj.getBoundingClientRect();
	} else {
		var pobj = Obj;
		var curleft = curtop = 0;
		do{			
			curleft += pobj.offsetLeft;
			curtop += pobj.offsetTop;
		}while (pobj = pobj.offsetParent);
		
		SM_Bounding_Rect = new Object();
		SM_Bounding_Rect.right = curleft + Obj.offsetWidth;	
		SM_Bounding_Rect.top = curtop;	
	}
}

/****************************************************/
/* Si la souris sort du SubMenu.					*/
/****************************************************/
function MouseOutSubMenu()
{
	var Tmp=new Date;
	if(OutTime==0)
	{
		OutTime=Tmp.getTime();
	}
	else
	{
		if(Tmp.getTime()-OutTime>SubMenuTimeOut)
			HideSubMenu();
	}
}

