--- exclude_node_title.module	2011-02-11 02:07:06.000000000 -0700
+++ /Users/MacOSX/www/sandbox/sites/all/modules/exclude_node_title/exclude_node_title.module	2011-02-11 11:00:48.000000000 -0700
@@ -1,5 +1,6 @@
 <?php
 // $Id: exclude_node_title.module,v 1.1.4.2 2011/02/11 09:07:06 gabrielu Exp $
+
 /**
  * @file
  * Exclude Node Title
@@ -50,9 +51,15 @@ function exclude_node_title_menu() {
  */
 function exclude_node_title_preprocess_page(&$vars) {
   if (arg(0) == 'node' && is_numeric(arg(1)) && user_access('use exclude node title')) {
+    $hide_using_css = variable_get('exclude_node_title_hide_using_css', 0);
     if (in_array(arg(1), variable_get('exclude_node_title_nid_list', array()))) {
       // remove title on a per node id basis
-      $vars['title'] = '';
+      if ($hide_using_css) {
+        $vars['exclude_node_title_class'] = drupal_html_class('element-hidden');
+      }
+      else {
+        $vars['title'] = '';
+      }
     }
     else {
       // remove title on a per node type basis
@@ -65,10 +72,15 @@ function exclude_node_title_preprocess_p
         unset($node); // memory cleanup
       }
       $exclude_node_title_content_type = variable_get('exclude_node_title_content_type_values', array());
-      if (isset($exclude_node_title_content_type[$node_type])) {
-        $vars['title'] = '';
+      if (!empty($exclude_node_title_content_type) && $exclude_node_title_content_type[$node_type]) {
+        if ($hide_using_css) {
+          $vars['exclude_node_title_class'] = drupal_html_class('element-hidden');
+        }
+        else {
+          $vars['title'] = '';
+        }
       }
-      unset($exclude_node_title_content_type, $node_type); // memory cleanup
+      unset($exclude_node_title_content_type, $node_type, $hide_using_css); // memory cleanup
     }
   }
 }
@@ -78,16 +90,27 @@ function exclude_node_title_preprocess_p
  */ 
 function exclude_node_title_node_view($node, $view_mode, $langcode) {
   if (variable_get('exclude_node_title_remove_title', 0) == 1 && user_access('use exclude node title')) {
+    $hide_using_css = variable_get('exclude_node_title_hide_using_css', 0);
     if (in_array($node->nid, variable_get('exclude_node_title_nid_list', array()))) {
-      $node->title = '';
+       if ($hide_using_css) {
+        $node->exclude_node_title_class = drupal_html_class('element-hidden');
+      }
+      else {
+        $node->title = '';
+      }      
     }
     else {
       static $exclude_node_title_content_type; // perform static caching of variable
       if (!isset($exclude_node_title_content_type)) {
         $exclude_node_title_content_type = variable_get('exclude_node_title_content_type_values', array());
       }
-      if ($exclude_node_title_content_type[$node->type]) {
-        $node->title = '';
+      if (!empty($exclude_node_title_content_type) && $exclude_node_title_content_type[$node->type]) {
+        if ($hide_using_css) {
+          $node->exclude_node_title_class = drupal_html_class('element-hidden');
+        }
+        else {
+          $node->title = '';
+        }
       }
     }
   }
@@ -126,13 +149,13 @@ function exclude_node_title_form_alter(&
 function exclude_node_title_node_edit_form_submit($form, &$form_state) {
   if (isset($form_state['values']['exclude_node_title']) && isset($form_state['values']['nid'])) {
     $exclude_list = variable_get('exclude_node_title_nid_list', array());
-    $is_excluded = array_search($form_state['values']['nid'], $exclude_list);
+    $is_excluded = array_search($form_state['values']['nid'], $exclude_list);   
     if ($form_state['values']['exclude_node_title'] == 1 && $is_excluded === FALSE) {
       $exclude_list[] = $form_state['values']['nid'];
       variable_set('exclude_node_title_nid_list', $exclude_list);
       return;
     }
-    elseif ($form_state['values']['exclude_node_title'] == 0 && $is_excluded) {
+    elseif ($form_state['values']['exclude_node_title'] == 0) {
       unset($exclude_list[$is_excluded]);
       variable_set('exclude_node_title_nid_list', $exclude_list);
       return;
