var fbNowShowError; // Выводить ли при проверки поля ошибки

function fbIsFormValid() {
       
        var formFeedBack = document.getElementById("FeedBackForm");
        var result = true;
       
        for (var i=0; i < formFeedBack.elements.length; i++) {
                if (typeof formFeedBack.elements[i].valid == "boolean") {
                        result = result && formFeedBack.elements[i].valid;
                }
        }
       
        return result;
       
}

function fbValidateField(txtField) {
       
            var fbNameError = document.getElementById("fbNameError");
		var fbJobError = document.getElementById("fbJobError");
		var fbCompanyError = document.getElementById("fbCompanyError");
		var fbSotrudError = document.getElementById("fbSotrudError");
		var fbActivityError = document.getElementById("fbActivityError");
		var fbEMailError = document.getElementById("fbEMailError");
            var fbPhoneError = document.getElementById("fbPhoneError");
		var fbAddressError = document.getElementById("fbAddressError");
       
        // Проверка имени
        if (txtField.name == "fbName") {
                if (txtField.value.length < 5) {
                        if (fbNowShowError) {
                                fbNameError.style.display = "block";
                                fbNameError.innerHTML = "Incorrect Name <5";
                        }
                        txtField.valid = false;
                } else {
                        if (fbNowShowError) {
                                fbNameError.style.display = "none";
                        }
                        txtField.valid = true;
                }
        }
		
		    // Проверка поля Job
        if (txtField.name == "fbJob") {
                if (txtField.value.length < 5) {
                        if (fbNowShowError) {
                                fbJobError.style.display = "block";
                                fbJobError.innerHTML = "Incorrect job <5";
                        }
                        txtField.valid = false;
                } else {
                        if (fbNowShowError) {
                                fbJobError.style.display = "none";
                        }
                        txtField.valid = true;
                }
        }
		
		  // Проверка поля Company
        if (txtField.name == "fbCompany") {
                if (txtField.value.length < 2) {
                        if (fbNowShowError) {
                                fbCompanyError.style.display = "block";
                                fbCompanyError.innerHTML = " Incorrect company <2";
                        }
                        txtField.valid = false;
                } else {
                        if (fbNowShowError) {
                                fbCompanyError.style.display = "none";
                        }
                        txtField.valid = true;
                }
        }
       
	 		  // Проверка поля fbSotrud
        if (txtField.name == "fbSotrud") {
                if (txtField.value.length < 1) {
                        if (fbNowShowError) {
                                fbSotrudError.style.display = "block";
                                fbSotrudError.innerHTML = "Incorrect Sotrud <1";
                        }
                        txtField.valid = false;
                } else {
                        if (fbNowShowError) {
                                fbSotrudError.style.display = "none";
                        }
                        txtField.valid = true;
                }
        }  
		
			  // Проверка поля Activity
        if (txtField.name == "fbActivity") {
                if (txtField.value.length < 3) {
                        if (fbNowShowError) {
                                fbActivityError.style.display = "block";
                                fbActivityError.innerHTML = "Incorrect activity <3";
                        }
                        txtField.valid = false;
                } else {
                        if (fbNowShowError) {
                                fbActivityError.style.display = "none";
                        }
                        txtField.valid = true;
                }
        }  
		
				 
	   
        // Проверка email
        if (txtField.name == "fbEMail") {
                var re = /^[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?\.[A-Za-z0-9]{2,6}$/;
                if (!re.test(txtField.value)) {
                        if (fbNowShowError) {
                                fbEMailError.style.display = "block";
                                fbEMailError.innerHTML = "Incorrect email";
                        }
                        txtField.valid = false;
                } else {
                        if (fbNowShowError) {
                                fbEMailError.style.display = "none";
                        }
                        txtField.valid = true;
                }
        }
       
	   
	       // Проверка телефона
        if (txtField.name == "fbPhone") {
                if (txtField.value.length < 5) {
                        if (fbNowShowError) {
                                fbPhoneError.style.display = "block";
                                fbPhoneError.innerHTML = "Incorrect phone number <5";
                        }
                        txtField.valid = false;
                } else {
                        if (fbNowShowError) {
                                fbPhoneError.style.display = "none";
                        }
                        txtField.valid = true;
                }
        }
		
        // Проверка Address
        if (txtField.name == "fbAddress") {
                if (txtField.value.length < 5) {
                        if (fbNowShowError) {
                                fbAddressError.style.display = "block";
                                fbAddressError.innerHTML = "Adress < 5 symbols";
                        }
                        txtField.valid = false;
                } else {
                        if (fbNowShowError) {
                                fbAddressError.style.display = "none";
                        }
                        txtField.valid = true;
                }
        }
       
        var fbSubmit = document.getElementById("fbSubmit");
       
        if (fbIsFormValid()) {
                fbSubmit.disabled = false;
                fbSubmit.style.cursor = 'pointer';
        } else {
                fbSubmit.disabled = true;
                fbSubmit.style.cursor = 'default';
        }
       
}

function fbValidateFieldOnChange(oEvent) {
       
        fbNowShowError = true;
       
        oEvent = oEvent || window.event;
        var txtField = oEvent.target || oEvent.srcElement;
       
        fbValidateField(txtField);
}

function fbValidateFieldOnKeyUp(oEvent) {
       
        fbNowShowError = false;
       
        oEvent = oEvent || window.event;
        var txtField = oEvent.target || oEvent.srcElement;
       
        fbValidateField(txtField);
}

window.onload = function () {
       
            var fbName = document.getElementById("fbName");
		var fbJob = document.getElementById("fbJob");
		var fbCompany= document.getElementById("fbCompany");
		var fbSotrud = document.getElementById("fbSotrud");
		var fbActivity = document.getElementById("fbActivity");
		var fbEMail = document.getElementById("fbEMail");
		var fbPhone = document.getElementById("fbPhone");
            var fbAddress = document.getElementById("fbAddress");

        var fbVeriCode = document.getElementById("vericode");
        var fbSubmit = document.getElementById("fbSubmit");
       
        fbSubmit.disabled = true;
        fbSubmit.style.cursor = 'default';
       
        fbName.valid = false;
		fbJob.valid = false;
		fbCompany.valid = false;
		fbSotrud.valid = false;
		fbActivity.valid = false;
		fbEMail.valid = false;
		fbPhone.valid = false;
            fbAddress.valid = false;
       
        fbName.onchange = fbValidateFieldOnChange;
		fbJob.onchange = fbValidateFieldOnChange;
		fbCompany.onchange = fbValidateFieldOnChange;
		fbSotrud.onchange = fbValidateFieldOnChange;
		fbActivity.onchange = fbValidateFieldOnChange;
		fbEMail.onchange = fbValidateFieldOnChange;
		fbPhone.onchange = fbValidateFieldOnChange;
        fbAddress.onchange = fbValidateFieldOnChange;
       
        fbName.onkeyup = fbValidateFieldOnKeyUp;
		fbJob.onkeyup = fbValidateFieldOnKeyUp;
		fbCompany.onkeyup = fbValidateFieldOnKeyUp;
		fbSotrud.onkeyup = fbValidateFieldOnKeyUp;
		fbActivity.onkeyup = fbValidateFieldOnKeyUp;
		fbEMail.onkeyup = fbValidateFieldOnKeyUp;
		fbPhone.onkeyup = fbValidateFieldOnKeyUp;
        fbAddress.onkeyup = fbValidateFieldOnKeyUp;
       
        fbNowShowError = true;
        if (fbName.value != '') fbValidateField(fbName);
		if (fbJob.value != '') fbValidateField(fbJob);
		if (fbCompany.value != '') fbValidateField(fbCompany);
		if (fbSotrud.value != '') fbValidateField(fbSotrud);
		if (fbActivity.value != '') fbValidateField(fbActivity);
		if (fbEMail.value != '') fbValidateField(fbEMail);
		if (fbPhone.value != '') fbValidateField(fbPhone);
        if (fbAddress.value != '') fbValidateField(fbAddress);
        fbNowShowError = false;
       
        fbVeriCode.value = '';
       
        fbValidateField;
       
};
