\n";
print "\n";
if ($image =~ /.+/) {
	print "  | \n";
	}
print "$description  |    | \n";
# RHS contains information supplied by calls to wizard_input(), i.e.
# it`s where data is entered. We open this table and close it with
# wizard_footer() below...
print "\n";
}
sub wizard_footer()
{
local ($wizinfo, $pagename, %wizard, $wizref, $min_datafiles, $max_datafiles,
	$pageinst, $pagenum, $datafile, $back_disabled, $next_disable,
	$add_disabled, $remove_disabled, $finish_disabled, @wizard_pages,
	$page, @datafiles);
($wizinfo, $pagename) = @_;
%wizard = &read_in_wizard("$wizinfo");
$wizref = \%wizard;
$pageinst = &wizard_get_pageinst();
$min_datafiles = &get_wizard_info_by_name($wizref, "min_datafiles", $pagename);
$max_datafiles = &get_wizard_info_by_name($wizref, "max_datafiles", $pagename);
$pagenum = &get_wizard_info_by_name($wizref, "pagenum", $pagename);
$datafile = &wizard_datafile_name($pagename, $pageinst);
# which buttons do we show?
$back_disabled = "";
# first page, first instance, so no back button
if (($pagenum == 0) && ($pageinst == 0)) {
	$back_disabled="disabled=\"disabled\"";
	}
$next_disabled = "disabled=\"disabled\"";
# if we have met or exceeded minimum requirement of datafiles for
# this page, and are not on last page, or there are subsequent
# instances, enable next button
@datafiles = &list_wizard_datafiles($pagename);
@num_pages = &get_wizard_info_by_name($wizref, "pages");
@num_pageinsts = &list_wizard_datafiles($pagename);
if ((($pagenum < (@num_pages - 1)) && (@datafiles >= $min_datafiles)) ||
	(($pageinst < (@num_pageinsts - 1)))) {
	$next_disabled = "";
	}
$add_disabled = "";
$update_disabled = "disabled=\"disabled\"";
$new_disabled = "disabled=\"disabled\"";
$remove_disabled="disabled=\"disabled\"";
# if we have data already for page, don't disable remove/clear, disable add,
# enable update
@thispage_datafiles = &list_wizard_datafiles("$pagename.$pageinst");
if (@thispage_datafiles > 0) {
	$remove_disabled = "";
	$add_disabled = "disabled=\"disabled\"";
	$update_disabled = "";
	# enable new if we can have more instances....
	if ($pageinst < ($max_datafiles - 1)) {
		$new_disabled = "";
		}
	}
# can we show finish button? if each page has exceeded it`s minimum
# amount of datafiles, and each datafile has validation_success == 1, yes.
$finish_disabled = "";
@wizard_pages = &get_wizard_info_by_name($wizref, "pages");
foreach $page (@wizard_pages) {
	@datafiles = &list_wizard_datafiles("$page->{'pagename'}");
	foreach $datafile (@datafiles) {
		# get instance number...
		$datafile =~ /$page->{'pagename'}\.([0-9]*)/;
		$inst = $1;
		$validated = &wizard_get_data_value($page->{'pagename'},
			$inst, "validation_success");
		if ($validated != 1) {
			# instance not valid!
			$finish_disabled = "disabled=\"disabled\"";
			}
		}
	$page_min_datafiles = &get_wizard_info_by_name($wizref, "min_datafiles",
		"$page->{'pagename'}");
	if (@datafiles < $page_min_datafiles) {
		# haven't got minimum number of instances!
		$finish_disabled = "disabled=\"disabled\"";
		}
	}
# close data table
print "  |