function OpenPopWin( p_url, w, h) 
{  var ww  = w + 40
    var hh = h + 40
    var w1 = window.open( p_url , 'pop_up_win', 
              'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=' + ww + ',height=' + hh);
    w1.focus();
    return false;
}
function OpenPopPic( t, f , l, w , h, lng) 
{  var u = "view.html?" + t + "&" + f + "&" + l + "&" + w + "&" + h
   var ww = w + 15
   var hh = h + 40
   if (lng=='en')
   {
    u = "view_en.html?" + t + "&" + f + "&" + l + "&" + w + "&" + h;
   } 
   var w1 = window.open( u , 'pop_up_pic' , 
             'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=' + ww + ',height=' + hh);
   w1.focus();
   return false;
}

/////////////////////////////////////////
//////////Выпадающие меню////////////////
/////////////////////////////////////////
//  Установка глобальных переменных.

CurLayer=null;           // сюда будем запоминать видимый слой. Начальное значение - null.
hide_delay=500;          // Время задержки (в м.с.) авто-закр. меню. 
tstat=0;                 // Признак активности таймера авто-закр.
timer1=null;

// Определяем браузер пользователя

isNS4 = (document.layers) ? true : false;
isIE4 = (document.all && !document.getElementById) ? true : false;
isIE5 = (document.all && document.getElementById) ? true : false;
isNS6 = (!document.all && document.getElementById) ? true : false;


// Функция отображающая и скрывающая слои

// Вход:
// pObject - идентификатор(id) слоя;
// pVisible - булева переменная:
// true  - отобразить слой;
// false - скрыть слой.

// P.S: В зависимости от типа браузера
// сценарий для манипуляции с видимостью слоёв
// несколько различается.

function switchDiv(pObject, pVisible)
{
 if(isNS4||isIE4)
 {
  if(!pVisible) 
  {
   pObject.visibility ="hidden";
  } 
  else 
  {
   pObject.visibility ="visible";
  }     
 }
 else if (isIE5 || isNS6) 
 {
  if(!pVisible)
  {
   pObject.style.display = "none";
  }
  else 
  {
   pObject.style.display = "";
  }
 }
 return 1;
}

// Функция возвращающая значение указанного ей свойства объекта (не обязательно слоя).
// pObjId    - идентификатор элемента;
// pProperty - название свойства (left,top...)
function getPos(pObjId,pProperty) 
{
 var iPos = 0;
 while (pObjId!=null) 
 {
  iPos+=pObjId["offset" + pProperty];
  pObjId = pObjId.offsetParent;
 }
 return iPos
}

// Функция находит объект с указанным названием.
function GetElementById(objId) 
{
 if (isNS4)
 {
  objElement = document.layers[objId];
 }
 else if (isIE4) 
 {
  objElement = document.all[ObjId];
 }
 else if (isIE5 || isNS6) 
 {
  objElement = document.getElementById(objId);
 }
 return(objElement);
}

// Функция отображающая|скрывающая слои.
// el - объект на которой находится указатель;
// m  - наименование слоя, который надо отобразить около этого объекта.

function show(el,m) 
{
 // Если имеется видимый слой, сделать его невидимым.
 if (CurLayer!=null) 
 {
  switchDiv(CurLayer,false);
 } 
 // Если указано название слоя для отображения, то:
 // 1) Получаем вызывающий объект для координат;
 // 2) формируем координаты показываемого слоя;
 // 3) Делаем слой видимым;
 // 4) Сохраняем копию слоя в CurLayer.  

 if (m!=null) 
 {
  m=GetElementById(m);
  m.style.left = getPos(el,"Left")-1+el.offsetWidth+"px";
  m.style.top =  getPos(el,"Top")+1+"px";
  switchDiv(m,true);
  CurLayer=m;
 }
}

// Функция "закрывающая" меню.
function hidemenu() 
{
// Устанавливаем задержку равную 
// hide_delay м.с. с помощью таймера; 

 timer1=setTimeout("show(null,null)",hide_delay);
 tstat=1;// Устанавливаем tstat=1 - признак, того, что таймер запущен.
 return 1;
}

// Функция, останавливающая таймер запущенный прошлой функцией. 
// Таким образом, меню не пропадает.
function cancelhide() 
{
 if (tstat==1) 
 {
  clearTimeout(timer1);
  tstat=0;
 }
 return 1;
}
/////////////////////////////////////////
