﻿
var timeout	= 300;
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();
	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';
}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 


  /* 
   function Menu(){
       this.oElement = document.getElementById('Menu');
       this.aTopMenuPoints = new Array();
       this.oCurentMenuPlaceholder = null;
       window['oMenu'] = this;
   }
   
   Menu.prototype.AddPoint = function MenuAddPoint(iId, iParentId, sName, sUrl, sImageUrl){
       if(iParentId){
           window['oMenuPoint' + iParentId].AddPoint(iId, iParentId, sName, sUrl, sImageUrl);
       }else{
           var oMenuPoint = new MenuPoint(iId, iParentId, sName, sUrl, sImageUrl);
           this.aTopMenuPoints[this.aTopMenuPoints.length] = oMenuPoint;           
       }
   }

   Menu.prototype.BuildPoints = function MenuBuildPoints(oMenuPoint){
       if(oMenuPoint.aMenuPoints.length){
           if(this.oCurentMenuPlaceholder)this.RemovePoints();
       
           var iMenuWidth = Math.max(parseInt(oMenuPoint.oElement.offsetWidth - 3), 120);
           var oDivPlaceholder = document.createElement('div');
          
           oDivPlaceholder.className = 'MenuPointsPlaceholder';
           oDivPlaceholder.style.top = (parseInt(oMenuPoint.oElement.offsetTop) + parseInt(oMenuPoint.oElement.offsetHeight) - 6) + 'px';
           oDivPlaceholder.style.left = (parseInt(oMenuPoint.oElement.offsetLeft) + 1) + 'px';
           oDivPlaceholder.style.minWidth = iMenuWidth + 'px';
           
           for(var i = 0; i < oMenuPoint.aMenuPoints.length; i++){
               var oMenuPointElement = document.createElement('div');
               oMenuPointElement.id = 'oMenuPointElement'+ oMenuPoint.aMenuPoints[i].iId;
               oMenuPointElement.className = 'SubMenuPoint0';
               oMenuPointElement.style.width= (iMenuWidth - 10) + 'px';
               oMenuPointElement.innerHTML = oMenuPoint.aMenuPoints[i].sName;
               SetOpacity(oMenuPointElement, 95);
               AddEvent(oMenuPointElement, 'mouseover', MenuPointOver);
               AddEvent(oMenuPointElement, 'mouseout', MenuPointOut);
               AddEvent(oMenuPointElement, 'click', MenuPointMouseClick);
               
               if(i > 0)oDivPlaceholder.appendChild(this.CreatePointBorder((iMenuWidth)));               
               oDivPlaceholder.appendChild(oMenuPointElement);
           }
           AddEvent(oDivPlaceholder, 'mouseout', MenuRemovePointsStart);
           AddEvent(oDivPlaceholder, 'mouseover', MenuRemovePointsStop);
           
           document.body.appendChild(oDivPlaceholder);
           this.oCurentMenuPlaceholder = oDivPlaceholder;
       }
   }
   
   Menu.prototype.RemovePointsStart = MenuRemovePointsStart;
   function MenuRemovePointsStart(e){
       var oMenu = window['oMenu'];
       if(oMenu)oMenu.oTimer = setTimeout('window[\'oMenu\'].RemovePoints();', 150);
   }

   Menu.prototype.RemovePointsStop = MenuRemovePointsStop;
   function MenuRemovePointsStop(e){
       var oMenu = window['oMenu'];
       if(oMenu)clearTimeout(oMenu.oTimer);
   }
   
   Menu.prototype.RemovePoints = function MenuRemovePoints(){
       var oBrowser = window['oBrowser'];
       if(oBrowser.bIsie){
           this.oCurentMenuPlaceholder.parentElement.removeChild(this.oCurentMenuPlaceholder);
       }else{
           this.oCurentMenuPlaceholder.parentNode.removeChild(this.oCurentMenuPlaceholder); 
       }
       this.oCurentMenuPlaceholder = null;       
   }
   
   Menu.prototype.CreatePointBorder = function MenuCreatePointBorder(iWidth){
       var oDivBorder = document.createElement('div');
       oDivBorder.className = 'MenuBlackBorder';
       oDivBorder.innerHTML = '&nbsp';
       oDivBorder.style.width = iWidth +'px';
       return oDivBorder;
   }
   
   
   //MenuPoint
   function MenuPoint(iId, iParentId, sName, sUrl, sImageUrl){
       this.iId = iId;
       this.iParentId = iParentId;
       this.sName = sName;
       this.sUrl = sUrl;
       this.sImageUrl = sImageUrl;
       this.oElement = document.getElementById('mp'+ iId) ;
       this.aMenuPoints = new Array();
       window['oMenuPoint' + iId] = this;
   }
   
   MenuPoint.prototype.AddPoint = function MenuPointAddPoint(iId, iParentId, sName, sUrl, sImageUrl){
        window['oMenuPoint'+ iId] = new MenuPoint(iId, iParentId, sName, sUrl, sImageUrl);
        this.aMenuPoints[this.aMenuPoints.length] = window['oMenuPoint'+ iId];
   }
   
   MenuPoint.prototype.Over = MenuPointOver;
   function MenuPointOver(e){
        var oMenuPoint = oBrowser.bIsie ? e.srcElement : e.target;
        doClass(oMenuPoint, 1);  
        SetOpacity(oMenuPoint, 100);
   }
   
   MenuPoint.prototype.Out = MenuPointOut;
   function MenuPointOut(e){
        var oMenuPoint = oBrowser.bIsie ? e.srcElement : e.target;
        doClass(oMenuPoint, 0);  
        SetOpacity(oMenuPoint, 95);
   }
   
   MenuPoint.prototype.MouseClick = MenuPointMouseClick;
   function MenuPointMouseClick(e){
        var oMenuPointElement = oBrowser.bIsie ? e.srcElement : e.target;
        var iMenuPointId = GetIdFromElementId(oMenuPointElement.id);
        var oMenuPoint = window['oMenuPoint'+iMenuPointId];
        if(oMenuPoint.sUrl)location.href = oMenuPoint.sUrl;
   }
   */
