#!/usr/bin/perl
print "Content-type: text/html\n\n";
if(open(SETF,"/home/dave/lego/mysets/sets2.txt")) {
    while(<SETF>) {
	if(!/^\#/) {
	    if(/^([\d\?]+)\t+/) {
		chomp;
		s/\n//g;
		$num = $1;
		s/\"//g;
		@dat = split /\t+/;
		if($name{$num}) { $num = $1 ."a"; }
		if($name{$num}) { $num = $1 ."b"; }
		if($name{$num}) { $num = $1 ."c"; }
		if($name{$num}) { $num = $1 ."d"; }
		if($name{$num}) { $num = $1 ."e"; }
		if($name{$num}) { $num = $1 ."f"; }
		if($name{$num}) { $num = $1 ."g"; }
		if($name{$num}) { $num = $1 ."h"; }
		if($name{$num}) { $num = $1 ."i"; }
		if($name{$num}) { $num = $1 ."j"; }
		if($name{$num}) { $num = $1 ."k"; }
		if($name{$num}) { $num = $1 ."l"; }
		if($name{$num}) { $num = $1 ."m"; }
		if($name{$num}) { $num = $1 ."n"; }
		if($name{$num}) { $num = $1 ."o"; }
		if($name{$num}) { $num = $1 ."p"; }
		if($name{$num}) { $num = $1 ."q"; }
		if($name{$num}) { $num = $1 ."r"; }
		if($name{$num}) { $num = $1 ."s"; }
		if($name{$num}) { $num = $1 ."t"; }
		if($name{$num}) { $num = $1 ."u"; }
		$name{$num} = $dat[1];
		$pieces{$num} = $dat[2];
		$figs{$num} = $dat[3];
		$quantity{$num} = $dat[4];
		$theme{$num} = $dat[5];
		$dat[6] =~ s/^([\w\d\',\(\) ]*).*/$1/;
		$subtheme{$num} = $dat[6];
		if($num !~ /\d/) { $total_non_sets+=$quantity{$num}; }
		$totalsets += $quantity{$num};
		$totaldiffsets++;
		$themesets{$theme{$num}} += $quantity{$num};
		$themepcs{$theme{$num}} += $quantity{$num} * $pieces{$num};
		$totalpieces += $pieces{$num} * $quantity{$num};
		$totalfigs += $figs{$num} * $quantity{$num};

		#FIGS PARSING:
#		if($theme{$num} =~ /,/) {
#		    $themefig{"multi"} += $figs{$num} * $quantity{$num};
#		}
#		else {
		    $themefig{$theme{$num}} += $figs{$num} * $quantity{$num};
#		}
		
		if($subtheme{$num} =~ /,/) {
		    @subthemes = split /, /,$subtheme{$num};
		    foreach $one (@subthemes) {
			$one =~ /(.*) \((\d+)\)/;
			$subthemefig{$1} += ($2*$quantity{$num});
		    }
		}
		else {
		    $subthemefig{$subtheme{$num}} += ($figs{$num}*$quantity{$num});
		}
	    }
	}
    }
    close SETF;
    print "<b><font size=+1>***** Overall *****</font></b><br>\n";
    print "Total pieces: $totalpieces<br>\n";
    print "Total figs: $totalfigs<br>\n";
    print "Total sets: $totalsets (including $total_non_sets non-set lots)<br>\n";
    print "Total different sets: $totaldiffsets<br>\n";
    print "<b><font size=+1>***** Statistics *****</font></b><br>\n";
    print "Average figs per set: " . $totalfigs/$totalsets . "<br>\n";
    print "Average pieces per set: " . $totalpieces/$totalsets . "<br>\n";
    print "<b>======= Theme Statistics =======</b><br>\n";
    foreach $ftheme (sort (keys %themefig)) {
	print "----- $ftheme -----<br>\n";
	print "Number of sets of $ftheme: $themesets{$ftheme}<br>\n";
	print "Average pieces for $ftheme: " . $themepcs{$ftheme}/$themesets{$ftheme} . "<br>\n";
	print "Average figs for $ftheme: " . $themefig{$ftheme}/$themesets{$ftheme} . "<br>\n";
    }
    print "<b><font size=+1>***** Minifig Count *****</font></b><br>\n";
    print "<b>===== Themes =====</b><br>\n";
    $tot = 0;
    foreach $ftheme (sort (keys %themefig)) {
	print "$ftheme has $themefig{$ftheme} figs<br>\n";
	$tot += $themefig{$ftheme};
    }
    print "<b>===== Subthemes =====</b><br>\n";
    print "total: $tot<br>\n";
    $tot = 0;
    foreach $ftheme (sort (keys %subthemefig)) {
	print "$ftheme has $subthemefig{$ftheme} figs<br>\n";
	$tot += $subthemefig{$ftheme};
    }
    print "total: $tot<br>\n";
#    foreach $num (keys %name) {
#	print "num $num<br>\n";
#	print "name $name{\"$num\"}<br>\n";
#	print "pieces $pieces{\"$num\"}<br>\n";
#	print "figs $figs{\"$num\"}<br>\n";
#	print "qty $quantity{\"$num\"}<br>\n";
#	print "theme $theme{\"$num\"}<br>\n";
#	print "subtheme $subtheme{\"$num\"}<br>\n";
#    }
}
else {
    print "could not open setlist<br>\n";
}





