
//
// Browser Detection
//
isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;
NS4 = (document.layers) ? true : false;
IEmac = ((document.all)&&(isMac)) ? true : false;
IE4plus = (document.all) ? true : false;
IE4 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 4.")!=-1)) ? true : false;
IE5 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 5.")!=-1)) ? true : false;
NS6 = (document.getElementById) ? true : false;
ver4 = (NS4 || IE4plus) ? true : false;


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { 
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}



// Generic Layer Object Functions

// Make an object visible
function showObject(obj) 
{
        if (NS4) obj.visibility = "show";
        else if ((IE4plus) || (NS6)) obj.visibility = "visible";
}

// Hides an object
function hideObject(obj) 
{
        if (NS4) obj.visibility = "hide";
        else if (IE4plus) obj.visibility = "hidden";
        else if (NS6) obj.visibility = "hide";
}

function switchObject(obj) 
{
        if (NS4 && obj.visibility == "hide") obj.visibility = "show";
        else if (IE4plus && obj.visibility == "hidden") obj.visibility = "visible";
        else if (NS6 && obj.visibility == "hide") obj.visibility = "visible";

        if (NS4 && obj.visibility == "show") obj.visibility = "hide";
        else if (IE4plus && obj.visibility == "visible") obj.visibility = "hidden";
        else if (NS6 && obj.visibility == "visible") obj.visibility = "hide";
}

// Move a layer
function moveTo(obj,xL,yL) 
{
        obj.left = xL;
        obj.top = yL;
}


//
// MouseTip2 Methods
//

function MouseTip2_ShowNew()
{
	this.WriteLayer();
	this.Show();
}

function MouseTip2_Hide()
{
	if ( (NS4) || (IE4plus) ) 
	{
		this.snow = 0;
		hideObject(this.over);
	}
}

function MouseTip2_Show() 
{
	if ( (NS4) || (IE4plus) || (NS6) ) 
	{
		if (this.snow == 0) 	
		{
			if (this.dir == 2) 
			{ // Center
				moveTo(this.over,this.x+MouseTip2.offsetX-(MouseTip2.width/2),this.y+MouseTip2.offsetY);
			}
			if (this.dir == 1) 
			{ // Right
				moveTo(this.over,this.x+MouseTip2.offsetX,this.y+MouseTip2.offsetY);
			}
			if (this.dir == 0) 
			{ // Left
				moveTo(this.over,this.x-MouseTip2.offsetX-MouseTip2.width,this.y+MouseTip2.offsetY);
			}
			showObject(this.over);
			this.snow = 1;
		}
	}
}


// Writes to a layer
function MouseTip2_WriteLayer() 
{
        if (NS4) 
        {
                var lyr = eval(MouseTip2.divPath).document;
                lyr.write(this.txt);
                lyr.close();
        }
        else if (IE4plus) 
			document.all["overDiv"].innerHTML = this.txt;
        else if (NS6) 
			document.getElementById("overDiv").innerHTML = this.txt;

}

function MouseTip2_AddTip(type,tipText,tipDroits)
{
	var tip = new Object();
	tip.type = type;
	tip.text = tipText;
	tip.droits = tipDroits;
	MouseTip2.tips[MouseTip2.tips.length] = tip;
}

function MouseTip2_GetTip(type)
{
	var tip = null;
	
	for (i=0; i < MouseTip2.tips.length; i++)
	{
		if (MouseTip2.tips[i].type==type)
		{
			tip = MouseTip2.tips[i];
			break;
		}
	}
	return tip;
}



function MouseTip2(type,dir,x,y)
{
	if ( navigator.appName.substr(0,2) == "Mi" ) {
		this.x = x;
		this.y = y;
	} else {
    	document.getElementById("overDiv").style.left = x + 'px';
    	document.getElementById("overDiv").style.top = y + 'px';
    }
	this.snow = 0;
	this.dir = dir;
	this.over = null;
	
	this.ShowNew = MouseTip2_ShowNew;
	this.Hide = MouseTip2_Hide;
	this.Show = MouseTip2_Show;
	this.WriteLayer = MouseTip2_WriteLayer;

	if ( (NS4) || (IE4plus) || (NS6) ) 
	{
			if (NS4) this.over = eval(MouseTip2.divPath);
			if (IE4plus) this.over = document.all["overDiv"].style;
			if (NS6) this.over = document.getElementById("overDiv").style;
	}

	var tip = MouseTip2.GetTip(type);
		this.txt = '<strong>' + tip.text + '</strong>'+ tip.droits +'';
	
}


MouseTip2.current = null;
MouseTip2.tips = new Array();
//MouseTip2.bgColor = "#CCCCFF";
MouseTip2.borderColor = "#42316B";
MouseTip2.width = 200
MouseTip2.borderWidth = 1;
MouseTip2.offsetX = 10;
MouseTip2.offsetY = 10;
MouseTip2.divPath = "document.overDiv";

MouseTip2.AddTip = MouseTip2_AddTip;
MouseTip2.GetTip = MouseTip2_GetTip;


function ShowMouseTip2(obj,e,type,retraitx,retraity)
{
    var x = 0;
    var y = 0;
    if (!e) { var e = window.event||window.Event; }
    if ( navigator.appName.substr(0,2) == "Mi" ) {
        x = event.clientX + document.documentElement.scrollLeft + 15;
        y = event.clientY + document.documentElement.scrollTop + 15;
    } else {    
        x=e.pageX - 100;
        y=e.pageY;
    }
    x = x - retraitx
    y = y - retraity
    MouseTip2.current = new MouseTip2(type,1,x,y);
    MouseTip2.current.ShowNew();
}

function HideMouseTip2()
{
	if ( (NS4) || (IE4plus) ) 
	{
		if (MouseTip2.current) {
			MouseTip2.current.Hide();
		}else{
			MM_showHideLayers('overDiv','','hide')
		}
	}else {
		MM_showHideLayers('overDiv','','hide')
	}
}
