#!/usr/local/bin/perl




# Preference variables

$page_return = 'http://staff.city.ac.uk/psychstudies/HS/Finished.htm';
$surveyFile;
$condition;
$p_numberfile;

$resultData;
$usernumber;
my @fieldnames;	
my @fieldvalues;
my %var_Hash;
$state ;


my $now = localtime time;
$request_method = $ENV{'REQUEST_METHOD'};

if ($request_method eq "GET") {
 

   if (length ($ENV{'QUERY_STRING'}) > 0){
      $buffer = $ENV{'QUERY_STRING'};
      @pairs = split(/&/, $buffer);
      foreach $pair (@pairs){
           ($name, $value) = split(/=/, $pair);
           $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
           $in{$name} = $value; 
       }

      $state = $in{'State'};
       $resultData = $in{'resultsString'};
      }
  }else {




           

  read (STDIN, $buffer1, $ENV {'CONTENT_LENGTH'});
  @pairs1 = split (/&/,$buffer1);
  $ip = $ENV{'REMOTE_ADDR'};
  foreach $pair1 (@pairs1){
    ($name,$value) = split(/=/,$pair1);

    $value =~ tr/+/ /;
    $value =~ s/%([a-fA-f0-9][a-fA-f0-9])/pack("C", hex($1))/eg;
    $value =~ s/<!--(.|\n)*--//g;
    #$value=~ s/\n/,/g;
    
    $name =~  tr/+/ /;
    $name =~ s/%([a-fA-f0-9][a-fA-f0-9])/pack("C", hex($1))/eg;
    $name =~ s/<!--(.|\n)*--//g;
    $var_Hash{$name} =$value;
    push(@fieldnames, $name);
    push(@fieldvalues,$value);
    
        
   if ($name eq "State"){
       $state = $value ;
    }
    if ($name eq "resultsString"){
       $resultData = $value ;
    }
  }


}#else

$numfields = scalar(@fieldnames);


    if ($state eq "Intro"){
       $surveyFile = "/u1.bristol/s33/ra902/public_html/HS/Closed.htm";
       #$p_numberfile = "/u1.bristol/s33/ra902/public_html/SAOS/conditionindex.txt";
       # open(EFILE,"$p_numberfile") or dienice("Can't open $p_numberfile for reading: $!");
 			  #@P_number = <EFILE>;
   		#	close(EFILE);
   			#$usernumber = @P_number[0];
       # if (($usernumber % 6) eq 0){
       #               $condition = "6";
     		#	}elsif (($usernumber % 6) eq 1){
       #               $condition = "1";
     		#	}elsif (($usernumber % 6) eq 2){
        #              $condition = "2";
     		#	}elsif (($usernumber % 6) eq 3){
        #              $condition = "3";
     		#	}elsif (($usernumber % 6) eq 4){
         #             $condition = "4";
     			#}elsif (($usernumber % 6) eq 5){
         #             $condition = "5";
     			#}



	#	$usernumber = @P_number[0] + 1;
	#	open(fileOUT,">$p_numberfile") ;
	#	#flock(fileOUT, 2);
		#print fileOUT $usernumber;
		#close(fileOUT);
                

		open(EFILE,$surveyFile) or dienice("Can't open $surveyFile for reading: $!");
		flock(EFILE, 2);
		@arrresults = <EFILE>;
		close(EFILE);



     print "Content-type:text/html\n\n";

		foreach $line (@arrresults) {

  		   if (index($line,"</form>")==-1){
       			  print  $line;
                        
    		   }else{
            print  "<input type=\"hidden\" name=\"State\" value=\"Store\">\n";
       		#	print  "<input type=\"hidden\" name=\"p_number\" value=\"@P_number[0]\">\n";
          #  print  "<input type=\"hidden\" name=\"SurveyCondition\" value=\"$condition\" id = \"SurveyCondition\" >\n";
       			print   $line;
    		  }

		}



        }elsif($state eq "Store"){
		open(fileOUT, ">>/u1.bristol/s33/ra902/public_html/HS/Secure/Results.txt") or dienice("Surveyresults.txt for writing: $!");

		flock(fileOUT, 2);

		seek(fileOUT, 0, 2);

                print fileOUT "$now,";
                print fileOUT "$resultData";
                print fileOUT "\n";
                close(fileOUT);
                print "Location: $page_return\n\n";
        }else{
        }

              





sub dienice
{
    print "Content-type:text/html\n\n";
    my($msg) = @_;
    print "<html>\n<head>\n<title>Error Opening File!</title>\n";
    print "</head>\n";
    print "<body><h2>Error</h2>\n<b>";
    print $msg;
    print "\n</b></body>\n</html>";
    exit;
}
