
function searchTweet(param) {
	param.callback = 'searchTweetCallback';
	param.rpp      = 8;
	param._now     = new Date();
	
	var script  = document.createElement('script');
	script.type = 'text/javascript';
	script.src  = 'http://search.twitter.com/search.json?' + createQuery(param);
	document.body.appendChild(script);
}

function searchTweetCallback(data) {
    // データが取得できているかチェック
    if (!data) return;
    var list = data.results;
    if (!list) return;
    if (!list.length) return;

    // 各画像を表示する
    var div = document.getElementById('twitter');
    while (div.lastChild) { 
        div.removeChild(div.lastChild);
    }
	
    for (var i=0; i<list.length; i++) {
        var tweet = list[i];
		var tweetDiv = document.createElement("div");
		tweetDiv.className = "tweet";
		
		var avatarDiv = document.createElement("div");
		avatarDiv.className = "avatar";
		var avatarImg = document.createElement("img");
		avatarImg.src = tweet.profile_image_url;
		avatarImg.style.width = "30px";
		avatarImg.style.height = "30px";
		avatarDiv.appendChild(avatarImg);
		tweetDiv.appendChild(avatarDiv);
		
		var textDiv = document.createElement("div");
		textDiv.className = "text";
		var userLink = document.createElement("a");
		userLink.className = "user";
		userLink.href = "http://twitter.com/" + tweet.from_user;
		userLink.appendChild(document.createTextNode(tweet.from_user));
		textDiv.appendChild(userLink);
		
		textDiv.appendChild(document.createTextNode(" "));
		
		var textSpan = document.createElement("span");
		textSpan.innerHTML = hashLink(tweet.text);
		textDiv.appendChild(textSpan);
		
		var dateLink = document.createElement("a");
		dateLink.href = "http://twitter.com/" + tweet.from_user + "/status/" + tweet.id;
		dateLink.appendChild(document.createTextNode(formatDate(tweet.created_at)));
		var dateDiv = document.createElement("div");
		dateDiv.className = "date";
		dateDiv.appendChild(dateLink);
		
		tweetDiv.appendChild(textDiv);
		tweetDiv.appendChild(dateDiv);
		
		div.appendChild(tweetDiv);
    }
}

function formatDate(h){
	var j=new Date();
	var f=new Date(h);
	if (document.all){
		f=Date.parse(h.replace(/( \+)/," UTC$1"))
	}
	var i=j-f;
	var c=1000,d=c*60,e=d*60,g=e*24,b=g*7;
	if(isNaN(i)||i<0){return""}
	if(i<c*7){return"right now"}
	if(i<d){return Math.floor(i/c)+" seconds ago"}
	if(i<d*2){return"about 1 minute ago"}
	if(i<e){return Math.floor(i/d)+" minutes ago"}
	if(i<e*2){return"about 1 hour ago"}
	if(i<g){return Math.floor(i/e)+" hours ago"}
	if(i>g&&i<g*2){return"yesterday"}
	if(i<g*365){return Math.floor(i/g)+" days ago"}
	else{return"over a year ago"}
};

function hashLink(b) {
	return b.replace(/\b(((https*\:\/\/)|www\.).+?)(([!?,.\)]+)?(\s|$))/g,function(h,g,e,d,c){
		var f=e.match(/w/)?"http://":"";return'<a target="_blank" href="' + f + g + '">'+((g.length>25)?g.substr(0,24)+"...":g)+"</a>"+c;
	}).replace(/\B\#(\w+)/gi, function(c, d) {
		return '<a target="_blank" href="http://twitter.com/search?q=%23' + d + '">#' + d + "</a>";
	}).replace(/\B\@(\w+)/gi, function(c, d) {
		return '<a target="_blank" href="http://twitter.com/' + d + '">@' + d + "</a>";
	});
}


function formatNumber(num, len) {
	var s = "0000000000" + num;
	return s.substr(s.length - len);
}


function createQuery(obj) {
    var list = [];
    for (var key in obj) {
        var k = encodeURIComponent(key);
        var v = encodeURIComponent(obj[key]);
        list[list.length] = k + '=' + v;
    }
    return list.join('&');
}




