pageLoaded = false;
log = "";

function htmlLoaded() {
	pageLoaded = true;
	if (log.length > 0) {
		var elm = $$("div.center");
		elm[0].innerHTML = log + elm[0].innerHTML;
	}
}

function allLoaded() {
}

function innerText(element) {
	return element.innerHTML.replace(/<[^>]*>/g,'');
}

function twitterCallback2(status) {
	var list = new Array();
	var oldTimeStamp = "";
	for (var i=0; i<status.length; i++){
		oldTimeStamp = newTimeStamp;
		var newTimeStamp = relative_time(status[i].created_at);
		if (newTimeStamp != oldTimeStamp) {
			list.push('<li class="timestamp">');
			list.push(newTimeStamp);
			list.push(' :</li>');
		}
		var message = status[i].text
			.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g,
				function(url){
					return'<a href="' + url + '">' + url + "</a>"
				})
			.replace(/\B@([_a-z0-9]+)/ig,
				function(at){
					return at.charAt(0) + '<a href="http://www.twitter.com/' + at.substring(1) + '">' + at.substring(1) + "</a>"
				});
		message = message.replace(">http://www.nicovideo.jp/watch/", ">nv:");
		message = message.replace(">http://www.youtube.com/watch?v=", ">YT:");
		list.push("<li>");
		list.push(message);
		list.push("</li>");
	}
	$("twitter_update_list").innerHTML = list.join("");
}

function relative_time(time_str) {
	var now = new Date();
	var today = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 3, 0, 0);
	if (now.getHours() <= 3)
		today.setTime(today.getTime() - 24*3600*1000);
	var yesterday = new Date();
	yesterday.setTime(today.getTime() - 24*3600*1000);
	
	var p = time_str.split(" ");
	time_str = p[1] + " " + p[2] + ", " + p[5] + " " + p[3];
	
	var time_ms = Date.parse(time_str) - now.getTimezoneOffset() * 60*1000;
	var time_date = new Date();
	time_date.setTime(time_ms);
	
	var delta1 = parseInt((now.getTime()   - time_ms) / 1000);
	var delta2 = parseInt((today.getTime() - time_ms) / 1000);

	if (delta1 < 2*3600) {
		return "&#x3055;&#x3063;&#x304D;";
	}
	else if (time_date > today) {
		return "&#x304D;&#x3087;&#x3046;";
	}
	else if (time_date > yesterday) {
		return "&#x304D;&#x306E;&#x3046;";
	}
	else {
	  return (Math.ceil(delta2 / 86400)).toString() + "&#x65E5;&#x524D;";
	}
}

function debug(s) {
	s = 'debug : ' +  s + '<br>';
	if (pageLoaded) {
		var elm = $$("div.center");
		elm[0].innerHTML = s + elm[0].innerHTML;
	}
	else {
		log += s;
	}
}