var twitterArr = [];
var twitterInited = 0;
var twitterWordsSearch = ['augmented reality', '#augmentedreality'];
var twitterURL = "http://search.twitter.com/search.json?q="+escape(twitterWordsSearch.join(' OR '))+"&callback=?";


function format_txt(res) {
	//res = res.replace(/(gissisim)/ig, '<strong class="twitterfeeds">$1</strong>');	
	res = res.makeLink();
	res = res.makeBold();
	return res;
}

function linkup(link)
{
	link = link.replace('&lt;a href=&quot;','<a href="');
	link = link.replace('&quot;&gt;','">');
	link = link.replace('&lt;/a&gt;','</a>');
	return link;
}

String.prototype.makeLink = function() {
	return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/~.=]+/, function(m) {
		return '<a href="'+m+'" target="_blank">'+m+'</a>';
	});
};

String.prototype.makeBold = function() {
	var i;
	var word;
	var regexp;
	var text = this;
	for (i=0; i<twitterWordsSearch.length; i++) {
		word = twitterWordsSearch[i];
		regexp = new RegExp('('+word+')', 'ig');		
		text = text.replace(regexp, '<strong>$1</strong>');
	}
	
	return text;
};

function get_time(time_value) { 
	var valArr = time_value.split(" ");
	time_value = valArr[2] + " " + valArr[1] + ", " + valArr[3] + " " + valArr[4];
	var parsedDt = Date.parse(time_value);
	var relTo = (arguments.length > 1) ? arguments[1] : new Date();
	var secs = parseInt((relTo.getTime() - parsedDt) / 1000);
	secs = secs + (relTo.getTimezoneOffset() * 60);

	var r = '';
	if (secs < 60) {
		r = 'a minute ago';
	} else if(secs < 120) {
		r = 'couple of minutes ago';
	} else if(secs < (45*60)) {
		r = (parseInt(secs / 60)).toString() + ' minutes ago';
	} else if(secs < (90*60)) {
		r = 'an hour ago';
	} else if(secs < (24*60*60)) {
		r = '' + (parseInt(secs / 3600)).toString() + ' hours ago';
	} else if(secs < (48*60*60)) {
		r = '1 day ago';
	} else {

		r = (parseInt(secs / 86400)).toString() + ' days ago';
	}

	return r;
}

function callSearchTimeout() {
	setTimeout(getSearchTwitter, 10000);
}

function getSearchTwitter() {
    jQuery.getJSON(twitterURL,
    function(response) {
            if( response.results ) {
                    var i = -1;
                    var result;
                    var html_output='';

                    while( (result = response.results[++i]) && !twitterArr[result.id] ) {
                            twitterArr[result.id] = result.from_user;

                            q = result.text.replace(/#\w+/g, '');
                            q = q.replace(/(RT\s+|RT\s+:\s+|RT\:\s+|RT\s+:|RT:\RT)@(\w+\s+\:|\w+\:|\w+)/g, '');
                            q = q.replace(/@(\w+\s+\:|\w+\:|\w+)/g, '');
                            q = q.replace(/\:\s+/g, '');
                            q = q.replace(/(http|https):\/\/.*?(\s+|$)/g, '');
                            q = q.replace(/\./g,'');
							q = jQuery.trim(q)

                            html_output += '<li id="TwitterId'+ result.id +'">'
                            	+ '<div class="avatar">'
                            	+ '<a href="http://www.twitter.com/'+result.from_user+'" title="Go to profile" target="_blank">'
                            	+ '<img src="'+result['profile_image_url']+'" alt="Profile Image"  class="userImg"/>'
                            	+ '</a>'
                            	+ '</div>'
                            	+ '<div class="content">'
                            	+ '<a class="username" href="http://www.twitter.com/'+result.from_user+'" title="Go to profile" target="_blank">'
                            	+ result.from_user
                            	+ '</a>'
                            	+ format_txt(result.text) + '<br />'
                            	+ '<span class="feedInfo">'+get_time(result.created_at)+' via '
                            	+ linkup(result.source) + '</span>'
                            	+ '</div>'
                            	+ '<div class="clearing"><!-- --></div>'
                            	+ '</li>';                                    
                    }
                    
                    if( html_output !== '' ) {
                    	jQuery("#tweets ul").prepend( html_output )
                    	
                    	if (twitterInited) {
                    		jQuery('#tweets ul').find('li:hidden').slideToggle('slow');
                    	} else {
                    		jQuery('#tweets ul').find('li:hidden').show();
                    		twitterInited = true;
                    	}
                    	
	                    jQuery("#tweets ul li:gt(5)").remove();	                    
                    }
                    
                    callSearchTimeout();
            }
    });
}

function callSearchTimeout() {
	setTimeout(getSearchTwitter, 10000);
}

$(document).ready(function() {
	getSearchTwitter();
});
