#!/usr/bin/perl
use lib '.';
require "pagelib.pl";

header();
head();
print "<br>\n";
print "<table border=1>\n";
%fields = (
	   'set' => { col => 0,
		      order => 0,
		      name => "Set Number", },
	   'desc' => { col => 1,
		       order => 1,
		       name => "Description", },
	   'pieces' => { col => 2,
			 order => 2,
			 name => "Pieces", },
	   'totpcs' => { calc => "pieces*quantity",
			 order => 3,
			 name => "Total Pieces", },
	   'figs' => { col => 3,
		       order => 4,
		       name => "Minifigs", },
	   'totfigs' => { calc => "figs*quantity",
			  order => 5,
			  name => "Total Figs", },
	   'quantity' => { col => 4,
			   order => 6,
			   name => "Quantity", },
	   'theme' => { col => 5,
			order => 7,
			name => "Theme", },
	   'subtheme' => { col => 6,
			   order => 8,
			   name => "Minifig Subtheme Count", },
	   );
print "<tr>\n";
foreach my $f (sort {$fields{$a}{order} <=> $fields{$b}{order}} (keys %fields)) {
    print "<th>$fields{$f}{name}</th>\n";
}
print "</tr>\n";
if(open(SETF,"/home/dave/lego/mysets/sets2.txt")) {
    while(<SETF>) {
	next if(/^\#/);
	chomp;
	$id++;
	my(@f) = split /\t/;
	foreach my $field (keys %fields) {
	    if(defined($fields{$field}{col})) {
		$data{$id}{$field} = $f[$fields{$field}{col}];
	    }
	}
    }
}

foreach $id (sort {$a <=> $b} keys %data) {
    my($row) = "<tr>\n";
    my($flag) = 0;
    foreach my $f (sort {$fields{$a}{order} <=> $fields{$b}{order}} (keys %fields)) {
	my($fmt) = '';
	if($f eq "pieces" && $data{$id}{$f} !~ /^\d+$/) {
	    $fmt = " bgcolor=#FFC0C0";
	} elsif($f eq "figs" && $data{$id}{$f} !~ /^\d+$/) {
	    $fmt = " bgcolor=#FFC0C0";
	} elsif($f eq "quantity" && $data{$id}{$f} !~ /^[1-9]\d*$/) {
	    $fmt = " bgcolor=#FFC0C0";
	} elsif($f eq "theme" && $data{$id}{$f} !~ /^\w+/) {
	    $fmt = " bgcolor=#FFC0C0";
	} elsif($f eq "totpcs") {
	    $data{$id}{$f} = $data{$id}{pieces} * $data{$id}{quantity};
	} elsif($f eq "totfigs") {
	    $data{$id}{$f} = $data{$id}{figs} * $data{$id}{quantity};
	}
	if($fmt) { $flag++; }
	$row .= "<td$fmt>";
	if($f eq "set") {
	    $row .= "<a href=\"http://guide.lugnet.com/set/$data{$id}{$f}\">$data{$id}{$f}</a>";
	} else {
	    $row .= "$data{$id}{$f}";
	}
	$row .= "</td>\n";
    }
    $row .= "</tr>\n";
    print $row;
    if($flag) {
	push @errors,$row;
    }
}
print "</table>\n";

if(@errors) {
    print "Odd Formatting:<br>\n";
    print "<table border=1>\n";
    foreach (@errors) {
	print;
    }
    print "</table>\n";
}
