
//============================================================//
//
//============================================================//

var MenuTimeOut = 0;
var MenuShowTimeOut = 0;
var DynamicMenuSrcElement;

/* Shortcuts */
function DM_Show(event) { return ShowDynamicMenu(event); }
function DM_Hide(delay) { return DynamicMenuExit(delay); }
function DM_Clear()     { return DynamicMenuClearTimeout(); }

function ShowDynamicMenu(event)
{
    DynamicMenuSrcElement = event.srcElement;
    
    if(DynamicMenu.style.display!="")
        MenuShowTimeOut = window.setTimeout("ShowDynamicMenuInternal()", 200);
    else
        ShowDynamicMenuInternal();
}

function ShowDynamicMenuInternal()
{
    DynamicMenu.style.left = GetWindowX(DynamicMenuSrcElement);
    DynamicMenu.style.top  = GetWindowY(DynamicMenuSrcElement) + 20;
    
    var iRight = DynamicMenu.offsetLeft+DynamicMenu.offsetWidth+10;
    var iWidth = document.all("TopBar").offsetWidth;
    
    if(iRight>iWidth)
    {
        DynamicMenu.style.left = DynamicMenu.offsetLeft-(iRight-iWidth);
    }
    
    DynamicMenu.style.display = "";
    
    DynamicMenuClearTimeout();
    
    //MenuTimeOut = window.setTimeout("HideDynamicMenu()", 2000);
}

function DynamicMenuClearTimeout()
{
    if(MenuTimeOut>0) 
        window.clearTimeout(MenuTimeOut);

    MenuTimeOut = 0;
}

function DynamicMenuExit(delay)
{
    if(MenuShowTimeOut!=0)
        window.clearTimeout(MenuShowTimeOut);

    DynamicMenuClearTimeout();
       
    MenuTimeOut = window.setTimeout("HideDynamicMenu()", delay);
}

function HideDynamicMenu()
{
    DynamicMenuClearTimeout();
    
    DynamicMenu.style.display = "none";
}

function GetWindowX(el)
{
    return el.offsetLeft + (el.offsetParent!=null ? GetWindowX(el.offsetParent) : 0);
}

function GetWindowY(el)
{
    return el.offsetTop + (el.offsetParent!=null ? GetWindowY(el.offsetParent) : 0);
}

function MenuClear()
{
    while(DynamicMenu1.rows.length)
        DynamicMenu1.deleteRow(0);

    while(DynamicMenu2.rows.length)
        DynamicMenu2.deleteRow(0);
       
    DynamicMenu2.style.display = "none";
}

function MenuAddSection(column, title)
{
    var Menu = column==1 ? DynamicMenu2 : DynamicMenu1;
    var Row  = Menu.insertRow(-1);
    var Cell = Row.insertCell(-1);
    
    Cell.className = "menuDynSection"; //"cms_menu_top";
    Cell.innerHTML = title;
    //Cell.style.fontVariant = "small-caps"; //removed by Olivier 2006-08-20
    
    if(DynamicMenu2.rows.length)
        DynamicMenu2.style.display = "";
}

function MenuAddItem(column, title, url)
{
    var Menu = column==1 ? DynamicMenu2 : DynamicMenu1;
    var Row  = Menu.insertRow(-1);
    var Cell = Row.insertCell(-1);
    
    /* removed class=\"cms_menu_top_item\"  */
    var HTML = "<a href=\""+url+"\">"+title+"</a>";
    
    // Cell.className = "cms_menu_top_item";
    Cell.innerHTML = HTML;
    
    if(DynamicMenu2.rows.length)
        DynamicMenu2.style.display = "";
}

function MenuAddLine(column)
{
    var Menu = column==1 ? DynamicMenu2 : DynamicMenu1;
    var Row  = Menu.insertRow(-1);
    var Cell = Row.insertCell(-1);
    
    var HTML = "<hr />";
    
    // Cell.className = "cms_menu_top_item";
    Cell.innerHTML = HTML;
    
    if(DynamicMenu2.rows.length)
        DynamicMenu2.style.display = "";
}
