#!/usr/local/bin/perl

require "cgi-lib.pl";
binmode STDIN;
&ReadParse(*input);

$model=0;
$session="";
$dir="tmp/";
$session=$input{"sessionid"};
$model_input_file= $dir.$session.".in";
$model_output_file= $dir.$session.".out";
print "\ndirectory = $dir\n";
print "\nmodel input file = $model_input_file\n";
print "\nmodel output file = $model_output_file\n";
$model=$input{"model"};

print"\nmodel is $model\n";
print "session is $session\n";

$max=0;
foreach $key (keys %input) {
    $value=$input{"$key"};
    if ($key=~ /val/) {
	$max++;
    }
}

# Create new model input file
if ( !open(OUTFILE,"> $model_input_file") ) {
    print "Error opening an output file $outfilename: $!\n";
    print "Bailing out..\n";
    exit(1);
}
print "\nmax=$max\n";

for ($i=0; $i<$max; $i++) {
    $key="val".$i;
    $value=$input{"$key"};
    #print "$key";
    #print "value = $value\n";
    @inval= split( /\|/, $value);
    #print "data input = @inval[1]\n";
    print OUTFILE  "@inval[1]\n";

    #&output_array(@inval);
} 
close (OUTFILE);
system("chmod a+rw  $model_input_file");
#print "just wrote model input file\n";

# check that file exists
if (-e $model_input_file) {
$filename = "tmp/".$session.".out";
    # Run the program
    print "input file exists, run the model";
    system("/misc/www/users/damartin/cgi-bin/exec_model $model $session");
    system("chmod a+rw $model_output_file");
    system("mv  $model_input_file /scratch/s1/damartin/bionome/");
    system("mv  $model_output_file /scratch/s1/damartin/bionome/");
    system("chmod a+rw /scratch/s1/damartin/bionome/*");
}
else {
    print "Can't process model\n";
}

# Gather results

# Send results back to applet


exit(0);

sub output_array( @inval ) {
    print "print input_array ";
    foreach $item (@inval) {
        print "item = $item  ";
    }
    print "\n";
}
