function validateEmail(element) {
	if (element.value.length > 0) {
		var str = element.value;
		var Pattern = /^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,5}$/;
		var wynik = str.match(Pattern);
		if (wynik == null) {
			alert("W polu 'E-MAIL' podano nieprawidłowy adres e-mail!");
			element.focus();
			return false;
		}
		return true;
	}
	return true;
}

function validateWWW(element) {
	if (element.value.length > 0) {
		var str = element.value;
		var Pattern = /^www\.([0-9a-z][0-9a-z-]+\.)+[a-z]{2,5}$/;
		var wynik = str.match(Pattern);
		if (wynik == null) {
			alert("W polu 'WWW' podano nieprawidłowy adres strony!");
			element.focus();
			return false;
		}
		return true;
	}
	return true;
}

function validateTelefon(element, field) {
	if (element.value.length > 0) {
		var str = element.value;
		var Pattern = /^[0-9]{9}$/;
		var wynik = str.match(Pattern);
		if (wynik == null) {
			alert("Pole '" + field + "' powinno zawierać 9 cyfr!");
			element.focus();
			return false;
		}
		return true;
	}
	return true;
}

function validateCoordinate(element, field) {
	/*
	if (element.value.length > 0) {
		var str = element.value;
		var Pattern = /^[0-9]{2}\.[0-9]{2,7}$/;
		var wynik = str.match(Pattern);
		if (wynik == null) {
			alert("W polu '" + field + "' podano nieprawidłową wartość!");
			element.focus();
			return false;
		}
		return true;
	}
	*/
	if (element.value.length > 0) {
		var str = element.value;
		var Pattern1 = /^[0-9]{2}d[0-9]{1,2}m[0-9]{1,2}s$/;
		var wynik1 = str.match(Pattern1);
		var Pattern2 = /^[0-9]{2}d[0-9]{1,2}\.[0-9]{1,5}m$/;
		var wynik2 = str.match(Pattern2);
		var Pattern3 = /^[0-9]{2}\.[0-9]{1,6}d$/;
		var wynik3 = str.match(Pattern3);
		if ((wynik1 != null) || (wynik2 != null) || (wynik3 != null)) return true;
		else {
      alert("W polu '" + field + "' podano nieprawidłową wartość!" + str);
      return false;
    }
	}
	return true;
}

function validateDate(element, field, duty) {
	if ((duty == true) && (element.value.length == 0)) {
		alert("Wypełnienie pola '" + field + "' jest obowiązkowe!!");
		element.focus();
		return false;
	}
	if ((duty == true) || (element.value.length > 0)) {
		var str = element.value;
		var Pattern = /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
		var wynik = str.match(Pattern);
		if (wynik == null) {
			alert("W polu '" + field + "' podano nieprawidłową wartość!");
			element.focus();
			return false;
		}
		return true;
	}
	return true;
}

function validateString(element, field, duty, min) {
	if ((duty == true) && (element.value.length == 0)) {
		alert("Wypełnienie pola '" + field + "' jest obowiązkowe!!");
		element.focus();
		return false;
	}
	if (((duty == true) || (element.value.length > 0)) && (element.value.length < min)) {
		alert("Pole '" + field + "' musi składać się z conajmniej " + min + " znaków!");
		element.focus();
		return false;
	}
	return true;
}

function validateDescription(element, field, duty, min, max) {
	if ((duty == true) && (element.value.length == 0)) {
		alert("Wypełnienie pola '" + field + "' jest obowiązkowe!!");
		element.focus();
		return false;
	}
	if (((duty == true) || (element.value.length > 0)) && (element.value.length < min)) {
		alert("Pole '" + field + "' musi składać się z conajmniej " + min + " znaków!");
		element.focus();
		return false;
	}
	if (((duty == true) || (element.value.length > 0)) && (element.value.length > max)) {
		var znaki = element.value.length- max;
		alert("Pole '" + field + "' może zawierać najwyżej " + max + " znaków!\n\nSkróć o" + znaki + "znaków.");
		element.focus();
		return false;
	}
	return true;
}

function validateSelect(element, field, duty, valns) {
	if ((duty == true) && (element.value == valns)) {
		alert("Nie wybrano wartości dla pola '" + field + "'!");
		element.focus();
		return false;
	}
	return true;
}

function validateDomLokal(element, field) {
	if (element.value.length > 0) {
		var str = element.value;
		var Pattern = /^[0-9a-zA-Z\/-]+$/;
		var wynik = str.match(Pattern);
		//alert(wynik);
		if (wynik == null) {
			alert("Pole '" + field + "' może zawierać wyłącznie cyfry, małe i duże litery oraz znaki: / i - !");
			element.focus();
			return false;
		}
		return true;
	}
	return true;
}
