#!/usr/local/bin/perl -s

$dbdir = "/home/vipera/detn_db/db/";
$datadir = "/home/vipera/detn_db/data/plotdata/";
$plotdir = "/home/vipera/detn_db/plots/gplots/";
$gpsrcdir = "/home/vipera/detn_db/plots/gpsrc";

if ($p)
  { open(PLOTLIST, $p) || die "Couldn't open plotlist file!\n"; }
else
  { open(PLOTLIST, $dbdir."plotlist") || die "Couldn't open plotlist file!\n"; }

$_ = <PLOTLIST>;
while(<PLOTLIST>) {
   chop;
   $_ =~ s/"//g;
   @REF       = split(/\t/,$_);
   $file     = $REF[0];
   $title    = $REF[1];
   $category = $REF[2];
   $mixture  = $REF[3];
   $xlabel   = $REF[4];
   $ylabel   = $REF[5];
   $logaxes  = $REF[6];
   $xrange   = $REF[7];
   $yrange   = $REF[8];
   $details  = $REF[9];
   @data     = @REF[10 .. 24];

   open(SCRIPT, "> $gpsrcdir/tmp.gs") || die "Couldn't open file \
 $gpsrcdir/tmp.gs for writing!\n";
   if ($logaxes =~ /x/)
      { print SCRIPT "set log x\n"; }
   if ($logaxes =~ /y/)
      { print SCRIPT "set log y\n"; }
   print SCRIPT "set title '$title: $mixture'\n";
   print SCRIPT "set xlabel '$xlabel'\n";
   print SCRIPT "set ylabel '$ylabel'\n";
   print SCRIPT "cd '$datadir'\n";
   print SCRIPT 'set term post portrait "Times-Roman" 14', "\n";
   print SCRIPT "set output '/dev/null'\n";
   if ($xrange)
      { print SCRIPT "set xrange \[$xrange\]\n"; }
   if ($yrange)
      { print SCRIPT "set yrange \[$yrange\]\n"; }
   undef $col1;
   undef $col2;
   if ($data[0] =~ /\,/)
      { ($data[0],$col1,$col2) = split(/\,/,$data[0]); }
   print SCRIPT "plot '$data[0].txt'";
   if ($col1)
      { print SCRIPT " using $col1:$col2"; }
   print SCRIPT " title '$data[0]'\n";
   foreach $n (1 .. $#data) {
      if ($data[$n])
      {   undef $col1;
          undef $col2;
          if ($data[$n] =~ /\,/)
          { ($data[$n],$col1,$col2) = split(/\,/,$data[$n]); }
          print SCRIPT "replot '$data[$n].txt'";
          if ($col1)
             { print SCRIPT " using $col1:$col2"; }
          print SCRIPT " title '$data[$n]'\n"; }
   }
   print SCRIPT "set size 0.7, 0.93\n";
   print SCRIPT "set output '$plotdir$file.ps'\n";
   print SCRIPT "replot\n";

   close(SCRIPT);
   if (system("cmp $gpsrcdir/tmp.gs $gpsrcdir/$file.gs"))
      { system("mv $gpsrcdir/tmp.gs $gpsrcdir/$file.gs") }
}

system("\\rm $gpsrcdir/tmp.gs");
