﻿// Common Action For Private Use

//*********************************************************************************************************
// DIV

panelVisibilitySwitch = function (button, panel, openImgSrc) {
    function isImage(source) {
        return (source.tagName == "IMG");
    }
    
    if (typeof(button) == "string") button = document.getElementById(button);
    if (typeof(panel) == "string") panel = document.getElementById(panel);
    
    if (button && panel) {
        if (isImage(button) && button.openImgSrc == null) {
            button.openImgSrc = openImgSrc;
            button.closeImgSrc = button.src;
        }
        
        if (panel.isOpen == true) {
            if (isImage(button)) button.src = button.closeImgSrc;
            panel.style.display = "none";
            panel.isOpen = false;
        } else {
            if (isImage(button)) button.src = button.openImgSrc;
            panel.style.display = "";
            panel.isOpen = true;
        }
    }
};

//*************************************************************************
// MENUS

updateAdminMenu = function (callback, output, extraData) {
    if (extraData == "UpdateAdminMenu") {
        var callback = eo_GetObject("CBPUpdateMenu")
        if (callback) callback.execute();
    }
};

//*************************************************************************
// DIALOGS

dialogClosing = function (dialog, arg) {
    if (arg.keyCode == 13)
        return 0;
};

//*************************************************************************
// DROP DOWN

findItemIndexInDropDown = function (dest, value) {
    var dd = document.getElementById(dest);
    if (dd)
        for (var index = 0; index < dd.options.length - 1; index ++) {
            if (dd.options[index].value != null && dd.options[index].value == value) return index;
            if (dd.options[index].text != null && dd.options[index].text == value) return index;
        }
    return -1;
};

existItemInDropDown = function (dest, value) {
    return (findItemIndexInDropDown(dest, value) != -1)
};

addItemToDropDown = function (dest, text, value) {
    var dd = document.getElementById(dest);
    if (dd)
        dd.options[dd.options.length] = new Option(value, text);
};

deleteItemFromDropDown = function (source, value) {
    var dd = document.getElementById(source);
    if (dd) {
        var index = findItemIndexInDropDown(source, value);
        if (index != -1) dd.options[index] = null;
    }
};

mergeItemToDropDown = function (dest, text, value) {
    var dd = document.getElementById(dest);
    if (dd && !existItemInDropDown(dest, value))
        addItemToDropDown(dest, text, value);
};


