Index: wp-admin/includes/nav-menu.php
===================================================================
--- wp-admin/includes/nav-menu.php	(revision 23419)
+++ wp-admin/includes/nav-menu.php	(working copy)
@@ -381,11 +381,8 @@
  * @since 3.0.0
  **/
 function wp_nav_menu_setup() {
-	// Register meta boxes
-	if ( wp_get_nav_menus() )
-		add_meta_box( 'nav-menu-theme-locations', __( 'Theme Locations' ), 'wp_nav_menu_locations_meta_box' , 'nav-menus', 'side', 'default' );
-	add_meta_box( 'add-custom-links', __('Custom Links'), 'wp_nav_menu_item_link_meta_box', 'nav-menus', 'side', 'default' );
 	wp_nav_menu_post_type_meta_boxes();
+	wp_nav_menu_item_link_meta_box();
 	wp_nav_menu_taxonomy_meta_boxes();
 
 	// Register advanced menu items (columns)
@@ -445,7 +442,7 @@
 		$post_type = apply_filters( 'nav_menu_meta_box_object', $post_type );
 		if ( $post_type ) {
 			$id = $post_type->name;
-			add_meta_box( "add-{$id}", $post_type->labels->name, 'wp_nav_menu_item_post_type_meta_box', 'nav-menus', 'side', 'default', $post_type );
+			wp_nav_menu_item_post_type_meta_box( $post_type );
 		}
 	}
 }
@@ -465,7 +462,7 @@
 		$tax = apply_filters( 'nav_menu_meta_box_object', $tax );
 		if ( $tax ) {
 			$id = $tax->name;
-			add_meta_box( "add-{$id}", $tax->labels->name, 'wp_nav_menu_item_taxonomy_meta_box', 'nav-menus', 'side', 'default', $tax );
+			wp_nav_menu_item_taxonomy_meta_box( $tax );
 		}
 	}
 }
@@ -542,7 +539,9 @@
 	);
 
 	?>
-	<div class="customlinkdiv" id="customlinkdiv">
+	<li class="control-section accordion-section" id="accordion-section-title_tagline">
+		<h3 title="" tabindex="0" class="accordion-section-title"><?php _e('Links'); ?></h3>
+		<div class="customlinkdiv accordion-section-content" id="customlinkdiv">
 
 			<input type="hidden" value="custom" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-type]" />
 			<p id="menu-item-url-wrap">
@@ -559,14 +558,15 @@
 				</label>
 			</p>
 
-		<p class="button-controls">
-			<span class="add-to-menu">
-				<input type="submit"<?php disabled( $nav_menu_selected_id, 0 ); ?> class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to Menu'); ?>" name="add-custom-menu-item" id="submit-customlinkdiv" />
-				<span class="spinner"></span>
-			</span>
-		</p>
+			<p class="button-controls">
+				<span class="add-to-menu">
+					<input type="submit"<?php disabled( $nav_menu_selected_id, 0 ); ?> class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to Menu'); ?>" name="add-custom-menu-item" id="submit-customlinkdiv" />
+					<span class="spinner"></span>
+				</span>
+			</p>
 
-	</div><!-- /.customlinkdiv -->
+		</div><!-- /.customlinkdiv -->
+	</li>
 	<?php
 }
 
@@ -578,10 +578,10 @@
  * @param string $object Not used.
  * @param string $post_type The post type object.
  */
-function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) {
+function wp_nav_menu_item_post_type_meta_box( $post_type ) {
 	global $_nav_menu_placeholder, $nav_menu_selected_id;
 
-	$post_type_name = $post_type['args']->name;
+	$post_type_name = $post_type->name;
 
 	// paginate browsing for large numbers of post objects
 	$per_page = 50;
@@ -599,8 +599,8 @@
 		'update_post_meta_cache' => false
 	);
 
-	if ( isset( $post_type['args']->_default_query ) )
-		$args = array_merge($args, (array) $post_type['args']->_default_query );
+	if ( isset( $post_type->_default_query ) )
+		$args = array_merge($args, (array) $post_type->_default_query );
 
 	// @todo transient caching of these results with proper invalidation on updating of a post of this type
 	$get_posts = new WP_Query;
@@ -659,132 +659,135 @@
 	);
 
 	?>
-	<div id="posttype-<?php echo $post_type_name; ?>" class="posttypediv">
-		<ul id="posttype-<?php echo $post_type_name; ?>-tabs" class="posttype-tabs add-menu-item-tabs">
-			<li <?php echo ( 'most-recent' == $current_tab ? ' class="tabs"' : '' ); ?>><a class="nav-tab-link" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($post_type_name . '-tab', 'most-recent', remove_query_arg($removed_args))); ?>#tabs-panel-posttype-<?php echo $post_type_name; ?>-most-recent"><?php _e('Most Recent'); ?></a></li>
-			<li <?php echo ( 'all' == $current_tab ? ' class="tabs"' : '' ); ?>><a class="nav-tab-link" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($post_type_name . '-tab', 'all', remove_query_arg($removed_args))); ?>#<?php echo $post_type_name; ?>-all"><?php _e('View All'); ?></a></li>
-			<li <?php echo ( 'search' == $current_tab ? ' class="tabs"' : '' ); ?>><a class="nav-tab-link" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($post_type_name . '-tab', 'search', remove_query_arg($removed_args))); ?>#tabs-panel-posttype-<?php echo $post_type_name; ?>-search"><?php _e('Search'); ?></a></li>
-		</ul>
-
-		<div id="tabs-panel-posttype-<?php echo $post_type_name; ?>-most-recent" class="tabs-panel <?php
-			echo ( 'most-recent' == $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' );
-		?>">
-			<ul id="<?php echo $post_type_name; ?>checklist-most-recent" class="categorychecklist form-no-clear">
-				<?php
-				$recent_args = array_merge( $args, array( 'orderby' => 'post_date', 'order' => 'DESC', 'posts_per_page' => 15 ) );
-				$most_recent = $get_posts->query( $recent_args );
-				$args['walker'] = $walker;
-				echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $most_recent), 0, (object) $args );
-				?>
+	<li class="control-section accordion-section" id="accordion-section-title_tagline">
+		<h3 title="" tabindex="0" class="accordion-section-title"><?php echo $post_type->labels->name; ?></h3>
+		<div id="posttype-<?php echo $post_type_name; ?>" class="posttypediv accordion-section-content">
+			<ul id="posttype-<?php echo $post_type_name; ?>-tabs" class="posttype-tabs add-menu-item-tabs">
+				<li <?php echo ( 'most-recent' == $current_tab ? ' class="tabs"' : '' ); ?>><a class="nav-tab-link" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($post_type_name . '-tab', 'most-recent', remove_query_arg($removed_args))); ?>#tabs-panel-posttype-<?php echo $post_type_name; ?>-most-recent"><?php _e('Most Recent'); ?></a></li>
+				<li <?php echo ( 'all' == $current_tab ? ' class="tabs"' : '' ); ?>><a class="nav-tab-link" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($post_type_name . '-tab', 'all', remove_query_arg($removed_args))); ?>#<?php echo $post_type_name; ?>-all"><?php _e('View All'); ?></a></li>
+				<li <?php echo ( 'search' == $current_tab ? ' class="tabs"' : '' ); ?>><a class="nav-tab-link" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($post_type_name . '-tab', 'search', remove_query_arg($removed_args))); ?>#tabs-panel-posttype-<?php echo $post_type_name; ?>-search"><?php _e('Search'); ?></a></li>
 			</ul>
-		</div><!-- /.tabs-panel -->
 
-		<div class="tabs-panel <?php
-			echo ( 'search' == $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' );
-		?>" id="tabs-panel-posttype-<?php echo $post_type_name; ?>-search">
-			<?php
-			if ( isset( $_REQUEST['quick-search-posttype-' . $post_type_name] ) ) {
-				$searched = esc_attr( $_REQUEST['quick-search-posttype-' . $post_type_name] );
-				$search_results = get_posts( array( 's' => $searched, 'post_type' => $post_type_name, 'fields' => 'all', 'order' => 'DESC', ) );
-			} else {
-				$searched = '';
-				$search_results = array();
-			}
-			?>
-			<p class="quick-search-wrap">
-				<input type="search" class="quick-search input-with-default-title" title="<?php esc_attr_e('Search'); ?>" value="<?php echo $searched; ?>" name="quick-search-posttype-<?php echo $post_type_name; ?>" />
-				<span class="spinner"></span>
-				<?php submit_button( __( 'Search' ), 'button-small quick-search-submit button-secondary hide-if-js', 'submit', false, array( 'id' => 'submit-quick-search-posttype-' . $post_type_name ) ); ?>
-			</p>
+			<div id="tabs-panel-posttype-<?php echo $post_type_name; ?>-most-recent" class="tabs-panel <?php
+				echo ( 'most-recent' == $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' );
+			?>">
+				<ul id="<?php echo $post_type_name; ?>checklist-most-recent" class="categorychecklist form-no-clear">
+					<?php
+					$recent_args = array_merge( $args, array( 'orderby' => 'post_date', 'order' => 'DESC', 'posts_per_page' => 15 ) );
+					$most_recent = $get_posts->query( $recent_args );
+					$args['walker'] = $walker;
+					echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $most_recent), 0, (object) $args );
+					?>
+				</ul>
+			</div><!-- /.tabs-panel -->
 
-			<ul id="<?php echo $post_type_name; ?>-search-checklist" data-wp-lists="list:<?php echo $post_type_name?>" class="categorychecklist form-no-clear">
-			<?php if ( ! empty( $search_results ) && ! is_wp_error( $search_results ) ) : ?>
+			<div class="tabs-panel <?php
+				echo ( 'search' == $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' );
+			?>" id="tabs-panel-posttype-<?php echo $post_type_name; ?>-search">
 				<?php
-				$args['walker'] = $walker;
-				echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $search_results), 0, (object) $args );
+				if ( isset( $_REQUEST['quick-search-posttype-' . $post_type_name] ) ) {
+					$searched = esc_attr( $_REQUEST['quick-search-posttype-' . $post_type_name] );
+					$search_results = get_posts( array( 's' => $searched, 'post_type' => $post_type_name, 'fields' => 'all', 'order' => 'DESC', ) );
+				} else {
+					$searched = '';
+					$search_results = array();
+				}
 				?>
-			<?php elseif ( is_wp_error( $search_results ) ) : ?>
-				<li><?php echo $search_results->get_error_message(); ?></li>
-			<?php elseif ( ! empty( $searched ) ) : ?>
-				<li><?php _e('No results found.'); ?></li>
-			<?php endif; ?>
-			</ul>
-		</div><!-- /.tabs-panel -->
+				<p class="quick-search-wrap">
+					<input type="search" class="quick-search input-with-default-title" title="<?php esc_attr_e('Search'); ?>" value="<?php echo $searched; ?>" name="quick-search-posttype-<?php echo $post_type_name; ?>" />
+					<span class="spinner"></span>
+					<?php submit_button( __( 'Search' ), 'button-small quick-search-submit button-secondary hide-if-js', 'submit', false, array( 'id' => 'submit-quick-search-posttype-' . $post_type_name ) ); ?>
+				</p>
 
-		<div id="<?php echo $post_type_name; ?>-all" class="tabs-panel tabs-panel-view-all <?php
-			echo ( 'all' == $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' );
-		?>">
-			<?php if ( ! empty( $page_links ) ) : ?>
-				<div class="add-menu-item-pagelinks">
-					<?php echo $page_links; ?>
-				</div>
-			<?php endif; ?>
-			<ul id="<?php echo $post_type_name; ?>checklist" data-wp-lists="list:<?php echo $post_type_name?>" class="categorychecklist form-no-clear">
-				<?php
-				$args['walker'] = $walker;
+				<ul id="<?php echo $post_type_name; ?>-search-checklist" data-wp-lists="list:<?php echo $post_type_name?>" class="categorychecklist form-no-clear">
+				<?php if ( ! empty( $search_results ) && ! is_wp_error( $search_results ) ) : ?>
+					<?php
+					$args['walker'] = $walker;
+					echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $search_results), 0, (object) $args );
+					?>
+				<?php elseif ( is_wp_error( $search_results ) ) : ?>
+					<li><?php echo $search_results->get_error_message(); ?></li>
+				<?php elseif ( ! empty( $searched ) ) : ?>
+					<li><?php _e('No results found.'); ?></li>
+				<?php endif; ?>
+				</ul>
+			</div><!-- /.tabs-panel -->
 
-				// if we're dealing with pages, let's put a checkbox for the front page at the top of the list
-				if ( 'page' == $post_type_name ) {
-					$front_page = 'page' == get_option('show_on_front') ? (int) get_option( 'page_on_front' ) : 0;
-					if ( ! empty( $front_page ) ) {
-						$front_page_obj = get_post( $front_page );
-						$front_page_obj->front_or_home = true;
-						array_unshift( $posts, $front_page_obj );
-					} else {
-						$_nav_menu_placeholder = ( 0 > $_nav_menu_placeholder ) ? intval($_nav_menu_placeholder) - 1 : -1;
-						array_unshift( $posts, (object) array(
-							'front_or_home' => true,
-							'ID' => 0,
-							'object_id' => $_nav_menu_placeholder,
-							'post_content' => '',
-							'post_excerpt' => '',
-							'post_parent' => '',
-							'post_title' => _x('Home', 'nav menu home label'),
-							'post_type' => 'nav_menu_item',
-							'type' => 'custom',
-							'url' => home_url('/'),
-						) );
+			<div id="<?php echo $post_type_name; ?>-all" class="tabs-panel tabs-panel-view-all <?php
+				echo ( 'all' == $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' );
+			?>">
+				<?php if ( ! empty( $page_links ) ) : ?>
+					<div class="add-menu-item-pagelinks">
+						<?php echo $page_links; ?>
+					</div>
+				<?php endif; ?>
+				<ul id="<?php echo $post_type_name; ?>checklist" data-wp-lists="list:<?php echo $post_type_name?>" class="categorychecklist form-no-clear">
+					<?php
+					$args['walker'] = $walker;
+
+					// if we're dealing with pages, let's put a checkbox for the front page at the top of the list
+					if ( 'page' == $post_type_name ) {
+						$front_page = 'page' == get_option('show_on_front') ? (int) get_option( 'page_on_front' ) : 0;
+						if ( ! empty( $front_page ) ) {
+							$front_page_obj = get_post( $front_page );
+							$front_page_obj->front_or_home = true;
+							array_unshift( $posts, $front_page_obj );
+						} else {
+							$_nav_menu_placeholder = ( 0 > $_nav_menu_placeholder ) ? intval($_nav_menu_placeholder) - 1 : -1;
+							array_unshift( $posts, (object) array(
+								'front_or_home' => true,
+								'ID' => 0,
+								'object_id' => $_nav_menu_placeholder,
+								'post_content' => '',
+								'post_excerpt' => '',
+								'post_parent' => '',
+								'post_title' => _x('Home', 'nav menu home label'),
+								'post_type' => 'nav_menu_item',
+								'type' => 'custom',
+								'url' => home_url('/'),
+							) );
+						}
 					}
-				}
 
-				$posts = apply_filters( 'nav_menu_items_'.$post_type_name, $posts, $args, $post_type );
-				$checkbox_items = walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $posts), 0, (object) $args );
+					$posts = apply_filters( 'nav_menu_items_'.$post_type_name, $posts, $args, $post_type );
+					$checkbox_items = walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $posts), 0, (object) $args );
 
-				if ( 'all' == $current_tab && ! empty( $_REQUEST['selectall'] ) ) {
-					$checkbox_items = preg_replace('/(type=(.)checkbox(\2))/', '$1 checked=$2checked$2', $checkbox_items);
+					if ( 'all' == $current_tab && ! empty( $_REQUEST['selectall'] ) ) {
+						$checkbox_items = preg_replace('/(type=(.)checkbox(\2))/', '$1 checked=$2checked$2', $checkbox_items);
 
-				}
+					}
 
-				echo $checkbox_items;
-				?>
-			</ul>
-			<?php if ( ! empty( $page_links ) ) : ?>
-				<div class="add-menu-item-pagelinks">
-					<?php echo $page_links; ?>
-				</div>
-			<?php endif; ?>
-		</div><!-- /.tabs-panel -->
+					echo $checkbox_items;
+					?>
+				</ul>
+				<?php if ( ! empty( $page_links ) ) : ?>
+					<div class="add-menu-item-pagelinks">
+						<?php echo $page_links; ?>
+					</div>
+				<?php endif; ?>
+			</div><!-- /.tabs-panel -->
 
-		<p class="button-controls">
-			<span class="list-controls">
-				<a href="<?php
-					echo esc_url(add_query_arg(
-						array(
-							$post_type_name . '-tab' => 'all',
-							'selectall' => 1,
-						),
-						remove_query_arg($removed_args)
-					));
-				?>#posttype-<?php echo $post_type_name; ?>" class="select-all"><?php _e('Select All'); ?></a>
-			</span>
+			<p class="button-controls">
+				<span class="list-controls">
+					<a href="<?php
+						echo esc_url(add_query_arg(
+							array(
+								$post_type_name . '-tab' => 'all',
+								'selectall' => 1,
+							),
+							remove_query_arg($removed_args)
+						));
+					?>#posttype-<?php echo $post_type_name; ?>" class="select-all"><?php _e('Select All'); ?></a>
+				</span>
 
-			<span class="add-to-menu">
-				<input type="submit"<?php disabled( $nav_menu_selected_id, 0 ); ?> class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to Menu'); ?>" name="add-post-type-menu-item" id="submit-posttype-<?php echo $post_type_name; ?>" />
-				<span class="spinner"></span>
-			</span>
-		</p>
+				<span class="add-to-menu">
+					<input type="submit"<?php disabled( $nav_menu_selected_id, 0 ); ?> class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to Menu'); ?>" name="add-post-type-menu-item" id="submit-posttype-<?php echo $post_type_name; ?>" />
+					<span class="spinner"></span>
+				</span>
+			</p>
 
-	</div><!-- /.posttypediv -->
+		</div><!-- /.posttypediv -->
+	</li>
 	<?php
 }
 
@@ -796,9 +799,9 @@
  * @param string $object Not used.
  * @param string $taxonomy The taxonomy object.
  */
-function wp_nav_menu_item_taxonomy_meta_box( $object, $taxonomy ) {
+function wp_nav_menu_item_taxonomy_meta_box( $taxonomy ) {
 	global $nav_menu_selected_id;
-	$taxonomy_name = $taxonomy['args']->name;
+	$taxonomy_name = $taxonomy->name;
 
 	// paginate browsing for large numbers of objects
 	$per_page = 50;
@@ -820,7 +823,7 @@
 
 	$terms = get_terms( $taxonomy_name, $args );
 
-	if ( ! $terms || is_wp_error($terms) ) {
+	if ( is_wp_error($terms) ) {
 		echo '<p>' . __( 'No items.' ) . '</p>';
 		return;
 	}
@@ -869,98 +872,101 @@
 	);
 
 	?>
-	<div id="taxonomy-<?php echo $taxonomy_name; ?>" class="taxonomydiv">
-		<ul id="taxonomy-<?php echo $taxonomy_name; ?>-tabs" class="taxonomy-tabs add-menu-item-tabs">
-			<li <?php echo ( 'most-used' == $current_tab ? ' class="tabs"' : '' ); ?>><a class="nav-tab-link" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($taxonomy_name . '-tab', 'most-used', remove_query_arg($removed_args))); ?>#tabs-panel-<?php echo $taxonomy_name; ?>-pop"><?php _e('Most Used'); ?></a></li>
-			<li <?php echo ( 'all' == $current_tab ? ' class="tabs"' : '' ); ?>><a class="nav-tab-link" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($taxonomy_name . '-tab', 'all', remove_query_arg($removed_args))); ?>#tabs-panel-<?php echo $taxonomy_name; ?>-all"><?php _e('View All'); ?></a></li>
-			<li <?php echo ( 'search' == $current_tab ? ' class="tabs"' : '' ); ?>><a class="nav-tab-link" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($taxonomy_name . '-tab', 'search', remove_query_arg($removed_args))); ?>#tabs-panel-search-taxonomy-<?php echo $taxonomy_name; ?>"><?php _e('Search'); ?></a></li>
-		</ul>
-
-		<div id="tabs-panel-<?php echo $taxonomy_name; ?>-pop" class="tabs-panel <?php
-			echo ( 'most-used' == $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' );
-		?>">
-			<ul id="<?php echo $taxonomy_name; ?>checklist-pop" class="categorychecklist form-no-clear" >
-				<?php
-				$popular_terms = get_terms( $taxonomy_name, array( 'orderby' => 'count', 'order' => 'DESC', 'number' => 10, 'hierarchical' => false ) );
-				$args['walker'] = $walker;
-				echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $popular_terms), 0, (object) $args );
-				?>
+	<li class="control-section accordion-section" id="accordion-section-title_tagline">
+		<h3 title="" tabindex="0" class="accordion-section-title"><?php echo $taxonomy->labels->name; ?></h3>
+		<div id="taxonomy-<?php echo $taxonomy_name; ?>" class="taxonomydiv accordion-section-content">
+			<ul id="taxonomy-<?php echo $taxonomy_name; ?>-tabs" class="taxonomy-tabs add-menu-item-tabs">
+				<li <?php echo ( 'most-used' == $current_tab ? ' class="tabs"' : '' ); ?>><a class="nav-tab-link" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($taxonomy_name . '-tab', 'most-used', remove_query_arg($removed_args))); ?>#tabs-panel-<?php echo $taxonomy_name; ?>-pop"><?php _e('Most Used'); ?></a></li>
+				<li <?php echo ( 'all' == $current_tab ? ' class="tabs"' : '' ); ?>><a class="nav-tab-link" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($taxonomy_name . '-tab', 'all', remove_query_arg($removed_args))); ?>#tabs-panel-<?php echo $taxonomy_name; ?>-all"><?php _e('View All'); ?></a></li>
+				<li <?php echo ( 'search' == $current_tab ? ' class="tabs"' : '' ); ?>><a class="nav-tab-link" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg($taxonomy_name . '-tab', 'search', remove_query_arg($removed_args))); ?>#tabs-panel-search-taxonomy-<?php echo $taxonomy_name; ?>"><?php _e('Search'); ?></a></li>
 			</ul>
-		</div><!-- /.tabs-panel -->
 
-		<div id="tabs-panel-<?php echo $taxonomy_name; ?>-all" class="tabs-panel tabs-panel-view-all <?php
-			echo ( 'all' == $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' );
-		?>">
-			<?php if ( ! empty( $page_links ) ) : ?>
-				<div class="add-menu-item-pagelinks">
-					<?php echo $page_links; ?>
-				</div>
-			<?php endif; ?>
-			<ul id="<?php echo $taxonomy_name; ?>checklist" data-wp-lists="list:<?php echo $taxonomy_name?>" class="categorychecklist form-no-clear">
-				<?php
-				$args['walker'] = $walker;
-				echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $terms), 0, (object) $args );
-				?>
-			</ul>
-			<?php if ( ! empty( $page_links ) ) : ?>
-				<div class="add-menu-item-pagelinks">
-					<?php echo $page_links; ?>
-				</div>
-			<?php endif; ?>
-		</div><!-- /.tabs-panel -->
+			<div id="tabs-panel-<?php echo $taxonomy_name; ?>-pop" class="tabs-panel <?php
+				echo ( 'most-used' == $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' );
+			?>">
+				<ul id="<?php echo $taxonomy_name; ?>checklist-pop" class="categorychecklist form-no-clear" >
+					<?php
+					$popular_terms = get_terms( $taxonomy_name, array( 'orderby' => 'count', 'order' => 'DESC', 'number' => 10, 'hierarchical' => false ) );
+					$args['walker'] = $walker;
+					echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $popular_terms), 0, (object) $args );
+					?>
+				</ul>
+			</div><!-- /.tabs-panel -->
 
-		<div class="tabs-panel <?php
-			echo ( 'search' == $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' );
-		?>" id="tabs-panel-search-taxonomy-<?php echo $taxonomy_name; ?>">
-			<?php
-			if ( isset( $_REQUEST['quick-search-taxonomy-' . $taxonomy_name] ) ) {
-				$searched = esc_attr( $_REQUEST['quick-search-taxonomy-' . $taxonomy_name] );
-				$search_results = get_terms( $taxonomy_name, array( 'name__like' => $searched, 'fields' => 'all', 'orderby' => 'count', 'order' => 'DESC', 'hierarchical' => false ) );
-			} else {
-				$searched = '';
-				$search_results = array();
-			}
-			?>
-			<p class="quick-search-wrap">
-				<input type="search" class="quick-search input-with-default-title" title="<?php esc_attr_e('Search'); ?>" value="<?php echo $searched; ?>" name="quick-search-taxonomy-<?php echo $taxonomy_name; ?>" />
-				<span class="spinner"></span>
-				<?php submit_button( __( 'Search' ), 'button-small quick-search-submit button-secondary hide-if-js', 'submit', false, array( 'id' => 'submit-quick-search-taxonomy-' . $taxonomy_name ) ); ?>
-			</p>
+			<div id="tabs-panel-<?php echo $taxonomy_name; ?>-all" class="tabs-panel tabs-panel-view-all <?php
+				echo ( 'all' == $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' );
+			?>">
+				<?php if ( ! empty( $page_links ) ) : ?>
+					<div class="add-menu-item-pagelinks">
+						<?php echo $page_links; ?>
+					</div>
+				<?php endif; ?>
+				<ul id="<?php echo $taxonomy_name; ?>checklist" data-wp-lists="list:<?php echo $taxonomy_name?>" class="categorychecklist form-no-clear">
+					<?php
+					$args['walker'] = $walker;
+					echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $terms), 0, (object) $args );
+					?>
+				</ul>
+				<?php if ( ! empty( $page_links ) ) : ?>
+					<div class="add-menu-item-pagelinks">
+						<?php echo $page_links; ?>
+					</div>
+				<?php endif; ?>
+			</div><!-- /.tabs-panel -->
 
-			<ul id="<?php echo $taxonomy_name; ?>-search-checklist" data-wp-lists="list:<?php echo $taxonomy_name?>" class="categorychecklist form-no-clear">
-			<?php if ( ! empty( $search_results ) && ! is_wp_error( $search_results ) ) : ?>
+			<div class="tabs-panel <?php
+				echo ( 'search' == $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' );
+			?>" id="tabs-panel-search-taxonomy-<?php echo $taxonomy_name; ?>">
 				<?php
-				$args['walker'] = $walker;
-				echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $search_results), 0, (object) $args );
+				if ( isset( $_REQUEST['quick-search-taxonomy-' . $taxonomy_name] ) ) {
+					$searched = esc_attr( $_REQUEST['quick-search-taxonomy-' . $taxonomy_name] );
+					$search_results = get_terms( $taxonomy_name, array( 'name__like' => $searched, 'fields' => 'all', 'orderby' => 'count', 'order' => 'DESC', 'hierarchical' => false ) );
+				} else {
+					$searched = '';
+					$search_results = array();
+				}
 				?>
-			<?php elseif ( is_wp_error( $search_results ) ) : ?>
-				<li><?php echo $search_results->get_error_message(); ?></li>
-			<?php elseif ( ! empty( $searched ) ) : ?>
-				<li><?php _e('No results found.'); ?></li>
-			<?php endif; ?>
-			</ul>
-		</div><!-- /.tabs-panel -->
+				<p class="quick-search-wrap">
+					<input type="search" class="quick-search input-with-default-title" title="<?php esc_attr_e('Search'); ?>" value="<?php echo $searched; ?>" name="quick-search-taxonomy-<?php echo $taxonomy_name; ?>" />
+					<span class="spinner"></span>
+					<?php submit_button( __( 'Search' ), 'button-small quick-search-submit button-secondary hide-if-js', 'submit', false, array( 'id' => 'submit-quick-search-taxonomy-' . $taxonomy_name ) ); ?>
+				</p>
 
-		<p class="button-controls">
-			<span class="list-controls">
-				<a href="<?php
-					echo esc_url(add_query_arg(
-						array(
-							$taxonomy_name . '-tab' => 'all',
-							'selectall' => 1,
-						),
-						remove_query_arg($removed_args)
-					));
-				?>#taxonomy-<?php echo $taxonomy_name; ?>" class="select-all"><?php _e('Select All'); ?></a>
-			</span>
+				<ul id="<?php echo $taxonomy_name; ?>-search-checklist" data-wp-lists="list:<?php echo $taxonomy_name?>" class="categorychecklist form-no-clear">
+				<?php if ( ! empty( $search_results ) && ! is_wp_error( $search_results ) ) : ?>
+					<?php
+					$args['walker'] = $walker;
+					echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $search_results), 0, (object) $args );
+					?>
+				<?php elseif ( is_wp_error( $search_results ) ) : ?>
+					<li><?php echo $search_results->get_error_message(); ?></li>
+				<?php elseif ( ! empty( $searched ) ) : ?>
+					<li><?php _e('No results found.'); ?></li>
+				<?php endif; ?>
+				</ul>
+			</div><!-- /.tabs-panel -->
 
-			<span class="add-to-menu">
-				<input type="submit"<?php disabled( $nav_menu_selected_id, 0 ); ?> class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to Menu'); ?>" name="add-taxonomy-menu-item" id="submit-taxonomy-<?php echo $taxonomy_name; ?>" />
-				<span class="spinner"></span>
-			</span>
-		</p>
+			<p class="button-controls">
+				<span class="list-controls">
+					<a href="<?php
+						echo esc_url(add_query_arg(
+							array(
+								$taxonomy_name . '-tab' => 'all',
+								'selectall' => 1,
+							),
+							remove_query_arg($removed_args)
+						));
+					?>#taxonomy-<?php echo $taxonomy_name; ?>" class="select-all"><?php _e('Select All'); ?></a>
+				</span>
 
-	</div><!-- /.taxonomydiv -->
+				<span class="add-to-menu">
+					<input type="submit"<?php disabled( $nav_menu_selected_id, 0 ); ?> class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to Menu'); ?>" name="add-taxonomy-menu-item" id="submit-taxonomy-<?php echo $taxonomy_name; ?>" />
+					<span class="spinner"></span>
+				</span>
+			</p>
+
+		</div><!-- /.taxonomydiv -->
+	</li>
 	<?php
 }
 
Index: wp-admin/js/nav-menu.js
===================================================================
--- wp-admin/js/nav-menu.js	(revision 23419)
+++ wp-admin/js/nav-menu.js	(working copy)
@@ -45,8 +45,6 @@
 			if( api.menuList.length ) // If no menu, we're in the + tab.
 				this.initSortables();
 
-			this.initToggles();
-
 			this.initTabManager();
 		},
 
@@ -223,22 +221,6 @@
 			});
 		},
 
-		initToggles : function() {
-			// init postboxes
-			postboxes.add_postbox_toggles('nav-menus');
-
-			// adjust columns functions for menus UI
-			columns.useCheckboxesForHidden();
-			columns.checked = function(field) {
-				$('.field-' + field).removeClass('hidden-field');
-			}
-			columns.unchecked = function(field) {
-				$('.field-' + field).addClass('hidden-field');
-			}
-			// hide fields
-			api.menuList.hideAdvancedMenuItemFields();
-		},
-
 		initSortables : function() {
 			var currentDepth = 0, originalDepth, minDepth, maxDepth,
 				prev, next, prevBottom, nextThreshold, helperHeight, transport,
Index: wp-admin/nav-menus.php
===================================================================
--- wp-admin/nav-menus.php	(revision 23419)
+++ wp-admin/nav-menus.php	(working copy)
@@ -23,6 +23,7 @@
 	wp_die( __( 'Cheatin&#8217; uh?' ) );
 
 wp_enqueue_script( 'nav-menu' );
+wp_enqueue_script( 'accordion' );
 
 if ( wp_is_mobile() )
 	wp_enqueue_script( 'jquery-touch-punch' );
@@ -428,7 +429,6 @@
 
 add_filter('admin_body_class', 'wp_nav_menu_max_depth');
 
-wp_nav_menu_setup();
 wp_initial_nav_menu_meta_boxes();
 
 if ( ! current_theme_supports( 'menus' ) && ! wp_get_nav_menus() )
@@ -473,7 +473,11 @@
 			<input type="hidden" name="menu" id="nav-menu-meta-object-id" value="<?php echo esc_attr( $nav_menu_selected_id ); ?>" />
 			<input type="hidden" name="action" value="add-menu-item" />
 			<?php wp_nonce_field( 'add-menu_item', 'menu-settings-column-nonce' ); ?>
-			<?php do_meta_boxes( 'nav-menus', 'side', null ); ?>
+			<div id="side-sortables" class="accordion-container">
+				<ul class="outer-border">
+					<?php wp_nav_menu_setup(); ?>
+				</ul>
+			</div>
 		</form>
 
 	</div><!-- /#menu-settings-column -->
Index: wp-admin/css/wp-admin.css
===================================================================
--- wp-admin/css/wp-admin.css	(revision 23419)
+++ wp-admin/css/wp-admin.css	(working copy)
@@ -6704,6 +6704,28 @@
 
 /* nav-menu */
 
+#nav-menu-meta ul.outer-border {
+	border: 1px solid #eeeeee;
+}
+
+.accordion-section ul.category-tabs,
+.accordion-section ul.add-menu-item-tabs,
+.accordion-section ul.wp-tab-bar {
+	margin: 0;
+}
+
+.accordion-section .categorychecklist {
+	margin: 13px 0;
+}
+
+#nav-menu-meta .accordion-section-content {
+	padding: 18px 13px;
+}
+
+#nav-menu-meta .button-controls {
+	margin-bottom: 0;
+}
+
 #nav-menus-frame {
 	margin-left: 300px;
 }
@@ -6870,7 +6892,8 @@
 }
 
 /* Add Menu Item Boxes */
-.postbox .howto input {
+.postbox .howto input,
+.accordion-container .howto input {
 	width: 180px;
 	float: right;
 }
@@ -6879,6 +6902,10 @@
 	width: 200px;
 }
 
+.customlinkdiv p {
+	margin-top: 0
+}
+
 #nav-menu-theme-locations .howto select {
 	width: 100%;
 }
