Index: wp-includes/js/tinymce/plugins/wplink/css/wplink.dev.css
===================================================================
--- wp-includes/js/tinymce/plugins/wplink/css/wplink.dev.css	(revision 16929)
+++ wp-includes/js/tinymce/plugins/wplink/css/wplink.dev.css	(working copy)
@@ -1,11 +1,17 @@
-#wp-link p.howto {
-	margin: 3px;
-}
-#link-options {
+#wp-link #link-options {
 	padding: 10px 0 14px;
 	border-bottom: 1px solid #dfdfdf;
 	margin: 0 6px 14px;
 }
+#wp-link p.howto {
+	margin: 3px;
+}
+#wp-link #internal-toggle {
+	margin: 0 5px;
+}
+#wp-link #internal-toggle a {
+	padding-left: 18px;
+}
 #wp-link label input[type="text"] {
 	width: 360px;
 	margin-top: 5px;
@@ -17,7 +23,7 @@
 	padding-right: 5px;
 }
 #wp-link .link-search-wrapper {
-	margin: 5px 5px 9px;
+	margin: 5px 6px 9px;
 	display: block;
 	overflow: hidden;
 }
Index: wp-includes/js/tinymce/plugins/wplink/js/wplink.dev.js
===================================================================
--- wp-includes/js/tinymce/plugins/wplink/js/wplink.dev.js	(revision 16929)
+++ wp-includes/js/tinymce/plugins/wplink/js/wplink.dev.js	(working copy)
@@ -32,6 +32,7 @@
 				e.preventDefault();
 			});
 			$('#wp-link-cancel').click( wpLink.cancel );
+			$('#internal-toggle a').click( wpLink.toggleInternalLinking );
 
 			rivers.elements.bind('river-select', wpLink.updateFields );
 
@@ -242,6 +243,33 @@
 				funcContext = this;
 				funcTriggered = true;
 			};
+		},
+
+		toggleInternalLinking : function( event ) {
+			var panel = $('#search-panel'),
+				widget = inputs.dialog.wpdialog('widget'),
+				// We're about to toggle visibility; it's currently the opposite
+				visible = !panel.is(':visible'),
+				win = $(window);
+			
+			$(this).toggleClass('toggle-arrow-active', visible);
+			panel.slideToggle( 300, function() {
+				setUserSetting('wplink', visible ? '1' : '0');
+				inputs[ visible ? 'search' : 'url' ].focus();
+				
+				// Move the box if the box is now expanded, was opened in a collapsed state,
+				// and if it needs to be moved. (Judged by bottom not being positive or
+				// bottom being smaller than top.)
+				var scroll = win.scrollTop(),
+					top = widget.offset().top,
+					bottom = top + widget.outerHeight(),
+					diff = bottom - win.height();
+				
+				if ( diff > scroll ) {
+					widget.animate({'top': diff < top ?  top - diff : scroll }, 200);
+				}
+			});
+			event.preventDefault();
 		}
 	}
 
Index: wp-admin/includes/internal-linking.php
===================================================================
--- wp-admin/includes/internal-linking.php	(revision 16929)
+++ wp-admin/includes/internal-linking.php	(working copy)
@@ -84,9 +84,10 @@
 			<label for="link-target-checkbox"><input type="checkbox" id="link-target-checkbox" tabindex="30" /> <?php _e( 'Open link in a new window/tab' ); ?></label>
 		</div>
 	</div>
-	<div id="search-panel">
+	<?php $show_internal = '1' == get_user_setting( 'wplink', '0' ); ?>
+	<p class="howto" id="internal-toggle"><a href="#" class="toggle-arrow <?php if ( $show_internal ) echo 'toggle-arrow-active'; ?>"><?php _e( 'Link to Content on this Site' ); ?></a></p>
+	<div id="search-panel"<?php if ( ! $show_internal ) echo ' style="display:none"'; ?>>
 		<div class="link-search-wrapper">
-			<p class="howto"><?php _e( 'Or, link to existing site content:' ); ?></p>
 			<label for="search-field">
 				<span><?php _e( 'Search' ); ?></span>
 				<input type="text" id="search-field" class="link-search-field" tabindex="60" autocomplete="off" />
Index: wp-admin/css/colors-classic.dev.css
===================================================================
--- wp-admin/css/colors-classic.dev.css	(revision 16929)
+++ wp-admin/css/colors-classic.dev.css	(working copy)
@@ -1524,7 +1524,8 @@
 	background: #D1E5ee;
 }
 
-#screen-meta a.show-settings {
+#screen-meta a.show-settings,
+.toggle-arrow {
 	background-image:url("../images/screen-options-toggle-vs.gif?ver=20100531");
 }
 
Index: wp-admin/css/colors-fresh.dev.css
===================================================================
--- wp-admin/css/colors-fresh.dev.css	(revision 16929)
+++ wp-admin/css/colors-fresh.dev.css	(working copy)
@@ -1517,7 +1517,8 @@
 	text-decoration: underline;
 }
 
-#screen-meta a.show-settings {
+#screen-meta a.show-settings,
+.toggle-arrow {
 	background-image:url("../images/screen-options-toggle.gif?ver=20100531");
 }
 
Index: wp-admin/css/wp-admin.dev.css
===================================================================
--- wp-admin/css/wp-admin.dev.css	(revision 16929)
+++ wp-admin/css/wp-admin.dev.css	(working copy)
@@ -747,7 +747,17 @@
 	list-style-type: disc;
 	margin-left: 18px;
 }
-
+.toggle-arrow {
+	background-repeat: no-repeat;
+	background-position: top left;
+	background-color: transparent;
+	height: 22px;
+	line-height: 22px;
+	display: block;
+}
+.toggle-arrow-active {
+	background-position: bottom left;
+}
 #screen-meta a.show-settings {
 	text-decoration: none;
 	z-index: 1;
