function showtip(row, row_details, offX, offY,hide) {
	document.getElementById([row_details]).style.display="block";
	var divName = [row_details]; // div that is to follow the mouse
						   // (must be position:absolute)
	//var offX = 5;          // X offset from mouse position
	//var offY = -145;          // Y offset from mouse position
	
	if (offX==null) offX = 5; //default X offset
	if (offY==null) offY = 5; //default Y offset
	
	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 obj = document.getElementById(divName).style; obj.visibility = 'visible';
			
			var tleft = parseInt(mouseX(evt)); //Determine left with no offset
			var ttop = parseInt(mouseY(evt)); //Determine top with no offset
			
			if (hide=="no") { 
				//Determine max left so that could not come near right edge
				var swidth = screen.width;
				var limitx = swidth - 350;
							
				//Determine Distance to edge
				var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;
				var hiddentop=document.all? iebody.scrollTop : pageYOffset;
				
				if (ttop<(hiddentop+145)) offY = 5; //Rest offset if near top edge
				if (tleft>limitx) tleft = limitx; //Reset left postion if near with right edge
			}
			
			obj.left = [tleft+offX] + 'px';
			obj.top =  [ttop+offY] + 'px';
		}
	}
	
	document.getElementById([row]).onmousemove = follow;
}

function hidetip(row_details) {
	document.getElementById([row_details]).style.display="none";
}