/* search string default value clear on focus */
function sClear() {
	var searchInput = document.getElementById('s');
	if (searchInput.value == "Поиск")  searchInput.value = "";
	}

/* search string default value return on blur */
function sBack() {
	var searchInput = document.getElementById('s');
	if (searchInput.value == "") searchInput.value = "Поиск";
	}



/* Popup menu */
popup =
{
  /***************** Служебные функции для работы с DOM ***********************/
  
  // Добавление event handler-а элемента
  domAddEvent : function( el, evname, func )
  {
    if( document.addEventListener ) // gecko-стайл
    {
      el.addEventListener(evname, func, true);
    }
    else if ( document.attachEvent ) // IE-стайл
    {
      el.attachEvent("on" + evname, func);
    }
  },
  
  // Получение координат левого угла элемента относительно тела документа
  domGetOffsetLeft : function ( el )
  {
    var offsetLeft = 0;
    
    for(var offsetParent = el.offsetParent; offsetParent; offsetParent = offsetParent.offsetParent)
    {
      offsetLeft += offsetParent.offsetLeft;
    }
    return offsetLeft + el.offsetLeft;    
  },

  // Получение координат верхнего угла элемента относительно тела документа
  domGetOffsetTop : function ( el )
  {
    var offsetTop = 0;
    
    for(var offsetParent = el.offsetParent; offsetParent; offsetParent = offsetParent.offsetParent)
    {
      offsetTop += offsetParent.offsetTop;
    }
    return offsetTop + el.offsetTop;    
  },
  
  // Получение следующего элемента в дереве документа ( nodeType = 1 )
  // Функция нужна для gecko, который включает в дерево документа
  // текстовые элементы в самых неожиданных местах 
  domGetNextElement : function ( el )
  {
    do
    {
      el = el.nextSibling;
    }
    while( el && el.nodeType != 1 );
    
    return el;
  },
  
  /****************************************************************************/
  
  // Текущее видимое меню
  visibleMenu : null,
  // Handler timeout-а на закрытие меню
  menuHideTimeout : null,

  // Показ всплывающего меню
  show : function( menuId, srcElement )
  {
    // Инициализируем дополнительные события исходного элемента
    popup.installSrcElementEvents( srcElement );
    
    // Инициализируем дополнительные события document.body
    popup.installDocumentEvents();

    // Если меню, которое следует показать не является текущим -
    // скроем текущее меню и назначим новое меню текущим
    if( ! popup.isVisibleMenu( menuId ) )
    {
      popup.hideVisibleMenu();
      popup.setVisibleMenu( menuId, srcElement );
    }
    
    // Отпозиционируем меню
    popup.positionCurrentVisibleMenu();
    popup.showVisibleMenu();
  },
  
  // Показ текущего меню
  showVisibleMenu : function()
  {
     if( ! popup.visibleMenu ) return;
     popup.visibleMenu.style.visibility = 'visible';
  },
  
  // Позиционирование текущего видимого меню
  positionCurrentVisibleMenu : function()
  {
    // Проверим, есть ли видимое меню
    if( ! popup.visibleMenu ) return;
    // Проверим наличие начальной ширины и srcElement у текущего меню
    if( ! popup.visibleMenu.initialWidth || ! popup.visibleMenu.srcElement ) return;

    // Координаты и ширина меню    
    var left, top, width;

    // Вычислим ширину меню 
    // width = (popup.visibleMenu.srcElement.offsetWidth + 6) > popup.visibleMenu.initialWidth ? (popup.visibleMenu.srcElement.offsetWidth + 6) : popup.visibleMenu.initialWidth;
    width = popup.visibleMenu.initialWidth;

    // Вычислим координату X меню
    // Если srcElement — последний пункт меню - позиционируем 
    // по его правому краю, иначе - по левому.
    if( popup.isLastMenuItem( popup.visibleMenu.srcElement ) )
      left = popup.domGetOffsetLeft( popup.visibleMenu.srcElement ) + 3 + popup.visibleMenu.srcElement.offsetWidth - width; 
    else
      left = popup.domGetOffsetLeft( popup.visibleMenu.srcElement ) - 3;

    // Откорректируем координату X, если меню вылазит за раницу экрана справа       
    if( left + width > document.body.clientWidth + document.body.scrollLeft )
      left = document.body.clientWidth + document.body.scrollLeft - width;
    
    // Вычислим координату Y
    top = popup.domGetOffsetTop( popup.visibleMenu.srcElement ) + popup.visibleMenu.srcElement.offsetHeight - 1;

    // Установим значения CSS аттрибутов
    popup.visibleMenu.style.top = top + 'px';
    popup.visibleMenu.style.left = left + 'px';
    popup.visibleMenu.style.width = width + 'px'; 
  },
  
  // Установка видимого меню
  setVisibleMenu : function( id, srcElement )
  {
    // Получим объект - меню
    var menu = document.getElementById( id );
    
    if( menu )
    {
      // Установим начальную ширину меню
      if( ! menu.initialWidth )
        menu.initialWidth = menu.offsetWidth;
      
      // Установим srcElement меню
      menu.srcElement = srcElement;
      
      // Установим дополнительные обработчики событий меню
      popup.installMenuEvents( menu );
      
      // Назначим меню      
      popup.visibleMenu = menu;
    }
  },
  
  // Проверка видимости меню с указанным идентификатором и srcElement
  isVisibleMenu : function( id )
  {
    if( ! popup.visibleMenu )
      return false;
    
    if( popup.visibleMenu.getAttribute( 'id' ) != id )
      return false;
    
    return true;    
  },
  
  // Отмена скрытия текущего меню по таймауту 
  cancelMenuHide : function ()
  {
    if( popup.menuHideTimeout )
    {
      clearTimeout( popup.menuHideTimeout );
    }
    popup.menuHideTimeout = null;
  },
  
  // Инициализация событий srcElement-а popup-а  
  installSrcElementEvents : function( el )
  {
    if( el.getAttribute( 'popupEventsInstalled' ) != 1 )
    {
      popup.domAddEvent( el, 'mouseout', popup.initMenuHide );
      popup.domAddEvent( el, 'mousemove', popup.cancelMenuHide );
      el.setAttribute( 'popupEventsInstalled', 1 );
    }
  },
  
  // Инициализация событий popup-меню
  installMenuEvents : function( el )
  {
    if( el.getAttribute( 'popupEventsInstalled' ) != 1 )
    {
      popup.domAddEvent( el, 'mouseover', popup.cancelMenuHide );
      popup.domAddEvent( el, 'mouseout', popup.initMenuHide );
      el.setAttribute( 'popupEventsInstalled', 1 );
    }
  },
  
  // Инициализация событий документа
  installDocumentEvents : function()
  {
    if( document.body.getAttribute( 'popupEventsInstalled' ) != 1 )
    {
      window.onresize = popup.positionCurrentVisibleMenu;
    }
  },

  // Установка таймаута скрытия меню
  initMenuHide : function ()
  {
    popup.cancelMenuHide();
      
    popup.menuHideTimeout = setTimeout( popup.hideVisibleMenu, 500 );    
  },
  
  // Очистка таймаута скрытия меню
  cancelMenuHide : function ()
  {
    if( popup.menuHideTimeout )
    {
      clearTimeout( popup.menuHideTimeout );
    }
    popup.menuHideTimeout = null;
  },
  
  // Является ли элемент последним меню
  isLastMenuItem : function ( el )
  {
    el = popup.domGetNextElement( el );
  
    if( el.className == 'r' )
    {
      return true;
    }
    
    return false;
  },
  
  // Скрытие видимого меню (если таковое имеется)
  hideVisibleMenu : function()
  {
    if( popup.visibleMenu )
    {
      popup.visibleMenu.style.visibility = 'hidden';
      popup.visibleMenu.style.left = popup.visibleMenu.style.top = '';
    }
    popup.visibleMenu = null;
  }
};

    


/* ===================================================================== */
/* submenu */


subpop =
{
  /***************** Служебные функции для работы с DOM ***********************/
  
  // Добавление event handler-а элемента
  domSAddEvent : function( element, eventname, ffunc )
  {
    if( document.addEventListener ) // gecko-стайл
    {
      element.addEventListener(eventname, ffunc, true);
    }
    else if ( document.attachEvent ) // IE-стайл
    {
      element.attachEvent("on" + eventname, ffunc);
    }
  },

// Получение координат левого угла элемента относительно тела документа
  domSGetOffsetLeft : function ( element )
  {
    var subOffsetLeft = 0;
    
    for(var subOffsetParent = element.offsetParent; subOffsetParent; subOffsetParent = subOffsetParent.offsetParent)
    {
      subOffsetLeft += subOffsetParent.offsetLeft;
    }
    return subOffsetLeft + element.offsetLeft;    
  },

  // Получение координат верхнего угла элемента относительно тела документа
  domSGetOffsetTop : function ( element )
  {
    var subOffsetTop = 0;
    
    for(var subOffsetParent = element.offsetParent; subOffsetParent; subOffsetParent = subOffsetParent.offsetParent)
    {
      subOffsetTop += subOffsetParent.offsetTop;
    }
    return subOffsetTop + element.offsetTop;    
  },
  
  // Получение следующего элемента в дереве документа ( nodeType = 1 )
  // Функция нужна для gecko, который включает в дерево документа
  // текстовые элементы в самых неожиданных местах 
  domSGetNextElement : function ( element )
  {
    do
    {
      element = element.nextSibling;
    }
    while( element && element.nodeType != 1 );
    
    return element;
  },
  
  /****************************************************************************/

 // Текущее видимое меню
  visibleSubMenu : null,
  // Handler timeout-а на закрытие меню
  subMenuHideTimeout : null,

  // Показ всплывающего меню
  sshow : function( subMenuId, srcElement )
  {
    // Инициализируем дополнительные события исходного элемента
    subpop.installSSrcElementEvents( srcElement );
    
    // Инициализируем дополнительные события document.body
    subpop.installSDocumentEvents();

    // Если меню, которое следует показать не является текущим -
    // скроем текущее меню и назначим новое меню текущим
    if( ! subpop.isVisibleSubMenu( subMenuId ) )
    {
      subpop.hideVisibleSubMenu();
      subpop.setVisibleSubMenu( subMenuId, srcElement );
    }
    
    // Отпозиционируем меню
    subpop.positionCurrentVisibleSubMenu();
    subpop.showVisibleSubMenu();
  },
  
  // Показ текущего меню
  showVisibleSubMenu : function()
  {
     if( ! subpop.visibleSubMenu ) return;
     subpop.visibleSubMenu.style.visibility = 'visible';
  },
  
  // Позиционирование текущего видимого меню
  positionCurrentVisibleSubMenu : function()
  {
    // Проверим, есть ли видимое меню
    if( ! subpop.visibleSubMenu ) return;
    // Проверим наличие начальной ширины и srcElement у текущего меню
    if( ! subpop.visibleSubMenu.initialWidth || ! subpop.visibleSubMenu.srcElement ) return;

    // Координаты и ширина меню    
    var subLeft, subTop, subWidth;

    // Вычислим ширину меню 
    // width = (subpop.visibleMenu.srcElement.offsetWidth + 6) > subpop.visibleMenu.initialWidth ? (subpop.visibleMenu.srcElement.offsetWidth + 6) : subpop.visibleMenu.initialWidth;
    subWidth = subpop.visibleSubMenu.initialWidth;

    // Вычислим координату X меню
    // Если srcElement — последний пункт меню - позиционируем 
    // по его правому краю, иначе - по левому.
    if( subpop.isLastSubMenuItem( subpop.visibleSubMenu.srcElement ) )
      subLeft = subpop.domSGetOffsetLeft( subpop.visibleSubMenu.srcElement ) + 3 + subpop.visibleSubMenu.srcElement.offsetWidth - subWidth; 
    else
      subLeft = subpop.domSGetOffsetLeft( subpop.visibleSubMenu.srcElement ) - 3;

    // Откорректируем координату X, если меню вылазит за раницу экрана справа       
    if( subLeft + subWidth > document.body.clientWidth + document.body.scrollLeft )
      subLeft = document.body.clientWidth + document.body.scrollLeft - subWidth;
    
    // Вычислим координату Y
    subTop = subpop.domSGetOffsetTop( subpop.visibleSubMenu.srcElement ) + subpop.visibleSubMenu.srcElement.offsetHeight - 1;

    // Установим значения CSS аттрибутов
    //subpop.visibleSubMenu.style.top = subTop + 'px';
    //subpop.visibleSubMenu.style.left = subLeft + 'px';
    //subpop.visibleSubMenu.style.width = subWidth + 'px'; 
  },
  
  // Установка видимого меню
  setVisibleSubMenu : function( id, srcElement )
  {
    // Получим объект - меню
    var subMenu = document.getElementById( id );
    
    if( subMenu )
    {
      // Установим начальную ширину меню
      if( ! subMenu.initialWidth )
        subMenu.initialWidth = subMenu.offsetWidth;
      
      // Установим srcElement меню
      subMenu.srcElement = srcElement;
      
      // Установим дополнительные обработчики событий меню
      subpop.installSubMenuEvents( subMenu );
      
      // Назначим меню      
      subpop.visibleSubMenu = subMenu;
    }
  },
  
  // Проверка видимости меню с указанным идентификатором и srcElement
  isVisibleSubMenu : function( id )
  {
    if( ! subpop.visibleSubMenu )
      return false;
    
    if( subpop.visibleSubMenu.getAttribute( 'id' ) != id )
      return false;
    
    return true;    
  },
  
  // Отмена скрытия текущего меню по таймауту 
  cancelSubMenuHide : function ()
  {
    if( subpop.subMenuHideTimeout )
    {
      clearTimeout( subpop.subMenuHideTimeout );
    }
    subpop.subMenuHideTimeout = null;
  },
  
  // Инициализация событий srcElement-а subpop-а  
  installSSrcElementEvents : function( element )
  {
    if( element.getAttribute( 'subpopEventsInstalled' ) != 1 )
    {
      subpop.domSAddEvent( element, 'mouseout', subpop.initSubMenuHide );
      subpop.domSAddEvent( element, 'mousemove', subpop.cancelSubMenuHide );
      element.setAttribute( 'subpopEventsInstalled', 1 );
    }
  },
  
  // Инициализация событий subpop-меню
  installSubMenuEvents : function( element )
  {
    if( element.getAttribute( 'subpopEventsInstalled' ) != 1 )
    {
      subpop.domSAddEvent( element, 'mouseover', subpop.cancelSubMenuHide );
      subpop.domSAddEvent( element, 'mouseout', subpop.initSubMenuHide );
      element.setAttribute( 'subpopEventsInstalled', 1 );
    }
  },
  
  // Инициализация событий документа
  installSDocumentEvents : function()
  {
    if( document.body.getAttribute( 'subpopEventsInstalled' ) != 1 )
    {
      window.onresize = subpop.positionCurrentVisibleSubMenu;
    }
  },

  // Установка таймаута скрытия меню
  initSubMenuHide : function ()
  {
    subpop.cancelSubMenuHide();
    subpop.subMenuHideTimeout = setTimeout( subpop.hideVisibleSubMenu, 10);    
  },
  
  // Очистка таймаута скрытия меню
  cancelSubMenuHide : function ()
  {
    if( subpop.subMenuHideTimeout )
    {
      clearTimeout( subpop.subMenuHideTimeout );
    }
    subpop.subMenuHideTimeout = null;
  },
  
  // Является ли элемент последним меню
  isLastSubMenuItem : function ( element )
  {
    element = subpop.domSGetNextElement( element );
  
    if( element.className == 'r' )
    {
      return true;
    }
    
    return false;
  },
  
  // Скрытие видимого меню (если таковое имеется)
  hideVisibleSubMenu : function()
  {
    if( subpop.visibleSubMenu )
    {
      subpop.visibleSubMenu.style.visibility = 'hidden';
      subpop.visibleSubMenu.style.left = subpop.visibleSubMenu.style.top = '';
    }
    subpop.visibleSubMenu = null;
  }
};

/* Навигация при просмотре позиции каталога */

    function switchPan(zz) {
   

	var item_1 = document.getElementById("mn_01");
	var item_2 = document.getElementById("mn_02");
	var item_3 = document.getElementById("mn_03");
	var item_4 = document.getElementById("mn_04");
	var item_5 = document.getElementById("mn_05");
	var citem = document.getElementById("mn_" + zz);

	item_1.className = "inactive";
	item_2.className = "inactive";
	item_3.className = "inactive";
	item_4.className = "inactive";
	item_5.className = "inactive";

	citem.className = "active";
    
	var panel_1 = document.getElementById("mnc_01");
	var panel_2 = document.getElementById("mnc_02");
	var panel_3 = document.getElementById("mnc_03");
	var panel_4 = document.getElementById("mnc_04");
	var panel_5 = document.getElementById("mnc_05");
	var cpanel = document.getElementById("mnc_" + zz);


	
	panel_1.style.display = "none";
	panel_2.style.display = "none";
	panel_3.style.display = "none";
	panel_4.style.display = "none";
	panel_5.style.display = "none";

	cpanel.style.display = "block";


		
	}
/**/