var Imgobj_C = null;
var Imgobj_L = null;
var Imgobj_M = null;
var Imgobj_R = null;
var Imgobj_I = null;
var Imgobj_Lbl = null;
var sMsg = "";

function Command_Controls(objCmd, fDisabledOk)
{
    Imgobj_C = objCmd;
        
    if ((GetAttribute(Imgobj_C, "enabled") == 1) || fDisabledOk)
    {
        Imgobj_L   = document.getElementById(Imgobj_C.id + "_L");
        Imgobj_M   = document.getElementById(Imgobj_C.id + "_M");
        Imgobj_R   = document.getElementById(Imgobj_C.id + "_R");
        Imgobj_I   = document.getElementById(Imgobj_C.id + "_I");
        Imgobj_Lbl = document.getElementById(Imgobj_C.id + "_Lbl");
    }
    else
    {
        Imgobj_C = null;
        Imgobj_I = null;
        sMsg = "";
    }
}

function Command_Clear()
{
    if (Imgobj_C != null)
    {
        SetAttribute(Imgobj_C, "state", "");
        Imgobj_C = null;
        Imgobj_I = null;
    }        
}

function Command_SetState(sState)
{
    if ((Imgobj_C != null) && (GetAttribute(Imgobj_C, "state") != sState))
    {
        Imgobj_M.className = "clsCmdM clsCmd" + sState + "M";
        Imgobj_L.style.backgroundImage = "url(" + sCommandPath + sState + "_L.gif)";
        Imgobj_M.style.backgroundImage = "url(" + sCommandPath + sState + "_M.gif)";
        Imgobj_R.style.backgroundImage = "url(" + sCommandPath + sState + "_R.gif)";
        SetAttribute(Imgobj_C, "state", sState);
    }
}

function Command_OnMouseDown(objCmd)
{
    if (!IsBrowserIE() || (event.button == 1))
    {
        Command_Controls(objCmd, false);
        
        if (Imgobj_C != null)
        {
            //Imgobj_I.focus();
            Command_SetState("Dn");
        }            
    }        
}

function Command_OnMouseUp(objCmd)
{
    if (Imgobj_C == objCmd)
    {
        Command_SetState("Up");
        Command_Clear();
    }        
}

function Command_OnMouseOver(objCmd)
{
    if (Imgobj_C == objCmd)
        Command_SetState("Dn");
}

function Command_OnMouseOut(objCmd)
{
    if (Imgobj_C == objCmd)
    {
        Command_SetState("Up");
    }        
}

function Command_OnOnClick(objCmd)
{
    if (Imgobj_I == null)
        Command_Controls(objCmd, false);
 
    if (Imgobj_I != null)
    {
        try
        {
            if (IsBrowserIE())
            {
                Imgobj_I.focus();
                Imgobj_I.click();
            }
            else
            {
                var objS = document.getElementById(objCmd.id + "_S");
                objS.click();
            }            
        }
        catch(e)
        {
        }            
        Command_Clear();
    }        
}

function Command_OnFocus(obj)
{
    var objM = document.getElementById(obj.id.substr(0, obj.id.length - 1) + "M");
    
    if (objM != null)
        objM.className = objM.className + " clsCmdFocus";
}

function Command_OnBlur(obj)
{
    var objM = document.getElementById(obj.id.substr(0, obj.id.length - 1) + "M");
    
    if (objM != null)
        objM.className = trimEx(String_Replace(objM.className, "clsCmdFocus", ""), false);
}

function Command_Enable(sID, fEnable)
{
    var objCmd = document.getElementById(sID);
    
    if (objCmd != null)
    {
        if (fCommandEVT)
        {
            Command_Controls(objCmd, true, true);
            Command_SetState(fEnable ? "Up" : "Off");
            Imgobj_C.enabled   = fEnable ? 1 : 0;
            Imgobj_I.disabled  = !fEnable;
            Command_Clear();
        }
        else
        {
            objCmd.disabled = !fEnable;
        }        
    }        
}

function Command_SetColor(sID, sColor)
{
    var objCmd = document.getElementById(sID);
    
    if (objCmd != null)
    {
        if (fCommandEVT)
        {
            Command_Controls(objCmd, true, true);
            Imgobj_Lbl.style.color = sColor;
            Command_Clear();
        }
        else
        {
            objCmd.style.color = sColor;
        }        
    }        
}


function Command_EnableCmd(obj, fEnable)
{
    if (fCommandEVT)
    {
        var sID = obj.id;
        
        if ((sID.length >= 2) && (sID.substr(sID.length - 2) == "_I"))
            sID = sID.substr(0, sID.length - 2);

        Command_Enable(sID, fEnable);
    }
    else
    {
        obj.disabled = !fEnable;
    }        
}

function ImageCommand_EnableImg(sID, fEnable)
{
    var obj = document.getElementById(sID);
    
    if (obj != null)
    {
        obj.src = obj.src.substr(0, obj.src.lastIndexOf('_')) + "_" + (fEnable ? "Up" : "Off") + ".gif";
        obj.disabled = !fEnable;
    }
}
