function validate(frm) {
	
    var err_num = 0;
    var obj;
    var re;

    obj = document.getElementsByName("FizSurname")[0];
    delete_error(obj); 
    if (obj.value.length == 0) {
        err_num += 1;
        set_error(obj,"Введите Вашу фамилию!");
    } else {
        re = /[А-я]+/;
        if (!re.test(obj.value)) {
            err_num += 1;
            set_error(obj,"Фамилия должна состоять из русских букв!");
        }
    }

    obj = document.getElementsByName("FizName")[0];
    delete_error(obj);
    if (obj.value.length == 0) {
        err_num += 1;
        set_error(obj,"Введите Ваше имя!");
    } else {
        re = /[А-я]+/;
        if (!re.test(obj.value)) {
            err_num += 1;
            set_error(obj,"Имя должно состоять из русских букв!");
        }
    }

    obj = document.getElementsByName("BirthD")[0];
    delete_error(obj);
    if (obj.value == 0) {
        err_num += 1;
        set_error(obj,"Укажите дату рождения!");
    } else {
        obj = document.getElementsByName("BirthM")[0];
        if (obj.value == 0) {
            err_num += 1;
            set_error(obj,"Укажите месяц рождения!");
        } else {
            obj = document.getElementsByName("BirthY")[0];
            if (obj.value.length == 0) {
                err_num += 1;
                set_error(obj,"Введите год Вашего рождения!");
            } else {
                re = /19[0-9][0-9]/;
                if (!re.test(obj.value) | obj.value.length != 4) {
                    err_num += 1;
                    set_error(obj,"Год рождения введен неверно. Правильный формат: 19хх");
                }
            }
        }
    }

    obj = document.getElementsByName("FizState")[0];
    delete_error(obj);
    if (obj.value == 0) {
        err_num += 1;
        set_error(obj,"Укажите Ваше гражданство!");
    }

    obj = document.getElementsByName("FizPhone")[0];
    delete_error(obj);
    if (obj.value.length == 0) {
        err_num += 1;
        set_error(obj,"Введите номер Вашего телефона!");
    } else {
        re = /\+7[0-9]{10}/;
        if (!re.test(obj.value) | obj.value.length != 12) {
            err_num += 1;
            set_error(obj,"Номер телефона введен неверно. Правильный формат: +7XXXXXXXXXX");
        }
    }

    if (document.getElementById("sms").checked == true) {
        obj = document.getElementsByName("SmsPhone")[0];
        delete_error(obj);
        if (obj.value.length == 0) {
            err_num += 1;
            set_error(obj,"Введите номер Вашего телефона!");
        } else {
            re = /\+7[0-9]{10}/;
            if (!re.test(obj.value) | obj.value.length != 12) {
                err_num += 1;
                set_error(obj,"Номер телефона введен неверно. Правильный формат: +7XXXXXXXXXX");
            }
        }
    }

    if (document.getElementById("eml").checked == true) {
        obj = document.getElementsByName("EmlAddress")[0];
        delete_error(obj);
        if (obj.value.length == 0) {
            err_num += 1;
            set_error(obj,"Введите адрес электронной почты!");
        } else {
            re = /(\w+)@(\w+)\.([A-z]+)/i;
            if (!re.test(obj.value)) {
                err_num += 1;
                set_error(obj,"Адрес электронной почты введен неверно!");
            }
        }
    }

    if (err_num != 0) {
        return false;
    } else {
		alert("Ваша заявка успешно отправлена! Мы свяжемся с Вами в указанное время.");
        document.getElementById("send_btn").value = "Отправка...";
        document.getElementById("send_btn").disabled = true;
        var queryString = "";
		queryString += frm.FizSurname.name + "=" + frm.FizSurname.value + "&";
		queryString += frm.FizName.name + "=" + frm.FizName.value + "&";
		queryString += frm.CardType.name + "=" + frm.CardType.value + "&";
		queryString += frm.CurType.name + "=" + frm.CurType.value + "&";
		queryString += frm.BirthD.name + "=" + frm.BirthD.value + "&";
		queryString += frm.BirthM.name + "=" + frm.BirthM.value + "&";
		queryString += frm.BirthY.name + "=" + frm.BirthY.value + "&";
		queryString += frm.FizState.name + "=" + frm.FizState.value + "&";
		queryString += frm.FizPhone.name + "=" + frm.FizPhone.value + "&";
		queryString += frm.so.name + "=" + frm.so.checked + "&";
		queryString += frm.SmsMod.name + "=" + frm.SmsMod.checked + "&";
		queryString += frm.SmsPhone.name + "=" + frm.SmsPhone.value + "&";
		queryString += frm.EmlMod.name + "=" + frm.EmlMod.checked + "&";
		queryString += frm.EmlAddress.name + "=" + frm.EmlAddress.value + "&";
		queryString += frm.Card.name + "=" + frm.Card.value + "&";
		queryString += frm.FizTime.name + "=" + frm.FizTime.value;
		return true;
		/*
		$.post('http://siab.ru/misc/card/result/',$('#BizLoan').serialize(),function (result){
			alert(result)
			document.getElementById('BizLoan').innerHTML = "<p>" + result + "</p><input type='button' value='Вернуться на главную страницу' onclick=document.location.href='http://siab.ru' />"            
        });
		*/
    }

}

function set_error(obj, error_text) {

    var err = document.createElement("div");
	var parNode = obj.parentNode || obj.parent || obj.parentElement;

    err.style.color = "red";
    err.style.fontWeight = "bold";
    err.appendChild(document.createTextNode(error_text));
    parNode.appendChild(err);

}

function delete_error(obj) {

    var parNode = obj.parentNode || obj.parent || obj.parentElement;

    if (parNode.getElementsByTagName('div').length == 1) {
        parNode.removeChild(parNode.getElementsByTagName('div')[0]);
    }

}

function act(name) {

    if (document.getElementById(name).style.display == 'block') {
        document.getElementById(name).style.display = 'none';
        delete_error(document.getElementById(name).getElementsByTagName('div')[0]);
    } else {
        document.getElementById(name).style.display = 'block';
    }

}

