function MessageStore()
{
}

MessageStore.messages = new Object();
MessageStore.updater = new Ajax('/common/messages.php');

MessageStore.getInboxMessages = function()
{
    var inboxMessages = Object();
    for( var i in MessageStore.messages )
    {
				if(MessageStore.messages[i].folder == "0")
				{
            inboxMessages[i] = MessageStore.messages[i];
            inboxMessages[i]['checked'] = 0;
        }
    }
    return inboxMessages;
}

MessageStore.getSentMessages = function()
{
    var messageArray = Object();
    for( var i in MessageStore.messages )
    {
				if(MessageStore.messages[i].folder == "3")
				{
            messageArray[i] = MessageStore.messages[i];
            messageArray[i]['checked'] = 0;
        }
    }
    return messageArray;
}

MessageStore.getDraftMessages = function()
{
    var messageArray = Object();
    for( var i in MessageStore.messages )
    {
				if(MessageStore.messages[i].folder == "4")
				{
            messageArray[i] = MessageStore.messages[i];
            messageArray[i]['checked'] = 0;
        }
    }
    return messageArray;
}


MessageStore.getMessage = function( msgId )
{
    if(MessageStore.messages[msgId])
    {
        return MessageStore.messages[msgId];
    }
    else
    {
        return '';
    }
}

MessageStore.deleteMessage = function( msgId )
{
    delete MessageStore.messages[msgId];
}

MessageStore.doSearch = function( folderName, searchText )
{
    var folder = 0;
    var re = new RegExp(searchText, ["i"]);
    switch( folderName )
    {
      case 'inbox':
        folder = 0;
        break;
      default:
        folder = 0;
        break;
    }
    var messageArray = Object();
    for ( i in MessageStore.messages )
    {
      var msg = MessageStore.messages[i];
      if( msg['folder'] == folder )
      {
        if(msg['transcription_text'] && msg['transcription_text'].match(re))
        {
            messageArray[i] = msg;
        }
        else if(msg['comments'] && msg['comments'].match(re))
        {
          messageArray[i] = msg;
        }
        else if( msg['callerId'] && msg['callerId'].match(re) )
        {
          messageArray[i] = msg;
        }
        else if( msg['callerName'] && msg['callerName'].match(re) )
        {
          messageArray[i] = msg;
        }
        else if( msg['callerId'] && gContactList && gContactList.contact[msg['callerId']])
        {
		      idx = gContactList.contact[msg['callerId']];
		      var callerName = gContactList.contact[idx].description;
		      if( callerName.match(re) )
		      {
		        messageArray[i] = msg;
		      }
		    }
      }
    }
    window.frames['mainContent'].currentOffset = 0;
    window.frames['mainContent'].messages = messageArray;
    window.frames['mainContent'].displayMessages();
}
MessageStore.getNewCallback = function( sResponse )
{
  var objects;
  try
  {
    objects = eval( '(' + sResponse + ')' );
  }
  catch( ex )
  {
  }
  for(var i=0; i < objects.length; i++)
  {
		MessageStore.messages[objects[i]['msgId']] = objects[i];
  }
  if( window.frames['mainContent'].currentPage )
  {
    if( window.frames['mainContent'].currentPage == 'inbox' )
	  {
	    window.frames['mainContent'].messages = MessageStore.getInboxMessages();
	    window.frames['mainContent'].displayMessages();
	  }
    if( window.frames['mainContent'].currentPage == 'drafts' )
	  {
	    window.frames['mainContent'].messages = MessageStore.getDraftMessages();
	    window.frames['mainContent'].displayMessages();
	  }
    if( window.frames['mainContent'].currentPage == 'sent' )
	  {
	    window.frames['mainContent'].messages = MessageStore.getSentMessages();
	    window.frames['mainContent'].displayMessages();
	  }
	}
}

MessageStore.getNewMessages = function( )
{
    MessageStore.updater.makeRequest(MessageStore.getNewCallback, {'ajax':'1'});
}

MessageStore.addMessage = function( msgId, msgObject )
{
    MessageStore.messages[msgId] = msgObject;
}
