var initial_rrp=30; // 初期読み込み件数
var reload_rrp=5; // 再読み込み件数
var reload_interval=10000; // 再読み込み間隔
//var search_query='kizna -oO_Kizna310_Oo -kizna_youki -@oO_Kizna310_Oo -@kizna_youki -funboxclub -oreyomebot'; // 検索文字列
var search_query=' from:kizna_com'; // 検索文字列
var search_lang=''; // 検索言語

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);
	});
};
jQuery.fn.wait=function(time, type){
	time = time || 1000;
	type=type||"fx";
	return this.queue(type,function(){
		var self=this;
		setTimeout(function(){
			jQuery(self).dequeue();
		},time);
	});
};
function fetch_tweets(elem){
	elem=jQuery(elem);
	input=search_query;
	lang=search_lang;
	if(input!=window.monitter['loop1-'+input]){
		window.monitter['loop1-'+input]=input;
		window.monitter['last_id'+input]=0;
		elem.prepend('<div id="monitter-loading"><img src="/loadinfo-24.gif" alt="loading now"></div><div class="tweet"><img src="http://monitter.com/widget/favicon.gif" align="absmiddle" />&nbsp; real time twitter by: <a href="http://monitter.com/" target="_blank">monitter.com</a></div>');
	}
	var url="http://search.twitter.com/search.json?q="+input+"&lang="+lang+"&rpp="+rrp+"&since_id="+window.monitter['last_id'+input]+"&callback=?";
	jQuery.getJSON(url,function(json){
		jQuery('div.tweet:gt('+window.monitter['limit']+')',elem).each(function(){
			jQuery(this).fadeOut('slow');
		});
		jQuery(json.results).reverse().each(function(){
			if(jQuery('#tw'+this.id,elem).length==0){
				var divstr='<div id="tw'+this.id+'" class="tweet"><img width="48" height="48" src="'+this.profile_image_url+'" ><p class="text"><b><a href="http://twitter.com/'+this.from_user+'/status/'+this.id+'/" target="_blank">'+this.from_user+'</a></b>: '+this.text.linkify().linkuser().linktag()+'</p></div>';
				elem.prepend(divstr);
				jQuery('#tw'+this.id).hide();
				if(input!=window.monitter['loop2-'+input]){
					jQuery('#monitter-loading').hide();
					jQuery('#tw'+this.id).show();
				}else{
					jQuery('#tw'+this.id).slideDown(2000);
				}
				window.monitter['last_id'+input]=this.id;
			}
		});
		if(input!=window.monitter['loop2-'+input]){
			window.monitter['loop2-'+input]=input;
			rrp=reload_rrp;
		}
		input=escape(input);
		setTimeout(function(){
			fetch_tweets(elem)
		},reload_interval);
	});
	return(false);
}
jQuery(document).ready(function(){window.monitter={};jQuery('.monitter').each(function(e){rrp=initial_rrp;fetch_tweets(this);});});

