--- event.module.orig	Sun Jan 22 21:04:09 2006
+++ event.module	Mon Jan 30 15:33:50 2006
@@ -324,9 +324,24 @@
         $duration = $duration ? $duration : variable_get('event_table_duration', '30');
         print event_calendar_ical($stamp, $duration, $types, $terms, $title);
       break;
+    case 'block':
+        // block update
+        $time = _event_user_date();
+        if (arg(0) == 'event' && is_numeric(arg(1))) {
+          // follow event calendar
+          $year = (arg(1) ? arg(1) : gmdate('Y', $time));
+          $month = (arg(2) ? arg(2) : gmdate('m', $time));
+          $day = (arg(3) ? arg(3) : gmdate('d', $time));
+          $stamp = gmmktime(0, 0, 0, $month, $day, $year);
+        }
+        else {
+          $stamp = _event_user_date();
+        }
+        print event_calendar_month('block', $stamp);
+      break;
   }
 
-  if($view != 'feed' && $view != 'ical') {
+  if($view != 'feed' && $view != 'ical' && $view != 'block') {
     // build header navigation
     $prev = _event_nav($stamp, 'prev', $view, $types, $terms, $duration);
     $next = _event_nav($stamp, 'next', $view, $types, $terms, $duration);
@@ -422,8 +437,8 @@
 
     case 'block':
         // create navigation links
-        $prev = _event_nav($stamp, 'prev', 'month', $types, $terms);
-        $next = _event_nav($stamp, 'next', 'month', $types, $terms);
+        $prev = _event_nav($stamp, 'prev', 'block', $types, $terms);
+        $next = _event_nav($stamp, 'next', 'block', $types, $terms);
 
         $headertitle = l(t(gmdate('F', $stamp)) .' '. $year, 'event/'. $year .'/'. $month .'/'. $day .'/month');
         $header = array(
@@ -1481,6 +1496,11 @@
     $inc = ($dir == 'prev' ? -1 : 1);
     $duration = ($duration ? $duration : 1);
 
+    if($view == 'block') {
+      $view = 'month';
+      $attributes = array('class' => 'updateblock');
+    }
+
     switch ($view) {
       case 'day':
       case 'table':
@@ -1505,7 +1525,8 @@
     $url[] = ($types ? implode('+', $types) : 'all');
     $url[] = ($terms ? implode('+', $terms) : 'all');
     $url[] = $duration;
-    return theme('event_nav_'. $dir, implode('/', $url));
+
+    return theme('event_nav_'. $dir, implode('/', $url),$attributes);
   }
 }
 
@@ -1613,6 +1634,8 @@
       if (user_access('access content')) {
         switch ($delta) {
           case 0:
+            drupal_add_js('modules/event/eventblock.js');
+            drupal_add_js('misc/progress.js');
             $time = _event_user_date();
             if (arg(0) == 'event' && is_numeric(arg(1))) {
               // follow event calendar
--- event.theme.orig	Sun Jan 22 21:01:45 2006
+++ event.theme	Sun Jan 22 21:11:56 2006
@@ -382,8 +382,8 @@
  * @param link
  *   The url for the navigation
  */
-function theme_event_nav_next($url) {
-  return '<span class="next">'. l('»', $url) .'</span>';
+function theme_event_nav_next($url, $attributes = array()) {
+  return '<span class="next">'. l('»', $url, $attributes) .'</span>';
 }
 
 /**
@@ -392,8 +392,8 @@
  * @param link
  *   The url for the navigation
  */
-function theme_event_nav_prev($url) {
-  return '<span class="prev">'. l('«', $url) .'</span>';
+function theme_event_nav_prev($url, $attributes = array()) {
+  return '<span class="prev">'. l('«', $url, $attributes) .'</span>';
 }
 
 /**