var offsetX = 18;
var offsetY =  9;
var mouseX, mouseY; 

function starttip(oid)
{ 
    if(document.createElement)
    { 
        var divTip = document.createElement('div'); 
        divTip.id = oid;     
        with(divTip.style)
        { 
            display = 'none';
            position = 'absolute';
        } 
        divTip.innerHTML = '&nbsp;'; 
        document.body.appendChild(divTip); 
    } 
} 


function getPosition(e) 
{
    var locTip = elm('tooltip'); 
    var crossBody = (document.compatMode=="CSS1Compat") ? document.documentElement : document.body;
    mouseX = (is_moz)? e.pageX: window.event.clientX + crossBody.scrollLeft;
    mouseY = (is_moz)? e.pageY: window.event.clientY + crossBody.scrollTop; 
    
    // get tooltip width and height
    var tipW = (is_ie)? locTip.clientWidth: locTip.offsetWidth;
    var tipH = (is_ie)? locTip.clientHeight: locTip.offsetHeight;

    // document area in view (subtract scrollbar width for Firefox)
    var winW = (is_moz)? (window.innerWidth-20) + window.pageXOffset: crossBody.clientWidth + crossBody.scrollLeft;
    var winH = (is_moz)? (window.innerHeight-20) + window.pageYOffset: crossBody.clientHeight + crossBody.scrollTop;

    // position the tooltip 
    locTip.style.left = ((mouseX+offsetX+tipW)>winW) ? mouseX-(tipW+offsetX)+"px" : mouseX+offsetX+"px";
    locTip.style.top = ((mouseY+offsetY+tipH)>winH) ? winH-(tipH+offsetY+9)+"px" : (mouseY+offsetY+9)+"px"; 
} 

   
function showtip(str, obj)
{
    if(str != '')
	{
        if(obj != undefined)
        {
            obj.title = '';
        }
        
	    if (elm('tooltip') == null) 
        {
    	    starttip('tooltip');
	    }
	    
        elm('tooltip').innerHTML = str;
        elm('tooltip').style.display = 'block';
        document.onmousemove = getPosition;
	}
 
}

function hidetip()
{
	if ( elm('tooltip') )
	{
    elm('tooltip').style.display = 'none';
	}
}