  // CopyRight (c) 2000 Tjalling Hoekstra (ArTiWare)
  // http://www.artiware.nl
  // ----------------------------------------------------------------

  // VALUE FROM FORM ELEMENT RETRIEVER...
  // this function retrieves the value of the given element and form.
  // When a multiple selectbox is passed, and multiple selections are made,
  // this function returns an array.
  // On 'element not found' it returns null..

  function GetValue(form, elementname, defaultvalue)
  {
    var options;
    var numselected;
    var lastselected;
    var valuesarray;
    var i;
    var ii;
    var element;

    element = form.elements[elementname];
    if (element == null) return null;

    // array?
    if (element.type == null ||
        element.type == "select-one" || element.type == "select-multiple")
    {
      if (element.type != null &&
          (element.type == "select-one" || element.type == "select-multiple"))
      {
        options = element.options;
        numselected = 0;
        lastselected = 0;
        // count number selected.
        i = 0;
        while (i < options.length)
        {
          if (options[i].selected == true)
          {
            numselected++;
            lastselected = i;
          }
          i++;
        }
        // selected one?
        if (numselected == 1) return options[lastselected].value;
        else
        if (numselected <= 0) return defaultvalue;
        // if not, create array and fill it!
        valuesarray = new Array(numselected);
        i = 0;
        numselected = 0;
        while (i < options.length)
        {
          if (options[i].selected == true)
          {
            valuesarray[numselected] = options[i].value; 
            numselected++;
          }
          i++;
        }
        return valuesarray;
      }
      else
      if (element[0].type == "radio")
      {
        // loop all radio elements and get the checked
        i = 0;
        while (i < element.length)
        {
          if (element[i].checked == true) break;
          i++;
        }
        if (i < element.length) return element[i].value;
        else                    return mail-a-form; 
      }
    }
    else
    {
      if (element.type == "checkbox")
      {
        if (element.checked == true) return element.value;
        else                         return defaultvalue;
      }          
      // all plain others:
      if (element.value == "") return defaultvalue;
      else                     return element.value;
    }
  }
