var dhtmlgoodies_tooltip = false;
var dhtmlgoodies_tooltipshadow = false;
var dhtmlgoodies_shadowsize = 4;
var dhtmlgoodies_tooltipmaxwidth = 200;
var dhtmlgoodies_tooltipminwidth = 100;
var dhtmlgoodies_iframe = false;
var tooltip_is_msie = (navigator.useragent.indexof('msie')>=0 && navigator.useragent.indexof('opera')==-1 && document.all)?true:false;


function showtooltip(e,tooltiptxt)
{
	
	var bodywidth = math.max(document.body.clientwidth,document.documentelement.clientwidth) - 20;

	if(!dhtmlgoodies_tooltip){
		dhtmlgoodies_tooltip = document.createelement('div');
		dhtmlgoodies_tooltip.id = 'dhtmlgoodies_tooltip';
		dhtmlgoodies_tooltipshadow = document.createelement('div');
		dhtmlgoodies_tooltipshadow.id = 'dhtmlgoodies_tooltipshadow';
		
		document.body.appendchild(dhtmlgoodies_tooltip);
		document.body.appendchild(dhtmlgoodies_tooltipshadow);	
		
		if(tooltip_is_msie){
			dhtmlgoodies_iframe = document.createelement('iframe');
			dhtmlgoodies_iframe.frameborder='5';
			dhtmlgoodies_iframe.style.backgroundcolor='#ffffff';
			dhtmlgoodies_iframe.src = '#'; 	
			dhtmlgoodies_iframe.style.zindex = 100;
			dhtmlgoodies_iframe.style.position = 'absolute';
			document.body.appendchild(dhtmlgoodies_iframe);
		}
		
	}
	
	dhtmlgoodies_tooltip.style.display='block';
	dhtmlgoodies_tooltipshadow.style.display='block';
	if(tooltip_is_msie)dhtmlgoodies_iframe.style.display='block';
	
	var st = math.max(document.body.scrolltop,document.documentelement.scrolltop);
	if(navigator.useragent.tolowercase().indexof('safari')>=0)st=0; 
	var leftpos = e.clientx + 10;
	
	dhtmlgoodies_tooltip.style.width = null;	// reset style width if it's set 
	dhtmlgoodies_tooltip.innerhtml = tooltiptxt;
	dhtmlgoodies_tooltip.style.left = leftpos + 'px';
	dhtmlgoodies_tooltip.style.top = e.clienty + 10 + st + 'px';

	
	dhtmlgoodies_tooltipshadow.style.left =  leftpos + dhtmlgoodies_shadowsize + 'px';
	dhtmlgoodies_tooltipshadow.style.top = e.clienty + 10 + st + dhtmlgoodies_shadowsize + 'px';
	
	if(dhtmlgoodies_tooltip.offsetwidth>dhtmlgoodies_tooltipmaxwidth){	/* exceeding max width of tooltip ? */
		dhtmlgoodies_tooltip.style.width = dhtmlgoodies_tooltipmaxwidth + 'px';
	}
	
	var tooltipwidth = dhtmlgoodies_tooltip.offsetwidth;		
	if(tooltipwidth<dhtmlgoodies_tooltipminwidth)tooltipwidth = dhtmlgoodies_tooltipminwidth;
	
	
	dhtmlgoodies_tooltip.style.width = tooltipwidth + 'px';
	dhtmlgoodies_tooltipshadow.style.width = dhtmlgoodies_tooltip.offsetwidth + 'px';
	dhtmlgoodies_tooltipshadow.style.height = dhtmlgoodies_tooltip.offsetheight + 'px';		
	
	if((leftpos + tooltipwidth)>bodywidth){
		dhtmlgoodies_tooltip.style.left = (dhtmlgoodies_tooltipshadow.style.left.replace('px','') - ((leftpos + tooltipwidth)-bodywidth)) + 'px';
		dhtmlgoodies_tooltipshadow.style.left = (dhtmlgoodies_tooltipshadow.style.left.replace('px','') - ((leftpos + tooltipwidth)-bodywidth) + dhtmlgoodies_shadowsize) + 'px';
	}
	
	if(tooltip_is_msie){
		dhtmlgoodies_iframe.style.left = dhtmlgoodies_tooltip.style.left;
		dhtmlgoodies_iframe.style.top = dhtmlgoodies_tooltip.style.top;
		dhtmlgoodies_iframe.style.width = dhtmlgoodies_tooltip.offsetwidth + 'px';
		dhtmlgoodies_iframe.style.height = dhtmlgoodies_tooltip.offsetheight + 'px';
	
	}
			
}

function hidetooltip()
{
	dhtmlgoodies_tooltip.style.display='none';
	dhtmlgoodies_tooltipshadow.style.display='none';		
	if(tooltip_is_msie)dhtmlgoodies_iframe.style.display='none';		
}