﻿$(function(){
	var max = 0;
	if(document.documentElement.scrollWidth) max = document.documentElement.clientWidth || document.body.clientWidth || document.body.scrollWidth;
	else if(window.innerWidth) max = window.innerWidth;
	$(".entry-meta").each(function(i){
		var uri = $(".entry-related a", $(this)).attr("href");
		var title = $(".entry-related a", $(this)).text();
		var entry_uri = $(".entry-uri a", $(this)).attr("href");
		$(".entry-related", $(this)).html('<span class="popup-label">'+title+'</span>');
		$(".entry-related span", $(this)).hover(function(){
			$(this).css("cursor","pointer").css("color","#66f");
			window.defaultStatus = "選択すると関連記事を表示します。";
		}, function(){
			$(this).css("cursor","auto").css("color","#00f");
			window.defaultStatus = "";
		});
		$(".entry-related span", $(this)).click(function(){
			$(".popup").remove();
			$(this).parent().append('<div id="relate_popup" class="popup"><p>このエントリの関連記事を読み込んでいます……</p></div>');
			var position = $(this).position();
			if(max > 0 && position.left > max * 3/4) 
				$("#relate_popup").css("right", (max - position.left - 10)+"px").css("left", "auto");
			else 
				$("#relate_popup").css("left", (position.left - 10)+"px").css("right", "auto");
			$.getJSON(uri+".json", function(json) {
				$("#relate_popup").html('<button id="relate_toggle" class="toggle">×</button><dl><dt>未来方向</dt></dl>');
				for(i in json.futures) {
					var each = json.futures[i];
					$("#relate_popup dl").append('<dd>('+each.date+')<a href="'+each.uri+'">'+each.title+'</a></dd>');
				}
				if(!json.futures.length) $("#relate_popup dl").append("<dd>見つかりませんでした。</dd>");
				$("#relate_popup dl").append('<dt>過去方向</dt>');
				for(i in json.pasts) {
					var each = json.pasts[i];
					$("#relate_popup dl").append('<dd>('+each.date+')<a href="'+each.uri+'">'+each.title+'</a></dd>');
				}
				if(!json.pasts.length) $("#relate_popup dl").append("<dd>見つかりませんでした。</dd>");
				$("#relate_toggle").click(function(){
					$("#relate_popup").remove();
				});
			});
		});
	});
});
