DOM = (document.getElementById)? true : false;
NN = (document.layers)? true : false;
IE = (document.all)? true : false;
if (IE) DOM=false;
//alert(DOM+' '+NN+' '+IE);

var showflag=false; // флаг показа
var id=null; // id таймера
var onname=""; // имя видимого на данный момент элемента




function getRelLeft(which) {
	if (NN) {
		return document.layers[which].pageX;
	} else {
		var elem = (DOM)? document.getElementById(which) : document.all[which];
		var pos = elem.offsetLeft;
		while (elem.offsetParent != null) {
			elem = elem.offsetParent;
			pos += elem.offsetLeft;
			if (elem.tagName == 'BODY') break;
		} return pos;
	}
}

function getRelTop(which) {
	if (NN) {
		return document.layers[which].pageY;
	} else {
		var elem = (DOM)? document.getElementById(which) : document.all[which];
		var pos = elem.offsetTop;
		while (elem.offsetParent != null) {
			elem = elem.offsetParent;
			pos += elem.offsetTop;
			if (elem.tagName == 'BODY') break;
		} return pos;
	}
}



function show(name, item){ // name - id элемента x - смещение от начала меню

if (getRelLeft(item)<500) x=getRelLeft(item)-25;
else x=getRelLeft(item)-515;

y=getRelTop(item);
killtimer(); // останавливаем таймер
if(showflag) hide(); // прячем, если показывали другой элемент

if(NN){
document.layers[name].top=y;
document.layers[name].left=x; // вычисляем смещение
document.layers[name].visibility='show';

}

if(DOM){
document.getElementById(name).style.top=y;
document.getElementById(name).style.left=x; // вычисляем смещение
document.getElementById(name).style.visibility='visible';

}

if(IE){
document.all[name].style.top=y;
document.all[name].style.left=x;
document.all[name].style.visibility='visible';
}

showflag=true;
onname=name; // элемент name показывается

}

function killtimer(){

if(id!=null){ // если таймер установлен

clearTimeout(id); // он обнуляется
id=null;
}
return true;
}

function hide(){

if(id!=null) killtimer();

if(showflag){

if(NN) document.layers[onname].visibility='hide';
if(DOM) document.getElementById(onname).style.visibility='hidden';
if (IE) document.all[onname].style.visibility='hidden';
}

showflag=false;
onname="";

}

function reset(){ // функция закрытия элемента через полсекунды

killtimer();
id = setTimeout('hide()', 10);
}


