

jQuery.fn.reverse = Array.prototype.reverse;
String.prototype.linkify = function()
{
return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/g, function(m)
{
return m.link(m);
});
};

String.prototype.linkuser = function()
{
return this.replace(/[@]+[A-Za-z0-9-_]+/g, function(u)
{
var username = u.replace("@","")
return u.link("http://twitter.com/"+username);
});
};

String.prototype.linktag = function()
{
return this.replace(/[#]+[A-Za-z0-9-_]+/, function(t)
{
var tag = t.replace("#","%23")
return t.link("http://search.twitter.com/search?q="+tag);
});

};
function fetch_tweets(elem)
{
elem = $(elem);
input = elem.attr('title');
if(input != window.twitter['text-'+input])
{
window.twitter['last_id'+input] = 0;
window.twitter['text-'+input] 	= input;
window.twitter['count-'+input]  = 4;
}


if(window.twitter['count-'+input] > 10){window.twitter['count-'+input] = 0;}

var url = "http://search.twitter.com/search.json?q="+input+"&lang=ja&rpp="+rrp+"&since_id="+window.twitter['last_id'+input]+"&callback=?";


$.getJSON(url, function(json)
{

$('div.tweet:gt('+window.twitter['limit']+')',elem).each(function(){$(this).fadeOut('slow')});

$(json.results).reverse().each(function()
{
if($('#tw'+this.id,elem).length == 0)
{
window.twitter['count-'+input]++;

var thedate = new Date(Date.parse(this.created_at));
var twtext = this.text.linkify().linkuser().linktag();
twtext = twtext.replace(/<\/?[^>]+>/gi, "");

if (twtext.length >= 50){twtext = twtext.substring(0, 50) + '...';}


var divstr = '<div id="tw'+this.id+'" class="tweet clearfix"><img width="48" height="48" src="'+this.profile_image_url+'" ><p class="text"><b><a href="http://twitter.com/'+this.from_user+'" target="_blank">'+this.from_user+'</a></b><br />'+twtext+'</p></div>';

window.twitter['last_id'+input] = this.id;

elem.prepend(divstr);
$('#tw'+this.id,elem).hide();
$('#tw'+this.id+' img',elem).hide();
$('#tw'+this.id+' img',elem).fadeIn(4000);
$('#tw'+this.id,elem).fadeIn('slow');
}
});
input = escape(input);
rrp = 1;
setTimeout(function(){fetch_tweets(elem)},5000);
});

return(false);
}

$(document).ready(function(){

window.twitter = {};
$('.rosetwee').each(function(e)	{

rrp = 6;
fetch_tweets(this);
});

$('#slidebox').slideDown(1000);




});
