function detect_browser()
{
	// Source: http://xpoint.ru/know-how/Articles/KrossbrauzernyiyDHTML#Myish'
	isDOM=document.getElementById //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
	isOpera=isOpera5=window.opera && isDOM //Opera 5+
	isOpera6=isOpera && window.print //Opera 6+
	isOpera7=isOpera && document.readyState //Opera 7+
	isMSIE=document.all && document.all.item && !isOpera //Microsoft Internet Explorer 4+
	isMSIE5=isDOM && isMSIE //MSIE 5+
	isNetscape4=document.layers //Netscape 4.*
	isMozilla=isDOM && navigator.appName=="Netscape" //Mozilla или Netscape 6.*
}

function hint_hide(l)
// Hides the hint
// l - hint name, layer id
{
	detect_browser();
	if(isMSIE) document.all[l].style.visibility = "hidden";
	if(isNetscape4) document.layers[l].visibility = "hidden";
	//if(isOpera5) eval('document.getElementById("'+l+'").style.visibility = "hidden"')
	if(isOpera5 || isMozilla) document.getElementById(l).style.visibility = "hidden";
}

function hint_show(l,dx,dy)
// Shows the hint near the mouse cursor
// l - hint name, layer id
// dx (optional) - hint location x offset from mouse position; default 0
// dy (optional) - hint location y offset from mouse position; default 20

{
	detect_browser();

	if (!dx){dx=0}
	if (!dy){dy=20}

	mouse_x = 0
	mouse_y = 0
	if(isNetscape4) document.captureEvents(Event.MOUSEMOVE)
	if(isMSIE || isOpera7){
		mouse_x=event.clientX+document.body.scrollLeft;
		mouse_y=event.clientY+document.body.scrollTop;
	}else if(isOpera){
		mouse_x=event.clientX;
		mouse_y=event.clientY;
	}else if(isNetscape4 || isMozilla){
		// TODO: check!!!
		mouse_x = event.pageX;//mouse_x = e.pageX;
		mouse_y = event.pageY;
	}

	if(isMSIE5){
		//http://www.tigir.com/javascript.htm
		document.all[l].style.left=mouse_x+dx+"px";
		document.all[l].style.top=mouse_y+dy+"px";
		document.all[l].style.visibility = "visible";
	}
	if (isNetscape4){
		//http://www.tigir.com/javascript.htm
		document.layers[l].left=mouse_x+dx+"px";
		document.layers[l].top=mouse_y+dy+"px";
		document.layers[l].visibility = "visible";
	}
	if(isOpera7|| isMozilla) {
		// Table has style left:336px; top:201px
		document.getElementById(l).style.left=mouse_x+dx+"px";
		document.getElementById(l).style.top=mouse_y+dy+"px";
		document.getElementById(l).style.visibility = "visible";
	}
}