
// Current menus array
var umVisibleMenus = new Array();

// Start timer
var umUpdate = setTimeout("umUpdateStates()", 300);


// -----------------------------------------
// Update states
// -----------------------------------------

function umUpdateStates()
    {

    // Get mouse position
//    CurrentMousePosX
//    CurrentMousePosY

    if( parseInt(umVisibleMenus.length) > 0 ) 
        {
    
        // Last element
        var lastel = parseInt(umVisibleMenus.length)-1;

        // Get control
        var mp = document.getElementById("um_panel_" + umVisibleMenus[lastel]['id']);
    
        // Check find results
        if  (  !(
                (umVisibleMenus[lastel]['left'] <= CurrentMousePosX)&&(umVisibleMenus[lastel]['right'] >= CurrentMousePosX)&&
                (umVisibleMenus[lastel]['top']-14 <=CurrentMousePosY)&&(umVisibleMenus[lastel]['bottom'] >= CurrentMousePosY) 
                )  )
            {

//            alert(umVisibleMenus[lastel]['left'] + ' - ' + umVisibleMenus[lastel]['right'] + ' = ' + CurrentMousePosX);
//            alert(umVisibleMenus[lastel]['top'] + ' - ' + umVisibleMenus[lastel]['bottom'] + ' = ' + CurrentMousePosY);
//            alert(window.scrollX);

            // Hide window
            mp.style.display = "none";

            // Delete last element
            umVisibleMenus.pop();
    
            }   
        }

    // New timeout
    umUpdate = setTimeout("umUpdateStates()", 300);

    }



// -----------------------------------------
// Function to show menu block
// -----------------------------------------

function umShowUniMenu(control, id)
    {

    if( parseInt(umVisibleMenus.length) > 0 ) 
        {
        // Get control
        var mp = document.getElementById("um_panel_" + umVisibleMenus[umVisibleMenus.length-1]['id']);

        // Hide window
        mp.style.display = "none";

        // Delete last element
        umVisibleMenus.pop();
        }
    
    // Get control
    var mp = document.getElementById("um_panel_"+id);

    // Check find results
    if( mp != null )
        {
        if(mp.style.display != "block")
            {

            mp.style.display = "block";
            mp.style.left = GetControlX(control);
            mp.style.top = parseInt(GetControlY(control)) + parseInt(control.offsetHeight);

            // Create new record
            var Rec = new Array();

            // Set fields values
            Rec['left'] =  parseInt(mp.style.left);
            Rec['right'] = parseInt(Rec['left']) + parseInt(mp.offsetWidth);

            Rec['top']  = parseInt(mp.style.top);
            Rec['bottom'] = parseInt(Rec['top']) + mp.offsetHeight;

            Rec['id'] = id;

            // Put data to array
            umVisibleMenus.push(Rec);
            }
        }
    }


// -----------------------------------------
// Light item up
// -----------------------------------------

function umLightItem(control)
    {
    //control.style.background='#ff0000';
    control.className ='um_menu_item_active';
    }


// -----------------------------------------
// Unlight cell
// -----------------------------------------

function umUnlightItem(control)
    {
    // Set background
//    control.style.background='';
    control.className ='um_menu_item';
    }