anchor.diff:    },
   
     upload: function() {
  +    try {
  +      FileUploader._upload();
  +    } catch(err) {
  +      body = null;
  +      delete(xhr);
  +      alert( '<%= "Upload failed out of memory, try sending less files or use file upload form.".t %>' );
  +      FileEditor.finishedProcessing();
  +      FileUploader.reset();
  +      return;
  +    }
  +  },
  +
  +  _upload: function() {
       if(FileUploader.canUpload() == false) { return; }
   
       var xhr = new XMLHttpRequest();
  
positive.code:       }
      }
  
      var canSendAsBinary = xhr.sendAsBinary != null;
  
      var frm = $j('#' + FileUploader.uploadForm);
      xhr.open('POST', frm.attr('action'), true);
      var boundary = '---------------------------';
      for(var i=0; i<25; i++) {
        boundary += Math.floor(Math.random()*10).toString();
  
negative.code:     var files = dt.files;
      if(files == null || files.length <= 0) { return; }
  
      FileUploader.files = new Array();
  
      if(FileEditor) {
        FileEditor.startUpload(this);
        FileEditor.hideDetails();
      }
  
      for(var i=0; i<files.length; i++) {
        var file = files[i];
        file.reader = new FileReader();
        file.content = null;
        file.error = null;
        file.progress = {loaded: 0, percentage: 0, total: 0};
        FileUploader.files.push(file);
      }
  
      FileUploader.read();
  