	$(document).ready(function() {
		$("form.offer input[name='autosummary']").each(function() {
			$(this).parent().append('<span>' + summary_type($(this).val()) + '</span>');
		});
		$(".search > form").submit(function() {
			$(".search-options").appendTo($(this));
			//return false;
		});
		$(".filter > form").submit(function() {
			$(this).find(".search-form").html($(".search > form").html());
		});
		$(".url").focus(function() {
			$(this).select();
		});
		$(".notebook").click(function() {
			var a = $(this);
			a.removeClass("current");
			a.addClass("loading");
			$.getJSON("/form" + a.attr("href"), function(data) {
				a.removeClass("loading");
				if (data.status === "ok") {
					if (data.message['stored']) {
						a.addClass("current");
						a.attr('title', 'Убрать из блокнота');
					}
					else
					{
						a.attr('title', 'В блокнот');
					}
					// показываем общее число объявлений в блокноте
					if (data.message['count'] > 0) {
						$(".my-notebook").show().find(".noted").text(data.message['info']);
					} else {
						$(".my-notebook").hide();
					}
				} else {
					alert(data.message);
				}
			});
			return false;
		});
		/*$(".activate").click(function() {
			var input = $(this);
			var td = input.closest("td");
			var action = input.attr("checked") ? "activate" : "deactivate";
			td.addClass("loader").children().hide();
			$.getJSON("/form/user/current/" + input.val() + "/" + action, function(data) {
				td.removeClass("loader").children().show();
				if (data.status === "ok") {
					if (action === "activate") {
						input.attr("checked", "checked").parent().removeClass("inactive").addClass("active");
					} else {
						input.removeAttr("checked").parent().removeClass("active").addClass("inactive");;
					}
				} else {
					alert(data.message);
				}
			});
			return false;
		});*/
	});

	function filter_field(element) {
		$(element).parent().next(".field").slideToggle();
	}

	function param(pattern) {
		var matched = pattern.match(/{(.*)}/);
		if (matched) {
			var name = field_name[matched[1]];
			if (name != undefined && field_value[name] != undefined && $.trim(field_value[name]) != "") {
				return pattern.replace(matched[0], field_value[name]);
			}
		}
		return "";
	}

	function store_fields() {
		for (i in field_name) {
			$("form.offer [name^='" + field_name[i] + "']:first").trigger('change');
		}
	}

	function store_field(field) {
		var name = field.attr("name");
		if (field.is("input:checkbox")) {
			name = name.replace(/\[.*\]$/, "");
			var value = [];
			field.closest("form").find("[name^='" + name + "']:checked").each(function() {
				value.push($(this).next("span").text());
			});
			field_value[name] = value.join(", ");
		} else if (field.is("select")) {
			var option = field.find("option:selected");
			field_value[name] = option.val() > 0 ? $.trim(option.text()) : "";
		} else {
			field_value[name] = field.val();
		}
		auto_generate_summary();
	}

	function store_field_range(field) {
		var form = field.closest("form");
		var name = field.attr("name").replace(/\[.*\]$/, "");
		var min = form.find("[name='" + name + "[min]']").val();
		var max = form.find("[name='" + name + "[max]']").val();
		var value = [];
		if (min) {
			value.push("от " + min);
		}
		if (max) {
			value.push("до " + max);
		}
		field_value[name] = value.join(" ");
		auto_generate_summary();
	}

	function store_car(field) {
		field_value[field.attr("name")] = field.parent().text();
	}

	function generate_summary(value) {
		var text = summary();
		if (text !== false) {
			// удаляем лишние символы
			text = text.replace(/^[\s,]+/g, "");
			text = text.replace(/[\s,]+$/g, "");
			// устанавливаем текст
			$("[name='summary']").val(text);
		}
		auto_summary(value);
	}

	function auto_generate_summary() {
		if (auto_summary()) {
			generate_summary();
		}
	}

	function auto_summary(value) {
		var field = $("form.offer [name='autosummary']");
		if (value == undefined) {
			return field.val() > 0;
		}
		field.val(value);
		field.next("span").text(summary_type(value));
		return value;
	}

	function summary_type(value) {
		return (value > 0) ? 'автоматически' : 'вручную';
	}
