	var IE;
	var mouseX;
	var mouseY;
	var ToolTips;

	function captureMouse() {
		IE = document.all?true:false
		if (!IE) document.captureEvents(Event.MOUSEMOVE)
		document.onmousemove = getmouseXY;
	}

	function getmouseXY(e) {
		if (IE) {
			mouseX = event.clientX + document.documentElement.scrollLeft;
			mouseY = event.clientY + document.documentElement.scrollTop;
		} else {
			mouseX = e.pageX;
			mouseY = e.pageY;
		}  
		if (mouseX < 0) mouseX = 0;
		if (mouseY < 0) mouseY = 0;
		return true;
	}

	function createToolTip(element) {
		element.previousClassName = element.className;
		element.className = element.className + 'Hover';
		var tooltip = document.getElementById('ToolTip' + element.index);
		if (tooltip == null) {
			tooltip = document.createElement('div');
			tooltip.id = 'ToolTip' + element.index;
			tooltip.className = element.tooltipClassName;
			tooltip.innerHTML = ToolTips[element.index];
			tooltip.style.position = 'absolute';
			tooltip.style.left = (mouseX) + 'px';
			tooltip.style.top = (mouseY + 20) + 'px';
			tooltip.style.display = 'none';
			document.body.appendChild(tooltip);
			setTimeout('showToolTip(\'ToolTip' + element.index + '\');', 500);
		}
	}
	
	function showToolTip(id) {
		var tooltip = document.getElementById(id);
		if (tooltip != null)
			tooltip.style.display = '';
	}
	
	function updateToolTip(element) {
		var tooltip = document.getElementById('ToolTip' + element.index);
		if (tooltip != null) {
			tooltip.style.left = (mouseX) + 'px';
			tooltip.style.top = (mouseY + 20) + 'px';
		}
	}
	
	function destroyToolTip(element) {
		element.className = element.previousClassName;
		var tooltip = document.getElementById('ToolTip' + element.index);
		if (tooltip != null)
			document.body.removeChild(tooltip);
	}

	function findToolTips(parent) {
		for (var i = 0, len = parent.childNodes.length; i < len; i++) {
			var element = parent.childNodes[i];
			if (element.nodeType == 1) {
				var tooltiptext = element.getAttribute('tooltip');
				if (tooltiptext != null) {
					ToolTips[ToolTips.length] = tooltiptext;
					element.index = ToolTips.length - 1;
					element.setAttribute('tooltip', '');
					if (element.className == '')
						element.className = 'ToolTipLink';
					var tooltipclass = element.getAttribute('tooltipclass');
					if (tooltipclass == null)
						tooltipclass = 'ToolTip';
					element.tooltipClassName = tooltipclass;
					element.onmouseover = function() { createToolTip(this); };
					element.onmousemove = function() { updateToolTip(this); };
					element.onmouseout = function() { destroyToolTip(this); };
					element.onclick = function() { destroyToolTip(this); };
				}
			}
			findToolTips(element);
		}
		return;
	}

	function initToolTips() {
		mouseX = 0;
		mouseY = 0;
		ToolTips = [];
		captureMouse();
		findToolTips(document.body, -1);
	}