var REG_EMAIL = "[a-zA-Z0-9\\._\\-]+?@([a-zA-Z0-9_\\-]+?\\.)+(ru|su|ua|md|by|kz|kg|uz|ge|am|az|ee|lt|lv|tj|tm|to|il|ie|it|de|uk|jp|fi|fr|cz|bg|fm|ca|com|net|info|biz|name|org|edu|pro)";
var REG_ICQ = "([0-9]{1,3}\\-?){2,4}";
var REG_URL = "(http|https|ftp):\\/\\/(([a-zA-Z0-9\\-_]+?\\.)+)(ru|su|ua|md|by|kz|kg|uz|ge|am|az|ee|lt|lv|tj|tm|to|il|ie|it|de|uk|jp|fi|fr|cz|bg|fm|ca|com|net|info|biz|name|org|edu|pro)(\\/[a-zA-Z0-9\\-\\_\\.\\%]*)*(\\?[a-zA-Z0-9\\-\\_\\.\\%=&@#\\[\\]]*)?(#[a-zA-Z0-9\\_\\%]*)?";
var REG_URL_PROTOCOL = "(http|https|ftp):\\/\\/";
function alert_focus (obj, message) {
	alert(message);
	if (obj && obj.type && obj.type!="hidden") {
		obj.focus();
	}
}
function validate_radio(obj) {
	for (i=0; i<obj.length; i++) {
		if (obj[i].checked==true) {
			return true;
		}
	}
	return false;
}
function validate_email(obj) {
	var s=obj.value;
	if (s=="") {
		return true;
	}
	if (s.search) {
		return (s.search(new RegExp("^" + REG_EMAIL + "$", "gi"))>=0);
	}
	return true;
}
function validate_icq(obj) {
	var s=obj.value;
	if (s=="") {
		return true;
	}
	if (s.search) {
		return (s.search(new RegExp("^" + REG_ICQ + "$", "gi"))>=0);
	}
	return true;
}
function validate_url(obj) {
	var s=obj.value;
	if (s=="") {
		return true;
	}
	if (s.search) {
		return (s.search(new RegExp("^" + REG_URL + "$", "gi"))>=0);
	}
	return true;
}
function validate_max_length(obj, max_length, reg_pattern) {
	var s=obj.value;
	if (s=="") {
		return true;
	}
	if (s.replace) {
		s = s.replace(new RegExp("<[^>]*>", "g"), "");
		s = s.replace(new RegExp(REG_URL_PROTOCOL + "[^ ]+", "g"), "");
		s = s.replace(new RegExp("[^a-zа-яA-ZА-Я]", "g"), "");
		if (s.search) {
			if (s.search(new RegExp("[" + reg_pattern + "]{" + max_length + ",}", "g"))<0) {
				return true;
			} else {
				return false;
			}
		}
	}
	return true;
}
function validate_uppercase(obj, max_length) {
	return validate_max_length(obj, max_length, "A-ZА-Я");
}
function validate_translit(obj, max_length) {
	return validate_max_length(obj, max_length, "A-Za-z");
}
function validate_year(obj, min_year, max_year) {
	var s=obj.value;
	if (s=="") {
		return true;
	}
	var s_int = parseInt(s);
	if (isNaN(s_int)) {
		return false;
	}
	if (s_int < min_year || s_int > max_year) {
		return false;
	}
	return true;
}

