function note()
{
}

note.curtip = null;

var __src = new Object();

note.showtip = function(event, src)
{
	if(!src.innerHTML)
	{
		__src.innerHTML = src;
		src = __src;
	}
	else if(note.curtip == src)
	{
		return true;
	}
	if(note.timer)
	{
		window.clearTimeout(note.timer);
		note.timer = null;
	}

	var x = event.clientX ? event.clientX : event.pageX;
	var y = event.clientY ? event.clientY : event.pageY;
	note.curtip = src;
	note.cx = x;
	note.cy = y;
	note.timer = window.setTimeout("nowtip()", 300);
	return false;
	return true;
}

window.nowtip = function()
{
	var d;
	var src = note.curtip;
	if(!src)
	{
		return;
	}
	var html = src.innerHTML;
	var txt = html.replace(/^<br[ \/]*><br[ \/]*>/i, '');
	var elemname = "tooltip";
	var delta = 40;
	if(html != txt)
	{
		elemname = "helptip";
		delta = 20;
	}
	var elem = document.getElementById(elemname);
	if(!elem)
	{
		return;
	}
	if(note.tipelem && note.tipelem != elem)
	{
		note.tipelem.style.visibility = 'hidden';
	}
	note.tipelem = elem;

	var tx = "<div class='note2'>" + txt + " </div>";
	elem.innerHTML = txt;
	
	if(elem && src)
	{
		var cx = note.cx;
		var cy = note.cy;
		var l = cx;
		var t = cy;
		var p = document.body;
		var w = elem.offsetWidth;
		if(w > 300)
		{
			w = 300;
			elem.style.width = "300px";
		}
		var h = elem.offsetHeight;
		var pw = p.offsetWidth;
		var ph = p.offsetHeight;

		if(cx + 40 + w < pw)
		{
			l = cx + 20;
			t = cy - h
			if(t < 4)
			{
				t = 4;
			}
		}
		else if(w < cx)
		{
			l = cx - 10 - w;
			if(l < 4)
			{
				l = 4;
			}
			t = cy - h;
			if(t < 4)
			{
				t = 4;
			}
		}
		else if(h < cy)
		{
			t = cy - h - 10;
			if(t < 4)
			{
				t = 4;
			}
			l = cx - Math.round(w / 2);
			if(l + w > pw - 20)
			{
				l = pw - 20;
			}
			if(l < 4)
			{
				l = 4;
			}
		}
		else if(cy < ph - h - 20)
		{
			t = cy + 10;
			l = cx - Math.round(w / 2);
			if(l + w > pw - 20)
			{
				l = pw - 20;
			}
			if(l < 4)
			{
				l = 4;
			}
		}
		else
		{
			t = 4;
			l = 4;
		}

		l += document.documentElement.scrollLeft;
		t += document.documentElement.scrollTop;
		elem.style.visibility = "visible";
/*
		l -= Math.round(elem.offsetWidth / 2);
		t -= delta + elem.offsetHeight;
		if(t < 0)
		{
			t = cy + elem.offsetHeight + 10;
		}
*/
		elem.style.left = l + "px";
		elem.style.top = t + "px";
/*
		elem.onmouseout = note.timedhidetip;
		elem.onmouseover = note.timedshowtip;
 */
		var ih = document.getElementById("ihfr");
		if(ih)
		{
			note.ihframe = ih;
			ih.style.top = t + "px";
			ih.style.left = l + "px";
			ih.style.width = elem.offsetWidth + "px";
			ih.style.height = elem.offsetHeight + "px";
			ih.style.visibility = "visible";
		}
	}
	else alert("no src or tip");
}

note.timer = null;

note.timedhidetip = function()
{
	if(note.timer)
	{
		window.clearTimeout(note.timer);
	}
	try
	{
		note.timer = window.setTimeout("htp()", 300);
	}
	catch(x)
	{
		note.hidetip();
	}
}

note.timedshowtip = function()
{
	if(note.timer)
	{
		window.clearTimeout(note.timer);
		note.timer = null;
	}
}

note.hidetip = function()
{
	note.curtip = null;
	if(note.tipelem)
	{
		note.tipelem.style.width = "auto";
		note.tipelem.style.visibility = "hidden";
		note.tipelem = null;
		if(note.ihframe)
		{
			note.ihframe.style.left = "-800px";
		}
	}
}

window.htp = note.hidetip;

