
var cfNowShowError; // Выводить ли при проверки поля ошибки

function cfIsFormValid() {
	
	var formComment = document.getElementById("cmForm");
	var result = true;
	
	for (var i=0; i < formComment.elements.length; i++) {
		if (typeof formComment.elements[i].valid == "boolean") {
			result = result && formComment.elements[i].valid;
		}
	}
	
	return result;
	
}

function cfValidateField(txtField) {
	
	var cfNameError = document.getElementById("cfNameError");
	var cfCommentError = document.getElementById("cfCommentError");
	
	// Проверка имени
	if (txtField.name == "cfName") {
		if ((txtField.value.length < 2) || (txtField.value.length > 40)) {
			if (cfNowShowError) {
				cfNameError.style.display = "block"; 
				cfNameError.innerHTML = "Имя должно содержать не менее 2 и не более 40 символов";
			}
			txtField.valid = false;
		} else {
			if (cfNowShowError) {
				cfNameError.style.display = "none";
			}
			txtField.valid = true;
		}
	}
	
	// Проверка текста сообщения
	if (txtField.name == "cfComment") {
		if (txtField.value.length < 15) {
			if (cfNowShowError) {
				cfCommentError.style.display = "block"; 
				cfCommentError.innerHTML = "Комментарий должен содержать не менее 15 символов";
			}
			txtField.valid = false;
		} else {
			if (cfNowShowError) {
				cfCommentError.style.display = "none"; 
			}
			txtField.valid = true;
		}
	}
	
	var cfSubmit = document.getElementById("cfSubmit");
	
	if (cfIsFormValid()) {
		cfSubmit.disabled = false;
		cfSubmit.style.cursor = 'pointer';
	} else {
		cfSubmit.disabled = true;
		cfSubmit.style.cursor = 'default';
	}
	
}

function cfValidateFieldOnChange(oEvent) {
	
	cfNowShowError = true;
	
	oEvent = oEvent || window.event;
	var txtField = oEvent.target || oEvent.srcElement;
	
	cfValidateField(txtField);
}

function cfValidateFieldOnKeyUp(oEvent) {
	
	cfNowShowError = false;
	
	oEvent = oEvent || window.event;
	var txtField = oEvent.target || oEvent.srcElement;
	
	cfValidateField(txtField);
}

window.onload = function () {
	
	var cfName = document.getElementById("cfName");
	var cfComment = document.getElementById("cfComment");
	var cfVeriCode = document.getElementById("vericode");
	var cfSubmit = document.getElementById("cfSubmit");
	
	cfSubmit.disabled = true;
	cfSubmit.style.cursor = 'default';
	
	cfName.valid = false;
	cfComment.valid = false;
	
	cfName.onchange = cfValidateFieldOnChange;
	cfComment.onchange = cfValidateFieldOnChange;
	
	cfName.onkeyup = cfValidateFieldOnKeyUp;
	cfComment.onkeyup = cfValidateFieldOnKeyUp;
	
	cfNowShowError = true;
	if (cfName.value != '') cfValidateField(cfName);
	if (cfComment.value != '') cfValidateField(cfComment);
	fbNowShowError = false;
	
	cfVeriCode.value = '';
	
	cfValidateField;
	
};