//Проверка правильности ввода даты
function checkDate(argDay, argMonth, argYear, required, onlyFuture, onlyPast)
{
var tmpDate, nowDate

	if(!required && argDay.selectedIndex==0 && argMonth.selectedIndex==0 && argYear.selectedIndex==0)
		return true;

	if (argDay.selectedIndex==0){
		alert("Необходимо указать день!");
		argDay.focus();
		return false;
	}
	if (argMonth.selectedIndex==0){
		alert("Необходимо указать месяц!");
		argMonth.focus();
		return false;
	}
	if (argYear.selectedIndex==0){
		alert("Необходимо указать год!");
		argYear.focus();
		return false;
	}

	tmpDate = new Date(argYear.value, argMonth.value-1, argDay.value);
	if (tmpDate.getDate() != argDay.value){
		alert("Задана некорректная дата!");
		argDay.focus();
		return false;
	}

	nowDate = new Date()
	if(onlyFuture && tmpDate<=nowDate){
		alert("Дата должна находиться в будущем!");
		argDay.focus();
		return false;
	}
	if(onlyPast && tmpDate>nowDate){
		alert("Дата должна находиться в прошлом!");
		argDay.focus();
		return false;
	}
	
	return true;
}



//Проверка правильности ввода стоимости
function checkNumber(argField, strCaption, required)
{
var tmp;
	
	if (argField.value.length == 0 && required){
		alert("Необходимо указать: " + strCaption + "!");
		argField.focus();
		return false;
	}
	if (argField.value.length > 0) {
		tmp = new Number(argField.value);
		if(isNaN(tmp) || tmp < 0){
			alert("Некорректное значение: " + strCaption + "!");
			argField.focus();
			return false;
		}
	}
	
	return true;
}
//Проверка правильности ввода стоимости
function checkNumber2(argField, strCaption, required, minLength, maxLength)
{
var tmp;
	
	if (argField.value.length == 0 && required){
		alert("Необходимо указать: " + strCaption + "!");
		argField.focus();
		return false;
	}
	if (argField.value.length > 0) {
		tmp = new Number(argField.value);
		if(isNaN(tmp) || tmp < 0){
			alert("Некорректное значение: " + strCaption + "!");
			argField.focus();
			return false;
		}
		
		if (tmp > 0) {
			if (minLength > 0 && argField.value.length < minLength){
				alert("Некорректное значение: " + strCaption + "! Количество знаков должно быть не менее " + minLength + ".");
				argField.focus();
				return false;
			}
			if (maxLength > 0 && argField.value.length > maxLength){
				alert("Некорректное значение: " + strCaption + "! Количество знаков должно быть не более " + maxLength + ".");
				argField.focus();
				return false;
			}
		}
	}
	
	return true;
}
//Получение числа для последующей проверки
function getNumber(argField)
{
var res;
	
	if (argField.value.length > 0) {
		res = new Number(argField.value);
		if(isNaN(res) || res < 0) {
			res = 0;
		}
	}
	else {
		res = 0;
	}
	
	return res;
}



//Проверка правильности ввода фамилии
function checkingLastName(strArg)
{
	return /^[А-Яа-яЁё]([А-Яа-яЁё\-])*[А-Яа-яЁё]$/.test(strArg);
}
//Проверка правильности ввода фамилии (латинские буквы)
function checkingLastNameEn(strArg)
{
	return /^[A-Za-z]([A-Za-z\-])*[A-Za-z]$/.test(strArg);
}


//Проверка правильности ввода имени и отчества
function checkingFirstName(strArg)
{
	return /^([А-Яа-яЁё]){2,}$/.test(strArg);
}
//Проверка правильности ввода имени и отчества (латинские буквы)
function checkingFirstNameEn(strArg)
{
	return /^([A-Za-z]){2,}$/.test(strArg);
}



//проверка правильности написания номера телефона
//допускаются: 10 цифр
function checkingPhone(strArg)
{
	return /^([0-9]){10}$/.test(strArg);
}



//проверка правильности написания номера ICQ
//допускаются: 6-10 цифр
function checkingIcq(strArg)
{
	return /^([0-9]){6,10}$/.test(strArg);
}



//Проверка правильности ввода e-mail
function checkingEMail(strArg)
{
	return /^([A-Za-z0-9_\.\-])+\@(([A-Za-z0-9\-])+\.)+([A-Za-z]{2,4})$/.test(strArg);
}



//Проверка правильности ввода url
function checkingURL(strArg)
{
	return /^(([A-Za-z0-9\-])+\.)+([A-Za-z]{2,4})(\/([A-Za-z0-9\-])+)*$/.test(strArg);
}



//Проверка правильности ввода ИНН (только цифры {10})
function checkingINN(strArg)
{
	return /^([0-9]){10}$/.test(strArg);
}


//Проверка правильности ввода КПП (только цифры {9})
function checkingKPP(strArg)
{
	return /^([0-9]){9}$/.test(strArg);
}


//Проверка правильности ввода БИК (только цифры {9})
function checkingBIK(strArg)
{
	return /^([0-9]){9}$/.test(strArg);
}


//Проверка правильности ввода логина (латинские буквы и цифры)
function checkingLogin(strArg)
{
	if (strArg.length < 8) {
		alert("Имя должно содержать не менее 8 символов!");
		return false;
	}
	if (!/[A-Za-z]+/.test(strArg)) {
		alert("Имя должно содержать латинские буквы!");
		return false;
	}
	if (!/\d+/.test(strArg)) {
		alert("Имя должно содержать цифры!");
		return false;
	}

	return true;
}



//Проверка правильности ввода пароля (латинские строчные и прописные буквы)
function checkingPassword(strArg)
{
	if (strArg.length < 8) {
		alert("Пароль должен содержать не менее 8 символов!");
		return false;
	}
	if (!/[A-Z]+/.test(strArg)) {
		alert("Пароль должен содержать латинские прописные буквы!");
		return false;
	}
	if (!/[a-z]+/.test(strArg)) {
		alert("Пароль должен содержать латинские строчные буквы!");
		return false;
	}

	return true;
}




