﻿// JScript File
function showToolTip(text, width) {

	followMouse();
	document.getElementById('globalToolTip').innerHTML = text;
	
	if ( typeof width != 'undefined' ) // This makes the width parameter optional
		document.getElementById('globalToolTip').style.width = width + 'px';	
		
}

function hideToolTip() {
	document.getElementById('globalToolTip').style.visibility = 'hidden';
	document.onmousemove = '';
}

function followMouse() {

	var divName = 'globalToolTip';
	tip = document.getElementById(divName);
	
	var offX = 15;          // X offset from mouse position
	var offY = 15;			// Y offset from mouse position
	
	function mouseX(evt) {
	
		if (!evt) 
			evt = window.event; 
			
		if (evt.pageX)
			return evt.pageX; 
			
		else if (evt.clientX)
			return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); 
			
		else return 0;					
			
	}
	
	function mouseY(evt) {
	
		if (!evt) 
			evt = window.event; 
			
		if (evt.pageY) 
			return evt.pageY; 
			
		else if (evt.clientY)
			return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); 
			
		else return 0;}

	function follow(evt) {
	
		if (document.getElementById) {
		
			var docWidth = 1024; // Default, in case it is not set
			var docHeight = 768; // Default, in case it is not set
		
			// Getting width and height of viewport
			if ( typeof document.documentElement.offsetHeight != 'undefined' && ( document.documentElement.offsetHeight != 0 )  ) {								
				docHeight = document.documentElement.clientHeight;
				docWidth = document.documentElement.offsetWidth;	
			}
			else {
				docHeight = document.documentElement.clientHeight;
				docWidth = document.documentElement.clientWidth;
			}
			
			// This code makes it bump to the left of the mouse if it's about to go out of the screen
			if ( (mouseX(evt) + parseInt(tip.offsetWidth) + offX) >= docWidth )
				offX = 0 - parseInt(tip.offsetWidth) - 15;		

			// This code makes it bump above the mouse if the content is about to go out of the screen				
			if ( (mouseY(evt) + parseInt(tip.offsetHeight) + offY) >= docHeight )				
				offY = 0 - parseInt(tip.offsetHeight) - 15;		
							
			tip.style.left = (parseInt(mouseX(evt)) + offX) + 'px';
			tip.style.top = (parseInt(mouseY(evt)) + offY) + 'px';
			document.getElementById('globalToolTip').style.visibility = 'visible';
			
		}
		
	}
	
	document.onmousemove = follow;	

}