#!/usr/local/bin/perl5

use POSIX qw(strftime);

# this file is more or less just mike wessler's file (index.cgi) from
# last year with the format of the html changed.

#RESULTS ARE BROKEN!!!  I'll fix this before we get any results.


@teams= ("Japan", "China", "Italy", "France");


%color = ( "japan", "yellow", 
	   "china", "#aaaaaa", 
	   "france", "#ff0000", 
	   "italy", "blue" );

# find events

@events= <events/*>;

foreach $event (@events) {
    ($dir= $event)=~ s!^.*/([^/]*)!$1!;
    $dir{$dir}= $event;
    $place{$dir}= "Place TBD";
    $time{$dir}= "Time TBD";
    if (open(IN, "$event/info")) {
	while (<IN>) {
	    if (/^([^:]*):(.*)/) {
		($type, $value)= ($1, $2);
		if ($type eq "NAME") {
		    $name{$dir}= $value;
		} elsif ($type eq "DATE") {
		    $date{$dir}= $value;
		    $value=~ m!(\d+)/(\d+)/(\d+)!;
		    ($dy, $mo, $yr)= ($2, $1, $3);
		    $mo--;
		    $yr-=1900;
		    $dnum= $yr*10000+$mo*100+$dy;
		    $dnum+= $offset;
		    $offset+= 0.00001;
		    $longdate{$dir}= strftime("%a, %b %d", 0, 0, 0, $dy, $mo, $yr, ($dy + $mo*31)%7);
		    $sdate{$dir}= $dnum;
		} elsif ($type eq "TIME") {
		    $time{$dir}= $value;
		    if ($value=~ /(\d+)(:(\d+))?\s*([aApPmM]+)/) {
			$ampm= $4;
			$amt= $1/100+$3/10000;
			if ($ampm=~ /pm/i) {
			    $amt+= 0.12;
			}
			$dtime{$dir}= $amt;
		    }
		} elsif ($type eq "PLACE") {
		    $place{$dir}= $value;
		} elsif ($type eq "COMMISH") {
		    if ($value=~ s/<?([^ ]+\@[^ >]+)>?//) {
			$em= $1;
			$value=~ s/^\s+//;
			$value=~ s/\s+$//;
			$commish{$dir}= "<a href=\"mailto:$em\">$value</a>";
		    } else {
			$value=~ s/^\s+//;
			$value=~ s/\s+$//;
			$commish{$dir}= $value;
		    }
		} elsif ($type eq "PHOTO") {
		    $photo{$dir}.= "<a href=\"$value\"><img src=images/photo.jpg width=26 height=17 border=0 align=middle></a>";
		} elsif ($type eq "SCORE") {
		    $value=~ s/^\s+//;
		    $value=~ s/\s+$//;
		    @places= split(/\s*\/\s*/, $value);
		    @points= (5, 3, 2, 1);
		    @names= ("First", "Second", "Third", "Fourth");
		    $line1= "";
		    $line2= "";
		    foreach $place (@places) {
			@steams= split(/\s+/, $place);
			$placename= shift(@names);
			for ($i=0; $i<=$#steams; $i++) {
			    $score+= (shift @points)/($#steams+1);
			    shift @names if ($i>0);
			}
			if ($i!= 1) {
			    $colspan= " colspan=$i";
			} else {
			    $colspan= "";
			}
			foreach $team (@steams) {
			    $curcolor = $color{$team};
			    $line1.= "<tr><td bgcolor=$curcolor><nobr><font size=-1>$placename: </font></nobr>";
			    $line1.= "<nobr><font size=-1>$team</font></nobr></td></tr>";
			}
		    }
		    if (-e "$event/results.html") {
			$reslink= "<a href=\"$event/results.html\">Report</a>";
		    } else {
			$reslink= "Report";
		    }
		    $finish{$dir}= "<table border=1><tr><td colspan=2 align=center>$reslink</td></tr><tr>$line1</tr></table>";
		}
	    }
	}
	close(IN);
	if (-e "$event/index.html") {
	    $openurl{$dir}= "<a href=$event/index.html>";
	    $closeurl{$dir}= "</a>";
	}
	if (-e "$event/image.jpg") {
	    $pic{$dir}= "$event/image.jpg";
	} elsif (-e "$event/image.gif") {
	    $pic{$dir}= "$event/image.gif";
	} else {
	    $pic{$dir}= "images/nopic.gif";
	}
    }
}

foreach $dir (keys %sdate) {
    $dnum= $sdate{$dir};
    $dnum+= $dtime{$dir} if (defined($dtime{$dir}));
    $sortdate{$dnum}= $dir;
}

if (open(EX, "extras")) {
    while (<EX>) {
	if (m!(\d+)/(\d+)/(\d+):([^<]*)(<([^>]*)>)?!) {
	    ($mo, $dy, $yr, $nm, $url)= ($1, $2, $3, $4, $6);
	    $mo--;
	    $yr-=1900;
	    $dnum= $yr*10000+$mo*100+$dy;
	    $dnum+= 0.9+$offset;
	    $offset+= 0.00001;
	    $sortdate{$dnum}= "-$nm";
	    $url{$nm}= $url;
	} else {
	    split(/,/, $_);
	    foreach $part (@_) {
		if ($part=~/([A-Za-z]+)[^0-9\.]*([0-9\.]+)/) {
		    $score{$1}+= $2;
		    $scorechart{$1}.="<img src=\"images/arrow.gif\" width=8 height=4><br>";
		    if ($2>1) {
			$scorechart{$1}.="<img src=\"images/blank.gif\" width=8 height=".($2*4-4)."><br>";
		    }
		    $finish{"-$nm"}.= "<td bgcolor=$color{$1}>$1: $2</td>";
		}
	    }
	}
    }
    close EX;
}

print <<EOF
Content-type: text/html
Expires: now

<html>
<head>
<META HTTP-EQUIV="Expires" CONTENT="now">
<title>Olympics 2001 Schedule</title>
</head>
<body bgcolor=#ffffff>
    <center><img src="images/title.GIF">
    <font face="Arial,Helvetica,Geneva" size=+1>
    <h1>Event Guide</h1>
    </font>
EOF
;

print <<EOF
<table border=2 cellspacing=5 align=center width=800>
<tr>
<td align=center><font face="Geneva,Helvetica,Arial"><b>Date/Time</b></font></td>
<td align=center><font face="Geneva,Helvetica,Arial"><b>Theme</b></font></td>
<td align=center><font face="Geneva,Helvetica,Arial"><b>Location</b></font></td>
<td align=center><font face="Geneva,Helvetica,Arial"><b>Contact</b></font></td>
<td align=center><font face="Geneva,Helvetica,Arial"><b>Results</b></font></td>



EOF
    ;

# run thru events (in order)

$curdate= "";
foreach $date (sort keys %sortdate) {
    $event= $sortdate{$date};

#    if ($event=~ /^-(.*)/) {
#	$title= $1;
#	print("  <tr><td></td>\n");
#	print("    <td bgcolor=#ffd0d0 align=center>\n");
#	print("      <font face=\"Comic Sans MS\"><b>Campaign Contribution:</b><br>\n      ");
#	print("<a href=\"$url{$title}\">") if (defined($url{$title}));
#	print("$title");
#	print("</a>") if (defined($url{$title}));
#	print("</font></td>");
#	print("    <td>");
#	print("<table cellpadding=3 border=1><tr><td>Donations:</td>$finish{$event}</tr></table>\n") if (defined($finish{$event}));
#	print("</td>");
#	print("  </tr>\n");
#	next;
#    }
#
    if ($longdate{$event} ne $curdate) {
	$curdate= $longdate{$event};
    }

    print("  <tr valign=middle>\n");
    print("<td align=center><font face=\"Arial,Helvetica,Geneva\">$curdate <br>$time{$event}</td>");
    print("    <td align=center>$openurl{$event}<img src=$pic{$event} width=150 border=0>$closeurl{$event}<br>");
    print("      <font face=\"Arial,Helvetica,Geneva\">\n");
    print("      <b> $openurl{$event}Battle<br> $name{$event}$closeurl{$event}</b> ");
    print("\n      </td>\n");
    print("      <td align=center><font face=\"Arial,Helvetica,Geneva\">$place{$event}</font></td>");
    print("<td align=center><font face=\"Arial,Helvetica,Geneva\">$commish{$event}</td></font>") if (defined($commish{$event}));
    print("      <td align=center>$finish{$event}\n") if (defined($finish{$event}));
    print("      </font>\n    </td>\n  </tr>");

}

print <<EOF
</table>



</center>

<hr>

<a href="index.cgi"><img src="images/home.gif"></a>

</body>
</html>
EOF
    ;
