thomascube
2009-10-06 01ffe039089e08fd6faaf03f4170853defd41fc8
program/js/app.js
@@ -2172,14 +2172,11 @@
      }
    // check if all files has been uploaded
    if (this.gui_objects.attachmentlist) {
      var list = this.gui_objects.attachmentlist.getElementsByTagName("li");
      for (i=0;i<list.length;i++)
        if (!String(list[i].id).match(/^rcmfile/))
          {
          alert(this.get_label('notuploadedwarning'));
          return false;
          }
    for (var key in this.env.attachments) {
      if (typeof this.env.attachments[key] == 'object' && !this.env.attachments[key].complete) {
        alert(this.get_label('notuploadedwarning'));
        return false;
      }
    }
    
    // display localized warning for missing subject
@@ -2464,23 +2461,23 @@
      // handle upload errors, parsing iframe content in onload
      var fr = document.getElementsByName(frame_name)[0];
      $(fr).bind('load', {ts:ts}, function(e) {
   var content = '';
        var content = '';
        try {
          if (this.contentDocument) {
       var d = this.contentDocument;
     } else if (this.contentWindow) {
       var d = this.contentWindow.document;
     }
     content = d.childNodes[0].innerHTML;
            var d = this.contentDocument;
          } else if (this.contentWindow) {
            var d = this.contentWindow.document;
          }
          content = d.childNodes[0].innerHTML;
        } catch (e) {}
   if (!String(content).match(/add2attachment/) && (!bw.opera || (rcmail.env.uploadframe && rcmail.env.uploadframe == e.data.ts))) {
     rcmail.display_message(rcmail.get_label('fileuploaderror'), 'error');
     rcmail.remove_from_attachment_list(e.data.ts);
        if (!String(content).match(/add2attachment/) && (!bw.opera || (rcmail.env.uploadframe && rcmail.env.uploadframe == e.data.ts))) {
          rcmail.display_message(rcmail.get_label('fileuploaderror'), 'error');
          rcmail.remove_from_attachment_list(e.data.ts);
        }
   // Opera hack: handle double onload
   if (bw.opera)
     rcmail.env.uploadframe = e.data.ts;
        // Opera hack: handle double onload
        if (bw.opera)
          rcmail.env.uploadframe = e.data.ts;
      });
      form.target = frame_name;
@@ -2496,7 +2493,7 @@
        content = '<img src="'+this.env.loadingicon+'" alt="" />'+content;
      if (this.env.cancelicon)
        content = '<a title="'+this.get_label('cancel')+'" onclick="return rcmail.cancel_attachment_upload(\''+ts+'\', \''+frame_name+'\');" href="#cancelupload"><img src="'+this.env.cancelicon+'" alt="" /></a>'+content;
      this.add2attachment_list(ts, content);
      this.add2attachment_list(ts, { name:'', html:content, complete:false });
      }
    
    // set reference to the form object
@@ -2506,26 +2503,35 @@
  // add file name to attachment list
  // called from upload page
  this.add2attachment_list = function(name, content, upload_id)
    {
  this.add2attachment_list = function(name, att, upload_id)
  {
    if (!this.gui_objects.attachmentlist)
      return false;
    
    var li = $('<li>').attr('id', name).html(att.html);
    var indicator;
    // replace indicator's li
    if (upload_id && (indicator = document.getElementById(upload_id))) {
      var li = document.createElement('li');
      $(li).attr('id', name).html(content);
      indicator.parentNode.replaceChild(li, indicator);
      } else { // add new li
      $('<li>').attr('id', name).html(content).appendTo(this.gui_objects.attachmentlist);
      }
      li.replaceAll(indicator);
    }
    else { // add new li
      li.appendTo(this.gui_objects.attachmentlist);
    }
    if (upload_id && this.env.attachments[upload_id])
      delete this.env.attachments[upload_id];
    this.env.attachments[name] = att;
    
    return true;
    };
  };
  this.remove_from_attachment_list = function(name)
    {
  {
    if (this.env.attachments[name])
      delete this.env.attachments[name];
    if (!this.gui_objects.attachmentlist)
      return false;
@@ -2533,11 +2539,11 @@
    for (i=0;i<list.length;i++)
      if (list[i].id == name)
        this.gui_objects.attachmentlist.removeChild(list[i]);
    };
  };
  this.remove_attachment = function(name)
    {
    if (name)
    if (name && this.env.attachments[name])
      this.http_post('remove-attachment', '_file='+urlencode(name));
    return true;
@@ -2570,11 +2576,11 @@
      var addurl = '';
      if (this.message_list) {
        this.message_list.clear();
   if (this.env.search_mods) {
        if (this.env.search_mods) {
          var head_arr = new Array();
          for (var n in this.env.search_mods)
       head_arr.push(n);
     addurl += '&_headers='+head_arr.join(',');
            head_arr.push(n);
          addurl += '&_headers='+head_arr.join(',');
          }
        } else if (this.contact_list) {
        this.contact_list.clear(true);