var sReqState = '';
var sResponse = '';
var iTimeId = 0;
var this_sState = '';

function showToolTip( e,sState ) {
	this_sState = sState;
	if(document.all)e = event;
	
	var obj = document.getElementById('bubble_tooltip');
	// SHOW THE LOADING...
	var obj2 = document.getElementById('bubble_tooltip_content');
	obj2.innerHTML = '<img align="absmiddle" src="tooltip/images/loading_icon.gif" border="0" />&nbsp;Retrieving...';
	//var obj2 = document.getElementById('bubble_tooltip_content');
	//obj2.innerHTML = sText;
	
	// CACHING THE RESPONSE.
	if ( sReqState != this_sState ) {
		iTimeId = setTimeout("getStateCount()", 2000);
	}
	else {
		var obj2 = document.getElementById('bubble_tooltip_content');
		obj2.innerHTML = sResponse;
	}
	//sReqState = this_sState;
	
	obj.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 - 100;
	if(leftPos<0)leftPos = 0;
	obj.style.left = leftPos + 'px';
	obj.style.top = e.clientY - obj.offsetHeight -1 + st + 'px';
}	

function hideToolTip() {
	clearTimeout(iTimeId);
	//sReqState = '';
	document.getElementById('bubble_tooltip').style.display = 'none';
}

/////////////////////
function GetXmlHttpObject(handler) { 
	var objXMLHttp=null;
	
	if ( window.XMLHttpRequest )
		objXMLHttp=new XMLHttpRequest( );
	else if ( window.ActiveXObject )
		objXMLHttp=new ActiveXObject( "Microsoft.XMLHTTP" );
	return objXMLHttp;
}
function getStateCount() {
	sReqState = this_sState; // CACHING THE RESPONSE.
	xmlHttp=GetXmlHttpObject();
	var sUrl='tooltip/count.php?s='+ this_sState;

	xmlHttp.onreadystatechange = setStateCount;
	xmlHttp.open( "GET", sUrl, true );
	xmlHttp.send( null );
}
function setStateCount( ) {
	var obj2 = document.getElementById('bubble_tooltip_content');
	
	if ( xmlHttp.readyState<4 ) { // loading...
		obj2.innerHTML = '<img align="absmiddle" src="tooltip/images/loading_icon.gif" border="0" />&nbsp;Retrieving...';
	}
	else if ( xmlHttp.readyState==4 ) { // request completed.
		sResponse = xmlHttp.responseText;
		obj2.innerHTML = sResponse;
	}
}