﻿function HoverParents(id, parentSnake) {
    Menu_HoverDynamic(document.getElementById(id));
    var parents = parentSnake.toString().split(',');

    for (i = 0; i < parents.length; i++) {
        if (parents[i] != '') {
            Menu_HoverDynamic(document.getElementById(parents[i]));
        }
    }
}

function UnhoverParents(id, parentSnake) {
    Menu_Unhover(document.getElementById(id));
    var parents = parentSnake.toString().split(',');

    for (i = 0; i < parents.length; i++) {
        if (parents[i] != '') {
            Menu_Unhover(document.getElementById(parents[i]));
        }
    }
}
var myVar;
var myTimeoutID;
var myNode, myData;
var ref_Menu_HoverStatic;
var ref_Menu_Unhover;
var ref_overrideMenu_HoverStatic;

// This function is called in <body onload="...">
function initInterceptors()
{
    ref_Menu_HoverStatic = Menu_HoverStatic;
    Menu_HoverStatic = My_Menu_HoverStatic;
    
    ref_Menu_Unhover = Menu_Unhover;
    Menu_Unhover = My_Menu_Unhover;
    
    //ref_overrideMenu_HoverStatic = overrideMenu_HoverStatic;
    overrideMenu_HoverStatic = My_overrideMenu_HoverStatic;
}
function My_Menu_HoverStatic(item)
{
    My_overrideMenu_HoverStatic(item);
}
function My_overrideMenu_HoverStatic(item)
{
    var node = Menu_HoverRoot(item);
    var data = Menu_GetData(item);
    myNode=node;
    myData=data;
    
    if (!data) 
        return;
        
    myVar = item;
    myTimeoutID=setTimeout("My_DelayExpandMenu(myNode,myData)",200);
}
function My_DelayExpandMenu(node, data)
{
    __disappearAfter = 100;
    Menu_Expand(node, data.horizontalOffset, data.verticalOffset);
}
function My_Menu_Unhover(item)
{
    clearTimeout(myTimeoutID);
    ref_Menu_Unhover(item);
}