/***********************************************
* Cool DHTML tooltip script II- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
*
* Modified by Omnimedia - 2006
***********************************************/

var offsetfromcursorX=12 //Customize x offset of tooltip
var offsetfromcursorY=10 //Customize y offset of tooltip

var offsetdivfrompointerX=10 //Customize x offset of tooltip DIV relative to pointer image
var offsetdivfrompointerY=14 //Customize y offset of tooltip DIV relative to pointer image. Tip: Set it to (height_of_pointer_image-1).


var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false
if (ie||ns6)
	var tipobj = document.all ? document.all["dhtmltooltip"] : document.getElementById ? document.getElementById("dhtmltooltip") : null

if (tipobj == null)
{
	document.write('<div id="dhtmltooltip"></div>'); //write out tooltip DIV
	document.write('<img id="dhtmlpointerTL" class="dhtmlpointer" src="/shared/class/JavaScript/images/ToolTipArrowTL.gif">'); //write out pointer image
	document.write('<img id="dhtmlpointerTR" class="dhtmlpointer" src="/shared/class/JavaScript/images/ToolTipArrowTR.gif">'); //write out pointer image
	document.write('<img id="dhtmlpointerBL" class="dhtmlpointer" src="/shared/class/JavaScript/images/ToolTipArrowBL.gif">'); //write out pointer image
	document.write('<img id="dhtmlpointerBR" class="dhtmlpointer" src="/shared/class/JavaScript/images/ToolTipArrowBR.gif">'); //write out pointer image
	tipobj = document.all ? document.all["dhtmltooltip"] : document.getElementById ? document.getElementById("dhtmltooltip") : null

	var pointerTLobj=document.all? document.all["dhtmlpointerTL"] : document.getElementById? document.getElementById("dhtmlpointerTL") : ""
	var pointerTRobj=document.all? document.all["dhtmlpointerTR"] : document.getElementById? document.getElementById("dhtmlpointerTR") : ""
	var pointerBLobj=document.all? document.all["dhtmlpointerBL"] : document.getElementById? document.getElementById("dhtmlpointerBL") : ""
	var pointerBRobj=document.all? document.all["dhtmlpointerBR"] : document.getElementById? document.getElementById("dhtmlpointerBR") : ""
	
	var CurrentPointerObj = null;
	
	function ietruebody(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
	}
	
	function ddrivetip(thetext, thewidth, thecolor)
	{
		if (ns6||ie)
		{
			try
			{
				if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px";
				if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor;
				tipobj.innerHTML=thetext;
				enabletip=true;
				return false;
			}
			catch (e) {}
		}
	}
	
	function positiontip(e)
	{
		if (enabletip)
		{
			var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
			var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
			//Find out how close the mouse is to the corner of the window
			var winwidth=ie&&!window.opera? ietruebody().clientWidth : window.innerWidth-20;
			var winheight=ie&&!window.opera? ietruebody().clientHeight : window.innerHeight-20;
			
			var rightedge=ie&&!window.opera? winwidth-event.clientX-offsetfromcursorX : winwidth-e.clientX-offsetfromcursorX;
			var bottomedge=ie&&!window.opera? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY;
			
			var leftedge=(offsetfromcursorX<0)? offsetfromcursorX*(-1) : -1000;
			
			var IsRight = false;
			var IsBottom = false;
			
			//if the horizontal distance isn't enough to accomodate the width of the context menu
			if (rightedge<tipobj.offsetWidth)
			{
				//move the horizontal position of the menu to the left by it's width
				tipobj.style.left=curX-tipobj.offsetWidth+"px";
				IsRight = true;
			}
			else if (curX<leftedge)
			{
				tipobj.style.left="5px";
			}
			else
			{
				//position the horizontal position of the menu where the mouse is positioned
				tipobj.style.left=curX+offsetfromcursorX-offsetdivfrompointerX+"px";
			}
			
			//same concept with the vertical position
			if (bottomedge<tipobj.offsetHeight)
			{
				tipobj.style.top=curY-tipobj.offsetHeight-offsetfromcursorY+"px";
				IsBottom = true;
			}
			else
			{
				tipobj.style.top=curY+offsetfromcursorY+offsetdivfrompointerY+"px";
			}
			
		// Addon Position selon l'orientation
			HideAllArrows(); // Cacher les 4 flèches avant tout
			tipobj.style.visibility="visible";
			if (!IsRight && !IsBottom) // Haut à gauche
			{
				pointerTLobj.style.left=curX+offsetfromcursorX+"px";
				pointerTLobj.style.top=curY+offsetfromcursorY+"px";
				pointerTLobj.style.visibility="visible";
				CurrentPointerObj = pointerTLobj;
			}
			else if (IsRight && !IsBottom) // Haut à Droite
			{
				pointerTRobj.style.left=curX-offsetfromcursorX*2+"px";
				pointerTRobj.style.top=curY+offsetfromcursorY+"px";
				pointerTRobj.style.visibility="visible";
				CurrentPointerObj = pointerTRobj;
			}
			else if (!IsRight && IsBottom) // Bas à gauche
			{
				pointerBLobj.style.left=curX+offsetfromcursorX+"px";
				pointerBLobj.style.top=curY-offsetfromcursorY-2+"px";
				pointerBLobj.style.visibility="visible";
				CurrentPointerObj = pointerBLobj;
			}
			else if (IsRight && IsBottom) // Bas à Droite
			{
				pointerBRobj.style.left=curX-offsetfromcursorX*2+"px";
				pointerBRobj.style.top=curY-offsetfromcursorY-2+"px";
				pointerBRobj.style.visibility="visible";
				CurrentPointerObj = pointerBRobj;
			}
		}
	}
	
	function HideAllArrows()
	{
		pointerTLobj.style.visibility="hidden";
		pointerTRobj.style.visibility="hidden";
		pointerBLobj.style.visibility="hidden";
		pointerBRobj.style.visibility="hidden";
	}
	
	function hideddrivetip()
	{
		if (ns6||ie)
		{
			try
			{
				enabletip = false;
				tipobj.style.visibility = "hidden";
				CurrentPointerObj.style.visibility = "hidden";
				tipobj.style.left = "-1000px";
				tipobj.style.backgroundColor = '';
				tipobj.style.width = '';
			}
			catch (e) {}
		}
	}
	
	document.onmousemove=positiontip
}
