#!/usr/bin/perl
#
# Original script written by Joel Hahn, 1997; modified 1998, 2001, 2002

#use CGI::Carp qw(fatalsToBrowser);

# Get the input
#read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
$buffer=$ENV{'QUERY_STRING'};

 $file=$buffer;

# Check which product line was chosen
if ($file eq "firsted1") { 
 $prodline="First Edition";
 $part=", part 1";
}
elsif ($file eq "firsted2") {
 $prodline="First Edition"; 
 $part=", part 2";
}
elsif ($file eq "firsted3") {
 $prodline="First Edition";
 $part=", part 3";
}
elsif ($file eq "seced1") {
 $prodline="Second Edition";
 $part=", part 1"; 
}
elsif ($file eq "seced2") {
 $prodline="Second Edition";
 $part=", part 2"; 
}
elsif ($file eq "thirded") { $prodline="Third Edition"; }
elsif ($file eq "birth") { $prodline="Birthright"; }
elsif ($file eq "dsun") { $prodline="Dark Sun"; }
elsif ($file eq "dlance") { $prodline="Dragonlance"; }
elsif ($file eq "eberron") { $prodline="Eberron"; }
elsif ($file eq "forg1") {
 $prodline="Forgotten Realms";
 $part=", part 1"; 
}
elsif ($file eq "forg2") {
 $prodline="Forgotten Realms";
 $part=", part 2";
}
elsif ($file eq "forg3") {
 $prodline="Forgotten Realms";
 $part=", part 3";
}
elsif ($file eq "alq") { $prodline="Al-Qadim"; }
elsif ($file eq "kara") { $prodline="Kara-Tur"; }
elsif ($file eq "grey") { $prodline="Greyhawk"; }
elsif ($file eq "lankh") { $prodline="Lankhmar"; }
elsif ($file eq "myst") { $prodline="Mystara"; }
elsif ($file eq "plane") { $prodline="Planescape"; }
elsif ($file eq "rloft") { $prodline="Ravenloft"; }
elsif ($file eq "sjam") { $prodline="Spelljammer"; }
elsif ($file eq "dnd1") {
 $prodline="Dungeons &amp; Dragons";
 $part=", part 1";
}
elsif ($file eq "dnd2") {
 $prodline="Dungeons &amp; Dragons";
 $part=", part 2";
}
elsif ($file eq "dnd3") {
 $prodline="Dungeons &amp; Dragons";
 $part=", part 3";
}
elsif ($file eq "dnd4") {
 $prodline="Dungeons &amp; Dragons";
 $part=", part 4";
}
else {
 $file="firsted1";
 $prodline="First edition";
 $part=", part 1";
}

($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat("$file.dat");
($sec,$min,$hour,$modmday,$modmon,$modyear,$wday,$yday,$isdst) = localtime($mtime);
$modmon=$modmon+1;
if (length($modyear)==3) {
  $modyear=substr($modyear,1,2)
}

# Open the relevant data file, dump all the data into the @LINES array
open(FILEDAT,"$file.dat") || die "Can't Open $file.dat: $!\n";
@LINES=<FILEDAT>;
close(FILEDAT);
$SIZE=@LINES;

# Start printing the output to the screen
print "Content-Type: text/html\n\n";
print "<html><head><title>$prodline Ratings</title></head>\n";
print "<body text=#000000 bgcolor=#FFFFFF>\n";
print "<h1>$prodline Ratings$part</h1>\n";
print "<i>Most recent vote cast: $modmon/$modmday/$modyear</i>\n";
print "<p>\n";
print "<hr>\n";
print "<table>\n";
print "<tr><th>Rating / Votes</th> <th align=left>Product Name</th>\n";

# Manipulate the data, crunch the numbers, output the results
for ($i=0;$i<=$SIZE-1;$i++) {
   $_=$LINES[$i];
   ($prodcode, $prodname, $votes, $rate, $ratenums)= split(/\|/, $_, 5);

   if ($rate==0) {
     $avg=0;
   }
   else {
     $rawavg=$rate/$votes;
     $exp=2;
     $avg= sprintf("\%.${exp}f", $rawavg);
   }
     $color ="<font color=0000FF>";
     if ($avg > 1) { $color = "<font color=0000CC>"; }
     if ($avg > 2) { $color = "<font color=330099>"; }
     if ($avg > 3) { $color = "<font color=660099>"; }
     if ($avg > 4) { $color = "<font color=990099>"; }
     if ($avg > 5) { $color = "<font color=BB00BB>"; }
     if ($avg > 6) { $color = "<font color=990099>"; }
     if ($avg > 7) { $color = "<font color=990066>"; }
     if ($avg > 8) { $color = "<font color=990033>"; }
     if ($avg > 9) { $color = "<font color=CC0000>"; }
     if ($avg >=10) { $color = "<font color=FF0000>"; }

   print "<tr><td align=center valign=top><b>$color$avg</font> / $votes</b></td> <td><b>$prodname</b><br>\n";
   $_=$ratenums;
   ($r0, $r1, $r2, $r3, $r4, $r5, $r6, $r7, $r8, $r9, $r10)= split(/\,/, $_, 11);
   print "<font color=0000FF>0:$r0</font> &nbsp\;\n";
   print "<font color=0000CC>1:$r1</font> &nbsp\;\n";
   print "<font color=330099>2:$r2</font> &nbsp\;\n";
   print "<font color=660099>3:$r3</font> &nbsp\;\n";
   print "<font color=990099>4:$r4</font> &nbsp\;\n";
   print "<font color=BB00BB>5:$r5</font> &nbsp\;\n";
   print "<font color=990099>6:$r6</font> &nbsp\;\n";
   print "<font color=990066>7:$r7</font> &nbsp\;\n";
   print "<font color=990033>8:$r8</font> &nbsp\;\n";
   print "<font color=CC0000>9:$r9</font> &nbsp\;\n";
   print "<font color=FF0000>10:$r10</font> \n";
   print "</td>\n";
}

# Finish up the results page
print "</table>\n";
  print "<p><a href=\"getrate.cgi?$file\">Rate these products</a>\n";
print "<hr>\n";
# Set up links to other sections, for those with multiple parts
if ($file eq "firsted1") { 
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?firsted2\">View $prodline ratings, part 2</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?firsted3\">View $prodline ratings, part 3</a><br>\n";
}
elsif ($file eq "firsted2") {
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?firsted1\">View $prodline ratings, part 1</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?firsted3\">View $prodline ratings, part 3</a><br>\n";
}
 elsif ($file eq "firsted3") {
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?firsted1\">View $prodline ratings, part 1</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?firsted2\">View $prodline ratings, part 2</a><br>\n";
}
elsif ($file eq "seced1") {
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?seced2\">View $prodline ratings, part 2</a><br>\n";
}
elsif ($file eq "seced2") {
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?seced1\">View $prodline ratings, part 1</a><br>\n";
}
#elsif ($file eq "birth") { $prodline="Birthright"; }
#elsif ($file eq "dsun") { $prodline="Dark Sun"; }
#elsif ($file eq "dlance") { $prodline="Dragonlance"; }
#elsif ($file eq "eberron") { $prodline="Eberron"; }
elsif ($file eq "forg1") {
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?forg2\">View $prodline ratings, part 2</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?forg3\">View $prodline ratings, part 3</a><br>\n";
}
elsif ($file eq "forg2") {
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?forg1\">View $prodline ratings, part 1</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?forg3\">View $prodline ratings, part 3</a><br>\n";
}
elsif ($file eq "forg3") {
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?forg1\">View $prodline ratings, part 1</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?forg2\">View $prodline ratings, part 2</a><br>\n";
}
#elsif ($file eq "alq") { $prodline="Al-Qadim"; }
#elsif ($file eq "kara") { $prodline="Kara-Tur"; }
#elsif ($file eq "grey") { $prodline="Greyhawk"; }
#elsif ($file eq "lankh") { $prodline="Lankhmar"; }
#elsif ($file eq "myst") { $prodline="Mystara"; }
#elsif ($file eq "plane") { $prodline="Planescape"; }
#elsif ($file eq "rloft") { $prodline="Ravenloft"; }
#elsif ($file eq "sjam") { $prodline="Spelljammer"; }
elsif ($file eq "dnd1") {
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?dnd2\">View $prodline ratings, part 2</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?dnd3\">View $prodline ratings, part 3</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?dnd4\">View $prodline ratings, part 4</a><br>\n";
}
elsif ($file eq "dnd2") {
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?dnd1\">View $prodline ratings, part 1</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?dnd3\">View $prodline ratings, part 3</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?dnd4\">View $prodline ratings, part 4</a><br>\n";
}
elsif ($file eq "dnd3") {
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?dnd1\">View $prodline ratings, part 1</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?dnd2\">View $prodline ratings, part 2</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?dnd4\">View $prodline ratings, part 4</a><br>\n";
}
elsif ($file eq "dnd4") {
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?dnd2\">View $prodline ratings, part 2</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?dnd3\">View $prodline ratings, part 3</a><br>\n";
  print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/disrate.cgi?dnd4\">View $prodline ratings, part 4</a><br>\n";
}
else {
# $file="firsted1";
# $prodline="First edition";
# $part=", part 1";
}
print "<p>\n";
print "Return to the <a href=\"http://www.hahnlibrary.net/rpgs/rate/display.html\">Ratings display page</a>.<br>\n";
print "Go <a href=\"http://www.hahnlibrary.net/rpgs/rate/rating.html\">Rate the products</a>.<br>\n";
print "<a href=\"http://www.hahnlibrary.net/rpgs/rate/response.html\">E-mail the survey maintainer</a>.\n";
print "</body></html>";
