opera = (navigator.userAgent.indexOf('Opera') >= 0)? true : false;
dom = (document.getElementById)? true : false;
ie4 = (document.all && !dom)? true : false;
nn4 = (document.layers)? true : false;

function showElem(elemId) {
  if (dom) document.getElementById(elemId).style.visibility = "visible";
    else if (ie4) document.all[elemId].style.visibility = "visible";
      else if (nn4) document.layers[elemId].visibility = "show";
 
 return elemId;      
}

function hideElem(elemId) {
  if (dom) document.getElementById(elemId).style.visibility = "hidden";
    else if (ie4) document.all[elemId].style.visibility = "hidden";
      else if (nn4) document.layers[elemId].visibility = "hide";
}


function relPosX(which) {
  if (nn4) {
    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 relPosY(which) {
  if (nn4) {
    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 createNN4Leer(leerId, firstLeer, secondLeer) { if (nn4) {
  document.layers[leerId] = new Layer(document.layers[secondLeer].pageX -
    document.layers[firstLeer].pageX);
  document.layers[leerId].left = document.layers[firstLeer].pageX;
  document.layers[leerId].top = document.layers[secondLeer].pageY;
  document.layers[leerId].visibility = "show";
}}

function replaceElemContents(elemId, contents) {
  if (dom && !opera) document.getElementById(elemId).innerHTML = contents;
    else if (ie4 && !opera) document.all[elemId].innerHTML = contents;
      else if (nn4) {
        if (!document.layers[elemId])
          createNN4Leer(elemId, elemId+'LeftAnc', elemId+'RightAnc');
        document.layers[elemId].document.open();
        document.layers[elemId].document.write(contents);
        document.layers[elemId].document.close();
      }
}

function createReplacementElem(elemId, alternativeText) {
  if ((dom && !opera) || (ie4 && !opera))
      document.write('<div id="'+elemId+'">Подождите загрузки страницы...<\/div>');
    else if (nn4)
        document.write('<table cellpadding=0 cellspacing=0 border=0 width=100%>'+
        '<td width=100%><ilayer id="'+elemId+'LeftAnc"><br><\/ilayer><\/td>'+
        '<td align=right><ilayer id="'+elemId+'RightAnc"><br><\/ilayer><\/td><\/table>');
      else if (alternativeText) document.write(alternativeText);
        else document.write('Ваш браузер не поддерживает динамическую замену содержимого элементов!');
		
}

var lastShown;
var elemId;

function jumpToLay(thing, set) {

var Xcoord = relPosX(thing);
var Ycoord = relPosY(thing);

var Wcoord = -1;
var Hcoord = 20;
if (thing == 'menu4'){
var Wcoord = -400;
var Hcoord = -300;}

if (dom) {
	document.getElementById(set).style.top=Ycoord+Hcoord;
	document.getElementById(set).style.left=Xcoord+Wcoord;
	}
else if (ie4)	{
	document.all[set].style.top=Ycoord+Hcoord;
	document.all[set].style.left=Xcoord+Wcoord;
	}
else if (nn4)	{
	document.layers[set].top=Ycoord+Hcoord;
	document.layers[set].left=Xcoord+Wcoord;
	}
else window.alert("У вас очень странный броузер! You have a very strange browser!");	

if (lastShown) 	{
	hideElem(lastShown);
	clearTimeout(jumper);
	lastShown = false;
	}
	
lastShown = showElem(set);
jumper = setTimeout("hideElem(lastShown)", 1);
}


function jumpOn() {
if (lastShown) clearTimeout(jumper);
}

function ClearAll() {
if (lastShown) 	{
	hideElem(lastShown);
	clearTimeout(jumper);
	lastShown = false;
	}
}


function jumpOff(elemId) {
element = elemId;
jumper = setTimeout("hideElem(element)", 1);
}
