function validate_form(formObj) {
returnV = true;
e=formObj.elements;
for(i=0;i<e.length;i++) { 
 func=e[i].getAttribute('validate_function_name');
 fiel=e[i].getAttribute('validate_field_name');
 if(func!=null) returnV = eval(func+"('"+formObj.name+"','"+fiel+"')");
 if (!returnV) return false;
 }
return returnV
}

//sprawdza czy pole typu TEXT, TEXTAREA jest wypeÅ‚nione
function is_text_field_empty(formName,fieldName) {
if (eval("document.forms['"+formName+"'].elements['"+fieldName+"'].value==''")) {
 alert("Musisz wypeÅ‚niÄ‡ aktywne pole");
 eval("document.forms['"+formName+"'].elements['"+fieldName+"'].focus();") 
 return false;
 }
return true;

}

//sprawdza czy pole typu SELECT ma zaznaczony index>0
function is_select_field_empty(formName,fieldName) {
if (eval("document.forms['"+formName+"'].elements['"+fieldName+"'].selectedIndex==0")) {
 alert("Musisz wybraÄ‡ wartoÅ›Ä‡ w aktywnym polu");
 eval("document.forms['"+formName+"'].elements['"+fieldName+"'].focus();") 
 return false;
 }
return true;
}

//sprawdza czy pola typu CHECKBOX sÄ…… zaznaczone tzn. czy przynajmniej jeden item z danej grupy jest zaznaczony 
function is_checkbox_field_empty(formName,fieldName) {
sChecked=false;
sLength = eval("document.forms['"+formName+"'].elements['"+fieldName+"'].length;");
sField = eval("document.forms['"+formName+"'].elements['"+fieldName+"'];");
for (z=0;z<sLength;z++) {
 if (sField[z].checked) sChecked=true;
 }

if(!sChecked) {
alert("Musisz zaznaczyÄ‡ ktÃ³rÄ…Å› z opcji");
sField[0].focus();
return false;
}  

return true;
}
