testFormularza={

  rodzajePol:{

    apName:[/^.{3,30}$/,'Twoje imię powinno zawierać od 3 do 30 znaków.'],

    apText:[/^.{10,1000}$/,'Komentarz powinien mieć od 10 do 1000 znaków.'],

    niepuste:[/.+/,'Proszę wypełnić pole'],

    email:[/^[\w\.-]{2,}@[\w\.-]+\.[a-z]{2,5}$/,'Proszę podać prawidłowy adres e-mail'],

    liczbacalkowita:[/^\d+$/,'Prawidłową wartością tego pola jest liczba całkowita'],

    liczbarzeczywista:[/^(\d+|\d+,\d+)$/,'Proszę podać liczbę rzeczywistą (można użyć przecinka)'],

    data:[/^\d+\-\d+\-\d{4}$/,'Proszę wpisać datę w formacie DD-MM-RRRR (numer dnia-numer miesiąca-rok) np. 23-02-2003'],

    kodpocztowy:[/^\d{2}\-\d{3}$/,'Proszę podać kod pocztowy np. 06-600'],

    m6m100:[/^.{6,100}$/,'Proszę wpisać nie więcej niż 100 znaków, ale też nie mniej niż 6.'],

    m20m100:[/^.{20,100}$/,'Proszę wpisać nie więcej niż 100 znaków, ale też nie mniej niż 20.'],

    m20m255:[/^.{20,255}$/,'Proszę wpisać nie więcej niż 250 znaków, ale też nie mniej niż 20.'],

    duzelitery:[/^[A-Z]+$/,'Proszę używać wyłącznie dużych liter w tym polu'],

    url:[/^http\:\/\/.+\.[a-z]{2,5}$/i,'Proszę podać prawidłowy adres strony www np. http://strona.pl']

  },

  testuj:function(f){

    var i, rodz;

    for(i=0;i<f.elements.length;i++){

      E=f.elements[i];

      if(rodz=this.rodzajePol[E.getAttribute('typ')])

        if(!rodz[0].test(E.value)){

          E.focus();

          E.select();

          alert('"'+E.value+'" nie jest prawidłową wartością tego pola formularza!\n'

            +(E.getAttribute('komunikat')||rodz[1]));

          return false;

        }

    }

    return true;

  }

}


