Index: wp-includes/script-loader.php
===================================================================
--- wp-includes/script-loader.php	(revision 5485)
+++ wp-includes/script-loader.php	(working copy)
@@ -72,6 +72,7 @@
 		$this->add( 'cropper', '/wp-includes/js/crop/cropper.js', array('scriptaculous-dragdrop'), '20070118');
 		
 		$this->add( 'jquery', '/wp-includes/js/jquery/jquery.js', false, '1.1.2');
+		$this->add( 'jquery-form', '/wp-includes/js/jquery/jquery.form.js', array('jquery'), '1.0.3');
 		$this->add( 'interface', '/wp-includes/js/jquery/interface.js', array('jquery'), '1.2');
 		
 		if ( is_admin() ) {
@@ -113,7 +114,7 @@
 			$this->add( 'admin-comments', '/wp-admin/edit-comments.js', array('listman'), '20070327' );
 			$this->add( 'admin-users', '/wp-admin/users.js', array('listman'), '4583' );
 			$this->add( 'xfn', '/wp-admin/xfn.js', false, '3517' );
-			$this->add( 'upload', '/wp-admin/upload.js', array('prototype'), '20070306' );
+			$this->add( 'upload', '/wp-admin/upload.js', array('jquery'), '20070518' );
 			$this->localize( 'upload', 'uploadL10n', array(
 				'browseTitle' => attribute_escape(__('Browse your files')),
 				'back' => __('&laquo; Back'),
Index: wp-admin/upload.js
===================================================================
--- wp-admin/upload.js	(revision 5485)
+++ wp-admin/upload.js	(working copy)
@@ -5,18 +5,39 @@
 		tab: '',
 		postID: 0,
 
+		toQueryParams: function(qryStrOrig) {
+			var params = new Object();
+			var qryStr = qryStrOrig;
+			var i = 0;
+			do {
+				params[qryStr.split("=")[0].replace(/&/, "")] = ( qryStr.split("=")[1] ) ? qryStr.split("=")[1].split(/&|$/)[0] : '';
+				qryStr = ( qryStr.split("=")[1] ) ? qryStr.split(qryStr.split("=")[1].split(/&|$/)[0])[1] : '';
+				i++;
+			} 
+			while(i < (qryStrOrig.split("=").length - 1));
+			return params;
+		},
+
+		toQueryString: function(params) {
+			for ( var key in params )
+			var qryStr = '';
+			for ( key in params )
+				qryStr += key + '=' + params[key] + '&';
+			return qryStr;
+		},
+
 		initializeVars: function() {
 			this.urlData  = document.location.href.split('?');
-			this.params = this.urlData[1].toQueryParams();
+			this.params = this.toQueryParams(this.urlData[1]);
 			this.postID = this.params['post_id'];
 			this.tab = this.params['tab'];
 			this.style = this.params['style'];
 			this.ID = this.params['ID'];
 			if ( !this.style )
 				this.style = 'default';
-			var nonceEl = $('nonce-value');
+			var nonceEl = jQuery('#nonce-value');
 			if ( nonceEl )
-				this.nonce = nonceEl.value;
+				this.nonce = jQuery(nonceEl).val();
 			if ( this.ID ) {
 				this.grabImageData( this.ID );
 				this.imageView( this.ID );
@@ -26,36 +47,37 @@
 		initializeLinks: function() {
 			if ( this.ID )
 				return;
-			$$('a.file-link').each( function(i) {
-				var id = i.id.split('-').pop();
-				i.onclick = function(e) { theFileList[ 'inline' == theFileList.style ? 'imageView' : 'editView' ](id, e); }
+			jQuery('a.file-link').each( function() {
+				var id = jQuery(this).attr('id').split('-').pop();
+				jQuery(this).attr('href','javascript:void(0)');
+				jQuery(this).click( function(e) { theFileList[ 'inline' == theFileList.style ? 'imageView' : 'editView' ](id, e); });
 			} );
 		},
 
 		grabImageData: function(id) {
 			if ( id == this.currentImage.ID )
 				return;
-			var thumbEl = $('attachment-thumb-url-' + id);
+			var thumbEl = jQuery('#attachment-thumb-url-' + id);
 			if ( thumbEl ) {
-				this.currentImage.thumb = ( 0 == id ? '' : thumbEl.value );
-				this.currentImage.thumbBase = ( 0 == id ? '' : $('attachment-thumb-url-base-' + id).value );
+				this.currentImage.thumb = ( 0 == id ? '' : jQuery(thumbEl).val() );
+				this.currentImage.thumbBase = ( 0 == id ? '' : jQuery('#attachment-thumb-url-base-' + id).val() );
 			} else {
 				this.currentImage.thumb = false;
 			}
-			this.currentImage.src = ( 0 == id ? '' : $('attachment-url-' + id).value );
-			this.currentImage.srcBase = ( 0 == id ? '' : $('attachment-url-base-' + id).value );
-			this.currentImage.page = ( 0 == id ? '' : $('attachment-page-url-' + id).value );
-			this.currentImage.title = ( 0 == id ? '' : $('attachment-title-' + id).value );
-			this.currentImage.description = ( 0 == id ? '' : $('attachment-description-' + id).value );
-			var widthEl = $('attachment-width-' + id);
+			this.currentImage.src = ( 0 == id ? '' : jQuery('#attachment-url-' + id).val() );
+			this.currentImage.srcBase = ( 0 == id ? '' : jQuery('#attachment-url-base-' + id).val() );
+			this.currentImage.page = ( 0 == id ? '' : jQuery('#attachment-page-url-' + id).val() );
+			this.currentImage.title = ( 0 == id ? '' : jQuery('#attachment-title-' + id).val() );
+			this.currentImage.description = ( 0 == id ? '' : jQuery('#attachment-description-' + id).val() );
+			var widthEl = jQuery('#attachment-width-' + id);
 			if ( widthEl ) {
-				this.currentImage.width = ( 0 == id ? '' : widthEl.value );
-				this.currentImage.height = ( 0 == id ? '' : $('attachment-height-' + id).value );
+				this.currentImage.width = ( 0 == id ? '' : jQuery(widthEl).val() );
+				this.currentImage.height = ( 0 == id ? '' : jQuery('#attachment-height-' + id).val() );
 			} else {
 				this.currentImage.width = false;
 				this.currentImage.height = false;
 			}
-			this.currentImage.isImage = ( 0 == id ? 0 : $('attachment-is-image-' + id).value );
+			this.currentImage.isImage = ( 0 == id ? 0 : jQuery('#attachment-is-image-' + id).val() );
 			this.currentImage.ID = id;
 		},
 
@@ -65,10 +87,10 @@
 
 			h += "<div id='upload-file'>"
 			if ( this.ID ) {
-				var params = $H(this.params);
+				var params = this.params;
 				params.ID = '';
 				params.action = '';
-				h += "<a href='" + this.urlData[0] + '?' + params.toQueryString() + "'";
+				h += "<a href='" + this.urlData[0] + '?' + this.toQueryString(params) + "'";
 			} else {
 				h += "<a href='#' onclick='return theFileList.cancelView();'";
 			}
@@ -108,7 +130,7 @@
 			if ( display.length ) {
 				display.push("<br /><label for='display-title'><input type='radio' name='display' id='display-title' value='title' /> " + this.title + "</label>");
 				h += "<tr><th style='padding-bottom:.5em'>" + this.show + "</th><td style='padding-bottom:.5em'>";
-				$A(display).each( function(i) { h += i; } );
+				jQuery(display).each( function() { h += this; } );
 				h += "</td></tr>";
 			}
 
@@ -125,12 +147,9 @@
 
 			h += "</div>";
 
-			new Insertion.Top('upload-content', h);
-			var displayEl = $(checked);
-			if ( displayEl )
-				displayEl.checked = true;
-
-			if (e) Event.stop(e);
+			jQuery(h).prependTo('#upload-content');
+			jQuery('#' + checked).attr('checked','checked');
+			if (e) return e.stopPropagation();
 			return false;
 		},
 
@@ -144,10 +163,10 @@
 
 			h += "<form id='upload-file' method='post' action='" + action + "'>";
 			if ( this.ID ) {
-				var params = $H(this.params);
+				var params = this.params;
 				params.ID = '';
 				params.action = '';
-				h += "<a href='" + this.urlData[0] + '?' + params.toQueryString() + "'";
+				h += "<a href='" + this.urlData[0] + '?' + this.toQueryString(params) + "'";
 			} else {
 				h += "<a href='#' onclick='return theFileList.cancelView();'";
 			}
@@ -188,17 +207,17 @@
 			h += "<div class='submit'><input type='submit' value='" + this.saveText + "' /></div>";
 			h += "</td></tr></table></form>";
 
-			new Insertion.Top('upload-content', h);
-			if (e) Event.stop(e);
+			jQuery(h).prependTo('#upload-content');
+			if (e) e.stopPropagation();
 			return false;
 		},
 
 		prepView: function(id) {
 			this.cancelView( true );
-			var filesEl = $('upload-files');
+			var filesEl = jQuery('#upload-files');
 			if ( filesEl )
 				filesEl.hide();
-			var navEl = $('current-tab-nav');
+			var navEl = jQuery('#current-tab-nav');
 			if ( navEl )
 				navEl.hide();
 			this.grabImageData(id);
@@ -206,18 +225,18 @@
 
 		cancelView: function( prep ) {
 			if ( !prep ) {
-				var filesEl = $('upload-files');
+				var filesEl = jQuery('#upload-files');
 				if ( filesEl )
-					Element.show(filesEl);
-				var navEl = $('current-tab-nav');
+					jQuery(filesEl).show();
+				var navEl = jQuery('#current-tab-nav');
 				if ( navEl )
-					Element.show(navEl);
+					jQuery(navEl).show();
 			}
 			if ( !this.ID )
 				this.grabImageData(0);
-			var div = $('upload-file');
+			var div = jQuery('#upload-file');
 			if ( div )
-				Element.remove(div);
+				jQuery(div).remove();
 			return false;
 		},
 
@@ -227,10 +246,10 @@
 			var display = '';
 			var h = '';
 
-			link = $A(document.forms.uploadoptions.elements.link).detect( function(i) { return i.checked; } ).value;
-			displayEl = $A(document.forms.uploadoptions.elements.display).detect( function(i) { return i.checked; } )
+			link = jQuery('input[@type=radio][@name="link"][@checked]','#uploadoptions').val();
+			displayEl = jQuery('input[@type=radio][@name="display"][@checked]','#uploadoptions');
 			if ( displayEl )
-				display = displayEl.value;
+				display = jQuery(displayEl).val();
 			else if ( 1 == this.currentImage.isImage )
 				display = 'full';
 
@@ -259,15 +278,17 @@
 
 		deleteFile: function(id) {
 			if ( confirm( this.confirmText.replace(/%title%/g, this.currentImage.title) ) ) {
-				$('action-value').value = 'delete';
-				$('upload-file').submit();
+				jQuery('#action-value').attr('value','delete');
+				jQuery('#upload-file').submit();
 				return true;
 			}
 			return false;
 		}
 
 	};
-	Object.extend( theFileList, uploadL10n );
+
+	for ( var property in uploadL10n ) 
+		theFileList[property] = uploadL10n[property];
 	theFileList.initializeVars();
 	theFileList.initializeLinks();
 } );

