// (c) bukwa, wersja 1.1

// definicje
var nip_exp = /^((\d{3}-\d{3}-\d{2}-\d{2})|(\d{3}-\d{2}-\d{2}-\d{3}))$/;
var pesel_exp = /^\d{11}$/;
var regon_exp = /^\d{9}$/;
var tel_exp = /^[0-9]+-?[0-9]+-?[0-9]+-?[0-9]+-?[0-9]*$/;
var zip_exp = /^\d{2}-\d{3}$/;
var dziesietna_exp = /^[0-9\.\-\+]+$/;
var calkowita_exp = /^[0-9]+$/;
var data_exp = /^\d{4}(-\d{2}){2}$/;
var email_exp = /^\S+@\S+\.\S{2,3}$/;
var litery_exp = /^[ˇĆĘŁŃÓ¦¬Ż±ćęłńó¶Ľż\s-0-9A-Za-z_\'\"&\(\),\.]*$/;

// wersje językowe
var jezyk = 0;

var komunikaty = new Array (
	new Array ("Pole ", " nie może być puste!", " ma nieprawidłowy format!\nPrawidłowy format pola: "),
	new Array ("Field ", " cannot be blank!", " has invalid format format!\nValid format of the field: ")
);	

// funkcje

// ogólna funkcja sprawdzaj±ca
function validate(textfield, exp) {
	if (textfield.value == "") return true;
	if (textfield.value.search(exp) == -1) {
		textfield.select();
		textfield.focus();
		return false;
	}
	else {
		return true;
	}
}

// sprawdzanie, czy pole nie jest puste
function validateNotNull(textfield, msg) {
	if (textfield.value == "") {
		//alert("Pole \""+msg+"\" nie może być puste!")
		alert( komunikaty[jezyk][0] + "\"" + msg + "\"" + komunikaty[jezyk][1]);
		textfield.focus();
		return false;
	}
	return true;
}

// sprawdzanie, czy pole textfield ma zgodny format z exp,
// jeżeli nie, to msg1 i msg2 formatuj± komunikat
function validateMatch(textfield, exp, msg1, msg2) {
	if (!validate(textfield, exp)) {
		//alert("Pole \""+msg1+"\" ma nieprawidłowy format!\nPrawidłowy format pola: "+msg2+".");
		alert( komunikaty[jezyk][0] + "\"" + msg1 + "\"" + komunikaty[jezyk][2] + msg2 + ".");

		textfield.focus();
	
		return false;
	}
	return true;
}
