﻿//////////////////////////////////////////////////////////////////////
//
// Mouse Event Handling Functions
//
//////////////////////////////////////////////////////////////////////

//
// action should be taken for mouse moving in to the menu item
//
var LastMenu = null;
var menuDelay = 500;
var _cmTimeOut = null;

function PopupMenu_MouseOver(idMenu, idSub)
{
    if(_cmTimeOut!=null)
    clearTimeout (_cmTimeOut);
    _cmTimeOut = null;
    
    if(LastMenu!=null)
        LastMenu.style.display = "none";

    var Menu = document.getElementById(idMenu)

    var iWidth = GetOBJWidth(Menu);
    var iHeight = GetOBJHeight(Menu);
    
    var iX = GetOBJX(Menu);
    var iY = GetOBJY(Menu);

    var submenu = document.getElementById(idSub);
    
    if(submenu==null) return;
    
    submenu.style.display = "block";
    var iSubWidth = GetOBJWidth(submenu);
    //submenu.style.display = "none";
    //alert(iSubWidth)
    //alert(document.body.dir)
    //alert(iSubWidth - iWidth)
    //getOBJ(submenu.style)
    submenu.style.top = iY + iHeight + "px";
    submenu.style.left = iX - ( (document.body.dir == "rtl")?  iSubWidth - iWidth : 0 ) + "px";
    
    //alert(iX - ( (document.body.dir == "rtl")?  iSubWidth - iWidth : 0 ))
    
    
    
    if(submenu==LastMenu) return;
    submenu.style.clip ='rect(0px auto 0px 0px)'
    
    submenu.style.display = "block";
    
    var tmpx = 0;
    (document.body.dir == "rtl")? tmpx = GetOBJWidth(submenu): tmpx = 0;
    
    //alert(tmpx)
    
    window.setTimeout("animateMenuOpen(" + submenu.id + ","+tmpx+",0)",3)
    LastMenu = submenu;
}

function animateMenuOpen(submenu,x,y)
{
    var iWidth = GetOBJWidth(submenu);
    var iHeight = GetOBJHeight(submenu);
    
    y = y + 8;
    (document.body.dir == "rtl")? x = x - 8 : x = x + 8
    
    if(   ((document.body.dir == "rtl") && (x<0 && y >iHeight)) || ((document.body.dir != "rtl") && (x >iWidth && y >iHeight) )   ) 
    {
    //alert(1)
        submenu.style.clip ='rect(0px auto '+iHeight+'px 0px)';
        return;
    }
    else
    {
    //alert(2)
         (document.body.dir == "rtl")? submenu.style.clip ='rect(0px auto '+y+'px '+x+'px)' : submenu.style.clip ='rect(0px '+x+'px '+y+'px auto)';
    }
    window.setTimeout("animateMenuOpen(" + submenu.id + ","+x+","+y+")",3)
}
//
// action should be taken for mouse moving out of the menu item
//
function PopupMenu_MouseOut(idSub)
{
    _cmTimeOut = window.setTimeout ('HidMenu ("' + idSub + '")', menuDelay);
}
function HidMenu(sID)
{
    var submenu = document.getElementById(sID );
    if(submenu==null) return;
    
    submenu.style.display = "none";
    LastMenu = null;
}
function cmItemMouseOut (obj, delayTime)
{
	if (!delayTime)
		{
		delayTime = _cmNodeProperties.delay;
		}
	_cmTimeOut = window.setTimeout ('cmHideMenuTime ()', delayTime);
}