var dom = (document.getElementById) ? true : false;
var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;

// avoid error of passing event object in older browsers
if (nodyn) { event = "nope" }

var tipFollowMouse= true;	

var tipWidth= 100;
var offX= 10;	// how far from mouse to show tip
var offY= 10; 
var tipFontFamily= "Arial, Helvetica, sans-serif";
var tipFontSize= "10px";

var tipFontColor= "#666666";
var tipBgColor= "#FFFFFF"; 
var tipBorderColor= "#000000";
var tipBorderWidth= 1;
var tipBorderStyle= "ridge";
var tipPadding= 1;

var startStr = '<table width="' + tipWidth + '"><tr><td align="center" width="100%"><img src="';
var midStr = '" border="0"></td></tr><tr><td valign="top">';
var endStr = '</td></tr></table>';

var tooltip, tipcss;
function initTip() {
	if (nodyn) return;
	tooltip = (ns4)? document.tipDiv.document: (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;
	tipcss = (ns4)? document.tipDiv: tooltip.style;
	if (ie4||ie5||ns5) {	// ns4 would lose all this on rewrites
		tipcss.fontFamily = tipFontFamily;
		tipcss.fontSize = tipFontSize;
		tipcss.color = tipFontColor;
		tipcss.backgroundColor = tipBgColor;
		tipcss.borderColor = tipBorderColor;
		tipcss.borderWidth = tipBorderWidth+"px";
		tipcss.padding = tipPadding+"px";
		tipcss.borderStyle = tipBorderStyle;
	}
}

function doTooltip(evt,img,content)
{
	hideTip();
	
	var ObjNew = document.createElement('div');
	ObjNew.setAttribute("id","tollTips");
	
	h = evt.pageX;
	w = evt.pageY;
	txt = '<div id="tipDiv" style="position:absolute;z-index: 400;display:none;top:'+ h +'px; left:'+ w +'px;">' + startStr + img + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:'+ tipFontSize +'; color:' + tipFontColor + ';">' + content + '</span>' + endStr +'</div>';

	ObjNew.innerHTML = txt
	document.body.appendChild(ObjNew);
	
	initTip();
	positionTip(evt);
	
}

function positionTip(evt)
{
	var obj = document.getElementById("tollTips");
	//alert(obj);
	if(obj!=null)
	{			
		tipcss.display = "block";
		
		var fullHeight = getViewportHeightTollTips();
		var fullWidth = getViewportWidthTollTips();
		
		var winWd = (ns4||ns5)? window.innerWidth-20+window.pageXOffset: document.body.clientWidth+document.body.scrollLeft;
		var winHt = (ns4||ns5)? window.innerHeight-20+window.pageYOffset: document.body.clientHeight+document.body.scrollTop;
		
		// tooltip width and height
		var tpWd = (ns4)? tooltip.width: (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth;
		var tpHt = (ns4)? tooltip.height: (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight;
		
		var targ
		if (evt.target) targ = evt.target
		else if (evt.srcElement) targ = evt.srcElement
		
		var objWd = (ns4)? targ.width: (ie4||ie5)? targ.clientWidth: targ.offsetWidth;
		var objHt = (ns4)? targ.height: (ie4||ie5)? targ.clientHeight: targ.offsetHeight;
		
		var mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
		var mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
		
		var leftm = getposOffset(targ, "left");
		
		if ((objWd+leftm+tpWd)>winWd) 
			leftm = leftm-tpWd-offX;
		else leftm = leftm+objWd+offX;
		
		tipcss.left = (ns4)? leftm: leftm+"px";
		
		var topm = 0;
		
		if ((mouseY+offY+tpHt)>winHt) 
			topm = winHt-(tpHt+offY);
		else topm = mouseY+offY;
		
		tipcss.top = (ns4)? topm: topm+"px";
	}
	
	//tipcss.left = mouseX+'px';
	//tipcss.top = mouseY+'px';
	
}

function getViewportHeightTollTips() {
	if (window.innerHeight!=window.undefined) return window.innerHeight;
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
	if (document.body) return document.body.clientHeight; 
	return window.undefined; 
}

function getViewportWidthTollTips() {
	if (window.innerWidth!=window.undefined) return window.innerWidth; 
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; 
	if (document.body) return document.body.clientWidth; 
	return window.undefined; 
}

function hideTip()
{
	var obj = document.getElementById("tollTips");
	if(obj!=null) document.body.removeChild(obj);
}

function getposOffset(what, offsettype)
{
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null)
{
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}<!-- 

 -->