Source: json/init.js

/**
 * @typedef {Object} JSONinit
 *  The initialization info for the form and the
 *  welcome section of the web app.
 *
 * @property {Object} HTMLElements
 *   The HTML elements that are to be manipulated by means
 *   of JavaScript.
 * @property {String} HTMLElements.div
 *   The id of the div element where the app is to be run.
 * @property {String} HTMLElements.lang
 *   The language of the div element ("de", "en" etc.).
 * @property {String} HTMLElements.sectionForm
 *   The id of the form section. It is displayed to ask the
 *   user about her/his name.
 * @property {String} HTMLElements.headingForm
 *   The id of the heading element of the section form.
 * @property {String} HTMLElements.inputNameLabel
 *   The label element associated with the input field of the sectionForm.
 *   It should contain a question about the name of the user.
 * @property {String} HTMLElements.inputName
 *   The id of a ext field where the user shall input her/his name.
 * @property {String} HTMLElements.buttonReset
 *   The id of the reset button.
 * @property {String} HTMLElements.buttonSubmit
 *   The id of of the submit button.
 * @property {String} HTMLElements.sectionHello
 *   The if of the hello section. It is displayed, when the user
 *   has passed her/his name.
 * @property {String} HTMLElements.hello
 *   The id of the HTML element that shall be used
 *   to display the hello message.
 * @property {String} HTMLElements.welcome
 *   The id of another HTML element that shall be used to welcome
 *   the user in the course "Multimedia Programming".
 *
 *
 * @property {Object} text
 *   The words that are to be inserted into the HTML document.
 *   The language of those texts is given by <code>HTMLElements.lang</code>.
 * @property {String} text.title
 *   The title of the form section.
 * @property {String} text.question
 *   The question about the name of the user.
 * @property {String} text.reset
 *   The label text of the reset button.
 * @property {String} text.submit
 *   The label text of the submit button.
 * @property {String} text.hello
 *   The hello message to welcome the user by name. The message should
 *   contain the substring "$1" (without double quotes). The substring
 *   is replaced by the name of the user.
 * @property {String} text.welcome
 *   A second message which welcomes the user
 *   in the course "Multimedia Programming".
 *
 * @property {Object} css
 *   This object maps strings to CSS class names. Usually
 *   it is an identity mapping. However, to satisfy the the demand
 *   "Put constants in config files" conscientiously, even those
 *   mappings are stored in the corresponding JSON file. :-)
 * @property {String} css.hidden
 *   The id of a CSS class that should be used to hide either the
 *   hello section or the form section.
 */