<?php
$escaped_user_id = empty($_SESSION['user']) ? 'null' : $_SESSION['user']['id'];
?>
<script type="text/javascript">
$(function() {
	var execute_edit_profile = function(id, label, value) {
		$("#profile_container a").hide();
		var param = {}
		param[label] = value;
		$.post2(
			T.api+"edit_profile.php",
			param,
			function(ret) {
				if ((!ret) || (!ret.ret)) {
					$("#profile_container a").show();
					if (ret.message) {
						alert(ret.message);
					} else {
						alert("ユーザ情報の更新に失敗しました。");
					}
				}
				alert("更新に成功しました");
				$("#profile_container a").show();
			},
			function() {
				$("#profile_container a").show();
				alert("ユーザ情報の更新に失敗しました。");
			},
			"json"
		);
	}
	$.get2(
		T.api+"profile.php?t="+$.now()<?php if (! empty($user_id)) echo '+"&id='.$user_id.'"';?>,
		function(ret) {
			if (! ret) {
				alert("ユーザデータの取得に失敗しました。")
				return;
			}

			var add_field = function(c, label, value, has_edit, prof, type) {
				var field = $("<div class='profile_field'/>");
				$("<label>").text(label).appendTo(field);
				$("<div class='profile_value' />").text(value).appendTo(field);
				if (has_edit) {
					$("<a />").attr("href", "#").click(function(e) {
						var t = $(this);
						var p = t.parent();
						if (t.text() == "編集") {
							t.text("確定");
							p.find(".profile_value").hide();
							var edit = $("<div class='profile_value edit_profile_value' />");
							var input = $("<input />").attr("type", type ? type : "text").val(type == "password" ? "" : p.find(".profile_value").text()).appendTo(edit).keyup(function(e) {
								if (e.keyCode == 27) {
									t.text("編集");
									p.find(".edit_profile_value").remove();
									p.find(".profile_value").show();
								}
							}).attr("title", "ESCキーでキャンセル出来ます。");
							edit.insertBefore(t);
							input.tooltip().focus();
						} else {
							var value = p.find(".edit_profile_value input").val();
							if (! value) {
								alert("値を入力してください");
								return;
							}
							p.find(".edit_profile_value").remove();
							if (type != "password")
								p.find(".profile_value").text(value).show();
							else
								p.find(".profile_value").show();
							execute_edit_profile(ret.id, prof, value);
							$(this).text("編集");
						}
					}).text("編集").appendTo(field);
				}
				$("<div class='c' />").appendTo(field);
				field.appendTo(c);
			}

			var c = $("#profile_container");
			c.html("");
			add_field(c, "ID", ret.login_id);
			add_field(c, "表示名", ret.display_name, ret.id == <?php echo $escaped_user_id;?>, "display_name");
			if (ret.id == <?php echo $escaped_user_id;?>) {
				add_field(c, "パスワード", "****", true, "password", "password");
			}
			if (ret.user_type_id != 2) {
				add_field(c, "権限", ret.user_type_id == "1" ? "管理者" : "運用者");
			}
			add_field(c, "投稿数", ret.post_count);
			add_field(c, "最終投稿", T.countdown_by2(ret.recent_post));
		},
		function() {
			alert("ユーザデータの取得に失敗しました。")
		},
		"json"
	);
});
</script>
<div class="box controller ui-widget-content ui-corner-all theme-box">
	<h3 class="ui-widget-header ui-corner-top box-title">ユーザ情報</h3>
	<div class="controller-box">
		<div id="profile_container" class="sub-box">
			読み込んでいます。
		</div>
<?php
if (empty($user_id)) {
?>
		<div id="my-favorite" class="sub-box">
		</div>
		<script type="text/javascript">
			T.getFavorite($("#my-favorite"), "my");
		</script>
<?php
} else {
?>
		<div id="user-favorite" class="sub-box">
		</div>
		<script type="text/javascript">
			T.getFavorite($("#user-favorite"), "user", "<?php echo h($user_id);?>");
		</script>
<?php
}
?>
		</div>
</div>