function wzgoda(nz) {
	fm=nz.form.elements;
	if(nz.checked) fm['btwd'].disabled=false;
	else  fm['btwd'].disabled=true;
}
function spr(nz) {
	kom=spr2(nz);
	if(kom[0]==false) {
		var km="";
		if(kom[1]) km=kom[1];
		if(kom[2]) km+="\n\n  Przekroczono max limit znaków:"+kom[2];
		if(kom[3]) km+="\n\n  Za mała liczba znaków:"+kom[3];
		alert("Nie wymożna wysłać wiadomości z powodu:"+km);
	}
	else {
		if(spr_email(nz.form.elements['email'].value)) nz.form.submit();
		else {
			kom_em="Czy na pewno podany adres email prawidłowy?\n\n Jeśli jest pewny proszę wybrać przycisk \"OK\" wiadomość zostanie wysłana.\n\nW razie wątpliwości proszę wybrać przycisk \"Anuluj\"\n i sprawdzić poprawność wpisanego adresu.";
			if(confirm(kom_em)) nz.form.submit();
		}		
	}
}
function spr2(nz) {
	fm=nz.form.elements;
	// tablicę pola można skopiować z pliku wys.php
	pola=new Array(
		Array("Imię nazwisko",          'nadawca',       100,  6),
		Array("Nazwa Firmy",            'firma',         100,  6),
		Array("Ulica",                  'ulica',         100,  0),
		Array("Nr domu",                'nr_domu',        30,  0),
		Array("Nr lokalu",              'nr_lokalu',      30,  0),
		Array("Miejscowość",            'miejscowosc',   100,  0),
		Array("Kod pocztowy (1 część)", 'kod_poczt_fr1',   2,  0),
		Array("Kod pocztowy (2 część)", 'kod_poczt_fr2',   3,  0),
		Array("Nr telefonu",            'telefon',       100,  9),
		Array("Adres e-mail",           'email',         100,  5),
		Array("Temat wiadomości",       'temat',         250,  0),
		Array("Wiadomość",              'tresc',         999,  5)
	);
	kom=new Array(true,"","","");
	// === sprawdzanie kodu z obrazka =================================
	kod=fm['kod'].value;
	if(kod.length!=4) {
		kom[0]=false;
		kom[1]="\n- kod z obrazka powinien składać się z 4 znaków";
		return kom;		
	}
	if(!IsNumber(kod)) {
		kom[0]=false;
		kom[1]="\n- kod z obrazka może zawierać tylko cyfry";
		return kom;
	}
	// === sprawdzanie telefonu =======================================
	km_tel=spr_tel(fm['telefon'].value);
	if(km_tel[0]==false) return km_tel;
	// === sprawdzanie max, min liczby znaków =========================
	for(k in pola) {
		var km='';tyt=pola[k][0]; nz=pola[k][1];
		l_max=pola[k][2]; l_min=pola[k][3]; 
		w=fm[nz].value.length;
		if(w>l_max) {
			kom[0]=false; kom[2]+="\n- "+l_max+' znaków max dla pola'+'"'+tyt+'"';
		}	
		if(w<l_min) {
			kom[0]=false; kom[3]+="\n- "+l_min+' znaków min dla pola"'+tyt+'"';
		}			
	}
	// === sprawdzanie adresu e-mail ==================================
	return kom;
}
function spr_tel(w) {
	var dzw_zn=Array(' ','-','/');
	blad=false; li=0;
	while(w.length>0) {		
		zn=w.slice(0,1);
		if(isNR(zn)) li++; 
		else if(!InArr(zn,dzw_zn)) blad=true;
		w=w.slice(1);
	}
	if(blad) return Array(false,"\n"+'- pole Nr telefonu zawiera znaki nie będące cyfami\n(dopuszcza spację oraz znaki: "-" i "/").');
	else if(li<9) return Array(false,"\n"+'- pole Nr telefonu powinno zawierać min 9 cyfr');
	else return Array(true);
}
function IsNumber(w) {
	var dzw_zn=Array(0,1,2,3,4,5,6,7,8,9);
	while(w.length>0) {
		zn=w.slice(0,1);
		if(!InArr(zn,dzw_zn)) return false;
		w=w.slice(1);
	}
	return true;
}
function isNR(w) {
	wzor=/^[0-9]+$/; if(wzor.test(w)) return true; else return false;
}
function InArr(igla,stog) {
	for(k in stog) {if(stog[k]==igla) return true;}
	return false;
}
function spr_email(adr) {
	wzor=/^[0-9a-zA-Z.-]+\@[0-9a-zA-Z\.-]+\.[0-9a-zA-Z\.-]+$/;
 	if(wzor.test(adr)) return true; else return false;
}

