var d = document;
var offsetfromcursorY=15 // y offset of tooltip
var ie=d.all && !window.opera;
var ns6=d.getElementById && !d.all;
var tipobj,op;
		
function tooltip(el,txt) {
	tipobj=d.getElementById('mess');
	
	//txt=txt.replace(/(\n(\r)?)/g, ' '); //удаление тегов?
	
	tipobj.innerHTML = txt;
	op = 0.1;	
	tipobj.style.opacity = op; 
	tipobj.style.visibility="visible";
	el.onmousemove=positiontip;
	appear();
}

function tooltip_img(el,txt,img) {
	tipobj=d.getElementById('mess');
	if (txt=='') return;
	//txt=txt.replace(/(\n(\r)?)/g, ' '); //удаление тегов?
	img=img.replace(/#d_cav#/g,'\"');
	txt=txt.replace(/#d_cav#/g,'\"');
	//alert(img);
	tipobj.innerHTML = "<table><tr><td>"+img+"</td><td>"+txt+"</td></tr></table>";
	op = 0.1;	
	tipobj.style.opacity = op; 
	tipobj.style.visibility="visible";
	el.onmousemove=positiontip;
	//alert(tipobj.innerHTML);
	appear();
}

function tooltip_freeform(el,txt) {
	tipobj=d.getElementById('mess_uzk');
	if (txt=='') return;
	txt=txt.replace(/#d_cav#/g,'\"');
	//alert(img);
	tipobj.innerHTML = "<div style='text-align: justify;'>"+txt+"</div>";
	op = 0.1;	
	tipobj.style.opacity = op; 
	tipobj.style.visibility="visible";
	el.onmousemove=positiontip;
	//alert(tipobj.innerHTML);
	appear();
}


function hide_info(el) {
	d.getElementById('mess').style.visibility='hidden';
	el.onmousemove='';
}

function hide_sh_h(el) 
{
	d.getElementById('mess_uzk').style.visibility='hidden';
	el.onmousemove='';
	
}
function ietruebody(){
return (d.compatMode && d.compatMode!="BackCompat")? d.documentElement : d.body
}

function positiontip(e) {
	var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
	var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
	var winwidth=ie? ietruebody().clientWidth : window.innerWidth-20
	var winheight=ie? ietruebody().clientHeight : window.innerHeight-20
	
	var rightedge=ie? winwidth-event.clientX : winwidth-e.clientX;
	var bottomedge=ie? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY;

	if (rightedge < tipobj.offsetWidth)	tipobj.style.left=curX-tipobj.offsetWidth+"px";
	else tipobj.style.left=curX+"px";

	if (bottomedge < tipobj.offsetHeight) tipobj.style.top=curY-tipobj.offsetHeight-offsetfromcursorY+"px"
	else tipobj.style.top=curY+offsetfromcursorY+"px";
}

function appear() {	
	if(op < 1) {
		op += 0.1;
		tipobj.style.opacity = op;
		tipobj.style.filter = 'alpha(opacity='+op*100+')';
		t = setTimeout('appear()', 30);
	}
}
