--- loncom/homework/matchresponse.pm	2007/04/17 23:25:09	1.64
+++ loncom/homework/matchresponse.pm	2007/10/15 09:47:29	1.67
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Full matching style response
 #
-# $Id: matchresponse.pm,v 1.64 2007/04/17 23:25:09 albertel Exp $
+# $Id: matchresponse.pm,v 1.67 2007/10/15 09:47:29 foxr Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -71,6 +71,8 @@ sub start_matchresponse {
     } elsif ($target eq 'analyze') {
 	my $part_id="$Apache::inputtags::part.$id";
 	push (@{ $Apache::lonhomework::analyze{"parts"} },$part_id);
+	push (@{ $Apache::lonhomework::anaylze{"$part_id.bubble_lines"} },
+	      1);
     }
     return $result;
 }
@@ -259,6 +261,9 @@ sub start_foilgroup {
 sub end_foilgroup {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $result;
+    my $part        = $Apache::inputtags::part;
+    my $response_id = $Apache::inputtages::response[-1];
+
     if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || $target eq 'tex' || $target eq 'analyze') {
 	my $max = &Apache::lonxml::get_param('max',$parstack,$safeeval,'-2');
 	my $randomize = &Apache::lonxml::get_param('randomize',$parstack,
@@ -276,7 +281,12 @@ sub end_foilgroup {
 						 ['text','value','location']);
 	    #FIXME need to store options in some way
 	}
-	&Apache::lonxml::increment_counter(&getfoilcounts($max));
+	&Apache::lonxml::increment_counter(&getfoilcounts($max), 
+					   "$part.$response_id");
+	if ($target eq 'analyze') {
+	    &Apache::lonhomework::set_bubble_lines();
+	}
+
     } elsif ($target eq 'edit') {
 	$result=&Apache::edit::end_table();
     }