diff --git a/html/sites/all/modules/contrib/activity/activity.module b/html/sites/all/modules/contrib/activity/activity.module
index ceee992..1ce8127 100644
--- a/html/sites/all/modules/contrib/activity/activity.module
+++ b/html/sites/all/modules/contrib/activity/activity.module
@@ -391,6 +391,44 @@ function activity_db_rewrite_sql($query, $primary_table, $primary_field, $args)
   }
 }
 
+function activity_forms($form_id) {
+  $forms = array();
+  if (strpos($form_id, 'activity_comment_form_') === 0) {
+    $forms[$form_id] = array(
+      'callback' => 'activity_comment_form',
+    );
+  }
+  return $forms;
+}
+
+/**
+ * form function
+ */
+function activity_comment_form(&$form_state, $amid) {
+  $form['#amid'] = $amid;
+  $form['#attributes'] = array('class' => 'activity-comments-form-hidden');
+  $form['activity-comment'] = array(
+    '#rows' => 2,
+    '#type' => 'textarea',
+  );
+  $form['submit'] = array(
+    '#type' => 'submit',
+    '#value' => t('Comment'),
+  );
+  // TODO: is this needed?
+  $form['#submit'] = array(
+    'activity_comment_form_submit',
+  );
+  return $form;
+}
+
+/**
+ * submit form handler for comments on activity items
+ */
+function activity_comment_form_submit($form, &$form_state) {
+  db_query("INSERT {activity_comments} (amid, uid, timestamp, comment) VALUES (%d, %d, %d, '%s')", $form['#amid'], $GLOBALS['user']->uid, time(), $form_stat
+}
+
 /**
  * Implementation of hook_views_api().
  */
diff --git a/html/sites/all/modules/contrib/activity/views/activity.views.inc b/html/sites/all/modules/contrib/activity/views/activity.views.inc
index d565391..97df1fd 100644
--- a/html/sites/all/modules/contrib/activity/views/activity.views.inc
+++ b/html/sites/all/modules/contrib/activity/views/activity.views.inc
@@ -31,6 +31,14 @@ function activity_views_data() {
       'handler' => 'views_handler_sort',
     ),
   );
+  $data['activity_messages']['comment'] = array(
+    'title' => t('Comment Link'),
+    'help' => t('A link to add a comment to an activity'),
+    'field' => array(
+      'handler' => 'activity_views_handler_comment_field',
+      'real field' => 'amid',
+    ),
+  );
   $data['activity_messages']['op'] = array(
     'title' => t('Operation'),
     'help' => t('The operation being performed (update, insert, etc.)'),
@@ -77,6 +85,9 @@ function activity_views_handlers() {
       'activity_views_handler_field_message' => array(
         'parent' => 'views_handler_field',
       ),
+      'activity_views_handler_comment_field' => array(
+        'parent' => 'views_handler_field',
+      ),
     ),
   );
 }
\ No newline at end of file
diff --git a/html/sites/all/modules/contrib/activity/views/activity_views_handler_comment_field.inc b/html/sites/all/modules/contrib/activity/views/activity_
new file mode 100644
index 0000000..1d93e7e
--- /dev/null
+++ b/html/sites/all/modules/contrib/activity/views/activity_views_handler_comment_field.inc
@@ -0,0 +1,28 @@
+<?php
+// $Id:$
+/**
+ * @file: provides a field to add in an JS to unveil a comment form
+ */
+class activity_views_handler_comment_field extends views_handler_field {
+  function pre_render($values) {
+    drupal_add_js("
+      Drupal.behaviors.activityComments = function(context) {
+        $('.activity-comments-click-to-show', context).bind('click', function() {
+          $(this).siblings('.activity-comments-form-hidden').toggleClass('activity-comments-form-shown');
+        });
+      };
+    ", 'inline');
+    drupal_add_css(drupal_get_path('module', 'activity') . '/activity.css');
+  }
+  /**
+   * override the render function to render a hidden form with js
+   */
+  function render($values) {
+    $output = $output .= '<span class="activity-links">';
+    $output .= '&nbsp;&ndash;&nbsp;<span class="activity-comments-click-to-show">'. t('Comment') .'</span>';
+    $output .= drupal_get_form('activity_comment_form_' . $values->{$this->field_alias}, $values->{$this->field_alias});
+    $output .= "</span>";
+   
+   return $output;
+  }
+}
\ No newline at end of file
