// JavaScript Document
(function($){
    $.fn.kstumblr=function(config){
        /* 引数の初期値を設定（カンマ区切り） */
        var defaults={
			url:"http://tumblr.lilting.ch/",
            view_time:5000,
			//フェード時間
			fade_time:2000,
			//画像表示のずれ
			img_time:500,
			//1回の表示画像数
			view_image_num:4
        }
        var options=$.extend(defaults, config);
		o=options;
		$(document).ready(function() {
			//表示時間
			view_time = o.view_time;
			//フェード時間
			fade_time = o.fade_time;
			//画像表示のずれ
			img_time = o.img_time;
			//1回の表示画像数
			view_image_num = o.view_image_num;
			$.getJSON(o.url+"api/read/json?callback=?", function(data, status){
				//画像ファイルを追加
				var cnt = 0;
				var loopcount = (data["posts-total"] < 20)?data["posts-total"]:20;
				var add_html = '<span><a href="http://'+data["tumblelog"]["cname"]+'">'+data["tumblelog"]["title"]+"</a></span>"
				var div_flag = false;
				var div_num = 0;
				for(var i = 0;i < loopcount;i++)
				{
					if(data["posts"][i]["type"] == "photo")
					{
						if(div_flag == false)
						{
							add_html += '<div style="display:none;">';
							div_flag = true;
							++div_num;
						}
						add_html += '<a href="'+data["posts"][i]["url"]+'" title="'+data["posts"][i]["photo-caption"]+'"><img src="'+data["posts"][i]["photo-url-75"]+'" width="75" height="75" style="width:75px; height:75px;display:none;"></a>';
						++cnt;
						if(cnt == view_image_num)
						{
							add_html += '</div>';
							cnt = 0;
							div_flag = false;
						}
					}
				}
				if(div_flag == true)
				{
					add_html += '</div>';
				}
				$("#kstumblr").append(add_html);

				var img_num = $("#kstumblr > div:eq(0) > a").size();
				if(img_num > 0)
				{
					fadeLoop(div_num - 1,0);
				}else{
					$("#kstumblr").append("No Image");
				}
			});

			function fadeLoop(div_num,i)
			{
				//画像の数。ここはグローバル
				img_num = $("#kstumblr > div:eq("+i+") > a").size();
				//フェードインの帳尻あわせ
				//全部表示にimg_num * img_time + fade_time 秒かかる
				//全部消えるのにも同じ時間かかる
				var add_time = (img_num * img_time + fade_time) * 2;

				$("#kstumblr > div:eq("+i+")").show();
				for(s=0;s<img_num;s++)
				{
					//画像を表示
					setTimeout('$("#kstumblr > div:eq('+i+') > a:eq('+s+') > img").fadeIn('+fade_time+')',(s+1) * img_time);
					setTimeout('$("#kstumblr > div:eq('+i+') > a:eq('+s+') > img").fadeOut('+fade_time+')',(img_num - s) * img_time + fade_time + view_time);
				}
				setTimeout(function(){$("#kstumblr > div:eq("+i+")").fadeOut(fade_time);},view_time + add_time);
				setTimeout(function(){for(y=0;y<img_num;y++){$("#kstumblr > div:eq("+i+") > img:eq("+y+")").hide();}},view_time + add_time);
				s = i + 1;
				if(s > div_num)
				{
					s = 0;
				}
				setTimeout(function(){fadeLoop(div_num,s);},view_time + add_time - fade_time);
			}
		});
	};
})(jQuery);