var bMouseDown = false;

var iFrameLeft = 0;
var iFrameTop = 40;

function parseTooltip ( sTooltipContent ) {
	var aContentParts = sTooltipContent.split( ";" );

	return { title:aContentParts[ 0 ], text:aContentParts[ 1 ] };		
}
function tooltipLoaded( ) {	
	if ( http.readyState == 4 ) {
		if ( bTooltipActivated == true ) showTooltip( parseTooltip( http.responseText ) );
	}
}
function getObjectOffset( oObject ) {
	var _x = _y = 0;

	while ( oObject && !isNaN( oObject.offsetLeft ) && !isNaN( oObject.offsetTop ) ) {
		_x += oObject.offsetLeft - oObject.scrollLeft;
		_y += oObject.offsetTop - oObject.scrollTop;

		oObject = oObject.parentNode;
	}

	return { x: _x + iFrameLeft, y: _y + iFrameTop };
}
function loadTooltip( oObject, sTrackName ) {
	bTooltipActivated = true;

	hideTooltip( );

	var oTooltip = document.getElementById( "tooltip" );
	oTooltip.oObject = oObject;

	http.open( "GET", "_ssi/tooltiptext.php?track=" + sTrackName, true );
	http.onreadystatechange = tooltipLoaded;		 
	http.send( null );
}
function unloadTooltip( ) {
	bTooltipActivated = false;

	hideTooltip( );
}
function hideTooltip( ) {	
	document.getElementById( "tooltip" ).style.display = "none";
}
function showTooltip( oTooltipContent ) {
	var sTooltipHTML = "<div class=\"tooltipheader\">" + oTooltipContent.title + "</div>\n"
					 + "<div class=\"tooltipcontent\">" + oTooltipContent.text + "</div>";

	var oContent = document.getElementById( "tooltip_content" );
	oContent.innerHTML = sTooltipHTML;	

	var oTooltip = document.getElementById( "tooltip" );
	oTooltip.style.display = "";	

	var oObjectLoc = getObjectOffset( oTooltip.oObject );
	if ( document.getElementById( "div_page" ).style.display == "" ) {
		oObjectLoc.y += document.getElementById( "tracks" ).offsetHeight - 40 - 40;
	}

	var iTooltipSpacingX = 3;
	var iTooltipLeft = Math.max( 20, 35 + oObjectLoc.x + oTooltip.oObject.offsetWidth -  ( oTooltip.offsetWidth - 4 ) - iTooltipSpacingX );
	oTooltip.style.left = iTooltipLeft;

	var iTooltipSpacingY = 3;
	var iTooltipTop = oObjectLoc.y + oTooltip.oObject.offsetHeight + iTooltipSpacingY;
	if ( iTooltipTop + ( oTooltip.offsetHeight - 4 ) > document.body.clientHeight )
		iTooltipTop = oObjectLoc.y - ( oTooltip.offsetHeight - 4 ) - iTooltipSpacingY;
	oTooltip.style.top = iTooltipTop;
}
