
formWebObj is a webobject that makes easy the handling of big
forms (which have many inputs) and their data connection to the
databaze. It is used like this: when you have a webbox that
has a big form, in the PHP code of the webbox you include the
class 'formWebObj', and then inherit this class, instead of
inheriting 'WebObject' ('formWebObj' itself extends 'WebObject',
so this is OK). E.g.:

      <WebBox ID="editProject">
        <form name="bigForm" id="bigForm">
         . . . . . . . .
         <!--# many <input>s, <select>s, etc. here #-->
         . . . . . . . .
        </form>
      </WebBox>
      ----------------------------------------------
      <?
      include_once FORM_PATH."formWebObj.php";

      class editProject extends formWebObj
      {
         . . . . . . . . . .
      }
      ?>
      ----------------------------------------------
      <?
      class formWebObj extends WebObject
      {
         . . . . . . . . . . . 
      }
      ?>

Then, in the JS code of the webbox you can use these JS functions
which have been declared and included by the 'formWebObj':

    getEventArgs(form);
    /**
     * Returns all the data in the inputs of the given form
     * so that they can be sent as event args, e.g.
     * GoTo("thisPage?event=editProject.save(" + getEventArgs(form) + ")");
     */

    saveFormData(form);
    /** 
     * Transmit the data of the form, so that 
     * the changed values are not lost.
     * Must be called before GoTo().
     */
     This is useful when the page is refreshed for some reason,
     but you don't want to lose the values that are inputed in it. 

There are also these two functions that are used internally by
'formWebObj', but you can use them as well, if you need them:
    function getFormData(form)
    //returns all the data filled in the given form
    function setFormData(form, formData)
    //fills the form with the given data

In the PHP code of the webbox, these functions can be used:

+ function insert_record($record, $table)
  /**
   * $record is an associative array where keys are named after
   * the fields of the table. It is assumed that $table has
   * a primary key that is an autoincrement number.
   * The function builds and executes a query that inserts a row
   * in the table.
   */

+ function update_record($record, $table, $key)
  /**
   * $record is an associative array where keys are named after
   * the fields of the table. $key is the name of the primary key.
   * The function builds and executes a query that updates the
   * fields given in the $record (which includes the primary key as well).
   */

+ function fix_record($record, $table_name)
  /**
   * $record is an associative array with values for some fields of
   * the given table. This function removes any fields that are not
   * in the table.
   */

+ function pad_record($record, $table_name)
  /**
   * $record is an associative array with values for some fields of
   * the given table. This function adds empty values for the missing fields.
   */

+ function add_listbox_rs($rs_id, $arr_labels)
  /**
   * From the items of the given array create a listbox recordset
   * (with the fields 'id' and 'label'), and insert it in the $webPage.
   * $arr_options can be an associated array, a simple array, or mixed.
   * In case of the associated array, the keys are used as id-s and 
   * the values are used as labels.
   */
