--- loncom/homework/radiobuttonresponse.pm	2009/05/23 05:04:58	1.143
+++ loncom/homework/radiobuttonresponse.pm	2010/05/03 14:43:50	1.145
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # mutliple choice style responses
 #
-# $Id: radiobuttonresponse.pm,v 1.143 2009/05/23 05:04:58 onken Exp $
+# $Id: radiobuttonresponse.pm,v 1.145 2010/05/03 14:43:50 onken Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -105,8 +105,7 @@ sub start_radiobuttonresponse {
 	    $result .= ' \renewcommand{\labelenumi}{\Alph{enumi}.}';
 	}
         if($env{'form.pdfFormFields'} eq 'yes' && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') {
-            $result .= &Apache::lonxml::print_pdf_hiddenfield('meta', $env{'user.name'}, $env{'user.domain'});
-            $result .= "\n\\\\\n\\\\\n";
+            $result .= '\begin{itemize}';
         } else {
             $result .= '\begin{enumerate}';
         }
@@ -122,8 +121,12 @@ sub end_radiobuttonresponse {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $result;
     if ($target eq 'edit') { $result=&Apache::edit::end_table(); }
-    if ($target eq 'tex' and ($env{'form.pdfFormFields'} ne 'yes' or $Apache::inputtags::status[-1] ne 'CAN_ANSWER')) {
-        $result .= '\end{enumerate}'; 
+    if ($target eq 'tex' ) {
+        if($env{'form.pdfFormFields'} eq 'yes' and $Apache::inputtags::status[-1] eq 'CAN_ANSWER') {
+            $result .= '\end{itemize}';
+        } else {
+            $result .= '\end{enumerate}';
+        }
     }
     &Apache::response::end_response;
     pop @Apache::lonxml::namespace;
@@ -146,6 +149,7 @@ sub start_foilgroup {
 }
 
 sub storesurvey {
+    my ($style) = @_;
     if ( !&Apache::response::submitted() ) { return ''; }
     my $response = $env{'form.HWVAL_'.$Apache::inputtags::response['-1']};
     &Apache::lonxml::debug("Here I am!:$response:");
@@ -159,7 +163,16 @@ sub storesurvey {
     $Apache::lonhomework::results{"resource.$part.$id.submission"}=
 	$responsestr;
     my %previous=&Apache::response::check_for_previous($responsestr,$part,$id);
-    my $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='SUBMITTED';
+    my $ad;
+    if ($style eq 'anonsurvey') {
+        $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='ANONYMOUS';
+    } elsif ($style eq 'anonsurveycred') {
+        $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='ANONYMOUS_CRED';
+    } elsif ($style eq 'surveycred') {
+        $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='SUBMITTED_CREDIT';
+    } else {
+        $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='SUBMITTED';
+    }
     &Apache::response::handle_previous(\%previous,$ad);
     &Apache::lonxml::debug("submitted a $response<br />\n");
     return '';
@@ -224,13 +237,15 @@ sub end_foilgroup {
 	my $style = $Apache::lonhomework::type;
 	my $direction = &Apache::lonxml::get_param('direction',$parstack,
 						   $safeeval,'-2');
-	if ( $style eq 'survey'  && $target ne 'analyze') {
+	if ( (($style eq 'survey') || ($style eq 'surveycred') || 
+              ($style eq 'anonsurvey') || ($style eq 'anonsurveycred')) 
+             && ($target ne 'analyze')) {
 	    if ($target eq 'web' || $target eq 'tex') {
 		$result=&displayallfoils($direction, $target);
 	    } elsif ( $target eq 'answer' ) {
 		$result=&displayallanswers();
 	    } elsif ( $target eq 'grade' ) {
-		$result=&storesurvey();
+		$result=&storesurvey($style);
 	    }
 	    $answer_count = scalar(@{$Apache::response::foilgroup{'names'}});
 
@@ -321,8 +336,11 @@ sub displayallfoils {
     my $i   =0;
     my $id=$Apache::inputtags::response['-1'];
     my $part=$Apache::inputtags::part;
-    my $lastresponse=
-	$Apache::lonhomework::history{"resource.$part.$id.submission"};
+    my $lastresponse;
+    unless ((($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurvey') || ($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurveycred')) && (defined($env{'form.grade_symb'}))) {
+        $lastresponse = 
+	    $Apache::lonhomework::history{"resource.$part.$id.submission"};
+    }
     if ($direction eq 'horizontal') { $result.='<table><tr>'; }
     my %lastresponse=&Apache::lonnet::str2hash($lastresponse);
     if (&Apache::response::show_answer() ) {
@@ -359,15 +377,10 @@ sub displayallfoils {
 		} else {
 		    if ($target eq 'tex') {
 		        if($env{'form.pdfFormFields'} eq 'yes' && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') {
-                            my $fieldname = $env{'request.symb'}.
-                                           '&part_'. $Apache::inputtags::part.
-                                           '&radiobuttonresponse'.
-                                           '&HWVAL_' . $Apache::inputtags::response['-1'];
-                            my $value = $temp;
-                            my $text = $Apache::response::foilgroup{$name.'.text'};
-                            $result .= &Apache::lonxml::print_pdf_radiobutton($fieldname,
-                                                                             $value,
-                                                                             $text)."\n";
+                            my $fieldname = $env{'request.symb'}.'&part_'. $Apache::inputtags::part
+                                            .'&radiobuttonresponse'.'&HWVAL_'.$Apache::inputtags::response['-1'];
+                            $result .= '\item[{'.&Apache::lonxml::print_pdf_radiobutton($fieldname,$temp).'}]'
+                                       .$Apache::response::foilgroup{$name.'.text'}."\n";
                         } else {
                             $result .= '\item \vskip -2mm ';
                         }
@@ -439,7 +452,11 @@ sub whichfoils {
 		&Apache::lonxml::error(&HTML::Entities::encode("No valid value assigned ($Apache::response::foilgroup{$name.'.value'}) for foil $name in <foilgroup>",'<>&"'));
 	    }
 	}
-	if (!$havetrue && $Apache::lonhomework::type ne 'survey') {
+	if ((!$havetrue) && 
+            ($Apache::lonhomework::type ne 'survey') && 
+            ($Apache::lonhomework::type ne 'surveycred') &&
+            ($Apache::lonhomework::type ne 'anonsurvey') &&
+            ($Apache::lonhomework::type ne 'anonsurveycred')) {
 	    &Apache::lonxml::error(&mt('There are no true statements available.').'<br />');
 	}
     } else {
@@ -499,7 +516,11 @@ sub whichfoils {
 	&Apache::lonxml::debug("Answer wants $answer");
 	my $truename=$truelist[$whichtrue];
 	my $dosplice=1;
-	if ($notrue && $Apache::lonhomework::type ne 'survey') {
+	if (($notrue) && 
+            ($Apache::lonhomework::type ne 'survey') &&
+            ($Apache::lonhomework::type ne 'surveycred') &&
+            ($Apache::lonhomework::type ne 'anonsurvey') &&
+            ($Apache::lonhomework::type ne 'anonsurveycred')) {
 	    $dosplice=0;
 	    &Apache::lonxml::error(&mt('There are no true statements available.').'<br />');
 	}
@@ -630,18 +651,14 @@ sub displayfoils {
 		    $i++;
 		    $bubble_number++;
 		} else {
-		      if($env{'form.pdfFormFields'} eq 'yes' && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') {
-
-                         my $fieldname = $env{'request.symb'}.
-                                         '&part_'. $Apache::inputtags::part.
-                                         '&radiobuttonresponse'.
-                                         '&HWVAL_' . $Apache::inputtags::response['-1'];
-                         my $value = $temp;
-                         my $text = $Apache::response::foilgroup{$name.'.text'};
-                         $result .= &Apache::lonxml::print_pdf_radiobutton($fieldname, $value, $text).'\newline'."\n";
-                     } else { 
-                         $result .= '\vspace*{-2 mm}\item '.$Apache::response::foilgroup{$name.'.text'};
-                     }
+                    if($env{'form.pdfFormFields'} eq 'yes' && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') {
+                        my $fieldname = $env{'request.symb'}.'&part_'. $Apache::inputtags::part
+                                        .'&radiobuttonresponse'.'&HWVAL_'.$Apache::inputtags::response['-1'];
+                        $result .= '\item[{'.&Apache::lonxml::print_pdf_radiobutton($fieldname,$temp).'}]'
+                                   .$Apache::response::foilgroup{$name.'.text'}."\n";
+                    } else { 
+                        $result .= '\vspace*{-2 mm}\item '.$Apache::response::foilgroup{$name.'.text'};
+                    }
                 }
 	    }
 	    if ($target ne 'tex' && $direction eq 'horizontal') {