﻿(function(){
	var attach = (function(){
		if(window.addEventListener){
			return function(ele, event, func){
				ele.addEventListener(event, func, false);
			};
		}else if(window.attachEvent){
			return function(ele, event, func){
				ele.attachEvent("on" + event, func);
			};
		}else{
			return function(ele, event, func){
				var old_eve = ele["on" + event];
				ele["on" + event] = function(){
					func.apply(this, arguments);
					old_eve && old_eve.apply(this, arguments);
				};
			}
		}
	})();
	
	attach(window, "load", function(){
		var today = new Date();
		(function(y, m){
			var http = new XMLHttpRequest, f = false, callee = arguments.callee;
			var dates = [undefined, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
			http.open("GET", "/log/" + y + "/" + (m < 10 ? "0" + m : m) + "/" + "index.html", true);
			
			http.onreadystatechange = function(){
				if(http.readyState == 4){
					if(http.status == 200){
						if(!f){
							f = !f;
							
							var div = document.createElement("div");
							var body = document.getElementsByTagName("body").item(0);
							
							div.innerHTML = http.responseText
								.replace(/[\r\n]+/g, "")								//改行を削除
								.replace(/\t+/g, "")									//タブを削除
								.replace(/<!--.*?-->/g, "")								//コメントを削除
								.replace(/<head[^>]*>.*?<\/head>/g, "")					//ヘッダーの内容を削除
								.replace(/<style[^>]*\/?>(?:.*?<\/style>)?/g, "")		//スタイル要素を削除
								.replace(/<script[^>]*>.*?<\/script>/g, "")				//スクリプト要素を削除
								.replace(/<img[^>]*\/?>(?:.*?<\/img>)?/g, "")			//イメージ要素を削除
								.replace(/<noscript[^>]*>.*?<\/noscript>/g, "")			//スクリプト要素を削除
								.replace(/<\?xml[^>]+?>/g, "")							//XML宣言などを削除
								.replace(/<!DOCTYPE[^>]+>/, "")							//HTML宣言を削除
							;
							
							div.style.display = "none";
							
							body.appendChild(div);
							
							for(var d = dates[m]; d >= 1; --d){
								var ele = document.getElementById("d" + y + (m < 10 ? "0" + m : m) + (d < 10 ? "0" + d : d));
								if(ele){
									var eles = ele.getElementsByTagName("*");
									for(var i = eles.length - 1; i >= 0; --i){
										var e = eles.item(i);
										if(e.className == "fin"){
											var de = e.innerHTML;
											(function(y, m, d, h, mi){
												
												if( h <= 12 ){
													
													d = --d;
													
													document.getElementById("new_diary_link").innerHTML = '徒然日記 <a href="http://hirodoki.web.fc2.com/log/' + y + '/' + m + '/">' + y + '年' + m + '月' + d  +'日</a> 更新。';
													
													d = ++d;
												}else{
													
													document.getElementById("new_diary_link").innerHTML = '徒然日記 <a href="http://hirodoki.web.fc2.com/log/' + y + '/' + m + '/">' + y + '年' + m + '月' + d  +'日</a> 更新。';
													
												}
												
												var LastDay = new Date( y , m - 1 , d , h , mi , 0 );
												///経過日を算出///
												var PassDay = ( today.getTime() - LastDay.getTime() ) / ( 24 * 3600 * 1000 );
												///経過時を算出///
												var PassHour = 24 * ( PassDay  -  Math.floor( PassDay ) );
												///経過分を算出///
												var PassMinute = 60 * ( PassHour - Math.floor( PassHour ) );
												
												
												
												document.getElementById("passed_time").innerHTML = "最終更新から <b>" + ( PassDay >= 1 ? Math.floor( PassDay ) + "</b> 日と <b>" : "" ) + ( PassHour >= 1 ? Math.floor( PassHour ) + "</b> 時間 <b>" : "" ) + Math.floor( PassMinute ) + "</b> 分経過" ;
												
											})(de.substring(3, 7), de.substring(8, 10), de.substring(11, 13), de.substring(14, 16), de.substring(17, 19));
											break;
										}
									}
									
									break;
								}
							}
							body.removeChild(div);
							
							if(d == 0)
								if(m == 1)
									callee(y - 1, 12);
								else
									callee(y, m - 1);
						}
					}else if(http.status == 404){
						if(!f){
							f = !f;
							
							if(y == 2008 && m == 8) return;
							
							if(m == 1)
								callee(y - 1, 12);
							else
								callee(y, m - 1);
						}
					}
				}
			};
			
			http.send(null);
		})(today.getFullYear(), today.getMonth() + 1);
	});
})();
/*
2009/01/05 更新 日付リンク部分の日付表示を変更。
2008/12/20 更新 リンクの<a href="X">部分のXの#以下を削除。常に徒然日記のトップから閲覧するようになる。
2008/09/11 更新
2008/09/03 更新
2008/08/14 製作
製作者 みみず・くらげ
*/