// WALIDACJA FORMULARZA KLIENTA

function validate(userinput){
	var zonk = 0;
	var wiadomosc = "";
	var filter = "";

	if (userinput.login.value == "") {
		zonk = 1;
		wiadomosc += "Uzupełnij login!\n";
	} else {
		filter  = /^[\w]{6,30}$/ ;
		if (!filter.test(userinput.login.value)) {
			zonk = 1;
			wiadomosc += "Niepeprawny login! (użyto niedozwolonych znaków)\n";
		}
	}

	if ((userinput.haslo.value == "") || (userinput.haslo222.value == "")) {
		zonk = 1;
		wiadomosc += "Uzupełnij hasło!\n";
	} else if (userinput.haslo.value != userinput.haslo222.value) {
		zonk = 1;
		wiadomosc += "Wprowadzone hasła różnią sie od siebie!\n";
	} else {
		filter  = /^[\w]{6,30}$/ ;
		if (!filter.test(userinput.haslo.value)) {
			zonk = 1;
			wiadomosc += "Niepoprawne hasło! (użyto niedozwolonych znaków)\n";
		}
	}
	
	if (userinput.imie.value == "") {
		zonk = 1;
		wiadomosc += "Wpisz imię!\n";
	} else {
		filter  = /^[A-ZŁŻ][a-zżćźńąśłęó]{2,30}$/ ;
		if (!filter.test(userinput.imie.value)) {
			zonk = 1;
			wiadomosc += "Wprowadź poprawne imię! (użyto niedozwolonych znaków)\n";
		}
	}
	
	if (userinput.nazwisko.value == "") {
		zonk = 1;
		wiadomosc += "Wpisz nazwisko!\n";
	}  else {
		filter  = /^[A-ZŁŻ][a-zżćźńąśłęó]{2,30}$/ ;
		if (!filter.test(userinput.nazwisko.value)) {
			zonk = 1;
			wiadomosc += "Wprowadź poprawne imię! (użyto niedozwolonych znaków)\n";
		}
	}
	
	if (userinput.ulica.value == "") {
		zonk = 1;
		wiadomosc += "Wpisz ulicę!\n";
	}
	
	if (userinput.miasto.value == "") {
		zonk = 1;
		wiadomosc += "Wpisz miasto!\n";
	}

	if ( !userinput.kod.value.match( /^[0-9]{2}-[0-9]{3}$/ ) ) {
		zonk = 1;
		wiadomosc += "Niepoprawny format kodu pocztowego!\n";
	}

	if (userinput.woj.value == "0") {
		zonk = 1;
		wiadomosc += "Wybierz województwo!\n";
	}

/*	if ( !userinput.tel.value.match( /^0[0-9]{2}\s[0-9]{3}-[0-9]{2}-[0-9]{2}$/ )
	&& !userinput.tel.value.match( /^0\s[0-9]{3}-[0-9]{3}-[0-9]{3}$/ ) ) {
		zonk = 1;
		wiadomosc += "Niepoprawny format numeru telefonu!\n";
	}*/
	
	if ( !userinput.tel.value.match( /^[0-9\s-]{7,15}$/ ) {
		zonk = 1;
		wiadomosc += "Niepoprawny format numeru telefonu!\n";
	}

	filter = /^[\w.%-]+@[\w.-]+\.[\w]{2,4}\b/;
	if (!filter.test(userinput.email.value)) {
		wiadomosc += "Niepoprawny adres e-mail!\n";
		zonk = 1;
	}
	
	
	if (userinput.nip.value != ""){
		if (!userinput.nip.value.match( /^[0-9]{3}-[0-9]{2}-[0-9]{2}-[0-9]{3}$/ )
		&& !userinput.nip.value.match( /^[0-9]{3}-[0-9]{3}-[0-9]{2}-[0-9]{2}$/ )
		&& !userinput.nip.value.match( /^[0-9]{10}$/ ) ) {
			zonk = 1;
			wiadomosc += "Niepoprawny format numeru NIP!\n";
		} else {
			var my_nums = userinput.nip.value.replace(/-/g,'');
			var valid_nums = "657234567";
			var sum=0;
			for (var temp=8;temp>=0;temp--) 
				sum += (parseInt(valid_nums.charAt(temp)) * parseInt(my_nums.charAt(temp)));
			if (!( (sum % 11) == 10 ? false : ((sum % 11) == parseInt(my_nums.charAt(9))) )) {
				zonk = 1;
				wiadomosc += "Błędny numer NIP!\n";
			}
		}
	}
	
/* ============================================================================== */	
	
	if (zonk == 1) {
		alert(wiadomosc);
		return false;
	}

	return true;

}