thomascube
2005-10-20 7902df457d3401c83f78a6ddd48df1a7f07f68b1
program/js/app.js
@@ -1,12 +1,12 @@
/*
/*
 +-----------------------------------------------------------------------+
 | RoundCube Webmail Client Script                                       |
 |                                                                       |
 | This file is part of the RoundCube Webmail client                     |
 | Copyright (C) 2005, RoundCube Dev, - Switzerland                      |
 | All rights reserved.                                                  |
 | Licensed under the GNU GPL                                            |
 |                                                                       |
 | Modified: 2005/08/19 (tbr)                                            |
 | Modified: 2005/10/13 (tbr)                                            |
 |                                                                       |
 +-----------------------------------------------------------------------+
 | Author: Thomas Bruederli <roundcube@gmail.com>                        |
@@ -76,7 +76,8 @@
    this.task = this.env.task;
    
    // check browser
    if (!(bw.dom && ((bw.ie && bw.vendver>=5.5 && !bw.opera) || (bw.mz && bw.vendver>=1) || (bw.safari && bw.vendver>=125) || (bw.opera && bw.vendver>=8))))
    if (!(bw.dom && ((bw.ie && bw.vendver>=5.5 && !bw.opera) || (bw.mz && bw.vendver>=1) || (bw.safari && bw.vendver>=125) ||
                     (bw.opera && bw.vendver>=8) || (bw.konq && bw.vendver>=3.4))))
      {
      location.href = this.env.comm_path+'&_action=error&_code=0x199';
      return;
@@ -203,7 +204,7 @@
    // flag object as complete
    this.loaded = true;
    // show message
    if (this.pending_message)
      this.display_message(this.pending_message[0], this.pending_message[1]);
@@ -564,12 +565,14 @@
      case 'nextmessage':
        if (this.env.next_uid)
          location.href = this.env.comm_path+'&_action=show&_uid='+this.env.next_uid+'&_mbox='+this.env.mailbox;
          this.show_message(this.env.next_uid);
          //location.href = this.env.comm_path+'&_action=show&_uid='+this.env.next_uid+'&_mbox='+this.env.mailbox;
        break;
      case 'previousmessage':
        if (this.env.prev_uid)
          location.href = this.env.comm_path+'&_action=show&_uid='+this.env.prev_uid+'&_mbox='+this.env.mailbox;
          this.show_message(this.env.prev_uid);
          //location.href = this.env.comm_path+'&_action=show&_uid='+this.env.prev_uid+'&_mbox='+this.env.mailbox;
        break;
      case 'compose':
@@ -963,7 +966,7 @@
    if (id)
      {
      this.set_busy(true);
      this.set_busy(true, 'loading');
      target.location.href = this.env.comm_path+'&_action=show&_uid='+id+'&_mbox='+escape(this.env.mailbox)+add_url;
      }
    };
@@ -1003,6 +1006,7 @@
    if (!page && mbox != this.env.mailbox)
      {
      page = 1;
      add_url += '&_refresh=1';
      this.env.current_page = page;
      this.clear_selection();
      }
@@ -1013,14 +1017,14 @@
    // load message list remotely
    if (this.gui_objects.messagelist)
      {
      this.list_mailbox_remote(mbox, page);
      this.list_mailbox_remote(mbox, page, add_url);
      return;
      }
    
    if (this.env.contentframe && window.frames && window.frames[this.env.contentframe])
      {
      target = window.frames[this.env.contentframe];
      add_url = '&_framed=1';
      add_url += '&_framed=1';
      }
    // load message list to target frame/window
@@ -1033,7 +1037,7 @@
  // send remote request to load message list
  this.list_mailbox_remote = function(mbox, page)
  this.list_mailbox_remote = function(mbox, page, add_url)
    {
    // clear message list
    var table = this.gui_objects.messagelist;
@@ -1047,7 +1051,7 @@
    // send request to server
    var url = '_mbox='+escape(mbox)+(page ? '&_page='+page : '');
    this.set_busy(true, 'loading');
    this.http_request('list', url);
    this.http_request('list', url+add_url);
    };
@@ -1799,6 +1803,10 @@
       }
     if (row.cells[2].firstChild.tagName=='A')
       row.cells[2].firstChild.onclick = new Function(this.ref+".command('delete-folder','"+name+"')");
    var form;
    if ((form = this.gui_objects.editform) && form.elements['_folder_name'])
      form.elements['_folder_name'].value = '';
     };
@@ -1985,9 +1993,11 @@
      var item, reg, text_obj;
      var s_mbox = String(mbox).toLowerCase().replace(this.mbox_expression, '');
      var s_current = this.env.mailbox.toLowerCase().replace(this.mbox_expression, '');
      for (var n=0; n<this.gui_objects.mailboxlist.childNodes.length; n++)
      var nodes = this.gui_objects.mailboxlist.getElementsByTagName('LI');
      for (var n=0; n<nodes.length; n++)
        {
        item = this.gui_objects.mailboxlist.childNodes[n];
        item = nodes[n];
        if (item.className && item.className.indexOf('mailbox '+s_mbox+' ')>=0)
          this.set_classname(item, 'selected', true);
        else if (item.className && item.className.indexOf('mailbox '+s_current)>=0)