testFormularza={
  rodzajePol:{
    niepuste:[/.+/,'Prosze wypelnic brakujace pole.'],
    email:[/^[\w\.-]{2,}@[\w\.-]+\.[a-z]{2,5}$/,'Prosze podac prawidlowy adres e-mail.'],
    liczbacalkowita:[/^\d+$/,'Prosze podac liczbe calkowita.'],
    liczbarzeczywista:[/^(\d+|\d+,\d+)$/,'Prosze podac liczbe rzeczywista (mozna uzyc przecinka).'],
    data:[/^\d+\-\d+\-\d{4}$/,'Prosze wpisac date w formacie DD-MM-RRRR (numer dnia-numer miesiaca-rok) np. 23-02-2003.'],
    kodpocztowy:[/^\d{2}\-\d{3}$/,'Prosze podac kod pocztowy np. 06-600.'],
    m20m100:[/^.{20,100}$/,'Prosze wpisac nie wiecej niz 100 znakow ,ale tez nie mniej niz 20.'],
    duzelitery:[/^[A-Z]+$/,'Prosze uzywac wylacznie duzych liter w tym polu.'],
    url:[/^http\:\/\/.+\.[a-z]{2,5}$/i,'Prosze podac prawidlowy 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('rodzajpola')])
        if(!rodz[0].test(E.value)){
          E.focus();
          E.select();
          alert('Źle wypełniony formularz!\n\n'
            +(E.getAttribute('komunikat')||rodz[1]));
          return false;          
        }
    }
    return true;
  }
}
