var UIED = {
	editing: 0,
	save_html: '',
	div: null,
	a: null,

	init: function() {
		UIED.Facts.init();
	},

	ed: function(area) {
		if(this.editing == area) {
			this.cancel();
			return false;
		}
		if(this.editing != 0) this.cancel();

		this.editing = area;
		this.div = $("#uied" + area + " .expandable");
		this.save_html = this.div.html();

		// Если блок свёрнут, разворачиваем его
		this.a = $("#uied" + area + " .frh h2 a.expander");
		if(this.a.hasClass("expanded")) {
			this.a.click();
		}

		this.div.html("Загружается редактор...");

		$.get("/ajax/uied/?area=" + area, {}, function(data) {
			$("#uied" + area).addClass("editing");
			UIED.div.html(data);
		});

		return false;
	},

	cancel: function() {
		$("#uied" + UIED.editing).removeClass("editing");
		UIED.div.html(UIED.save_html);
		UIED.editing = 0;
		UIED.save_html = '';
		return false;
	},

	Facts: {
		init: function() {
			if(user.id != owner.id) {
				$("#Facts p").hover(UIED.Facts.p_over, UIED.Facts.p_out);
			}
		},

		changed_fid: 0,

		p_over: function() {
			var fid = $(this).attr("rev");
			if(fid == UIED.Facts.changed_fid) return;
			var $p = $(this);
			if($p.children(".me_not").length == 0) {
				$p.append(" <a href='#' class='me_too' onclick='return UIED.Facts.me_too(" + fid + ")'><img src='/i/facts_me_too.gif' alt='Я тоже!' /></a>");
			}
			UIED.Facts.changed_fid = 0;
		},

		p_out: function() {
			$(this).children(".me_too").remove();
			UIED.Facts.changed_fid = 0;
		},

		me_too: function(fid) {
			$.postJSON(
				"/ajax/fact/",
				{act: "me_too", fid: fid},
				function(data) {
					if(data.status == "error") {
						alert(data.msg);
						return;
					} else if(data.status == "ok") {
						$("#Facts p[rev=" + data.fid + "] .me_too").remove();
						$("#Facts p[rev=" + data.fid + "]").append(" <a href='#' class='me_not' onclick='return UIED.Facts.me_not(" + data.fid + ")' title='Кликните, чтобы удалить этот факт из вашего профиля'><img src='/i/facts_me_not.gif' alt='Я тоже!' /></a>");
						UIED.Facts.changed_fid = fid;
					}
				}
			);
			return false;
		},

		me_not: function(fid) {
			$.postJSON(
				"/ajax/fact/",
				{act: "me_not", fid: fid},
				function(data) {
					if(data.status == "error") {
						alert(data.msg);
						return;
					} else if(data.status == "ok") {
						$("#Facts p[rev=" + data.fid + "] .me_not").remove();
					}
				}
			);
			return false;
		},

		rm: function(id) {
			var $f = $("#Facts #Fact_" + id);
			if($f.hasClass("deleted")) {
				$f.removeClass("deleted");
				$f.children("input").remove();
			} else {
				$f.addClass("deleted").append("<input type='hidden' name='fact_rm[]' value='" + id + "' />");
			}
			return false;
		},

		add_fields: function() {
			var add = true;
			$("#Facts_Add input").each(function() {
				if($(this).val() == "") {
					add = false;
					return false;
				}
			});
			if(add) {
				$("#Facts_Add").append("<p><input type='text' name='fact_add[]' class='f' maxlength='255' style='width:100%' onkeyup='UIED.Facts.add_fields()' /></p>");
			}
		}
	}
}

$(UIED.init);