Index: admin/js/_media.js
===================================================================
--- admin/js/_media.js	(revision 1159)
+++ admin/js/_media.js	(revision 1160)
@@ -1,4 +1,7 @@
 $(function() {
-    var jqXHR = null;
+    if ($('#fileupload').length==0) {
+	return;
+    }
+
     $('#fileupload').fileupload({
 	url: $('#fileupload').attr('action'),
@@ -7,38 +10,36 @@
     }).bind('fileuploaddone', function(e, data) {
 	if (data.result.files[0].html !==undefined) {
-	    $('.media-list').append(data.result.files[0].html);
+	    $('.media-list p.clear').before(data.result.files[0].html);
 	}
     });
 
-    if (!$.browser.opera) {
-	var $container = $('#fileupload').parent().parent();
-	var $msg;
+    var $container = $('#fileupload').parent().parent();
+    var $msg;
 
+    if ($container.hasClass('enhanced_uploader')) {
+	$msg = dotclear.msg.enhanced_uploader_disable;
+	$('#fileupload').fileupload({disabled:false});
+    } else {
+	$msg = dotclear.msg.enhanced_uploader_activate;
+    }
+
+    $('<div><a href="#">' + $msg + '</a></div>').click( function() {
 	if ($container.hasClass('enhanced_uploader')) {
+	    $msg = dotclear.msg.enhanced_uploader_activate;
+	    $('#upfile').attr('multiple', false);
+
+	    // when a user has clicked enhanced_uploader, and has added files
+	    // We must remove files in table
+	    $('.table-files tr', '#fileupload').remove();
+	    $('#fileupload').fileupload({disabled:true});
+	} else {
 	    $msg = dotclear.msg.enhanced_uploader_disable;
+	    $('#upfile').attr('multiple', true);
 	    $('#fileupload').fileupload({disabled:false});
-	} else {
-	    $msg = dotclear.msg.enhanced_uploader_activate;
 	}
+	$(this).find('a').text($msg);
 
-	$('<div><a href="#">' + $msg + '</a></div>').click( function() {
-	    if ($container.hasClass('enhanced_uploader')) {
-		$msg = dotclear.msg.enhanced_uploader_activate;
-		$('#upfile').attr('multiple', false);
-
-		// when a user has clicked enhanced_uploader, and has added files
-		// We must remove files in table
-		$('.table-files tr', '#fileupload').remove();
-		$('#fileupload').fileupload({disabled:true});
-	    } else {
-		$msg = dotclear.msg.enhanced_uploader_disable;
-		$('#upfile').attr('multiple', true);
-		$('#fileupload').fileupload({disabled:false});
-	    }
-	    $(this).find('a').text($msg);
-
-	    $container.toggleClass('enhanced_uploader');
-	}).appendTo($('#fileupload'));
-    }
+	$container.toggleClass('enhanced_uploader');
+    }).appendTo($('#fileupload'));
 
     // Replace remove links by a POST on hidden form
Index: admin/media.php
===================================================================
--- admin/media.php	(revision 1159)
+++ admin/media.php	(revision 1160)
@@ -151,5 +151,5 @@
       $message['files'][] = array('name' => $upfile['name'],
                                   'size' => $upfile['size'],
-                                  'html' => mediaItemLine($core->media->getFile($new_file_id), count($dir['files']))
+                                  'html' => mediaItemLine($core->media->getFile($new_file_id), 1)
                                   );
     } catch (Exception $e) {
@@ -284,4 +284,5 @@
 
 $items = array_values(array_merge($dir['dirs'],$dir['files']));
+echo '<div class="media-list">';
 if (count($items) == 0)
 {
@@ -303,5 +304,4 @@
 	'</form>'.
 	
-	'<div class="media-list">'.
 	'<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 	
@@ -312,14 +312,15 @@
 	
 	echo
-	'<p class="clear">'.__('Page(s)').' : '.$pager->getLinks().'</p>'.
-	'</div>';
-}
-
+     '<p class="clear">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+}
+echo
+  '<p class="clear"></p>'.
+  '</div>';
 
 if ($core_media_writable)
 {
-	echo '<div class="two-cols">';
-	
- 	if ($user_ui_enhanceduploader) {
+  echo '<div class="two-cols">';
+	
+  if ($user_ui_enhanceduploader) {
     echo
       '<div class="col enhanced_uploader">';
@@ -338,5 +339,5 @@
   echo
   '<div class="fileupload-buttonbar">'.
-  '<label class="button-add button" for="upfile">'.__('Add files').
+  '<label class="button add" for="upfile"><span>'.__('Add files').'</span>'.
   '<span class="one-file"> ('.sprintf(__('Maximum size %s'),files::size(DC_MAX_UPLOAD_SIZE)).')</span>'.
     '<input type="file" id="upfile" name="upfile[]"'.($user_ui_enhanceduploader?' multiple="mutiple"':'').' data-url="'.html::escapeURL($page_url).'" />'.
@@ -345,18 +346,18 @@
 
   echo
-	'<p class="one-file"><label for="upfiletitle">'.__('Title:').form::field(array('upfiletitle','upfiletitle'),35,255).'</label></p>'.
-	'<p class="one-file"><label for="upfilepriv" class="classic">'.form::checkbox(array('upfilepriv','upfilepriv'),1).' '.
+  '<p class="one-file"><label for="upfiletitle">'.__('Title:').form::field(array('upfiletitle','upfiletitle'),35,255).'</label></p>'.
+  '<p class="one-file"><label for="upfilepriv" class="classic">'.form::checkbox(array('upfilepriv','upfilepriv'),1).' '.
   __('Private').'</label></p>';
 
-	if (!$user_ui_enhanceduploader) {
-		echo
-		'<p class="one-file form-help info">'.__('To send several files at the same time, you can activate the enhanced uploader in').
-		' <a href="preferences.php?tab=user-options">'.__('My preferences').'</a></p>';
-	}
+  if (!$user_ui_enhanceduploader) {
+       echo
+       '<p class="one-file form-help info">'.__('To send several files at the same time, you can activate the enhanced uploader in').
+       ' <a href="preferences.php?tab=user-options">'.__('My preferences').'</a></p>';
+  }
 
   echo
+  '<button type="reset" class="button cancel"><span>'.__('Cancel').'</span></button>'.
   '<input class="button start" type="submit" value="'.__('Send').'"/>'.
   '</div>';
-
 
   echo
Index: admin/style/jsUpload/style.css
===================================================================
--- admin/style/jsUpload/style.css	(revision 1159)
+++ admin/style/jsUpload/style.css	(revision 1160)
@@ -14,7 +14,9 @@
   color: #fff;
   margin-right: 4px;
+  padding: .1em .5em 0 .5em;
+  font-size: 1em;
 }
 
-.enhanced_uploader .button-add {
+.enhanced_uploader label.button.add {
   position: relative;
 }
@@ -25,5 +27,5 @@
 }
 
-.enhanced_uploader .button-add input {
+.enhanced_uploader .button.add input {
   position: absolute;
   top: 0;
@@ -54,9 +56,17 @@
 }
 
+.enhanced_uploader .table-files .button.cancel {
+  background: transparent url('../../images/check-off.png') no-repeat left top;
+  width: 13px;
+  height: 13px;
+  margin-top: 3px;
+  border: none;
+}
+
 .enhanced_uploader .one-file {
   display: none;
 }
 
-.table-files {
+.table-files, .button.cancel {
   display: none;
 }
@@ -66,4 +76,8 @@
 }
 
+.enhanced_uploader .button.cancel {
+  display: inline-block;
+}
+
 label span.one-file {
   display: inline;
Index: inc/admin/lib.dc.page.php
===================================================================
--- inc/admin/lib.dc.page.php	(revision 1159)
+++ inc/admin/lib.dc.page.php	(revision 1160)
@@ -711,4 +711,9 @@
             {% } %}
         </td>
+        <td>
+            {% if (!i) { %}
+                <div class="button cancel" title="'.__('Cancel').'"></div>
+            {% } %}
+        </td>
     </tr>
 {% } %}
