
function showToolTip(strHelp, strSide) 
{
	strSide = (strSide == undefined) ? 'BR' : strSide.substr(0, 1);
	strSide = strSide.toUpperCase();

	try
	{
		divToolTip.innerHTML = strHelp;

		var intOffsetX = 0;
		var intOffsetY = 0;
		var intWidth = divToolTip.offsetWidth;
		var intHeight = divToolTip.offsetHeight;

		if (divToolTip.style.visibility != "visible")
		{
			var intX = 0;
			var intY = 0;
			var intMaxX = document.body.clientWidth - (intWidth + 5);
			var intMaxY = document.body.clientHeight - (intHeight + 5);
			
			var intPass = 0;
			var strSides = strSide + ',R,L,BR,BL,TR,TL,B,T'
			var arrSides = strSides.split(',');

			while (intPass < 9)
			{
				strSide = arrSides[intPass];

				switch (strSide)
				{
					case 'B':
						intOffsetX = -(intWidth / 2);
						intOffsetY = 20;
						break;
					case 'BL':
						intOffsetX = -(intWidth + 20);
						intOffsetY = 20;
						break;
					case 'BR':
						intOffsetX = 20;
						intOffsetY = 20;
						break;
					case 'L':
						intOffsetX = -(intWidth + 20);
						intOffsetY = -(intHeight / 2);
						break;
					case 'R':
						intOffsetX = 20;
						intOffsetY = -(intHeight / 2);
						break;
					case 'T':
						intOffsetX = -(intWidth / 2);
						intOffsetY = -(intHeight + 20);
						break;
					case 'TL':
						intOffsetX = -(intWidth + 20);
						intOffsetY = -(intHeight + 20);
						break;
					case 'TR':
						intOffsetX = 20;
						intOffsetY = -(intHeight + 20);
						break;
				}

				// Constrain Position to fit within screen
				intX = event.clientX + intOffsetX;
				intY = event.clientY + intOffsetY;

				if ((0 <= intX) && (intX <= intMaxX) && (0 <= intY) && (intY <= intMaxY)) break;

				intPass += 1;
			}

			divToolTip.style.pixelLeft = intX;
			divToolTip.style.pixelTop = intY;
			divToolTip.style.visibility = 'visible';
		}
	}
	catch(e){window.alert(e);}
}

function getElementHelpText(el)
{
	while (el)
	{
		if (el.helpText) return el.helpText;
		el = el.parentElement;
	}

	return null;
}

function hideHelp()
{
	divToolTip.style.visibility = 'hidden';
	divToolTip.innerHTML = '';
}

function showHelp()
{
	var el = event.srcElement;
	if (!el) return;

	var strHelp = getElementHelpText(el);
	if (strHelp) showToolTip(strHelp);
}




