? event_config.js
Index: event-node-month.tpl.php
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/event/event-node-month.tpl.php,v
retrieving revision 1.6
diff -u -p -r1.6 event-node-month.tpl.php
--- event-node-month.tpl.php	1 Dec 2008 14:40:10 -0000	1.6
+++ event-node-month.tpl.php	22 Jul 2010 06:48:33 -0000
@@ -14,6 +14,7 @@
  * - $calendar_link: Link to the calendar for all events of this type
  * - $node_title_unsafe: Unfiltered event title, use only in l() functions
  * - $node_title_safe: Sanitized version of the title
+ * - $node_body_unsafe: Unfiltered event body, use only in l() functions
  * - $node_link: URL to the event's detail page 
  * - $show_start: If the start date should be shown
  * - $show_end: If the end date should be shown
@@ -35,7 +36,19 @@
   <?php if ($show_calendar_link) { ?>
     <div class="type"> <?php print l("($node_type)", $calendar_link, array('attributes' => array('title' => t('limit view to events of this type')))) ?> </div>
   <?php } ?>
-  <div class="title summary"><?php print l($node_title_unsafe, $node_link, array('attributes' => array('title' => t('view this event'))))?></div>
+  <div class="title summary"><?php 
+ 
+  $event_options = array('attributes' => array(), 'html' => TRUE);
+  $event_options['attributes']['title'] = t('View this event');
+  $event_options['attributes']['class'] = 'event-popup-box';
+  
+  $event_title = $node_title_unsafe;
+  if(variable_get('event_popup', false))
+    $event_title .= "<span>".htmlspecialchars_decode($node_body_unsafe)."</span>";
+  
+  print l($event_title, $node_link, $event_options); ?>
+  </div>
+
   <?php if ($show_start) { ?>
     <div class="start dtstart" title="<?php print event_format_date($start_date_utc, 'custom', "Y-m-d\TH:i:s\Z") ?>"><?php print t('Start: ') . $start_date_formatted .' '. $start_time_formatted ?></div>
   <?php } ?>
Index: event.css
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/event/event.css,v
retrieving revision 1.19
diff -u -p -r1.19 event.css
--- event.css	1 Dec 2008 16:10:12 -0000	1.19
+++ event.css	22 Jul 2010 06:48:33 -0000
@@ -295,3 +295,30 @@ span.event-nodetype {
 .event div.form-item {
   white-space: normal;
 }
+
+/* defining the hover preview boxes */
+a.event-popup-box {
+  position: relative;
+  z-index: 24;
+  text-declaration: none;
+}
+a.event-popup-box:hover {
+  z-index: 25;
+}
+a.event-popup-box span {
+  display: none;
+}
+a.event-popup-box:hover span {
+  display: block;
+  position: absolute;
+  top: 2em;
+  left: 2em;
+  width: 300px;
+  border: 1px solid #000;
+  background-color: #E0E2EB;
+  color: #000;
+  font-weight: normal;
+  font-style: normal;
+  padding: 5px; 
+}
+
Index: event.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/event/event.install,v
retrieving revision 1.37
diff -u -p -r1.37 event.install
--- event.install	5 Jul 2009 00:34:15 -0000	1.37
+++ event.install	22 Jul 2010 06:48:33 -0000
@@ -161,6 +161,10 @@ function event_uninstall() {
   variable_del('event_type_control');
   variable_del('event_range_prev');
   variable_del('event_range_next');
+  variable_del('event_popup');
+  variable_del('event_popup_add_lines');
+  variable_del('event_popup_extra_lines');
+
   foreach (node_get_types() as $type => $info) {
     variable_del('event_nodeapi_'. $type);
   }
Index: event.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/event/event.module,v
retrieving revision 1.407
diff -u -p -r1.407 event.module
--- event.module	26 Feb 2010 10:20:50 -0000	1.407
+++ event.module	22 Jul 2010 06:48:33 -0000
@@ -235,14 +235,14 @@ function event_menu() {
     'access arguments' => array('administer site configuration')
   );
   $items['admin/settings/event/overview'] = array(
-    'title' => 'Event overview',
+   'title' => 'Event overview',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('event_admin_overview_settings'),
     'description' => 'Change how event summary information is displayed.',
     'access callback' => 'user_access',
     'access arguments' => array('administer site configuration')
   );
-
+  
   // http://drupalbin.com/312
   $items['node/%/ical'] = array(
     'title' => 'Event ical',
@@ -378,6 +378,28 @@ function event_admin_overview_settings()
     '#title' => t('Content type filter controls'),
     '#default_value' => variable_get('event_type_control', 'all'),
     '#options' => array('all' => t('Show content type filter control on calendar views'), 'request' => t('Only show content type filter control when content type filter view is requested'), 'never' => t('Never show content type filter control')));
+   drupal_add_js(drupal_get_path('module', 'event') .'/event_config.js');
+  
+  $form['event_popup'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Event pop-ups'),
+    '#default_value' => variable_get('event_popup', 0),
+    '#description' => t('Show a pop-up preview of the event details when hovering over it in month view.')
+  );
+  
+  $form['event_popup_add_lines'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Add space at bottom of month view'),
+    '#default_value' => variable_get('event_popup_add_lines', 0),
+    '#description' => t('Add blank space to the bottom of the month view so you can see parts of the pop-up that might otherwise end up off-screen.')
+  );
+  
+  $form['event_popup_extra_lines'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Number of lines of space'),
+    '#default_value' => variable_get('event_popup_extra_lines', 10),
+    '#description' => t('How many blank lines to add to the end of month view.')
+  );
 
   return system_settings_form($form);
 }
Index: event.theme
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/event/event.theme,v
retrieving revision 1.85
diff -u -p -r1.85 event.theme
--- event.theme	25 Dec 2008 16:19:17 -0000	1.85
+++ event.theme	22 Jul 2010 06:48:33 -0000
@@ -180,6 +180,7 @@ function template_preprocess_event_node_
   $variables['calendar_link'] = 'event/'. _event_format_url($variables['node']->event['start_exploded']) .'/month/'. check_plain($variables['node']->type);
   $variables['node_title_unsafe'] = $variables['node']->title;
   $variables['node_title_safe'] = check_plain($variables['node']->title);
+  $variables['node_body_unsafe'] = $variables['node']->body;
   $variables['node_link'] = 'node/'. $variables['node']->nid;
   $variables['show_start'] = in_array($variables['node']->event['state'], array('singleday', 'start')) && $variables['node']->event['has_time'];
   $variables['show_end'] = in_array($variables['node']->event['state'], array('singleday', 'end')) && $variables['node']->event['has_end_date'];
@@ -444,7 +445,23 @@ function theme_event_links($links, $view
  *   The url for the ical feed
  */
 function theme_event_ical_link($path) {
-  return '<div class="ical-link">'. l('<img src="'. base_path() . drupal_get_path('module', 'event') .'/images/ical16x16.gif" alt="'. t('Add to iCalendar') .'" />', $path, array('attributes' => array('title' => t('Add this calendar to your iCalendar')), 'absolute' => TRUE, 'html' => TRUE)) .'</div>';
+  $ical_link = '<div class="ical-link">' 
+    .l('<img src="'. base_path() . drupal_get_path('module', 'event')
+    .'/images/ical16x16.gif" alt="'. t('Add to iCalendar') 
+    .'" />', $path, array(
+      'attributes' => array('title' => t('Add this calendar to your iCalendar'))
+      , 'absolute' => TRUE, 'html' => TRUE)
+    ) .'</div>';
+  
+  if(variable_get('event_popup', false) && 
+    variable_get('event_popup_add_lines', false))
+  {
+    for($i = 0; $i < variable_get(event_popup_extra_lines, 0); $i++)
+      $ical_link .= "<br />";
+    $ical_link .= "\n";
+  }
+  
+  return $ical_link;
 }
 
 /**
@@ -483,4 +500,4 @@ function theme_event_upcoming_block($ite
   $output = theme("item_list", $items);
   return $output;
 }
-/** @} End of addtogroup themeable */
\ No newline at end of file
+/** @} End of addtogroup themeable */
