function get_random() {
	return Math.round(Math.random() * Math.random() * 100000);
}

function open_window(url, width, height, name) {
	var w = (width) ? width : 600;
	var h = (height) ? height : 400;
	var window_name = (name) ? name : 'bo_' + get_random();

	window.open(url, window_name, 'width=' + w + ',height=' + h + ',location=no,status=yes,resizable=yes,scrollbars=yes,titlebar=yes');
}

function submitJsForm() {
    var is_form_valid = true;

	if(
	    check_form_by_js &&
	    form_elements.length
	) {
		is_form_valid = true;

		var group_name = get_form_group_name_by_index(current_fo_tabs);

		var ele_name = ele_type = '';
		var valid = null;

		for(var i = 0; i < form_elements.length; i++) {
			ele_name = form_elements[i][0];
			ele_type = form_elements[i][1];
			ele_required = form_elements[i][2];

			valid = check_form_element(
			    ele_name,
			    ele_type,
			    ele_required,
			    group_name
			);
			if(!valid) {
			    //alert(ele_name);
				is_form_valid = false;
			}
		}
	}

	if (
	    form_groups &&
	    (
	        !check_form_by_js ||
	        !deny_change_tabs ||
	        (
	            check_form_by_js &&
	            is_form_valid
	        )
	    )
	) {
	    return true;
	}

	return false;
}

function show_form_group(name) {
    var is_form_valid = true;

	if(
	    check_form_by_js &&
	    form_elements.length
	) {
		is_form_valid = true;

		var group_name = get_form_group_name_by_index(current_fo_tabs);

		var ele_name = ele_type = '';
		var valid = null;

		for(var i = 0; i < form_elements.length; i++) {
			ele_name = form_elements[i][0];
			ele_type = form_elements[i][1];
			ele_required = form_elements[i][2];

			valid = check_form_element(
			    ele_name,
			    ele_type,
			    ele_required,
			    group_name
			);
			if(!valid) {//alert(ele_name);
				is_form_valid = false;
			}
		}
	}

	if (
	    form_groups &&
	    (
	        !check_form_by_js ||
	        !deny_change_tabs ||
	        (
	            check_form_by_js &&
	            is_form_valid
	        )
	    )
	) {
		for (var i = 0; i < form_groups.length; i++) {
			change_element_visibility('form_group_' + form_groups[i], (form_groups[i] == name));

			var tab_ele = document.getElementById('form_group_' + form_groups[i] + '_tab');
			if (tab_ele) {
				var class_name = '';

				if (i == 0) class_name += (class_name != '' ? ' ' : '') + 'first';
				if (form_groups[i] == name) class_name += (class_name != '' ? ' ' : '') + 'selected';

				tab_ele.className = class_name;
			}
		}

		setCookie('form_group', name);

		for(i = 0; i < fo_tabs.length; i++) {
			if(name == fo_tabs[i]) {
				current_fo_tabs = i;
			}
		}

		init_group_tabs();
	}
}

function check_form_element(name, type, is_required, group) {
	var is_valid = false;
	if(!is_required) is_required = false;

	if(
		$('#form_group_' + group).length
	) {
		if(
			$('#form_group_' + group).find('#form_element_' + name).length
		) {
			var element = $('#form_group_' + group).find('#form_element_' + name);
			var error_text = '';
			var is_field_required = is_required;
			var no_value = false;

			element.find('.field_error_message').remove();

			switch(type) {
				case 'age':
						var day_value = element.find('input[name=' + name + '_day]').val();
						var month_value = element.find('input[name=' + name + '_month]').val();
						var year_value = element.find('input[name=' + name + '_year]').val();

						if(
						    day_value.length == 2 &&
						    month_value.length == 2 &&
						    year_value.length == 4 &&
							parseInt(day_value, 10) &&
							parseInt(month_value, 10) &&
							parseInt(year_value, 10) &&
							parseInt(year_value, 10) >= 1900 &&
                            parseInt(day_value, 10) >= 1 &&
                            parseInt(month_value, 10) >= 1 &&
                            parseInt(month_value, 10) <= 12 &&
                            parseInt(day_value, 10) <= 31
						) {
							is_valid = check_age(day_value, month_value, year_value);
						} else {
						    if(
						        !day_value &&
						        !month_value &&
						        !year_value
						    ) {
    							no_value = true;
    						}

    						error_text = 'Убедитесь в правильности заполнения';
						}
						if(!error_text) error_text = 'Возраст заемщика должен быть не менее 18 и не более 65 лет.';
					break;

				case 'age_mnogo':
						var day_value = element.find('input[name=' + name + '_day]').val();
						var month_value = element.find('input[name=' + name + '_month]').val();
						var year_value = element.find('input[name=' + name + '_year]').val();

						if(
						    day_value.length == 2 &&
						    month_value.length == 2 &&
						    year_value.length == 4 &&
							parseInt(day_value, 10) &&
							parseInt(month_value, 10) &&
							parseInt(year_value, 10) &&
							parseInt(year_value, 10) >= 1900 &&
                            parseInt(day_value, 10) >= 1 &&
                            parseInt(month_value, 10) >= 1 &&
                            parseInt(month_value, 10) <= 12 &&
                            parseInt(day_value, 10) <= 31
						) {
							is_valid = check_age_mnogo(day_value, month_value, year_value);
						} else {
						    if(
						        !day_value &&
						        !month_value &&
						        !year_value
						    ) {
    							no_value = true;
    						}

    						error_text = 'Убедитесь в правильности заполнения';
						}
						if(!error_text) error_text = 'Возраст заемщика должен быть не менее 21 и не более 60 лет.';
					break;

				case 'citizenship':
						var ele_value = element.find('input[name=' + name + ']:checked').val();

						if(ele_value == 'otherwise') {
							is_valid = false;
						} else {
							is_valid = true;
						}

						error_text = 'Кредит может быть выдан только гражданам Российской Федерациии';
					break;

				case 'phone':
						var code_value = element.find('input[name=' + name + '_code]').val();
						var number_value = element.find('input[name=' + name + '_number]').val();

						if(
							parseInt(code_value, 10) &&
							parseInt(number_value, 10)
						) {
							is_valid = check_phone(code_value, number_value);
						} else {
						    if(!code_value && !number_value) {
    							no_value = true;

    							if(!is_field_required) {
    							    is_valid = true;
    							}
    						}
						}

						error_text = 'Некорректное значение. В поле "номер" телефона должно быть указано 7 цифр, а в поле "код" 3.';
					break;

				case 'string':
				case 'word':
				case 'short_word':
				        var ele_value = element.find('input[name=' + name + ']').val();

				        if(!ele_value && is_field_required) {
							is_valid = false;
						} else {
							is_valid = true;
						}

						error_text = 'Поле обязательно для заполнения';
				    break;

				case 'integer':
				        var ele_value = element.find('input[name=' + name + ']').val();

				        if(!isInt(ele_value)) {
							is_valid = false;
						} else {
							is_valid = true;
						}

						error_text = 'Убедитесь в правильности заполнения';
				    break;

				case 'postcode':
				        var ele_value = element.find('input[name=' + name + ']').val();

				        if(
				            !isNumber(ele_value) ||
				            ele_value.length != 6
				        ) {
							is_valid = false;
						} else {
							is_valid = true;
						}

						error_text = 'Убедитесь в правильности заполнения';
				    break;

				case 'email':
				        var ele_value = element.find('input[name=' + name + ']').val();

				        if(!ele_value && is_field_required) {
							no_value = true;
							is_valid = true;
						} else if(ele_value && !is_valid_email(ele_value)) {
						    is_valid = false;
						} else {
							is_valid = true;
						}

						error_text = 'Убедитесь в правильности набора эл. почты';
				    break;

				case 'chooser':
				        var nodeName = element.find('[name=' + name + ']').get(0).nodeName;
				        var ele_value = null;

				        switch(nodeName.toLowerCase()) {
				            case 'input':
    				                ele_value = element.find('input[name=' + name + ']:checked').val();
				                break;

				            case 'select':
    				                ele_value = element.find('select[name=' + name + ']').val();
				                break;
				        }

				        if(!ele_value && is_field_required) {
							is_valid = false;
						} else {
							is_valid = true;
						}

						error_text = 'Поле обязательно для заполнения';
				    break;

				case 'boolean':
				        var ele = element.find('input[name=' + name + ']');

				        if(!ele.is(":checked") && is_field_required) {
							is_valid = false;
						} else {
							is_valid = true;
						}

						error_text = 'Поле обязательно для заполнения';
				    break;

				case 'credit_card':
				        var ele_value_1 = element.find('input[name=' + name + '_part_one]').val();
				        var ele_value_2 = element.find('input[name=' + name + '_part_two]').val();
    				    var ele_value_3 = element.find('input[name=' + name + '_part_three]').val();
				        var ele_value_4 = element.find('input[name=' + name + '_part_four]').val();

				        if(
				            ele_value_1 &&
				            ele_value_2 &&
				            ele_value_3 &&
				            ele_value_4 &&
							parseInt(ele_value_1, 10) &&
							parseInt(ele_value_2, 10) &&
							parseInt(ele_value_3, 10) &&
							parseInt(ele_value_4, 10)
						) {
							is_valid = check_credit_card(
							    ele_value_1,
							    ele_value_2,
							    ele_value_3,
							    ele_value_4
							);

						} else {
						    if(
						        !ele_value_1 &&
						        !ele_value_2 &&
						        !ele_value_3 &&
						        !ele_value_4
						    ) {
    							no_value = true;

    							if(!is_field_required) {
    							    is_valid = true;
    							}
    						}
						}

						error_text = 'Некорректное значение. Введите 16 цифр номера вашей кредитной карты.';
				    break;

				case 'passport_full':
				        var ele_value_series = element.find('input[name=' + name + '_serial]').val();
				        var ele_value_number = element.find('input[name=' + name + '_number]').val();
    				    var ele_value_who = element.find('input[name=' + name + '_who]').val();
				        var ele_value_day = element.find('input[name=' + name + '_day]').val();
				        var ele_value_month = element.find('input[name=' + name + '_month]').val();
				        var ele_value_year = element.find('input[name=' + name + '_year]').val();
				        var ele_value_code = element.find('input[name=' + name + '_code]').val();

                        if(
                            ele_value_series ||
                            ele_value_number ||
                            ele_value_who ||
                            ele_value_day ||
                            ele_value_month ||
                            ele_value_year ||
                            ele_value_code
                        ) {
                            is_valid = check_passport(
                                ele_value_series,
                                ele_value_number,
                                ele_value_who,
                                ele_value_day,
                                ele_value_month,
                                ele_value_year,
                                ele_value_code
                            );
                        } else {
                            no_value = true;

                            if(!is_field_required) {
                                is_valid = true;
                            }
                        }

                        error_text = 'Некорректное значение. Проверьте правильность вводимой информации.';
				    break;

				case 'address':
				        var ele_value_postcode = element.find('input[name=' + name + '_postcode]').val();
				        var ele_value_area = element.find('input[name=' + name + '_area]').val();
    				    var ele_value_city = element.find('input[name=' + name + '_city]').val();
				        var ele_value_street = element.find('input[name=' + name + '_street]').val();
				        var ele_value_build = element.find('input[name=' + name + '_build]').val();
				        var ele_value_flat = element.find('input[name=' + name + '_flat]').val();
				        var ele_value_day = element.find('input[name=' + name + '_day]').val();
				        var ele_value_month = element.find('input[name=' + name + '_month]').val();
				        var ele_value_year = element.find('input[name=' + name + '_year]').val();
				        var ele_value_stay = element.find('input[name=' + name + '_stay]').val();
				        var ele_equivalent = element.find('input[name=' + name + '_equivalent]').length
				            ? element.find('input[name=' + name + '_equivalent]').is(':checked')
				            : false
				        ;

                        if(ele_equivalent) {
                            is_valid = true;
                        } else if(
                            ele_value_postcode ||
                            ele_value_area ||
                            ele_value_city ||
                            ele_value_street ||
                            ele_value_build ||
                            ele_value_flat ||
                            ele_value_day ||
                            ele_value_month ||
                            ele_value_year ||
                            ele_value_stay
                        ) {
                            is_valid = check_address(
                                ele_value_postcode,
                                ele_value_area,
                                ele_value_city,
                                ele_value_street,
                                ele_value_build,
                                ele_value_flat,
                                ele_value_day,
                                ele_value_month,
                                ele_value_year,
                                ele_value_stay
                            );
                        } else {
                            no_value = true;

                            if(
                                !is_field_required ||
                                (
                                    is_field_required &&
                                    ele_equivalent
                                )
                            ) {
                                is_valid = true;
                                if(ele_equivalent) {
                                    no_value = false;
                                }
                            }
                        }

                        error_text = 'Некорректное значение. Проверьте правильность вводимой информации.';
				    break;

				case 'legal_address':
				        var ele_value_postcode = element.find('input[name=' + name + '_postcode]').val();
				        var ele_value_area = element.find('input[name=' + name + '_area]').val();
    				    var ele_value_city = element.find('input[name=' + name + '_city]').val();
				        var ele_value_street = element.find('input[name=' + name + '_street]').val();
				        var ele_value_build = element.find('input[name=' + name + '_build]').val();
				        var ele_value_flat = element.find('input[name=' + name + '_flat]').val();
				        var ele_equivalent = element.find('input[name=' + name + '_equivalent]').length
				            ? element.find('input[name=' + name + '_equivalent]').is(':checked')
				            : false
				        ;

                        if(ele_equivalent) {
                            is_valid = true;
                        } else if(
                            ele_value_postcode ||
                            ele_value_area ||
                            ele_value_city ||
                            ele_value_street ||
                            ele_value_build ||
                            ele_value_flat
                        ) {
                            is_valid = check_legal_address(
                                ele_value_postcode,
                                ele_value_area,
                                ele_value_city,
                                ele_value_street,
                                ele_value_build,
                                ele_value_flat
                            );
                        } else {
                            no_value = true;

                            if(
                                !is_field_required ||
                                (
                                    is_field_required &&
                                    ele_equivalent
                                )
                            ) {
                                is_valid = true;
                                if(ele_equivalent) {
                                    no_value = false;
                                }
                            }
                        }

                        error_text = 'Некорректное значение. Проверьте правильность вводимой информации.';
				    break;
			}
			if (name == 'credit_limit'){
				var credit_value = element.find('input[name=' + name + ']').val();
				if (credit_value <= 0 || credit_value > 100000)
				{
					is_valid = false;
					error_text = 'Кредитный лимит должен быть не больше 100000 рублей и не должен равняться 0';
				}
			}
			if (name == 'code'){
				testVal = /^[а-яА-Я]+$/
				var code_value = element.find('input[name=' + name + ']').val();
				if (!testVal.test(code_value))
				{
					is_valid = false;
					error_text = 'Кодовое слово может состоять только из русских букв, без цифр и специальных символов';
				}
			}
			if(no_value && is_field_required) {
				set_error(element, 'Поле обязательно для заполнения.');
			} else if(!is_valid && !no_value) {
				set_error(element, error_text);
			}
		} else {
			is_valid = true;
		}
	}

	return is_valid;
}

function set_error(element, text) {
	$('<div class="field_error_message">' + text + '</div>').appendTo(element.find('td.input'));
}

function check_phone(code, number) {
	var result = false;

	var rePhoneNumber = new RegExp(/^\d{7}$/);
	var rePhoneCode = new RegExp(/^\d{3,5}$/);

	if(
		(
		    code.length >= 3 &&
		    code.length <= 5
		) &&
		number.length == 7 &&
		rePhoneNumber.test(number) &&
		rePhoneCode.test(code)
	) {
		result = true;
	}

	return result;
}

function check_credit_card(val_1, val_2, val_3, val_4) {
	var result = false;

	var re = new RegExp(/^\d{4}$/);

	if(
		val_1.length == 4 &&
		val_2.length == 4 &&
		val_3.length == 4 &&
		val_4.length == 4 &&
		re.test(val_1) &&
		re.test(val_2) &&
		re.test(val_3) &&
		re.test(val_4)
	) {
		result = true;
	}

	return result;
}

function check_passport(series, number, who, day, month, year, code) {
	var result = false;

	if(
		who &&
		code &&
		series &&
		number &&
		day &&
		month &&
		year &&
		isNumber(series) &&
		isNumber(number) &&
        isNumber(day) &&
        isNumber(month) &&
        isNumber(year) &&
        day.length == 2 &&
        month.length == 2 &&
        year.length == 4 &&
        parseInt(year, 10) >= 1900 &&
        parseInt(day, 10) >= 1 &&
        parseInt(month, 10) >= 1 &&
        parseInt(month, 10) <= 12 &&
        parseInt(day, 10) <= 31 &&
        series.length == 4 &&
        number.length == 6
	) {
		result = true;
	}

	return result;
}

function check_address(
    postcode,
    area,
    city,
    street,
    build,
    flat,
    day,
    month,
    year,
    stay
) {
	var result = false;

	if(
		postcode &&
		area &&
		city &&
		street &&
		build &&
		day &&
		month &&
		year &&
		stay &&
		isNumber(stay) &&
        isNumber(day) &&
        isNumber(month) &&
        isNumber(year) &&
        day.length == 2 &&
        month.length == 2 &&
        year.length == 4 &&
        parseInt(year, 10) >= 1900 &&
        parseInt(day, 10) >= 1 &&
        parseInt(month, 10) >= 1 &&
        parseInt(month, 10) <= 12 &&
        parseInt(day, 10) <= 31 &&
        postcode.length == 6
	) {
		result = true;
	}

	return result;
}

function check_legal_address(
    postcode,
    area,
    city,
    street,
    build,
    flat
) {
	var result = false;

	if(
		postcode &&
		area &&
		city &&
		street &&
		build &&
        postcode.length == 6
	) {
		result = true;
	}

	return result;
}

function check_age(day, month, year) {
	var d = new Date();

    var age = d.getFullYear() - year;
    if((d.getMonth() + 1) / 1 < month){
        age--;
    } else if(
    	(d.getMonth() + 1) / 1 == month &&
    	d.getDate() / 1 < day
    ){
        age--;
    }

    if (age < 18 || age > 65) {
        return false;
    }

    return true;
}

function check_age_mnogo(day, month, year) {
	var d = new Date();

    var age = d.getFullYear() - year;
    if((d.getMonth() + 1) / 1 < month){
        age--;
    } else if(
    	(d.getMonth() + 1) / 1 == month &&
    	d.getDate() / 1 < day
    ){
        age--;
    }

    if (age < 21 || age > 60) {
        return false;
    }

    return true;
}

function get_form_group_name_by_index(index) {
	var name = '';

	if(fo_tabs.length) {
		name = fo_tabs[index];
	}

	return name;
}

function change_element_visibility(id, is_visible) {
	var element = document.getElementById(id);
	if (element) {
		element.style.display = is_visible || (is_visible == null && element.style.display != 'block') ? 'block' : 'none';
	}
}

function is_valid_email(email) {
    return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email);
}

function isInt(x) {
    var y = parseInt(x, 10);
    if (isNaN(y)) return false;
    return x == y && x.toString() == y.toString();
}

function isNumber(x) {
    var re = new RegExp(/^\d+$/);
    return re.test(x)
}

// Определяем какие-кнопки показывать.
function init_group_tabs() {
	var div = document.getElementById('form_buttons');
	var html = '';
/*
	<div class="submit-wrap"><input type="submit" class="submit" value="" /></div>
*/
	if(current_fo_tabs == (fo_tabs.length - 1)) {
		html = '<a href="" title="Назад" onclick="show_form_group(\'' + fo_tabs[current_fo_tabs - 1] + '\'); return false;"><img src="/f/img/button-back.png" alt="Назад" align="left" /></a>' + button_html;
		div.innerHTML = html;
		var button = document.getElementById('form_submit_button');
		button.style.display = 'inline';
	} else if(current_fo_tabs == 0) {
		html = '<a title="Далее" href="" onclick="show_form_group(\'' + fo_tabs[current_fo_tabs + 1] + '\'); return false;"><img src="/f/img/button-next.png" alt="Далее" align="right" /></a>' + button_html;
		div.innerHTML = html;
		var button = document.getElementById('form_submit_button');
		button.style.display = 'none';
	} else {
		html = '<a title="Назад" href="" onclick="show_form_group(\'' + fo_tabs[current_fo_tabs - 1] + '\'); return false;"><img src="/f/img/button-back.png" alt="Назад" align="left" style="margin-right:20px;" /></a><a title="Далее" href="" onclick="show_form_group(\'' + fo_tabs[current_fo_tabs + 1] + '\'); return false;"><img src="/f/img/button-next.png" alt="Далее" align="right" /></a>' + button_html;
		div.innerHTML = html;
		var button = document.getElementById('form_submit_button');
		button.style.display = 'none';
	}
}


/*** Loading bar
*********************************************************/
var loadings = 0;

function show_loading_bar() {
	var loading_ele = document.getElementById('loading');
	if (loading_ele && loadings == 0) {
		loading_ele.style.display = 'block';
		wait_cursor(true);
	}
	loadings++;
}

function hide_loading_bar() {
	var ele_loading = document.getElementById('loading');
	loadings--;
	if (ele_loading && loadings == 0) {
		if (ele_loading) ele_loading.style.display = 'none';
		wait_cursor(false);
	}
}

function wait_cursor(is_on) {
	var body_ele = document.getElementsByTagName('body');
	if (body_ele) {
		var classes = body_ele[0].className.split(' ');
		var class_name = '';

		for (var i = 0; i < classes.length; i++) {
			if (classes[i] != 'wait') {
				class_name = (class_name != '' ? ' ' : '') + classes[i];
			}
			if (is_on) {
				class_name = (class_name != '' ? ' ' : '') + 'wait';
			}
		}

		body_ele[0].className = class_name;
	}
}


/*** Files
*********************************************************/
function get_form_file_adding_link(name) {
	return document.getElementById('add_form_files_' + name);
}

function get_form_file_container(name) {
	return document.getElementById('form_files_' + name);
}

function get_form_file_count(name) {
	return get_form_file_container(name).getElementsByTagName('tr').length;
}

function add_form_file_inputs(name) {
	var table = document.createElement('table');
	table.className = 'form_files';
	table.setAttribute('id', 'form_files_' + name);

	get_form_file_adding_link(name).parentNode.appendChild(table);
	add_form_file_input(name);

	form_file_description_switcher(name);
}

function add_form_file_input(name) {
	var table = get_form_file_container(name);

	if (navigator.userAgent.indexOf('MSIE') != -1) {
		var tr = table.insertRow();
	} else {
		var tr = document.createElement('tr');
		get_form_file_container(name).appendChild(tr);
	}

	if (navigator.userAgent.indexOf('MSIE') != -1) {
		var remove_ele = tr.insertCell();
	} else {
		var remove_ele = document.createElement('td');
		tr.appendChild(remove_ele);
	}

	remove_ele.className = 'system';
	remove_ele.onclick = function () { remove_form_file_input(name, remove_ele); }
	remove_ele.innerHTML = '&times;';

	if (navigator.userAgent.indexOf('MSIE') != -1) {
		var input_ele = tr.insertCell();
	} else {
		var input_ele = document.createElement('td');
		tr.appendChild(input_ele);
	}

	input_ele.innerHTML = '<input type="file" name="' + name + '[]" class="file" />';
}

function remove_form_file_input(name, element) {
	element.parentNode.parentNode.removeChild(element.parentNode);
	form_file_description_switcher(name);

	if (get_form_file_count(name) == 0) {
		get_form_file_container(name).parentNode.removeChild(get_form_file_container(name));
	}
}

function form_file_description_switcher(name) {
	var ele = document.getElementById('add_form_files_description_' + name);
	if (ele) {
		ele.style.display = get_form_file_count(name) > 0 ? 'block' : 'none';
	}
}

function delete_file(ele, path) {
	if (confirm('Удалить файл немедленно?')) {
		show_loading_bar();

		new Ajax.Request('/cms/ajax_delete_file.php', {
			asynchronous: true,
			method: 'post',
			postBody: 'f=' + path,
			onSuccess: function (r) {
				if (r.responseText == 1) {
					var file = ele.parentNode;
					var parent = file.parentNode;
					parent.removeChild(file);

					var is_child = false;
					for (var i = 0; i < parent.childNodes.length; i++) {
						if (parent.childNodes[i].nodeType == 1) {
							is_child = true;
						}
					}

					if (!is_child) parent.parentNode.removeChild(parent);
				}

				hide_loading_bar();
			}
		});
	}
}

function item_sort(ele) {
	var inputs = ele.getElementsByTagName('input');
	var post_body = '';

	for (var i = 0; i < inputs.length; i++) {
		if (inputs[i].getAttribute('type') == 'hidden') {
			if (post_body != '') post_body += '&';
			post_body += 'items[]=' + inputs[i].value;
		}
	}

	if (post_body) {
		show_loading_bar();
		new Ajax.Request('ajax_sort.php', {
			asynchronous: true,
			method: 'post',
			postBody: post_body,
			onSuccess: hide_loading_bar
		});
	}
}

function change_disabled_attr(this_ele, _id) {
	var ele = document.getElementById(_id);
	if(this_ele.checked) {
		ele.disabled = false;
	} else ele.disabled = true;
}

function UpdateFieldStatus(_checkbox, _input) {
	var checkbox = document.getElementById(_checkbox);
	var input = document.getElementById(_input);
	if(input.value != '') {
		input.disabled = false;
		checkbox.checked = true;
	}
}

function SwitchField(_id, _field) {
	var field = document.getElementById(_field);
	var radio = document.getElementById(_id);

	if(radio.checked) {
		if(field.style.display == 'none' || field.style.display == '') {
			field.style.display = 'inline';
			field.disabled = false;
		}
	} else {
		field.style.display = 'none';
		//field.disabled = true;
	}
}

function HideField(_id) {
	var field = document.getElementById(_id);
	field.style.display = 'none';
	field.disabled = true;
}

function bank_client(ele_name, child) {
    var name = ele_name;
    var value = $('input[name=' + name + ']:checked').val();
    if(value == 'да') {
        $('#form_element_' + child).removeClass('hidden');
    } else {
        $('#form_element_' + child).addClass('hidden');
        $('#form_element_' + child + ' input').val('');
    }
}

function other_credit(ele_name, child) {
    var name = ele_name;
    var value = $('input[name=' + name + ']:checked').val();
    if(value == 'да, имеется задолженность') {
        $('#form_element_' + child).removeClass('hidden');
    } else {
        $('#form_element_' + child).addClass('hidden');
        $('#form_element_' + child + ' input').val('');
    }
}

function hide_ele_if(ele, hide_id, value) {
    if($(ele).val() == value) {
        $('#' + hide_id).hide();
    } else {
        $('#' + hide_id).show();
    }
}

