var getBounds = function (p) {
    var left = p.offsetLeft, top = p.offsetTop, w = p.offsetWidth; h = p.offsetHeight;
    while (p = p.offsetParent) {
        if (p.clientWidth !== 0)
            left += p.offsetLeft;
        //if (p.clientHeight !== 0)
        top += p.offsetTop;
    }
    return { left: left, top: top, width: w, height: h };
};

var getSize=function(){var x,y,sx,sy,px,py;if(self.innerHeight){x=self.innerWidth;y=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){x=document.documentElement.clientWidth;y=document.documentElement.clientHeight;}else if(document.body){x=document.body.clientWidth;y=document.body.clientHeight;}if(self.pageYOffset){sx=self.pageXOffset;sy=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){sx=document.documentElement.scrollLeft;sy=document.documentElement.scrollTop;}else if(document.body){sx=document.body.scrollLeft;sy=document.body.scrollTop;}var test1=document.body.scrollHeight;var test2=document.body.offsetHeight;if(test1>test2){px=document.body.scrollWidth;py=document.body.scrollHeight;}else{px=document.body.offsetWidth;py=document.body.offsetHeight;}return {x:x,y:y,sx:sx,sy:sy,px:px,py:py};};

function getToolTip(e, obj, createShim){

   if (typeof arguments.callee.tooltip == 'undefined') {

   		var t = document.createElement('div');
   		var title  = t.appendChild(document.createElement('div'));
   		var content = t.appendChild(document.createElement('div'));
   		var closing = t.appendChild(document.createElement('div'));
   		t.id = 'myToolTip';
   		title.id = 'myToolTipTitle';
   		content.id = 'myToolTipContent';
   		closing.id = 'myToolTipCross';
   		closing.innerHTML = '&times;';
   		closing.onclick = function(e){ this.parentNode.style.display = 'none'; var shim = document.getElementById('myShim'); if(shim) shim.style.display='none'; if(window.event) window.event.cancelBubble = true; if (e) e.stopPropagation(); };
   		t.onclick = function(e){ this.style.display = 'block'; if (window.event) window.event.cancelBubble = true; if (e) e.stopPropagation(); };
   		
   		t.setTitle = function(ttl){ this.firstChild.innerHTML = ttl; };
   		t.setContent = function(cnt) { this.childNodes[1].innerHTML = cnt; };
   		t.style.position = 'absolute';
   		t.style.zIndex = '9999';
   		
   		arguments.callee.tooltip = document.body.appendChild(t);
   }

   var mc = getBounds(obj);
   with(arguments.callee.tooltip.style) {
     display = 'block';
     //left = obj.offsetLeft + 200 + 'px';
     left = mc.left + 20 + 'px';
     top = (mc.top + mc.height +5) + 'px';
   }
   
   if (createShim) {
     if (typeof arguments.callee.shim == 'undefined') {
       var shim = document.createElement('iframe');
       shim.id = 'myShim';
       shim.src = "javascript:'<html></html>'";
       with (shim.style) {
         position = 'absolute';
         zIndex = '1';
         background = 'red';
       }
       arguments.callee.shim = document.body.appendChild(shim);
     }
     
     arguments.callee.shim.style.display = 'block';
   }
   
   return arguments.callee.tooltip;
}

function showTooltip(e, obj, msg){
	var createShim = false; 
	var tooltip = getToolTip(e, obj, createShim);
	
	tooltip.setTitle('Description');
	tooltip.setContent(msg);
	
	if(window.event) window.event.cancelBubble = true
	if(e)if(e.stopPropagation) e.stopPropagation();
	
	var toolt = document.getElementById('myToolTip');
	
	var mc = getBounds(toolt);
	//toolt.style.top = toolt.style.top.replace('px','')*1 - (Math.round(mc.height/2)+20) + 'px';
	
	return false;
}

