﻿
$(document).ready(function()
{
	// 表示する場所と、内部のCLASS指定
	var tw_body = "mytweet";
	var t_text = "tw_text";
	var t_text2 = "tw_text2";
	var t_time = "tw_time";
	var t_source = "tw_source";

	var tw_name = "nailekomomai";
	var tstr = t_text;

	/*
	構造
	<p class='tw_text'>
	[取得した本文]<br />
	<span class='tw_time'>[投稿日時]</span> <span class='tw_source'>[投稿場所]から</span>
	</p>

	末尾のラインがない＝最後のつぶやき
	<p class='tw_text2'>
	[取得した本文]<br />
	<span class='tw_time'>[投稿日時]</span> <span class='tw_source'>[投稿場所]から</span>
	</p>
	*/

	$.getJSON('http://twitter.com/statuses/user_timeline/'+ tw_name +'.json?callback=?', function(json)
	{
		var len = json.length;
		len = 5;
		$("#" + tw_body).text("");

		//配列に入れる
		for (var i = 0; i < len; i++)
		{
			if (i == len - 1)	// 最後のつぶやきなら、スタイルを変更
			{
				tstr = t_text2;
			}
//			$("#mytweet").append("<p class='tw_text'>" + formatTwitString(json[i].text) + "<br \/><span class='tw_time'>"+ getTimeFormat(json[i].created_at) +"<\/span> <span class='tw_source'>"+ json[i].source +"から<\/span><\/p>");
			$("#" + tw_body).append("<p class='"+tstr+"'>" + formatTwitString(json[i].text) + "<br \/><span class='"+t_time+"'>"+ getTimeFormat(json[i].created_at) +"<\/span> <span class='"+t_source+"'>"+ json[i].source +"から<\/span><\/p>");
		}
	});

	// The original is [http://gihyo.jp/design/serial/01/jquery-site-production/0020]
	function formatTwitString(str)
	{
		str = ' ' + str;
		str = str.replace(/(http:\/\/[\x21-\x7e]+)/gi,'<a href="$1">$1</a>')
			.replace(/#(\w+)/g,'<a href="http://twitter.com/#search?q=%23$1">#$1</a>')
			.replace(/\@(\w+)/g,'<a href="http://twitter.com/$1">@$1</a>');
		return str;
	}

	function getTimeFormat(defTime)
	{
		// 0   1   2  3        4     5
		// Fri Jan 01 01:23:45 +0000 2010
		var tary = defTime.split(' ');
		var tdate = tary[1] + " " + tary[2] + ', ' + tary[5] + ' ' + tary[3];

		var myToday = new Date(tdate);
		myToday.setHours(myToday.getHours() + 9); // 日本時間（＋9時間）に変換
		var nowD =new Date();
		var myTime = (myToday.getHours()%12)+':'+ ((myToday.getMinutes()<10)?'0':'')+myToday.getMinutes() + ' ' + ((myToday.getHours()>11)?'PM':'AM');
		var myYear = myToday.getFullYear();
		var myDate = myToday.getDate();
		myDate += (myDate==1)?'st':((myDate==2)?'nd':((myDate==3)?'rd':'th'));

		var diftime = parseInt((nowD.getTime() - myToday.getTime()) / 1000);

		if (diftime < 60)	return "たった今";
		if (diftime < 3600)	return parseInt(diftime/60) + "分前";
//		if (diftime < 3600*24)	return "約"+parseInt(diftime/3600) + "時間前";
		if (diftime < 3600*23.5)return "約"+Math.round(diftime/3600) + "時間前";

		var dateArr = (myToday+"").split(' ');
		return myTime + ' ' +dateArr[1]+' '+myDate+ ' '+(myYear!=myToday.getFullYear()?' '+myYear:'');

	}
});

