//================================= CLASS CONSTRUCTOR ========================================
function GNotifMsgs()
{
//VARIABLES
//The event mediator for events through this system ...
 this.eventMediator = null;
//The query data for Inbox-Outbox messages.
 this.qDataInbox = null;
 this.qDataOutbox = null;
//The currently active query data ...
 this.qData = null;
//Specifies if the query data has been initialized ...
 this.qDataInited = false;
 this.qDataFiltered = null;
//Initializing ...
 this.initialize();
}

//====================================== STATIC ==============================================
GNotifMsgs.FOLDERACTION_ADD = 0;
GNotifMsgs.FOLDERACTION_REN = 1;
GNotifMsgs.FOLDERACTION_DEL = 2;
GNotifMsgs.FOLDERACTION_DEF = 3;

//====================================== MEMBERS =============================================
GNotifMsgs.prototype.setDefaults = function()
{
 this.eventMediator = null;
 this.qDataInbox = null;
 this.qDataOutbox = null;
 this.bid = 0;
 this.qData = null;
 this.qDataFiltered = null;
}

GNotifMsgs.prototype.initialize = function()
{
 this.setDefaults();
 this.eventMediator = new EventMediatorNMsgs();
 this.qDataInbox = new QueryData();
 this.qDataOutbox = new QueryData();
 this.bid = GNotifSys.BIN_INBOX;
 this.qData = this.qDataInbox;
 this.qDataFiltered = new Array();
}

GNotifMsgs.prototype.getEventMediator = function()
{
 return this.eventMediator;
}

GNotifMsgs.prototype.getQData = function()
{
 return this.qData;
}

GNotifMsgs.prototype.setQData = function(iqData)
{
 this.qData = iqData;
}

GNotifMsgs.prototype.setQDataFiltered = function(iqData,ibid)
{
 this.qDataFiltered[ibid] = new QueryData();
 this.qDataFiltered[ibid].copyFrom(iqData);
}

GNotifMsgs.prototype.getQDataFiltered = function(ibid)
{
 if( this.qDataFiltered != null )
    return this.qDataFiltered[ibid];
 else
    return null;
}

GNotifMsgs.prototype.getQDataInited = function()
{
 return this.qDataInited;
}

GNotifMsgs.prototype.setQDataInited = function(iqDataInited)
{
 this.qDataInited = iqDataInited;
}

GNotifMsgs.prototype.onBinIdChanged = function(ibid)
{
 switch (ibid)
 {
  case GNotifSys.BIN_INBOX:
   this.qData = this.qDataInbox;
   break;

  case GNotifSys.BIN_OUTBOX:
   this.qData = this.qDataOutbox;
   break;

  default:
   break;
 }
}

GNotifMsgs.prototype.finalize = function()
{
 this.qDataInbox.finalize();
 this.qDataInbox = null;
 this.qDataOutbox.finalize();
 this.qDataOutbox = null;
 if( this.qDataFiltered != null )
 {
     for( var qd in this.qDataFiltered )
     {
         qd.finalize();
         qd = null;
     }
 }
 this.qDataFiltered = null;
 this.setDefaults();
}

