-% # options example...
-% #
-% # 'title' => 'Page title',
-% # 'items' => \@items,
-% # 'params' => \@params, # opt,
-% # 'labels' => \@labels, # or \%labels (keys are items)
-% # 'graph_labels' => \@graph_labels, # or \%graph_labels,
-% # 'colors' => \@colors, # or \%colors,
-% # 'links => \@links, # or \%link, #opt
-% # 'start_month' => $smonth,
-% # 'start_year' => $syear,
-% # 'end_month' => $emonth,
-% # 'end_year' => $eyear,
-% # 'agentnum' => $agentnum, #opt
-% # 'nototal' => 1, #opt,
-% # 'graph_type' => 'LinesPoints', #opt
-% # 'remove_empty' => 1, #opt,
-% # 'bottom_total' => 1, #opt,
-%
-% my(%opt) = @_;
-% my @items = @{ $opt{'items'} };
-%
-% foreach my $other (qw( labels graph_labels colors links )) {
-% #foreach my $other (qw( labels graph_labels colors )) {
-% if ( ref($opt{$other}) eq 'HASH' ) {
-% $opt{$other} = [ map $opt{$other}{$_}, @items ];
-% }
-% }
-%
-% my @mon = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
-%
-% my $report = new FS::Report::Table::Monthly (
-%
-% #'items' => $opt{'items'},
-% 'items' => \@items,
-% 'params' => $opt{'params'},
-% 'item_labels' => ( $cgi->param('_type') =~ /^(png)$/
-% ? $opt{'graph_labels'}
-% : $opt{'labels'}
-% ),
-% 'colors' => $opt{'colors'},
-% 'links' => $opt{'links'},
-%
-% 'start_month' => $opt{'start_month'},
-% 'start_year' => $opt{'start_year'},
-% 'end_month' => $opt{'end_month'},
-% 'end_year' => $opt{'end_year'},
-%
-% 'agentnum' => $opt{'agentnum'},
-% 'remove_empty' => $opt{'remove_empty'},
-% );
-% my $data = $report->data;
-%
-% if ( $cgi->param('_type') =~ /^(csv)$/ ) {
-%
-% #http_header('Content-Type' => 'text/comma-separated-values' ); #IE chokes
-% http_header('Content-Type' => 'text/plain' );
-%
-% my $csv = new Text::CSV_XS { 'always_quote' => 1,
-% 'eol' => "\n", #"\015\012", #"\012"
-% };