/*/////////////////////////////////////////////////////////////////////

Created by Yury Timoschuk ( yury@i.com.ua )
1999, 2001, 2005

*//////////////////////////////////////////////////////////////////////
	  
      var dom = (document.getElementById)? true:false;
      var msie = (navigator.userAgent.indexOf("MSIE")>=0)? true:false;
      var currentLevel = 0;
      var levels = new Array();
      var showed = new Array();
      var countBottons;
      var curPath = "";
      var active = false;
      var locked = false;
      
	  
function doMenu(parent, child, obj)
{
 while(locked);
 locked = true;
  
 if(dom)
  {
   if((parent!=levels[currentLevel-1] && parent!=levels[currentLevel] && parent!=levels[currentLevel-2]) || (parent==levels[currentLevel-1] && child!=levels[currentLevel]))
    {
	 hide('menu' + levels[currentLevel]);
	 if(dom && document.getElementById(levels[currentLevel]))
	   bgColorRoll(document.getElementById(levels[currentLevel]), 2)
	 showed[levels[currentLevel]] = false;
	 levels[currentLevel] = "";
	 if(--currentLevel < 0) currentLevel = 0;
	}
   if(!showed[child] && menuItems[parent])
    {
	 if(!levels[currentLevel])
	   levels[currentLevel] = parent;
	 if(dom && document.getElementById(levels[currentLevel]))
	   bgColorRoll(document.getElementById(levels[currentLevel]), 1)
	 if(showMenu(child, obj))
	  {
	   levels[++currentLevel] = child;
	  }
	}
  }
 locked = false;
}  
	  
function showMenu(idButton, obj)
{       
        var idMenu = 'menu'+ idButton;
        var j = "im" + idButton;
        if(dom && document.getElementById(idMenu)!=null )
		 {
		  if(document.getElementById(j))
		   {
            while(currentLevel)
	         {
	          hide('menu' + levels[currentLevel]);
	          showed[levels[currentLevel]] = false;
	          levels[currentLevel] = "";
  	          if(--currentLevel < 0) currentLevel = 0;
	         }
		    objOffsetLeft = calculateSumOffset(obj, "offsetLeft");
		    objOffsetTop = calculateSumOffset(obj, "offsetTop");
            if(firstButtonToLeft && menuItems[0][1][2]==idButton)
              document.getElementById(idMenu).style.left = objOffsetLeft - leftCorrection - corrFirst;
			else if(lastButtonToRight && menuItems[0][menuItems[0].length - 1][2]==idButton)
              document.getElementById(idMenu).style.left = objOffsetLeft + obj.offsetWidth - menuWidth - leftCorrection + corrLast;
            else if(align == "left")
              document.getElementById(idMenu).style.left = objOffsetLeft - leftCorrection;
            else if(align == "right")
              document.getElementById(idMenu).style.left = objOffsetLeft + obj.offsetWidth - menuWidth - leftCorrection;
            else
              document.getElementById(idMenu).style.left = objOffsetLeft + obj.offsetWidth/2 - menuWidth/2 - leftCorrection;
            if(msie)
			  document.getElementById(idMenu).style.width = menuWidth;
            document.getElementById(idMenu).style.top = objOffsetTop + obj.offsetHeight + topCorrection;
            document.getElementById(idMenu).style.visibility = "Visible";
			showed[idButton] = true;
		   }
		  else
		   {
			objOffsetLeft = document.getElementById("menu" + levels[currentLevel]).offsetLeft;
		    objOffsetTop = calculateSumOffset(obj,"offsetTop");
			if(objOffsetLeft + obj.offsetWidth + menuWidth < document.body.clientWidth)
			  leftOffset = objOffsetLeft + obj.offsetWidth + 2*(menuBorderWidth + menuBorder2Width + menuBorder3Width) + subMenuLeftCorrection;
			else
			  leftOffset = objOffsetLeft - (menuWidth + subMenuLeftCorrection);
            if(msie)
			  document.getElementById(idMenu).style.width = menuWidth;
            document.getElementById(idMenu).style.left = leftOffset;
            document.getElementById(idMenu).style.top = objOffsetTop - menuBorderWidth - menuBorder2Width - menuBorder3Width + subMenuTopCorrection;
            document.getElementById(idMenu).style.visibility = "Visible";
			showed[idButton] = true;
		   }
		 }
 if(showed[idButton]) return true;
 else return false;
}

function calculateSumOffset(item, offsetName)
{
 var totalOffset = 0;
 do
  {
   totalOffset += eval('item.'+offsetName);
   item = item.offsetParent;
  }
 while (item != null);
 return totalOffset;
}


function hideMenu(e)
{
 var parentID;
 var childID;
 var evntX;
 var evntY;
 
    if(showed[levels[currentLevel]]&&((!msie&&!active)||msie))
	 {
	  parentID = 'im' + levels[currentLevel];
	  if(!document.getElementById(parentID))
	    parentID = 'menu' + levels[currentLevel-1];
      evntX = msie?event.clientX:e.clientX;
	  evntY = msie?event.clientY:e.clientY;
	  childID = 'menu' + levels[currentLevel];
	  
	  if(check(evntX, evntY - topCorrection, parentID) && check( evntX, evntY + topCorrection, childID))
	   {
		hide(childID);
		if(dom && document.getElementById(levels[currentLevel]))
		  bgColorRoll(document.getElementById(levels[currentLevel]), 2)
		showed[levels[currentLevel]] = false;
		levels[currentLevel] = "";
		if(--currentLevel < 0) currentLevel = 0;
	   }
     }
}

function check(evntX,evntY,idMenu)
{     
 var objOffsetLeft;
 var objOffsetTop;
 var obj;

      if(dom && (obj = document.getElementById(idMenu))!=null)
	   {
	    objOffsetLeft = calculateSumOffset(obj,"offsetLeft");
		objOffsetTop = calculateSumOffset(obj,"offsetTop");
	    if(( evntY + document.body.scrollTop > obj.offsetHeight + objOffsetTop
          || evntY + document.body.scrollTop < objOffsetTop
          || evntX + document.body.scrollLeft > obj.offsetWidth + objOffsetLeft
          || evntX + document.body.scrollLeft < objOffsetLeft))
          return true;
	   }
 return false;
}


function hide(id)
{
 if(dom && document.getElementById(id)!=null)
   document.getElementById(id).style.visibility = "hidden";
}

function bgColorRoll(obj, action)
{
  color = (action == 1) ? menuBgColorOver : menuBgColor;
  if(obj!=null)
   obj.bgColor = color;
}


if(dom)
 {
  document.onmousemove = hideMenu;

  var menuItems;
  menuItems = new Array();
 }

function addMenuItem(parentNum,itemNum,id,itemContent,itemRef)
{

 if(!menuItems[parentNum])
   menuItems[parentNum]=new Array();
 menuItems[parentNum][itemNum]=new Array(itemContent,itemRef,id);
}
countBottons = menuItems.length;

function initPath(path)
 {
  if(path!="")curPath = path + "/";
 }

function getLayersStyle(currentParentNumber)
 {
  var layerString = "";
  var menuNumber; 
  if(menuItems[currentParentNumber] && menuItems[currentParentNumber].length > 0)
    for(menuNumber=1; menuNumber < menuItems[currentParentNumber].length; menuNumber++)
      if(menuItems[currentParentNumber][menuNumber].length > 0)
	   {
        layerString += "#menu" + currentParentNumber +  "{POSITION: absolute; VISIBILITY: hidden; z-index: 3;}";
	     if(menuItems[menuItems[currentParentNumber][menuNumber][2]])
		  layerString += getLayersStyle(menuItems[currentParentNumber][menuNumber][2]);
	   }
  return layerString;
 }

function getMenuLayers(currentParentNumber)
 {
  var textPadding;
  var itemsString = "";
  var subMenuString = "";
  var itemsNumber;
  if(menuBgColor) bgColor = "bgColor=" + menuBgColor; else bgColor = "";
  if(menuBackground) background = " background='" + menuBackground + "'"; else background = "";
  if(menuBorderColor) borderBgColor = " bgColor=" + menuBorderColor; else borderBgColor = "";
  if(menuBorder2Color) border2BgColor = " bgColor=" + menuBorder2Color; else border2BgColor = "";
  if(menuBorder3Color) border3BgColor = " bgColor=" + menuBorder3Color; else border3BgColor = "";
  itemsString += "<DIV id = 'menu" + currentParentNumber + "' onmouseover='active=true;' onmouseout='active=false;'><TABLE " + borderBgColor + " border=0 cellPadding=" + menuBorderWidth + " cellSpacing=0 width=" + menuWidth + "><TR><TD><table " + border2BgColor + " border=0 width='100%' cellspacing=0 cellpadding=" + menuBorder2Width + "><tr><td><table " + border3BgColor + background + " border='0' width='100%' cellspacing=" + menuBorder3Width + " cellpadding=0>";
  if(menuItems[currentParentNumber] && menuItems[currentParentNumber].length > 0)
    for(itemsNumber=1; itemsNumber < menuItems[currentParentNumber].length; itemsNumber++)
      if(menuItems[currentParentNumber][itemsNumber].length > 0)
	   {
		if(menuItems[menuItems[currentParentNumber][itemsNumber][2]])
		 {
		  subMenuString += getMenuLayers(menuItems[currentParentNumber][itemsNumber][2]);
		  onMouseOver = "doMenu(\"" + currentParentNumber + "\",\"" + menuItems[currentParentNumber][itemsNumber][2] + "\",this);";
          if(pointerTag)
	        pointer = pointerTag;
	      else
	        pointer = "<img align=\"right\" src=" + pointerSource + " width=8 height=13 border=0>";
		 }
		else
		 {
		  onMouseOver = "doMenu(\"" + currentParentNumber + "\",\"\",this);";
          pointer = "";
		 }
		itemsString += "<tr><td id='" + menuItems[currentParentNumber][itemsNumber][2] + "'" + bgColor + " onmouseover = 'bgColorRoll(this,1);" + onMouseOver + "' onmouseout = 'bgColorRoll(this,2);' valign=\"middle\"" + (ItemStyleClassName?" class='" + ItemStyleClassName + "'":"") + "><a" + (ItemStyleClassName?"":" class='menuItem'") + " href='" + menuItems[currentParentNumber][itemsNumber][1] + "'>" + pointer + menuItems[currentParentNumber][itemsNumber][0] + "</a></td></tr>";
	   }
  itemsString += "</table></TD></Tr></table></TD></TR></TABLE></DIV>";
  itemsString += subMenuString;
  return itemsString;
 }

function menuWrite()
{
 var aFill = "";
 layersString = "<STYLE>";
 if(!ItemStyleClassName)
  {
   aFill = "width:100%; height:100%;";
   layersString += "a.menuItem{font-family: " + textFontFamily + "; COLOR: " + TextColor + "; FONT-WEIGHT: " + TextWeight + "; FONT-SIZE: " + TextSize + ";TEXT-DECORATION: none;" + aFill + " padding:" + textMarging + ";padding-left: " + textPaddingLeft + "}";
   layersString += "a.menuItem:visited{COLOR: " + TextColor + ";}";
   layersString += "a.menuItem:hover{COLOR: " + ieTextColorOver + ";}";
  }
 layersString += getLayersStyle(0);
 layersString += "</STYLE>";
 document.write(layersString);
 document.write(getMenuLayers(0));
}<!-- processing 0.0163969993591 sec. sql 0.00176024436951 sec. See you later! -->