// 1-second delayed tooltips (or immediate if specified)

var tt_above = 0;
var tt_left = 0;
var tt_follow = 0;
var tt;

var _tt_timer;

mouseInit();

function create_tip() {
	if (!document.getElementById('tip')) {
		var newDiv = document.createElement("div");
		newDiv.id = "tip";
		newDiv.className = "tip";
		newDiv.style.visibility = 'hidden';
		newDiv.style.display = 'none';
		newDiv.style.position = 'absolute';
		newDiv.style.zIndex = '255';
		newDiv.style.width = '200px';
		newDiv.style.height = '40px';
		
		var tip_content  = '<div class="tt_rounded">';
		tip_content     += ' <div class="tt_top"><div><center><p>&nbsp;</p></center></div></div>';
		tip_content     += ' <div class="tt_content" id="tip_content"></div>';
		tip_content     += '<div class="tt_bot"><div><center><p>&nbsp;</p></center></div></div></div>';
		
		newDiv.innerHTML = tip_content;	

		document.body.appendChild(newDiv);

		if (window.addEventListener) {
			window.addEventListener('mousemove', checkTipMovement, false);
		}
		else if (document.all) {
			document.attachEvent("onmousemove", checkTipMovement);
		}
	}
}

function startTooltipTimer() {
	_tt_timer = setTimeout("enableTooltip()", 1000);
}

function enableTooltip() {
	if (tt == 1) {
		tt = 2;
		show_tip();
	}

	if (_tt_timer) {
		clearTimeout(_tt_timer);
	}
}

function checkTipMovement() {
	if (tt && tt_follow && !_tt_timer) {
		show_tip();
	}
}

function set_tip(text, lft, abv, immediate, followmouse, unrounded) {
	create_tip();
	
	// document.getElementById('tip_content').innerHTML = text;

	if (lft) {tt_left = 1;} else {tt_left = 0;}
	if (abv) {tt_above = 1;} else {tt_above = 0;}

	if (unrounded) {
		document.getElementById('tip').innerHTML = '<div class="tt_content_unrounded" id="tip_content">' + text + '</div>';
		document.getElementById('tip').style.width = '';
	}
	else {
		var tip_content  = '<div class="tt_rounded">';
		tip_content     += ' <div class="tt_top"><div><center><p>&nbsp;</p></center></div></div>';
		tip_content     += ' <div class="tt_content" id="tip_content">' + text + '</div>';
		tip_content     += '<div class="tt_bot"><div><center><p>&nbsp;</p></center></div></div></div>';
		document.getElementById('tip').style.width = '200px';
		
		document.getElementById('tip').innerHTML = tip_content;
	}
	
	if (immediate) {
		tt = 2;
		show_tip();
	}
	else {
		tt = 1;
		startTooltipTimer();
	}
		
	if (followmouse) {tt_follow = 1;} else {tt_follow = 0;}
}

function unset_tip() {
	create_tip();

	document.getElementById('tip_content').innerHTML = "";
	tt = 0;
	if (_tt_timer) {
		clearTimeout(_tt_timer);
	}
	tt_left = 0;
	tt_above = 0;
	hide_tip();
}

function check_tip() {
	if (tt == 2) {
		show_tip();
	}
}

function show_tip() {
	create_tip();

	var left = 0;
	var top = 0;

	if (tt_left) {
		left = (mouseX - parseInt(document.getElementById('tip').style.width));
	}
	else {
		left = (mouseX + 7);
	}

	if (tt_above) {
		if (document.getElementById('tip').offsetHeight > 0) {
			top = (mouseY - parseInt(document.getElementById('tip').offsetHeight));
		}
		else {
			top = mouseY - 45;
		}
	}
	else {
		top = (mouseY + 5);
	}

	document.getElementById('tip').style.left = left + 'px';
	document.getElementById('tip').style.top = top + 'px';
	document.getElementById('tip').style.visibility = "visible";
	document.getElementById('tip').style.display = "block";
}

function hide_tip() {
	create_tip();

	var tip = document.getElementById('tip');
	if (tip) {
		tip.style.top = '100px';
		tip.style.left = '100px';
		// Hide it
		tip.style.visibility = "hidden";
		tip.style.display = "none";
	}
}