﻿// 設定

var userID = "JDRsumiya1927"; // twitterのアカウント名
var tweetCount = 3;     // 表示したいツイート件数
var target = "#whatsnew dl";  // 表示したい場所を指定（ID名・クラス名など）

// スクリプトここから

$(function(){
	var tweeturl="http://twitter.com/status/user_timeline/" + userID + ".json?count=" + tweetCount + "&callback=?";
	
	$.getJSON(tweeturl, function(data){

	// JSONデータ読み込み
		$.each(data, function(i, item){
			var tweet = item.text
				// ハッシュタグとリプライを削除
				.replace(/@+([_A-Za-z0-9-]+)/ig, '')
				.replace(/#+([_A-Za-z0-9-]+)/ig, '');
				
			// 日時データを要素分解
			var created_at = item.created_at.split(" ");
			// 投稿日時変換 "Mon Dec 01 14:24:26 +0000 2008" -> "Dec 01, 2008 14:24:26"
			var post_date  = created_at[1] + " "
			               + created_at[2] + ", "
			               + created_at[5] + " "
			               + created_at[3];
			// 日時データ処理
			var date = new Date(post_date);     // 日付文字列 -> オブジェクト変換
			date.setHours(date.getHours() + 9); // UTC -> JST (+9時間)
			var year = date.getFullYear();
			var month  = date.getMonth() + 1;     // 月取得
			
			if (month == 1){ var monthName = "January" }
				else if (month == 2){ var monthName = "February" }
				else if (month == 3){ var monthName = "March" }
				else if (month == 4){ var monthName = "April" }
				else if (month == 5){ var monthName = "May" }
				else if (month == 6){ var monthName = "June" }
				else if (month == 7){ var monthName = "July" }
				else if (month == 8){ var monthName = "August" }
				else if (month == 9){ var monthName = "September" }
				else if (month == 10){ var monthName = "October" }
				else if (month == 11){ var monthName = "November" }
				else if (month == 12){ var monthName = "December" }
			
			var day  = date.getDate();          // 日取得
			var hour = date.getHours();
			var minute = date.getMinutes();
			if (minute < 10){
				minute = "0" + minute;
			}

			var tweetDate = monthName + " " + day + ", " + year;
			
			// リンクがあるかチェック
			var linkTo = tweet.match(/https?:\/\/[-A-Za-z0-9._~:\/?#@!$&\'()*+,;=%]+/);
			
			if(linkTo){
				// リンクがある場合はURLの表示を消して<a>で囲む
				var txt = tweet.replace(/(https?:\/\/[-A-Za-z0-9._~:\/?#@!$&\'()*+,;=%]+)/ig,'');
				var txt = '<a href=\"' + linkTo + '\">' + txt + '</a>';
			} else {
				// リンクがない場合はそのまま表示
				var txt = tweet;
			}
			
			// ターゲットに<p>で追加
			$("<dt class=\"loaded\">" + tweetDate + "</dd>").appendTo(target);
			$("<dd class=\"loaded\"></dd>").html(txt).appendTo(target);
		});

		$(target + " dt").fadeOut("slow");
		$(target + " dd").fadeOut("slow");
		$("dt.loaded").delay(600).fadeIn("slow");
		$("dd.loaded").delay(600).fadeIn("slow");

	});
});
