var fields = new Array();

function clear_form(form_name)
{
  oFind (form_name).reset();
}

function submit_form(form_name, validate)
{
  if (validate) {
    form_fields = fields[form_name];
    for (i = 0; i < form_fields.length; i++) {
      name = form_fields[i][0];
      type = form_fields[i][1];
      label = form_fields[i][2];
      field = oFind(form_name + '_' + name);
      value = '';
      switch (type) {
        case 'bool':
          value = field.checked;
          break;
        default:
          value = field.value;
      }

      if (value == '') {
        alert ('BLAD!\nPole "' + label + '" jest obowiązkowe.\n');
        return;
      }

      switch (type) {
        case 'email':
          if (!isEmail(value)) {
            alert ('BLAD!\nPodano nieprawidlowy adres email\nw polu "' + label + '".');
            return;
          }
          break;

        case 'password':
          if (name.substring(0, 2) != 're')
            if (value != oFind (form_name + '_re' + name).value) {
              alert ('BLAD!\nWprowadzone hasła nie są zgodne.');
              return;
            }
        default:

      }
    }
  }

  oFind(form_name).submit();
}