var FFAlign="Center";	// Left | Right | Center
var FFXOff=0;
var FFYOff=20;
var FF_MouseX;
var FF_MouseY;
var zeFF;
var FF_Name;

var FFWidth=200;
var FFBdColor="#000000";
var FFBdWidth=2;
var FFBgColor="#FFFFBB";
var FFPadding=2;

var FFVis=0;
var FFOldVis=0;

CatchMouse();

/****************************************/
/* Capture les mouvements de souris:	*/
/****************************************/
function CatchMouse()
{
	if((ns4) || (ElById) )
	{
		if(ie6 || ie7)
			document.attachEvent('onmousemove',mouseMove);
		else
			document.onmousemove = mouseMove;
		if (ns4 || ns5) document.captureEvents(Event.MOUSEMOVE);
	}
}

/****************************************/
/* Définit l'objet FlyingFrame:			*/
/****************************************/
function SetFF(Name)
{
	FF_Name=Name;
	if((ns4) || (ElById))
	{
		if (ns4) zeFF = document[Name];
		if (ElById) zeFF = document.getElementById(Name).style;
	}
}

/****************************************/
/* Renvoie l'objet FlyingFrame:			*/
/****************************************/
function GetFF(Name)
{
	if((ns4) || (ElById) )
	{
		if (ns4) return document[Name];
		if (ElById) return document.getElementById(Name);
	}
}

/****************************************/
/* Si la souris bouge:					*/
/****************************************/
function mouseMove(e)
{
	if( (ns4) || (ElById) )
	{
		if(!FFVis && FFOldVis)
			HideFF();
		if(FFVis && !FFOldVis)
			ShowFF();
		FFOldVis=FFVis;
			
		if(ns4){x=e.pageX; y=e.pageY;}
		if(ns5){x=e.pageX; y=e.pageY;}
		if(ie4){x=event.x; y=event.y;}
		if((ie5)||(ie6)||(ie7)){x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}

		if(FFVis)
		{
			FFWidth=GetFF(FF_Name).clientWidth;
			FFHeight=GetFF(FF_Name).clientHeight;
			if(y+FFYOff+FFHeight>document.body.clientHeight)
			{
				if(x+FFXOff+FFWidth>document.body.clientWidth)
					FFAlign="Left";
				else
					FFAlign="Right";
				FFXOff=30;
				yOff=document.body.clientHeight-FFHeight;
			}
			else
			{
				if(x+FFXOff+FFWidth>document.body.clientWidth)
				{
					FFXOff=30+x-document.body.clientWidth;
					FFAlign="Left";
				}
				else
				{
					FFXOff=0;
					FFAlign="Center";
				}
				yOff=y+FFYOff;
			}
			
			if(FFAlign == "Center")
				MoveFF(x+FFXOff-(FFWidth/2),yOff);
			if(FFAlign == "Right")
				MoveFF(x+FFXOff,yOff);
			if(FFAlign == "Left")
				MoveFF(x-FFXOff-FFWidth,yOff);
		}

		FF_MouseX=x;
		FF_MouseY=y;
	}
}

/****************************************/
/* Vire le FlyingFrame:					*/
/****************************************/
function KillFF()
{
	FFVis=0;
//	HideFF();
}

/****************************************/
/* Active le flying frame:				*/
/****************************************/
function FlyingFrame(FFName)
{
	if( (ns4) || (ElById) )
	{
		SetFF(FFName);
//		ShowFF();
		FFVis=1;
	}
}


/****************************************/
/* Affiche le FlyingFrame:				*/
/****************************************/
function ShowFF()
{
	if(ns4)zeFF.visibility='show';
	if(ElById)zeFF.visibility="visible";
}

/****************************************/
/* Cache le FlyingFrame:				*/
/****************************************/
function HideFF()
{
	if(ns4)zeFF.visibility='hide';
	if(ElById)zeFF.visibility="hidden";
}

/****************************************/
/* Déplace le FlyingFrame:				*/
/****************************************/
function MoveFF(xPos,yPos)
{
	if( (ns4) || (ElById) )
	{
		zeFF.left = xPos;
		zeFF.top = yPos;
	}
}

