? test.patch
Index: schedule/station_schedule.css
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/station/schedule/Attic/station_schedule.css,v
retrieving revision 1.3
diff -u -r1.3 station_schedule.css
--- schedule/station_schedule.css	26 Oct 2006 19:37:07 -0000	1.3
+++ schedule/station_schedule.css	6 Aug 2007 04:07:03 -0000
@@ -48,8 +48,18 @@
 .station-sch-scheduled {
   text-align: center;
 }
+/* turn inline links into blocks */
+.station-sch-scheduled a, .station-sch-unscheduled a {
+  display: block;
+}
+/* on hover force underlining (but not the DJ names) and colour the whole block */
+.station-sch-scheduled a:hover, .station-sch-unscheduled a:hover { 
+  background-color: #eee;
+  text-decoration: none;
+}
 .station-sch-djs {
   font-size: xx-small;
+  display: block;
 }
 .station-sch-now-hour, .station-sch-now-day {
 }
Index: schedule/station_schedule.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/station/schedule/Attic/station_schedule.module,v
retrieving revision 1.31.2.1
diff -u -r1.31.2.1 station_schedule.module
--- schedule/station_schedule.module	5 Aug 2007 18:24:49 -0000	1.31.2.1
+++ schedule/station_schedule.module	6 Aug 2007 04:20:54 -0000
@@ -649,27 +649,27 @@
 function theme_station_schedule_admin_nonitem($start, $finish) {
   $class = 'station-sch-box station-sch-unscheduled';
   $height = ($finish - $start);
-  $link = "admin/content/schedule/add/0/{$start}/{$finish}";
+  $link = url("admin/content/schedule/add/0/{$start}/{$finish}");
 
-  $output = "<div class='{$class}' style='height:{$height}px;'>";
-  $output .= '<div class="station-sch-time">'. theme('station_hour_range', $start, $finish) .'</div>';
-  $output .= t('Unscheduled');
-  $output .= "</div>\n";
+  $output = "<div class='{$class}'><a href='{$link}' style='height: {$height}px;'>";
+  $output .= '<span class="station-sch-time">'. theme('station_hour_range', $start, $finish) .'</span>';
+  $output .= '<span class="station-sch-title">'. t('Unscheduled') .'</span>';
+  $output .= "</a></div>\n";
 
-  return l($output, $link, NULL, NULL, NULL, NULL, TRUE);
+  return $output;
 }
 
 function theme_station_schedule_admin_item($sid, $start, $finish, $program) {
   $class = 'station-sch-box station-sch-scheduled';
   $height = ($finish - $start);
-  $link = 'admin/content/schedule/edit/'. $sid;
+  $link = url('admin/content/schedule/edit/'. $sid);
 
-  $output = "<div class='{$class}' style='height:{$height}px;'>";
-  $output .= '<div class="station-sch-time">'. theme('station_hour_range', $start, $finish) .'</div>';
-  $output .= check_plain($program->title);
-  $output .= "</div>\n";
+  $output = "<div class='{$class}'><a href='{$link}' style='height: {$height}px;'>";
+  $output .= '<span class="station-sch-time">'. theme('station_hour_range', $start, $finish) .'</span>';
+  $output .= '<span class="station-sch-title">'. check_plain($program->title) .'</span>';
+  $output .= "</a></div>\n";
 
-  return l($output, $link, NULL, NULL, NULL, NULL, TRUE);
+  return $output;
 }
 
 /**
@@ -926,7 +926,7 @@
   $class = 'station-sch-box station-sch-unscheduled';
   $height = ($finish - $start);
   $output = "<div class='{$class}' style='height:{$height}px;'>";
-  $output .= "<div class='station-sch-time'>". theme('station_hour_range', $start, $finish) ."</div>";
+  $output .= "<span class='station-sch-time'>". theme('station_hour_range', $start, $finish) ."</span>";
   $output .= "</div>\n";
   return $output;
 }
@@ -934,16 +934,17 @@
 function theme_station_schedule_item($start, $finish, $program) {
   $class = 'station-sch-box station-sch-scheduled';
   $height = ($finish - $start);
-  $output = "<div class='{$class}' style='height:{$height}px;'>\n";
-  $output .= "<div class='station-sch-time'>". theme('station_hour_range', $start, $finish) ."</div>";
-  $output .= check_plain($program->title);
+  $link = url('node/'. $program->nid);
+
+  $output = "<div class='{$class}'><a href='{$link}' style='height: {$height}px;'>";
+  $output .= '<span class="station-sch-time">'. theme('station_hour_range', $start, $finish) .'</span>';
+  $output .= '<span class="station-sch-title">'. check_plain($program->title) .'</span>';
   if ($program->djs) {
     $djs = _station_schedule_program_load_djs($program->nid);
-    $djs = check_plain(implode(', ', $djs));
-    $output .= "<div class='station-sch-djs'>{$djs}</div>";
+    $output .= '<span class="station-sch-djs">'. check_plain(implode(', ', $djs)) .'</span>';
   }
-  $output .= "</div>\n";
-  return l($output, 'node/'. $program->nid, NULL, NULL, NULL, NULL, TRUE);
+  $output .= "</a></div>\n";
+  return $output;
 }
 
 
