$.fn.extend({
	twitterize:function(username, options) {
		if (username) {
			var defaultSettings = {};
			var settings=$.extend(defaultSettings, options);
			
			var url = "http://twitter.com/status/user_timeline/"+username+".json?callback=?";
			var holder = this;
			
			var param = {q: "jquery"};
			$.getJSON(url, param, function(data) {
				holder.append("<div id=\"account\" class=\"clearfix\">"+
				"<img class=\"icon\" src=\""+data[0].user.profile_image_url+"\" />"+
				"<span class=\"name\">@"+username+"</span>"+
				"<a href=\"http://twitter.com/"+username+"\" id=\"followButton\">follow me!</a>"+
				"</div>");
				holder.append("<div class=\"content\">"+
				"<p>"+data[0].text.makeLinks()+"</p>"+
				"<p><a href=\"http://twitter.com/"+username+"/status/"+data[0].id+"\">"+data[0].created_at.getDateStr()+"</a></p>"+
				"</div>");
				/*
				$.each(data, function(i, item) {
					holder.append("<p>"+item.text.makeLinks()+"</p>");
					holder.append("<p><a href=\"http://twitter.com/"+username+"/status/"+item.id+"\">"+item.created_at.getDateStr()+"</a></p>");
				});
				*/
			});
		} else {
			console.debug("ユーザー名は必須です");
		}
		
		String.prototype.makeLinks = function() {
			return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(str) {
			    return str.link(str);
			 });
		};
		
		String.prototype.getDateStr = function() {
			var month_str = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
			var tweet_date = new Date(this);
			var date = new Date();
			var distance_date = date - tweet_date;
			
			var time_str = tweet_date.getHours() >= 12 ? tweet_date.getHours()-12+":" + tweet_date.getMinutes() + " PM" : tweet_date.getHours()+":" + tweet_date.getMinutes() + " AM";
			return time_str + " " + month_str[tweet_date.getMonth()] + " " + tweet_date.getDate() + "th";
		};
		
		return this;
	},
	scrollTo : function(speed, easing) {
		if(!$(this)[0].hash || $(this)[0].hash == "#") {
			return false;
		}
		
		return this.each(function() {
			var targetOffset = $($(this)[0].hash).offset().top;
			$('html,body').animate({scrollTop: targetOffset}, speed, easing);
		});
	}
});

$(document).ready(function(){
	$("#twitterOfficial").twitterize("fdttan");
	
	$("form#search > input#searchinput").focus(function(){
		$(this).attr("value", "");
	});
});
