Index: admin/js/jsUpload/jquery.fileupload-ui.js
===================================================================
--- admin/js/jsUpload/jquery.fileupload-ui.js	(revision 1206)
+++ admin/js/jsUpload/jquery.fileupload-ui.js	(revision 1320)
@@ -1,4 +1,4 @@
 /*
- * jQuery File Upload User Interface Plugin 8.2.1
+ * jQuery File Upload User Interface Plugin 8.7.1
  * https://github.com/blueimp/jQuery-File-Upload
  *
@@ -20,5 +20,7 @@
             'jquery',
             'tmpl',
-            './jquery.fileupload-resize',
+            './jquery.fileupload-image',
+            './jquery.fileupload-audio',
+            './jquery.fileupload-video',
             './jquery.fileupload-validate'
         ], factory);
@@ -104,19 +106,7 @@
                     );
                 });
-
-            /*
-             *  
-             *  Activation du bouton si un fichier trouvé
-             */
-                var fileUploadButtonBar = that.element.find('.fileupload-buttonbar');
-                fileUploadButtonBar.find('.start').prop('disabled', false);
-                fileUploadButtonBar.find('.start').removeClass('disabled');
-             /*
-             *
-             */
             },
             // Callback for the start of each file upload request:
             send: function (e, data) {
-                $(this).find('.start').hide();
                 var that = $(this).data('blueimp-fileupload') ||
                         $(this).data('fileupload');
@@ -140,5 +130,4 @@
             // Callback for successful uploads:
             done: function (e, data) {
-
                 var that = $(this).data('blueimp-fileupload') ||
                         $(this).data('fileupload'),
@@ -151,6 +140,6 @@
                     data.context.each(function (index) {
                         var file = files[index] ||
-                                {error: 'Empty file upload result'},
-                            deferred = that._addFinishedDeferreds();
+                                {error: 'Empty file upload result'};
+                        deferred = that._addFinishedDeferreds();
                         that._transition($(this)).done(
                             function () {
@@ -171,6 +160,7 @@
                     });
                 } else {
-                    template = that._renderDownload(files)
-                        .appendTo(that.options.filesContainer);
+                    template = that._renderDownload(files)[
+                        that.options.prependFiles ? 'prependTo' : 'appendTo'
+                    ](that.options.filesContainer);
                     that._forceReflow(template);
                     deferred = that._addFinishedDeferreds();
@@ -227,6 +217,7 @@
                     });
                 } else if (data.errorThrown !== 'abort') {
-                    data.context = that._renderUpload(data.files)
-                        .appendTo(that.options.filesContainer)
+                    data.context = that._renderUpload(data.files)[
+                        that.options.prependFiles ? 'prependTo' : 'appendTo'
+                    ](that.options.filesContainer)
                         .data('data', data);
                     that._forceReflow(data.context);
@@ -281,12 +272,9 @@
             // Callback for uploads start, equivalent to the global ajaxStart event:
             start: function (e) {
-                $(this).find('.start').hide();
                 var that = $(this).data('blueimp-fileupload') ||
-                $(this).data('fileupload');
+                        $(this).data('fileupload');
                 that._resetFinishedDeferreds();
                 that._transition($(this).find('.fileupload-progress')).done(
-
                     function () {
-
                         that._trigger('started', e);
                     }
@@ -295,5 +283,4 @@
             // Callback for uploads stop, equivalent to the global ajaxStop event:
             stop: function (e) {
-                $(this).find('.start').show();
                 var that = $(this).data('blueimp-fileupload') ||
                         $(this).data('fileupload'),
@@ -312,17 +299,4 @@
                     }
                 );
-            /*
-             *  Recherche des fichers restants à uploader
-             *  Désactivation du bouton si plus rien
-             */
-             var filesList = that.options.filesContainer;
-             if(filesList.find('.start').size() == 0) {
-                var fileUploadButtonBar = that.element.find('.fileupload-buttonbar');
-                fileUploadButtonBar.find('.start').prop('disabled', true);
-                fileUploadButtonBar.find('.start').addClass('disabled');
-             }
-            /*
-             *
-             */
             },
             processstart: function () {
@@ -335,7 +309,6 @@
             destroy: function (e, data) {
                 var that = $(this).data('blueimp-fileupload') ||
-                        $(this).data('fileupload');
-                if (data.url) {
-                    $.ajax(data).done(function () {
+                        $(this).data('fileupload'),
+                    removeNode = function () {
                         that._transition(data.context).done(
                             function () {
@@ -344,5 +317,9 @@
                             }
                         );
-                    });
+                    };
+                if (data.url) {
+                    $.ajax(data).done(removeNode);
+                } else {
+                    removeNode();
                 }
             }
@@ -637,4 +614,7 @@
             this._super();
             this._resetFinishedDeferreds();
+            if (!$.support.fileInput) {
+                this._disableFileInputButton();
+            }
         },
 
