Index: wp-admin/includes/template.php
===================================================================
--- wp-admin/includes/template.php	(revision 18700)
+++ wp-admin/includes/template.php	(working copy)
@@ -1810,15 +1810,64 @@
 	<div id="contextual-help-wrap" class="hidden">
 	<?php
 	$contextual_help = '';
-	if ( isset($_wp_contextual_help[$screen->id]) ) {
-		$contextual_help .= '<div class="metabox-prefs">' . $_wp_contextual_help[$screen->id] . "</div>\n";
+	if ( isset($_wp_contextual_help[$screen->id]) && is_array($_wp_contextual_help[$screen->id]) ) {
+		$contextual_help .= '<div class="metabox-prefs">';
+		
+		/*
+		 * Loop through ['contextual-help-tabs']
+		 *   - It's a nested array where $key=>$value >> $title=>$content
+		 * Has no output so can only loop the array once
+		 */
+		$contextual_help_tabs = ''; // store looped content for later
+		$contextual_help_panels = ''; // store looped content for later
+		foreach( $_wp_contextual_help[$screen->id]['contextual-help-tabs'] as $tab_title => $tab_content ) { 
+			// Make sure title isn't blank, then generate title/content as pair
+			if ( isset($tab_title) ) {
+				// We use slug as the linkname, but don't check uniqueness
+				$tabname_slug = sanitize_title($tab_title, '', 'save');
+				
+				$contextual_help_tabs .= '<li class="' . $tabname_slug . '">';
+				$contextual_help_tabs .= '<a href="#' . $tabname_slug . '">';
+				$contextual_help_tabs .= $tab_title;
+				$contextual_help_tabs .= '</a>';
+				$contextual_help_tabs .= '</li>';
+				
+				$contextual_help_panels .= '<div id="' . $tabname_slug . '">';
+				// Prevent
+				if ( isset($tab_content) ) {
+					$contextual_help_panels .= $tab_content;
+				}
+				$contextual_help_panels .= '</div>';
+			}
+		}
+		
+		// Start output from loop: Tabbed help content
+		$contextual_help .= '<div class="contextual-help-tabs-wrap">';
+		$contextual_help .= '<ul class="contextual-help-tabs">';
+		$contextual_help .= $contextual_help_tabs;
+		$contextual_help .= '</ul>';
+		$contextual_help .= $contextual_help_panels;
+		$contextual_help .= '</div>';
+		// End: Tabbed help content
+		
+		// Links to right of tabs
+		$contextual_help .= '<div class="contextual-help-links">';
+		if ( isset($_wp_contextual_help[$screen->id]['contextual-help-links']) ) {
+			$contextual_help .= $_wp_contextual_help[$screen->id]['contextual-help-links'];
+		}
+		$contextual_help .= '</div>'; // end links
+		
+		$contextual_help .= '</div>'; // end metabox
+		
+	} elseif ( isset($_wp_contextual_help[$screen->id]) ) {
+		$contextual_help .= '<div class="metabox-prefs">Screen: ' . $screen->id . '.' . $_wp_contextual_help[$screen->id] . '</div>\n';
 	} else {
 		$contextual_help .= '<div class="metabox-prefs">';
-		$default_help = __('<a href="http://codex.wordpress.org/" target="_blank">Documentation</a>');
+		$default_help  = __('<a href="http://codex.wordpress.org/" target="_blank">Documentation</a>');
 		$default_help .= '<br />';
 		$default_help .= __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>');
 		$contextual_help .= apply_filters('default_contextual_help', $default_help);
-		$contextual_help .= "</div>\n";
+		$contextual_help .= '</div>\n';
 	}
 
 	echo apply_filters('contextual_help', $contextual_help, $screen->id, $screen);
@@ -1835,6 +1884,8 @@
  *
  * @param string $screen The handle for the screen to add help to.  This is usually the hook name returned by the add_*_page() functions.
  * @param string $help Arbitrary help text
+ * 	|| @param array $help Creates tabs & links columns within help text in array.
+ * 		$key is tab title. $value is tab content.
  */
 function add_contextual_help($screen, $help) {
 	global $_wp_contextual_help;
@@ -1844,6 +1895,13 @@
 
 	if ( !isset($_wp_contextual_help) )
 		$_wp_contextual_help = array();
+// DEBUGGING
+// !!! MUST REMOVE !!!
+$tabbed = array('Dashboard tab' => '<p>Ma quande lingues coalesce, li grammatica del resultant lingue es plu simplic e regulari quam ti del coalescent lingues. Li nov lingua franca va esser plu simplic e regulari quam li existent Europan lingues. It va esser tam simplic quam Occidental: in fact, it va esser Occidental. A un Angleso it va semblar un simplificat Angles, quam un skeptic Cambridge amico dit me que Occidental es.</p>',
+		'Tab 2' => '<p>Li Europan lingues es membres del sam familie. Lor separat existentie es un myth. Por scientie, musica, sport etc, li tot Europa usa li sam vocabularium. Li lingues differe solmen in li grammatica, li pronunciation e li plu commun vocabules. Omnicos directe al desirabilita; de un nov lingua franca: on refusa continuar payar custosi traductores. It solmen va esser necessi far uniform grammatica, pronunciation e plu sommun paroles.</p>');
+$help = array('contextual-help-tabs' => $tabbed);
+$help['contextual-help-links'] = '<a href="http://codex.wordpress.org/" target="_blank">Documentation</a><br /><br /><a href="http://wordpress.org/support/" target="_blank">Support Forums</a>';
+// !!! /End REMOVE
 
 	$_wp_contextual_help[$screen->id] = $help;
 }
