Index: wp-includes/user.php
===================================================================
--- wp-includes/user.php	(revision 18855)
+++ wp-includes/user.php	(working copy)
@@ -1482,4 +1482,77 @@
 	return apply_filters( 'user_contactmethods', $user_contactmethods, $user );
 }
 
-?>
+/** 
+ * Setup the default name fields 
+ * 
+ * @access private 
+ * @since 
+ * 
+ * @return array $user_namefields Array of contact methods and their labels. 
+ */ 
+function _wp_get_user_namefields() { 
+        $user_namefields = array( 
+                'user_login' => __('Username'), 
+                'first_name' => __('First Name'), 
+                'last_name' => __('Last Name'), 
+                'nickname' => __('Nickname'), 
+        ); 
+        return apply_filters('user_namefields',$user_namefields); 
+} 
+ 
+/** 
+ * Setup the default personal options 
+ * 
+ * @access private 
+ * @since 
+ * 
+ * @return array $user_personal_options Array of personal options and their input code 
+ */ 
+function _wp_get_user_personal_options($user_can_edit) { 
+        global $user_id; 
+        $profileuser = get_user_to_edit($user_id); 
+
+        if ( rich_edit_exists() && !( IS_PROFILE_PAGE && !$user_can_edit ) ) { // don't bother showing the option if the editor has been removed
+                $user_personal_options['rich_editing'] = array( 
+                                'name' => 'rich_editing', 
+                                'desc' => __('Visual Editor'), 
+                                'code' => '<label for="rich_editing"><input name="rich_editing" type="checkbox" id="rich_editing" value="false" '.checked('false', $profileuser->rich_editing, false).' /> '. __('Disable the visual editor when writing').'</label>',
+                                'scope' => ' scope="row"'                             
+                                ); 
+        }; 
+
+        global $_wp_admin_css_colors; 
+        if ( count($_wp_admin_css_colors) > 1 && has_action('admin_color_scheme_picker') ) { 
+                $user_personal_options['admin_color_scheme_picker'] = array( 
+                                'name' => 'admin_color_scheme_picker', 
+                                'desc' => __('Admin Color Scheme'), 
+                                'code' => 'admin_color_scheme_picker', 
+                                'scope' => ' scope="row"' 
+                ); 
+        }; 
+
+        if ( !( IS_PROFILE_PAGE && !$user_can_edit ) ) {         
+                if ( !empty($profileuser->comment_shortcuts) ) $checked = checked('true', $profileuser->comment_shortcuts, false);
+                $user_personal_options['comment_shortcuts'] = array( 
+                                'name' => 'rich_editing', 
+                                'desc' => __('Keyboard Shortcuts'), 
+                                'code' => '<label for="comment_shortcuts"><input type="checkbox" name="comment_shortcuts" id="comment_shortcuts" value="true" '.$checked.' /> '. __('Enable keyboard shortcuts for comment moderation.').'</label> '. __('<a href="http://codex.wordpress.org/Keyboard_Shortcuts" target="_blank">More information</a>') 
+                ); 
+        };
+
+	$user_personal_options['admin_bar'] = array(
+                                'name' => 'show-admin-bar', 
+                                'desc' => __('Show Admin Bar'), 
+                                'code' => '<fieldset><legend class="screen-reader-text"><span>'.__('Show Admin Bar').'</span></legend>
+<label for="admin_bar_front">
+<input name="admin_bar_front" type="checkbox" id="admin_bar_front" value="1"'.checked('1', _get_admin_bar_pref( 'front', $profileuser->ID ), false ).' />
+'.__( 'when viewing site' ).'</label><br />
+<label for="admin_bar_admin">
+<input name="admin_bar_admin" type="checkbox" id="admin_bar_admin" value="1" '.checked('1', _get_admin_bar_pref( 'admin', $profileuser->ID ), false ).' />
+'.__( 'in dashboard' ).'</label>',
+                                'scope' => ' scope="row"'           
+                );
+
+        return apply_filters('user_personal_options', $user_personal_options); 
+};
+?>
\ No newline at end of file
Index: wp-admin/user-edit.php
===================================================================
--- wp-admin/user-edit.php	(revision 18855)
+++ wp-admin/user-edit.php	(working copy)
@@ -185,57 +185,69 @@
 <?php if ( $wp_http_referer ) : ?>
 	<input type="hidden" name="wp_http_referer" value="<?php echo esc_url($wp_http_referer); ?>" />
 <?php endif; ?>
-<p>
+
 <input type="hidden" name="from" value="profile" />
 <input type="hidden" name="checkuser_id" value="<?php echo $user_ID ?>" />
-</p>
 
-<h3><?php _e('Personal Options'); ?></h3>
+<?php
 
+$user_personal_options = _wp_get_user_personal_options($user_can_edit);  
+//print_r($user_personal_options);
+
+if (!empty($user_personal_options)) { ?>
+  
+<div id="profile-personal-options">  
+  
+<h3 id="profile-personal-options-title"><?php _e('Personal Options'); ?></h3>
+
 <table class="form-table">
-<?php if ( rich_edit_exists() && !( IS_PROFILE_PAGE && !$user_can_edit ) ) : // don't bother showing the option if the editor has been removed ?>
-	<tr>
-		<th scope="row"><?php _e('Visual Editor')?></th>
-		<td><label for="rich_editing"><input name="rich_editing" type="checkbox" id="rich_editing" value="false" <?php checked('false', $profileuser->rich_editing); ?> /> <?php _e('Disable the visual editor when writing'); ?></label></td>
-	</tr>
-<?php endif; ?>
-<?php if ( count($_wp_admin_css_colors) > 1 && has_action('admin_color_scheme_picker') ) : ?>
-<tr>
-<th scope="row"><?php _e('Admin Color Scheme')?></th>
-<td><?php do_action( 'admin_color_scheme_picker' ); ?></td>
-</tr>
+
 <?php
-endif; // $_wp_admin_css_colors
-if ( !( IS_PROFILE_PAGE && !$user_can_edit ) ) : ?>
-<tr>
-<th scope="row"><?php _e( 'Keyboard Shortcuts' ); ?></th>
-<td><label for="comment_shortcuts"><input type="checkbox" name="comment_shortcuts" id="comment_shortcuts" value="true" <?php if ( !empty($profileuser->comment_shortcuts) ) checked('true', $profileuser->comment_shortcuts); ?> /> <?php _e('Enable keyboard shortcuts for comment moderation.'); ?></label> <?php _e('<a href="http://codex.wordpress.org/Keyboard_Shortcuts" target="_blank">More information</a>'); ?></td>
+	foreach ($user_personal_options as $code) {
+?>  
+<tr id="profile-personal-options-<?php echo $code['name']; ?>">  
+	<th<?php echo $code['scope']; ?>><label for="<?php echo $code['name']; ?>"><?php echo apply_filters('user_'.$code['name'].'_label', $code['desc']); ?></label></th>  
+	<td><?php if ($code['code']=='admin_color_scheme_picker') do_action( 'admin_color_scheme_picker' ); else echo $code['code']; ?></td>
 </tr>
-<?php endif; ?>
-<tr class="show-admin-bar">
-<th scope="row"><?php _e('Admin Bar')?></th>
-<td><fieldset><legend class="screen-reader-text"><span><?php _e('Admin Bar') ?></span></legend>
-<label for="admin_bar_front">
-<input name="admin_bar_front" type="checkbox" id="admin_bar_front" value="1"<?php checked( _get_admin_bar_pref( 'front', $profileuser->ID ) ); ?> />
-<?php _e( 'Show Admin Bar when viewing site' ); ?></label><br />
-</fieldset>
-</td>
-</tr>
+<?php
+	}; //end foreach
+?>
 <?php do_action('personal_options', $profileuser); ?>
 </table>
 <?php
 	if ( IS_PROFILE_PAGE )
 		do_action('profile_personal_options', $profileuser);
 ?>
+</div><!--#profile-personal-options-->
 
-<h3><?php _e('Name') ?></h3>
+<?php 
+}; //end ifempty
 
-<table class="form-table">
-	<tr>
-		<th><label for="user_login"><?php _e('Username'); ?></label></th>
-		<td><input type="text" name="user_login" id="user_login" value="<?php echo esc_attr($profileuser->user_login); ?>" disabled="disabled" class="regular-text" /> <span class="description"><?php _e('Usernames cannot be changed.'); ?></span></td>
-	</tr>
+// For backwards compatibility   
+function user_label_add_required($desc){   
+	return  $desc.' <span class="description">'. __('(required)').'</span>';   
+}   
+add_filter('user_user_email_label','user_label_add_required');   
+add_filter('user_nickname_label','user_label_add_required');   
+$user_namefields = _wp_get_user_namefields();
 
+if (!empty($user_namefields)) { ?> 
+<div id="profile-name">   
+<h3 id="profile-name-title"><?php _e('Name') ?></h3>   
+   
+<table class="form-table" >   
+   
+<?php    
+	foreach ($user_namefields as $name => $desc) {   
+?>   
+<tr id="profile-name-<?php echo $name; ?>">   
+	<th><label for="<?php echo $name; ?>"><?php echo apply_filters('user_'.$name.'_label', $desc); ?></label></th>   
+	<td><input type="text" name="<?php echo $name; ?>" id="<?php echo $name; ?>" value="<?php echo esc_attr($profileuser->$name) ?>" class="regular-text" /></td>   
+</tr>   
+<?php   
+	}; //end foreach
+?>
+
 <?php if ( !IS_PROFILE_PAGE && !is_network_admin() ) : ?>
 <tr><th><label for="role"><?php _e('Role:') ?></label></th>
 <td><select name="role" id="role">
@@ -257,33 +269,8 @@
 </select>
 <?php endif; //!IS_PROFILE_PAGE
 
-if ( is_multisite() && is_network_admin() && ! IS_PROFILE_PAGE && current_user_can( 'manage_network_options' ) && !isset($super_admins) ) { ?>
-<tr><th><label for="role"><?php _e('Super Admin'); ?></label></th>
-<td>
-<?php if ( $profileuser->user_email != get_site_option( 'admin_email' ) ) : ?>
-<p><label><input type="checkbox" id="super_admin" name="super_admin"<?php checked( is_super_admin( $profileuser->ID ) ); ?> /> <?php _e( 'Grant this user super admin privileges for the Network.' ); ?></label></p>
-<?php else : ?>
-<p><?php _e( 'Super admin privileges cannot be removed because this user has the network admin email.' ); ?></p>
-<?php endif; ?>
-</td></tr>
-<?php } ?>
-
-<tr>
-	<th><label for="first_name"><?php _e('First Name') ?></label></th>
-	<td><input type="text" name="first_name" id="first_name" value="<?php echo esc_attr($profileuser->first_name) ?>" class="regular-text" /></td>
-</tr>
-
-<tr>
-	<th><label for="last_name"><?php _e('Last Name') ?></label></th>
-	<td><input type="text" name="last_name" id="last_name" value="<?php echo esc_attr($profileuser->last_name) ?>" class="regular-text" /></td>
-</tr>
-
-<tr>
-	<th><label for="nickname"><?php _e('Nickname'); ?> <span class="description"><?php _e('(required)'); ?></span></label></th>
-	<td><input type="text" name="nickname" id="nickname" value="<?php echo esc_attr($profileuser->nickname) ?>" class="regular-text" /></td>
-</tr>
-
-<tr>
+?>
+<tr id="profile-name-display-name">
 	<th><label for="display_name"><?php _e('Display name publicly as') ?></label></th>
 	<td>
 		<select name="display_name" id="display_name">
@@ -318,12 +305,18 @@
 		</select>
 	</td>
 </tr>
+
 </table>
+</div><!--#profile-name-display-name-->
+<?php   
+        }; //end if not empty
+?>
 
+<div id="profile-contact">
 <h3><?php _e('Contact Info') ?></h3>
 
 <table class="form-table">
-<tr>
+<tr id="profile-contact-email">
 	<th><label for="email"><?php _e('E-mail'); ?> <span class="description"><?php _e('(required)'); ?></span></label></th>
 	<td><input type="text" name="email" id="email" value="<?php echo esc_attr($profileuser->user_email) ?>" class="regular-text" />
 	<?php
@@ -336,7 +329,7 @@
 	</td>
 </tr>
 
-<tr>
+<tr id="profile-contact-website">
 	<th><label for="url"><?php _e('Website') ?></label></th>
 	<td><input type="text" name="url" id="url" value="<?php echo esc_attr($profileuser->user_url) ?>" class="regular-text code" /></td>
 </tr>
@@ -344,7 +337,7 @@
 <?php
 	foreach (_wp_get_user_contactmethods( $profileuser ) as $name => $desc) {
 ?>
-<tr>
+<tr id="profile-contact-<?php echo $name; ?>">
 	<th><label for="<?php echo $name; ?>"><?php echo apply_filters('user_'.$name.'_label', $desc); ?></label></th>
 	<td><input type="text" name="<?php echo $name; ?>" id="<?php echo $name; ?>" value="<?php echo esc_attr($profileuser->$name) ?>" class="regular-text" /></td>
 </tr>
@@ -352,11 +345,13 @@
 	}
 ?>
 </table>
+</div><!--#profile-contact-->
 
+<div id="profile-about">
 <h3><?php IS_PROFILE_PAGE ? _e('About Yourself') : _e('About the user'); ?></h3>
 
 <table class="form-table">
-<tr>
+<tr id="profile-about-description">
 	<th><label for="description"><?php _e('Biographical Info'); ?></label></th>
 	<td><textarea name="description" id="description" rows="5" cols="30"><?php echo $profileuser->description; // textarea_escaped ?></textarea><br />
 	<span class="description"><?php _e('Share a little biographical information to fill out your profile. This may be shown publicly.'); ?></span></td>
@@ -366,7 +361,7 @@
 $show_password_fields = apply_filters('show_password_fields', true, $profileuser);
 if ( $show_password_fields ) :
 ?>
-<tr id="password">
+<tr id="profile-about-password">
 	<th><label for="pass1"><?php _e('New Password'); ?></label></th>
 	<td><input type="password" name="pass1" id="pass1" size="16" value="" autocomplete="off" /> <span class="description"><?php _e("If you would like to change the password type a new one. Otherwise leave this blank."); ?></span><br />
 		<input type="password" name="pass2" id="pass2" size="16" value="" autocomplete="off" /> <span class="description"><?php _e("Type your new password again."); ?></span><br />
@@ -376,6 +371,7 @@
 </tr>
 <?php endif; ?>
 </table>
+</div><!--#profile-about-->
 
 <?php
 	if ( IS_PROFILE_PAGE )
@@ -422,4 +418,4 @@
 </script>
 <?php
 include( ABSPATH . 'wp-admin/admin-footer.php');
-?>
+?>
\ No newline at end of file
