/********************** TOOL TOP STUFFS **************************/	
var offsetxpoint=-10 //Customize x offset of tooltip
var offsetypoint=10 //Customize y offset of tooltip
var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false
var currentDivName; // needed for multiple tool tip divs
var isHideSearchTip=false;

document.onmousemove=positiontip
//	document.onmousemove=watchHideTip
function ietruebody()
{	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
function showtip(divname, thetext, thecolor, thewidth)
{	
	if(!isHideSearchTip) // BSE - to fix tip not being hidden when fetching text from remote
	{		
		currentDivName = divname;	
		if (ie||ns6)
			var tipobj=document.all? document.all[divname] : document.getElementById? document.getElementById(divname) : ""
		if (ns6||ie)
		{	if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
			if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
			if(thetext)
			{
				tipobj.innerHTML=thetext
				enabletip=true
			}
			return false
		}
	}	
	isHideSearchTip = false;	
}

function positiontip(e)
{
	if (ie||ns6)
		var tipobj=document.all? document.all[currentDivName] : document.getElementById? document.getElementById(currentDivName) : ""
	if(tipobj)
	{			
		if (enabletip)	
		{	
			var curX=getmousepos(e).x;
			var curY=getmousepos(e).y;
			//Find out how close the mouse is to the corner of the window
			var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20
			var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-5

			var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000

			//if the horizontal distance isn't enough to accomodate the width of the context menu
//			if (rightedge<tipobj.offsetWidth)


			if (1)
                {
				//move the horizontal position of the menu to the left by it's width
				tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+offsetxpoint+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+offsetxpoint+"px"
                
                if ((ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+offsetxpoint : window.pageXOffset+e.clientX-tipobj.offsetWidth+offsetxpoint)<5)
                    tipobj.style.left="5px"
                
				//stay left but also stay inside
//				tipobj.style.left=curX+offsetxpoint+"px"-rightedge
                }
			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+offsetxpoint+"px"

			//same concept with the vertical position
			if (bottomedge<tipobj.offsetHeight)
//				tipobj.style.top=ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px"
				tipobj.style.top=curY+offsetypoint-(tipobj.offsetHeight-bottomedge)+"px"
			else
				tipobj.style.top=curY+offsetypoint+"px"
			tipobj.style.visibility="visible"
		}
		else
			tipobj.style.visibility="hidden"
	}
}

function getmousepos(e) {
    var tempX = 0;
    var tempY = 0;
    if (window.event) {
        if (document.documentElement && document.documentElement.scrollTop) {
            tempX = window.event.clientX + document.documentElement.scrollLeft;
            tempY = window.event.clientY + document.documentElement.scrollTop;
        } else {
            tempX = window.event.clientX + document.body.scrollLeft;
            tempY = window.event.clientY + document.body.scrollTop;
        }
    } else {
        tempX = e.pageX;
        tempY = e.pageY;
    }
    return {x:tempX, y:tempY};
}

function hidetip()
{
	if (ns6||ie)
	{
		if (ie||ns6)
			var tipobj=document.all? document.all[currentDivName] : document.getElementById? document.getElementById(currentDivName) : ""
		enabletip=false			
		if(tipobj)
			tipobj.style.visibility="hidden"			
	}
}

function hideSearchTip()
{
	//BSE -06/07/2005 extra hide function to catch the delay when processing tooltip from remote call
	// also had to modify Showtip for this reason to check isHideSearchTip.
	isHideSearchTip=true;	
	hidetip();
}
