﻿
/* Status Area */

var StatusArea = {
    clientID: null,
    mControl: null,
    mArgs: null,

    init: function(args)
    {
        this.mArgs = args;
        this.clientID = args.clientID;
    },

    clear: function()
    {
        var intLength;
        var intIndex;
        var objP;
        var objControl = StatusArea._getControl();


        objP = objControl.getElementsByTagName('p');
        intLength = objP.length;
        for (intIndex = 0; intIndex < intLength; intIndex++)
        {
            objControl.removeChild(objP[intIndex]);
        }

    },

    add: function(strType, strMessage)
    {
        var objControl = StatusArea._getControl();
        var objP = $CE('p');
        var objSpan = $CE('span', { className: 'StatusAreaType' + strType });

        /* 
        strType :=         
        None
        Information
        Warning
        Fatal
        */
        objControl.className = 'StatusArea StatusAreaType' + strType;

        objP.appendChild(objSpan);
        objP.appendChild(document.createTextNode(strMessage));
        objControl.appendChild(objP);
        StatusArea.show();
    },

    hide: function()
    {
        var objControl = StatusArea._getControl();
        var objX = objControl.getElementsByTagName('a')[0];
        StatusArea.clear();
        objControl.hide();
        if (objX)
            objX.hide();
    },

    show: function()
    {
        var objControl = StatusArea._getControl();
        var objX = objControl.getElementsByTagName('a')[0];
        objControl.show();
        if (objX)
            objX.show();

        document.location.href = '#StatusAreaNavigation';
    },

    _getControl: function()
    {
        var objA;
        var objSpan;
        var objTmp;

        if (StatusArea.mControl == null)
        {
            if ((StatusArea.clientID == '') || (StatusArea.clientID == null))
            {
                StatusArea.clientID = 'divStatusAreaControl';
            }
            StatusArea.mControl = $(StatusArea.clientID);
            if (StatusArea.mControl == null)
            {
                objTmp = $$('div.StatusArea');
                if (objTmp.length > 0)
                {
                    StatusArea.mControl = objTmp[0];
                }
            }


            if (StatusArea.mControl == null)
            {
                StatusArea.mControl = $CE('div', { id: StatusArea.clientID, className: 'StatusArea' }, { display: 'none' });
                objA = $CE('a', { title: 'Close', className: 'close', href: 'javascript:StatusArea.hide();' }, { display: 'none' });
                objSpan = $CE('span');
                objSpan.innerHTML = '[X]';
                objA.appendChild(objSpan);
                StatusArea.mControl.appendChild(objA);
                objA = $CE('a', { name: 'StatusAreaNavigation' });
                StatusArea.mControl.appendChild(objA);
            }
        }
        return StatusArea.mControl;
    },

    getType: function() { return 'StatusArea'; }

};

/* End of Status Area */
         
         
         
