#!/usr/bin/perl


use CGI qw/:standard/;

# Read the input files line for line into arrays

open INPUT, "segment_list.txt";
open INPUT2, "order.txt";
open INPUT3, "injury.txt";

# Maintain counters to keep track of page states
$seg_cnt = 0;
while($line = <INPUT>) {
	$segments[$seg_cnt++] = $line;
}
$model_cnt = 0;
while($line = <INPUT2>) {
        $models[$model_cnt++] = $line;
}
###@models = ('Excursion Explorer SportTrac','Mustang Camaro Firebird','Camry Taurus whatever');

# Keep track of segment chosen
$segment_chosen = '';

# Labels for pages
@PAGES = ('Choose Segment','Models','Injury Data');

# Maintain page state
$current_page = calc_page(param('page'),param('go'),param('words'));
$page_name = $PAGES[$current_page];

print_header();

# Print current page
if  ($page_name eq 'Choose Segment') { print_segments(); }
if  ($page_name eq 'Models') { print_models(); }
if  ($page_name eq 'Injury Data') { list_records(); }

print end_html;

# Sub-routine to read parameters passed in from submissions
sub calc_page {
	my ($prev,$dir,$w) = @_;
	$segment_chosen = $w;
	return $prev + 1 if $dir eq 'Next Page';
	return $prev - 1 if $dir eq 'Prev Page';
}

# Print page header for current page
sub print_header {
	print header,
	start_html ("Vehicle Rankings by Number of Injuries"),
	h1 ("Vehicle Rankings by Number of Injuries"),
	h2 ($page_name),
	h3 ("Note: This data is old and has not been verified and is 
		   only meant to be for demonstration of this project.");

# Print current page
print
	start_form, hr;
	h1 (page_name);
print	end_form;

}

# Print segment option page with checkbox selections
sub print_segments {
	my $current_page = shift;
	print start_form,
	hr;
	print "Vehicle Segments ";

	print checkbox_group(-name=>'words',
                        -values=>\@segments,
			-defaults=>['eenie','minie']),p;
	print submit(-name=>'go',-value=>'Previous Page')
	  if $current_page > 0;
	print submit(-name=>'go',-value=>'Next Page'),
	  hidden(-name=>'page',-value=>$current_page,-override=>1),
	end_form;

}

# Print model listing page that was selected from the segment checklist page
sub print_models {
# first determine which segment has been chosen.
	$seg_confirm = param('words');

# to start off just read in the count of the segment vs hashing into the array.
	$s_cnt = 0;
	foreach $item (@segments) {
	 	if (($item cmp $seg_confirm) == 0) {$cnt = $s_cnt;}
		$s_cnt++;
	}
# build the array.
	@c_models = (split /\s+/,$models[$cnt]);

	print start_form,
	hr,
	'seg_confirm =',$segment_chosen;

	print scrolling_list(-name=>'model_types',

			 -values=>\@c_models
			 );
# Page forward/back 
print submit(-name=> 'go',-value=>'Previuos Page')
  if  $current_page > 0;
print submit(-name=> 'go',-value=>'Next Page'),
hidden(-name=>'page',-value=>$current_page,-override=>1),
end_form;



}

# Injury record table
sub list_records {
	 print "<Table Border=1>";
	 while($line = <INPUT3>) {
               print Tr(th("Number of Injuries:"),td($line));
              }
	print "</TABLE>";
 }	


