var removeDelay;
var showDelay;
var lastTooltip;
var showLeft;
var tooltipWidth = 325;

function showTooltip( e, a_this, delay )
{
	
	if(!e)
	{
		e = window.event;
	}
	var mouseX = e.clientX;
	
	if( removeDelay != null )
	{
		clearTimeout( removeDelay );
	}
	showDelay = setTimeout( 
			function() {
				hideAllTooltips();
				
				var styleAtt = '';
				var tooltip = a_this.getElementsByTagName('span')[0];
				
				if(document.documentElement.clientWidth-tooltipWidth < mouseX || (lastTooltip == a_this && showLeft == true))
				{
					//The tooltip ends out of the screen.
					
					
					styleAtt = 'left: -' + tooltipWidth + 'px;';
					lastTooltip = a_this;
					showLeft = true;
					tooltip.style.cssText = 'left: -' + tooltipWidth + 'px;';
				}
				else
				{
					showLeft = false;
				}
				
				tooltip.style.display = 'block';
				styleAtt = styleAtt + 'display: block;';
				tooltip.setAttribute('style',styleAtt);
				
				
			}, delay );


}

function hideTooltip( a_this, delay )
{
	if( showDelay != null )
	{
		clearTimeout( showDelay );
	}
	
	removeDelay = setTimeout( function() { 
		a_this.getElementsByTagName('span')[0].setAttribute('style','display: none');
		a_this.getElementsByTagName('span')[0].style.display = 'none';
		
		}, delay );

}

function hideAllTooltips()
{
	var allSpans = document.getElementsByTagName('span');
	for(var i=0; i<allSpans.length; i++)
	{
		var span = allSpans[i];
		if(span.getAttribute("nicetitle"))
		{
			span.getElementsByTagName('span')[0].style.display = 'none';
			span.getElementsByTagName('span')[0].setAttribute('style','display: none');
		}
	}
}


