var last_tl = false;
var delayhide;
var dist_py = 0;  
var dist_px = -20;  
var dist_time = 400; 

var last_tl2 = false;
var delayhide2;
var dist_py2 = 0;  
var dist_px2 = 35;  
var dist_time2 = 400; 


function removeLyr(e){
  if (last_tl) delayhide=setTimeout("unsetLyr('"+last_tl.obj.id+"')",dist_time)
}

function unsetLyr(lyr)
{
	if (x===false) return false;
    var x = new getObj(lyr);
	x.style.visibility = 'hidden';

	last_tl = false;
}

function hideLyr(lyr)
{
	if (!lyr) return false;
	lyr.style.visibility = 'hidden';

	last_tl = false;
    dropTimer();
}

function setLyr(obj,lyr)
{
	var newX = findPosX(obj)+dist_px;
	var newY = findPosY(obj)+dist_py;
	var x = new getObj(lyr);
	if (last_tl) {
	  dropTimer();
	  if (last_tl.obj.id==x.obj.id) return false;
	  if (last_tl.obj.id!=x.obj.id) unsetLyr(last_tl.obj.id);
	}
	last_tl = x;
	x.style.visibility = 'visible';
	x.style.top = newY + 'px';
	x.style.left = newX + 'px';
}





function removeLyr2(e){
  if (last_tl2) delayhide2=setTimeout("unsetLyr2('"+last_tl2.obj.id+"')",dist_time2)
}

function unsetLyr2(lyr)
{
	if (x2===false) return false;
    var x2 = new getObj(lyr);
	x2.style.visibility = 'hidden';

	last_tl2 = false;
}

function hideLyr2(lyr)
{
	if (!lyr) return false;
	lyr.style.visibility = 'hidden';

	last_tl2 = false;
    dropTimer2();
}

function setLyr2(obj,lyr)
{
	var newX2 = findPosX(obj)+dist_px2;
	var newY2 = findPosY(obj)+dist_py2;
	var x2 = new getObj(lyr);
	if (last_tl2) {
	  dropTimer2();
	  if (last_tl2.obj.id==x2.obj.id) return false;
	  if (last_tl2.obj.id!=x2.obj.id) unsetLyr(last_tl2.obj.id);
	}
	last_tl2 = x2;
	x2.style.visibility = 'visible';
	x2.style.top = newY2 + 'px';
	x2.style.left = newX2 + 'px';
}

function dropTimer2() {
  if (delayhide2) clearTimeout(delayhide2)
}





function setLyrSpec(obj,lyr,e,matrika)
{
	var newX = findPosX(obj)+5;
	var newY = findPosY(obj)+5;
	var x = new getObj(lyr);
	if (last_tl) {
	  dropTimer();
	  if (last_tl.obj.id==x.obj.id) return false;
	  if (last_tl.obj.id!=x.obj.id) unsetLyr(last_tl.obj.id);
	}
	last_tl = x;
	x.style.visibility = 'visible';

	var obj_matrika = new getObj(matrika);
        if (document.all) {
          var xx = (e.clientX-obj_matrika.obj.offsetLeft+document.body.scrollLeft);
          var yy = (e.clientY-obj_matrika.obj.offsetTop+document.body.scrollTop)
        } else {
          var xx = (e.clientX-obj_matrika.obj.offsetLeft+document.body.scrollLeft);
          var yy = (e.clientY-obj_matrika.obj.offsetTop+document.body.scrollTop)
        }
	x.style.top = (newY - ((obj_matrika.obj.offsetHeight/2)>yy?0:x.obj.offsetHeight) )+ 'px';
	x.style.left = (newX - ((obj_matrika.obj.offsetWidth/2)>xx?0:x.obj.offsetWidth) ) + 'px';
}

function dropTimer() {
  if (delayhide) clearTimeout(delayhide)
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x) curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y) curtop += obj.y;
	return curtop;
}

function getObj(name)
{
 if (document.getElementById) {
	   this.obj = document.getElementById(name);
	   this.style = document.getElementById(name).style;
 }
 else if (document.all) {
	   this.obj = document.all[name];
	   this.style = document.all[name].style;
 }
 else if (document.layers) {
	   if (document.layers[name]) {
	   	this.obj = document.layers[name];
	   	this.style = document.layers[name];
	   } else {
	    this.obj = document.layers.testP.layers[name];
	    this.style = document.layers.testP.layers[name];
	   }
 }
}


