#!/usr/bin/perl -w
######################################################################
# (c) Michael Schilli 1999
######################################################################

use CGI qw/:standard :html3/;

%labels = ('r' => 'Rot', 'b' => 'Blau', 'g' => 'Grün');

$popup_menu = popup_menu(            ### Popup-Menü
   '-name'    =>  'farbe1',          # Name des Feldes
   '-values'  =>  ['r', 'g', 'b'],   # Einzelwerte
   '-default' =>  'r',               # Voreingestellt
   '-labels'  =>  \%labels);         # Wert -> angezeigter Name

$radio_group = radio_group(          ### Gruppe von Radio
   '-name'    => 'farbe2',           # Name des Feldes
   '-values'  => ['r', 'g', 'b'],    # Einzelwerte
   '-default' => 'r',                # Vorausgewählt
   '-labels'  => \%labels);          # Name -> angezeigter Name

$textfield = textfield(              ### Einzeiliger Text
   '-name'    => 'farbe3',           # Name des Feldes
   '-default' => '');                # Ist anfangs leer

$textarea = textarea(                ### Mehrzeiliger Text
   '-name'    => 'farbe4',           # Name des Feldes
   '-default' => '',                 # Ist anfangs leer
   '-rows'    => 2,                  # Zwei Zeilen
   '-columns' => 20);                # 20 Zeichen breit

$scrolling_list = scrolling_list(    ### Scrollbare Liste
   '-name'     =>  'farbe5',         # Name des Feldes
   '-values'   =>  ['r', 'g', 'b'],  # Wählbare Werte
   '-default'  =>  ['r', 'g'],       # Vorselektiert
   '-size'     =>  3,                # Höhe der Box
   '-multiple' => 'true',            # Multiple Auswahl OK
   '-labels'   => \%labels);         # Name -> angezeigter Name

$checkbox_group = checkbox_group(    ### Gruppe von Schaltern
   '-name'      => 'farbe6',         # Name des Feldes
   '-values'    =>  ['r', 'g', 'b'], # Einzelwerte der Schalter
   '-default'   =>  'r',             # 1. Schalter gedrückt
   '-linebreak' => 'true',           # Untereinander aufreihen
   '-labels'    => \%labels);        # Name -> angezeigter Name

$checkbox = checkbox(                ### Einzelknopf
   '-name'    => 'farbe7',           # Name des Feldes
   '-checked' => 'checked',          # Vorgewählt
   '-value'   => 'ja',               # Wert falls gedrückt
   '-label'   => 'Ja?');             # Dargestellter Text

$submit = submit(                    ### Sende-Knopf
   '-name'  => 'submit_knopf',       # Name des Feldes
   '-value' => 'Absenden');          # Beschriftungstext und ge-
                                     # lieferter Wert falls 
                                     # ausgelöst

$reset = reset(                      ### Reset-Knopf
   '-value' => 'Zurücksetzen');      # Beschriftungstext

print header(),                      # Alles als HTML ausgeben
      start_html('-title'   => 'Form Example',
                 '-bgcolor' => '#e0e0e6'),

      start_form('-method' => 'GET', # Formular-Anfang 
                                     # und Aktions-URL
                 '-action' => '/cgi-bin/dump.cgi'),
      
      table({'border' => 1},         # Tabelle mit 
                                     # Formularelementen
            TR(td(tt("popup_menu")), td($popup_menu)),
            TR(td(tt("radio_group")), td($radio_group)),
            TR(td(tt("textfield")), td($textfield)),
            TR(td(tt("textarea")), td($textarea)),
            TR(td(tt("scrolling_list")), td($scrolling_list)),
            TR(td(tt("checkbox_group")), td($checkbox_group)),
            TR(td(tt("checkbox")), td($checkbox)),
            TR(td(tt("submit")), td($submit)),
            TR(td(tt("reset")), td($reset)),
           ),
      end_form(),                    # Formularende
      end_html();                    # HTML-Ende
