Index: faq.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/faq/faq.module,v
retrieving revision 1.1.4.56
diff -u -r1.1.4.56 faq.module
--- faq.module	17 Sep 2007 10:59:02 -0000	1.1.4.56
+++ faq.module	18 Sep 2007 14:30:04 -0000
@@ -631,7 +631,7 @@
         break;
 
       case 'hide_answer':
-        $output = theme('hide_answer', $result);
+        $output = theme('hide_answer', $result, $display_vars);
         break;
 
       case 'questions_inline':
@@ -978,8 +978,11 @@
 
         $questions[] = l($node->title, $this_page, NULL, NULL, $anchor);
 
-        $answers .= '<dt class="faq_dt_questions_top">'. l($node->title, "node/$node->nid", array("name" => "$anchor")) ."</dt>\n";
-
+        $answers .= '<dt class="faq_dt_questions_top">'.
+                    l($node->title, "node/$node->nid", array("name" => "$anchor"))
+                    ."</dt>\n";
+        
+        $answers .= '<dd class="faq_dd_questions_top">';
         // should we display teaser or full text
         if ($display_vars['use_teaser']) {
           $more_link = '';
@@ -987,17 +990,15 @@
             $more_link = '<p class="faq_more_link">';
             $more_link .= l($display_vars['more_link'], "node/$node->nid") .'</p>';
           }
-          $answers .= '<dd class="faq_dd_questions_top">';
           $answers .= check_markup($node->teaser, $node->format, FALSE);
-          $answers .= $more_link . $back_to_top ."</dd>\n";
+          $answers .= $more_link;
         }
 
         // full text
         else {
-          $answers .= '<dd class="faq_dd_questions_top">';
-          $answers .= check_markup($node->body, $node->format, FALSE);
-          $answers .= $back_to_top ."</dd>\n";
+          $answers .= check_markup($node->body, $node->format, FALSE);          
         }
+        $answers .= $back_to_top ."</dd>\n";
       }
       else {
         $count--;
@@ -1075,7 +1076,7 @@
   return $data;
 }
 
-function theme_hide_answer($result) {
+function theme_hide_answer($result, $display_vars) {
   drupal_add_js(drupal_get_path('module', 'faq') .'/faq.js', 'module');
 
   $output = '<dl class="faq_dl">'."\n";
@@ -1085,7 +1086,22 @@
       $output .= '<dt class="faq_question">';
       $output .= l($node->title, "node/$node->nid") ."</dt>\n";
       $output .= '<dd class="faq_answer">';
-      $output .= check_markup($node->body, $node->format, FALSE) ."</dd>\n";
+      
+      if ($display_vars['use_teaser']) {
+        $more_link = '';
+        if (!empty($display_vars['more_link']) && strlen($node->teaser) < strlen($node->body)) {
+          $more_link = '<p class="faq_more_link">';
+          $more_link .= l($display_vars['more_link'], "node/$node->nid") .'</p>';
+        }
+        $output .= check_markup($node->teaser, $node->format, FALSE);
+        $output .= $more_link;
+      }
+
+      // full text
+      else {
+        $output .= check_markup($node->body, $node->format, FALSE);          
+      }
+      $output .= $back_to_top ."</dd>\n";    
     }
   }
   $output .= "</dl>\n";
