# -*-perl-*-
######################################################################
# 
# File: t2h_singular.init init file for singular t2h
#

# we only redefine things which ar of relevance to singular
# all the others we simply "include"

# -prefix
# Set the output file prefix, prepended to all .html, .png and .pl files.
$PREFIX = 'sing';

# -expand
# if set to "tex" (or, "info") expand @iftex and @tex (or, @ifinfo) sections
# else, neither expand @iftex, @tex, nor @ifinfo sections
@EXPAND = ('html', 'tex');

# if set, creates one html file per node
$SPLIT = 'node';

#if set cross-references are given without section numbers
$SHORT_REF = 1;

# if set, chatter about what we are doing
$VERBOSE = 1;

# print index summary for 'cp' index
$IDX_SUMMARY = 'cp';

my $T2H_SING_base_images = '../singular_images/';

# inside <BODY ..>
$BODYTEXT = 'lang="en"  background="'.${T2H_SING_base_images}.'Mybg.png"';

# after <BODY>
$AFTER_BODY_OPEN = <<EOT;
EOT

# before </BODY>
$PRE_BODY_CLOSE = <<EOT;
EOT

# if using tex4ht, must be in latex mode due to \textbf
$Texi2HTML::TeX4HT::STYLE='latex';

# footer of top_page

$print_Top_footer = \&T2H_SING_print_Top_footer;
$print_page_foot = \&T2H_SING_print_page_foot;

sub T2H_SING_print_Top_footer
{
#  my $fh = shift;
#  my $buttons = shift;
#  my $nwords = shift;
#  print  $fh "<blockquote>\n" .
#    &$anchor('', $Texi2HTML::HREF{Contents}, "Table of Contents") .
#      "\n<br>\n" .
#	&$anchor('', $Texi2HTML::HREF{About}, "About this document") .
#	  "</blockquote>";
#  
#  &$print_foot_navigation($fh);
#  print $fh "$SMALL_RULE\n";
#  if ($SPLIT)
#  {
#     &$print_navigation($fh, $buttons);
#     &$print_page_foot($fh);
#  }
    my $fh = shift;
    #my $buttons = shift;
    #my $nwords = shift;
    my $end_page = shift;
    my $buttons = \@MISC_BUTTONS;
    print  $fh "<blockquote>\n" .
      &$anchor('', $Texi2HTML::HREF{Contents}, "Table of Contents") .
        "\n<br>\n" .
	  &$anchor('', $Texi2HTML::HREF{About}, "About this document") .
	    "</blockquote>";
  
    &$print_foot_navigation($fh);
    print $fh "$SMALL_RULE\n";
    #if ($SPLIT)
    if ($end_page)
    {
        print $fh "".&$print_navigation($buttons);
        &$print_page_foot($fh);
    }
}

# footer of page
sub T2H_SING_print_page_foot
{
  my $fh = shift;
  print $fh <<EOT;
<font size="-1">
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; User manual for <a href="http://www.singular.uni-kl.de/"><i>Singular</i></a> version $main::value{VERSION}, $main::value{VERSION_DATE},
generated by <a href="$Texi2HTML::THISDOC{'program_homepage'}"><i>$Texi2HTML::THISDOC{'program'}</i></a>.
</font>
$PRE_BODY_CLOSE
</body>
</html>
EOT
}


sub singular_banner
{
  my $result = '';
  $result .= <<EOT;
  <a href="index.htm"><img
    src="${T2H_SING_base_images}singular-icon-transparent.png" width="50"
      border="0" alt="Top"></a>
EOT
#  print $fh $result if (defined($fh));
  return $result;
}

# always use bottom navigation
$WORDS_IN_PAGE = 0;

$VERTICAL_HEAD_NAVIGATION = 1;
@SECTION_BUTTONS =
  (
   \&singular_banner,
   'Back', 'Forward',   'FastBack', 'FastForward',   
   'Up', 'Top', 'Contents', 'Index', 'About' 
  );

@NODE_FOOTER_BUTTONS = @SECTION_BUTTONS;

# buttons for misc stuff
@MISC_BUTTONS = (\&singular_banner, 'Top', 'Contents', 'Index', 'About');

$ICONS = 1;

if ($T2H_BLUE_BUTTONS)
{
  
%ACTIVE_ICONS =
  (
   'Top',      'blue_top.png',
   'Contents', 'blue_dir.png',
   'Overview', '',
   'Index',    'blue_readme.png',
   'Back',     'blue_prev.png',
   'FastBack', 'blue_pprev.png',
   'Prev',     'blue_pprev.png',
   'Up',       'blue_up.png',
   'Next',     'blue_nnext.png',
   'Forward',  'blue_next.png',
   'FastForward', 'blue_nnext.png',
   'About' ,    'blue_help.png',
   ' ',        ''
  );

%PASSIVE_ICONS =
  (
   'Top',      'blue_top.png',
   'Contents', 'blue_dir.png',
   'Overview', '',
   'Index',    'blue_readme.png',
   'Back',     'blue_prev.png',
   'FastBack', 'blue_pprev.png',
   'Prev',     'blue_pprev.png',
   'Up',       'blue_up.png',
   'Next',     'blue_nnext.png',
   'Forward',  'blue_next.png',
   'FastForward', 'blue_nnext.png',
   'About' ,    'blue_help.png',
  );
}
else
{
%ACTIVE_ICONS =
  (
   'Top',      'a_top.png',
   'Contents', 'a_tableofcon.png',
   'Overview', '',
   'Index',    'a_index.png',
   'Back',     'a_left.png',
   'FastBack', 'a_leftdouble.png',
   'Prev',     'a_leftdouble.png',
   'Up',       'a_up.png',
   'Next',     'a_rightdouble.png',
   'Forward',  'a_right.png',
   'FastForward', 'a_rightdouble.png',
   'About' ,    'a_help.png',
   ' ',        'a_empty.png'
  );

%PASSIVE_ICONS =
  (
   'Top',      'a_top_na.png',
   'Contents', 'a_tableofcon_na.png',
   'Overview', '',
   'Index',    'a_index_na.png',
   'Back',     'a_left_na.png',
   'FastBack', 'a_leftdouble_na.png',
   'Prev',     'a_leftdouble_na.png',
   'Up',       'a_up_na.png',
   'Next',     'a_rightdouble_na.png',
   'Forward',  'a_right_na.png',
   'FastForward', 'a_rightdouble_na.png',
   'About' ,    'a_help_na.png',
  );
}

foreach my $hash_ref((\%ACTIVE_ICONS, \%PASSIVE_ICONS))
{
	foreach my $key (keys(%$hash_ref))
	{
		next if ($hash_ref->{$key} eq '');
		$hash_ref->{$key} = $T2H_SING_base_images.$hash_ref->{$key};
	}
}

sub T2H_SING_pre_about
{
  return <<EOT;
This document is the user manual for <a href="http://www.singular.uni-kl.de/"><i>Singular</i></a> version $main::value{VERSION}, $main::value{VERSION_DATE}. 
<br>   

For questions and comments about Singular, send email to <a href="mailto:singular\@mathematik.uni-kl.de">singular\@mathematik.uni-kl.de</a>.
  
<p></p>  
This document was generated by <a href="$Texi2HTML::THISDOC{'program_homepage'}"><i>$Texi2HTML::THISDOC{'program'}</i></a> 
and <a href="http://www-dsed.llnl.gov/files/programs/unix/latex2html/manual/">LaTeX2<tt>HTML</tt></a> 
and is best  viewed with a 16 or 18 point screen font.
<p></p>
EOT
}

$PRE_ABOUT = \&T2H_SING_pre_about;

# a whole menu
$menu = \&t2h_sing_menu;

sub t2h_sing_menu($)
{
    my $text = shift;

    if ($text =~ /\S/)
    {
        return "<blockquote><table class=\"menu\" border=\"0\" cellspacing=\"0\">\n" . $text. "</table></blockquote>\n";
    }
    return '';
}

1; 	# This must be the last line
