function relative_time(time_value) {
  time_values = time_value.split(" ");
  time_value = time_values[1]+" "+time_values[2]+", "+time_values[5]+" "+time_values[3];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset()*60);
  if(delta < 60) {
    return 'less than a minute ago';
  } else if(delta < 120) {
    return 'about a minute ago';
  } else if(delta < (45*60)) {
    return (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (90*60)) {
    return 'about an hour ago';
  } else if(delta < (24*60*60)) {
    return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
    return '1 day ago';
  } else {
    return (parseInt(delta / 86400)).toString() + ' days ago';
  }
}
function twitterCallback(obj) {
  var t = document.getElementById('twitter');
  for ( i=0; i<obj.length; i++) {
    t_mdl = document.createElement("div");
    t_mdl.setAttribute("class","twitter_middle");
    t_text = document.createElement("span");
    t_text.setAttribute("class","twitter_text");
    t_text.innerHTML = obj[i].text;
    t_mdl.appendChild(t_text);
    t_time = document.createElement("span");
    t_time.setAttribute("class","twitter_time");
    t_time.innerHTML = relative_time(obj[i].created_at);
    t_mdl.appendChild(t_time);
    t.appendChild(t_mdl);
  }
}
/*
function twitterCallback(obj) {
	var t = document.getElementById('twitter');
	t.innerHTML += '<ul>';
	for ( i=0; i<obj.length; i++) {
		t.innerHTML += '<li>'+obj[i].text+' : '+relative_time(obj[i].created_at)+'</li>';
	}
	t.innerHTML += '</ul>';
}*/

document.write(
 '<scr'+'ipt '
+'type="text/javascript" '
+'src="http://www.twitter.com/statuses/user_timeline/kyo_morimori.json?callback=twitterCallback&count=3">'
+'</scr'+'ipt>'
);