--- loncom/homework/radiobuttonresponse.pm	2007/06/29 17:32:31	1.123
+++ loncom/homework/radiobuttonresponse.pm	2007/08/06 20:52:54	1.125
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # mutliple choice style responses
 #
-# $Id: radiobuttonresponse.pm,v 1.123 2007/06/29 17:32:31 albertel Exp $
+# $Id: radiobuttonresponse.pm,v 1.125 2007/08/06 20:52:54 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -240,7 +240,7 @@ sub end_foilgroup {
 				      $direction,
 				      $bubbles_per_line);
 	    } elsif ($target eq 'answer' ) {
-		$result=&displayanswers($answer, \@shown);
+		$result=&displayanswers($answer, \@shown, $bubbles_per_line);
 	    } elsif ( $target eq 'grade') {
 		&grade_response($answer, \@shown, $bubbles_per_line);
 	    }  elsif ( $target eq 'analyze') {
@@ -296,7 +296,6 @@ sub displayallfoils {
     my $result;
     &Apache::lonxml::debug("survey style display");
     my @names;
-    &Apache::lonnet::loghthis("Display all foils");
     if ( $Apache::response::foilgroup{'names'} ) {
 	@names= @{ $Apache::response::foilgroup{'names'} };
     }
@@ -585,6 +584,7 @@ sub displayfoils {
 	my @alphabet = ('A'..'Z');
 	my $i = 0;
 	my $bubble_number = 0;
+	my $line = 0;
 	my $temp=0;  
 	my $id=$Apache::inputtags::response['-1'];
 	my $part=$Apache::inputtags::part;
@@ -612,14 +612,15 @@ sub displayfoils {
 		$result .= ' />'.$Apache::response::foilgroup{$name.'.text'}."</label>";
 	    } else {
 		if ($Apache::lonhomework::type eq 'exam') {
-		    $result .= '{\small \textbf{'.$alphabet[$i].'}}$\bigcirc$'.$Apache::response::foilgroup{$name.'.text'}.'\\\\';  #' stupid emacs
-		    $i++;
-		    $bubble_number++;
 		    if($bubble_number >= $bubbles_per_line) {
+			$line++;
 			$i = 0;
 			$bubble_number = 0;
-			$result.='\item[\textbf{'.$Apache::lonxml::counter.'}.]';
+			$result.='\item[\textbf{'.($Apache::lonxml::counter+$line).'}.]';
 		    }
+		    $result .= '{\small \textbf{'.$alphabet[$i].'}}$\bigcirc$'.$Apache::response::foilgroup{$name.'.text'}.'\\\\';  #' stupid emacs
+		    $i++;
+		    $bubble_number++;
 		} else {
 		    $result .= '\vspace*{-2 mm}\item '.$Apache::response::foilgroup{$name.'.text'};
 		}
@@ -652,12 +653,18 @@ sub displayallanswers {
 }
 
 sub displayanswers {
-    my ($answer, $whichopt)=@_;
-    my $result=&Apache::response::answer_header('radiobuttonresponse');
+    my ($answer, $whichopt, $bubbles_per_line)=@_;
+    my $result;
+
     if ($Apache::lonhomework::type eq 'exam') {
-	my $correct = ('A'..'Z')[$answer];
-	$result.=&Apache::response::answer_part('radiobuttonresponse',
-						$correct);
+	my $line = int($answer/$bubbles_per_line);
+	my $correct = ('A'..'Z')[$answer%$bubbles_per_line];
+	$result .= &Apache::response::answer_header('radiobuttonresponse',
+						    $line);
+	$result .= &Apache::response::answer_part('radiobuttonresponse',
+						  $correct);
+    } else {
+	$result .= &Apache::response::answer_header('radiobuttonresponse');
     }
     foreach my $name (@{ $whichopt }) {
 	$result.=&Apache::response::answer_part('radiobuttonresponse',