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');
	lang=elem.attr('lang');
	if(input!=window.monitter['text-'+input]){
		window.monitter['last_id'+input]=0;window.monitter['text-'+input]=input;
		window.monitter['count-'+input]=12;;
	}
	
	//if(window.monitter['count-'+input]>10){
		//elem.prepend('<div class="tweet"><img src="http://monitter.com/widget/favicon.gif" align="absmiddle" />real time twitter by: <a href="http://monitter.com" target="_blank">monitter.com</a></div>');
		//window.monitter['count-'+input]=0;
	//}
	
	//var url="http://search.twitter.com/search.json?q="+input+"&lang="+lang+"&rpp="+rrp+"&since_id="+window.monitter['last_id'+input]+"&callback=?";
	//var url="http://search.twitter.com/search.json?q="+input+"&lang="+lang+"&rpp="+rrp+"&since_id="+window.monitter['last_id'+input]+"&callback=?";
	var url="http://search.twitter.com/search.json?q=&ands=&phrase="+input+"&nots=filter%3Alinks&lang="+lang+"&rpp="+rrp+"&since_id="+window.monitter['last_id'+input]+"&callback=?";
	
	$.getJSON(url,function(json){
		$('div.tweet:gt('+window.monitter['limit']+')',elem).each(function(){
			$(this).fadeOut('slow')
		});
		$(json.results).reverse().each(function(){
			
			// @-merkin poisto alla
			
		// 	if(this.text.indexOf('@') >= 0) {
//			return false;
//			}
		
			if($('#tw'+this.id,elem).length==0){
				window.monitter['count-'+input]++;
				var thedate=new Date(Date.parse(this.created_at));
				var thedatestr=thedate.getHours()+':'+thedate.getMinutes();
				var divstr='<div id="tw'+this.id+'" class="tweet"><p class="text">'+this.text.linkify().linkuser().linktag()+'<br /><span class="user">'+this.from_user+' &nbsp;-&nbsp;'+thedatestr+'</span></p></div>';
				
				var re = new RegExp(highlight, 'gi');  			//viljami moding
				divstr = divstr.replace(re,highlightTo)			//viljami moding
				divstr = divstr.replace('<3','&#9829;')
				
				window.monitter['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(1000);
				$('#tw'+this.id,elem).fadeIn(2000);
			}
		});
		input=escape(input);
		rrp=1;
		setTimeout(function(){fetch_tweets(elem)},2000);
	});
	return(false);
}

$(document).ready(function(){
	window.monitter={};
	$('.monitter').each(function(e){
		rrp=6;
		fetch_tweets(this);
	});
});


