diff --git a/class.schedule.php b/class.schedule.php
--- a/class.schedule.php
+++ b/class.schedule.php
@@ -200,10 +200,10 @@ class Schedule
     $footcloser = '';
 
     if(isset($_REQUEST['print']) && $_REQUEST['print'] != ''){
-      $headcode = array('jQuery', 'jQueryUI', 'uiTabsKeyboard', 'outputStyle', 'outputPrintStyle');
+      $headcode = array('jQuery', 'jQueryUI', 'uiTabsKeyboard', 'outputStyle', 'outputPrintStyle', 'displayTables');
     }
     else {
-      $headcode = array('outputStyle',  'jQuery', 'jQueryUI', 'uiTabsKeyboard');
+      $headcode = array('outputStyle',  'jQuery', 'jQueryUI', 'uiTabsKeyboard', 'displayTables');
     }
     $outputPage = new Page(htmlentities($this->getName()), $headcode);
 
@@ -241,12 +241,22 @@ class Schedule
 	    });
 	    jQuery(\'#cancelItems\').click( function() {
 		jQuery(\'#selectItemsInput\').hide();
-	    });';
+	    });
+';
       echo '});'; /* Close document.ready for jquery */
       echo '
You can share your schedule with the URL below:
'.$outputPage->gen_share_url($this->id_get()).'
 ';
       echo 'Print :: Share :: Home
Having problems? Let us know.
Keyboard Shortcut: Left and right arrow keys switch between schedules
';
     }		
 
+    echo "\n";
+    echo ' ';
+
     if($this->nPermutations > 0)
       {
 	$table .= "\n"
diff --git a/inc/class.page.php b/inc/class.page.php
--- a/inc/class.page.php
+++ b/inc/class.page.php
@@ -58,9 +58,10 @@ class page
     $this->headCode['outputPrintStyle'] = '';
     $this->headCode['outputStyle'] = ''; 
     $this->headCode['gliderHeadcode'] = ''; 
-   $this->headCode['uiTabsKeyboard'] = ''; 
-   $this->pagetitle = $ntitle;
-   $this->scripts = $nscripts;
+    $this->headCode['uiTabsKeyboard'] = '';
+    $this->headCode['displayTables'] = '';
+    $this->pagetitle = $ntitle;
+    $this->scripts = $nscripts;
 
    /* compliant browsers which care, such as gecko, explicitly request xhtml: */
    if(!empty($_SERVER['HTTP_ACCEPT'])
diff --git a/scripts/displayTables.js b/scripts/displayTables.js
--- a/scripts/displayTables.js
+++ b/scripts/displayTables.js
@@ -1,9 +1,29 @@
-$(document).ready(function() {
+/**
+ * \brief
+ *   Handle changes to the input elements under #show-box.
+ */
+function show_box_change()
+{
+    var name = jQuery(this).attr('name');
+    if (name && name.indexOf('-'))
+	{
+	    /* convert from 'show-prof' back to 'prof' */
+	    var css_class = name.substr(name.indexOf('-') + 1);
+	    if (jQuery('#' + name + ':checked').size())
+		{
+		    jQuery('.' + css_class).show();
+		}
+	    else
+		{
+		    jQuery('.' + css_class).hide();
+		}
+	}
 
-function hideAllButFirst(){
-	jQuery('.week').hide();
-};
+    return false;
+}
 
-hideAllButFirst();
-
-}
\ No newline at end of file
+jQuery(document).ready( function()
+  {
+      jQuery('#show-box input').change(show_box_change);
+  }
+);
diff --git a/scripts/scheduleInput.js b/scripts/scheduleInput.js
--- a/scripts/scheduleInput.js
+++ b/scripts/scheduleInput.js
@@ -332,5 +332,5 @@ jQuery(document).ready(function() {
 		jQuery('.advanced').slideToggle();
 	});
 
-
+	jQuery('#show-box input').change(show_box_change);
 });
diff --git a/styles/print.css b/styles/print.css
--- a/styles/print.css
+++ b/styles/print.css
@@ -55,3 +55,8 @@ div.scroller div.section div.txt {
 #possiblestats {
   text-align: center;
 }
+
+#show-box
+{ 
+  display: none;
+}