var $j = jQuery.noConflict();

var tweetRetrieve = function() {

	var getTweets = function() {
		var theUrl = 'http://api.twitter.com/1/statuses/user_timeline.json?include_entities=false&include_rts=false&screen_name=joshuasiegal&count=5'
		$j.ajax({
			url : theUrl,
			method: 'GET',
			dataType : 'jsonp',
			success: function(thedata) {
				displayTweets(thedata);
			},
			error: function(a,b,c) {
				//console.log(c.responseText);
			}
		});
	};
 
	var displayTweets = function(tdata) {
		$j('#tweetContainer').append('<ul id="tweetList"></ul>');
		for (i in tdata) {
			if (tdata.hasOwnProperty(i)) {
				var tText = twitterLink(tdata[i].text);
				var tDate = tdata[i]['created_at'].split(' ');
				var useDate = [ tDate[0], ", ", tDate[1], " ", tDate[2], ", ", tDate[5] ].join('');
				$j('#tweetList').append('<li>'+tText+'<br /><span class="tweetDate">'+useDate+'</span></li>')
			}
		}
	
	};
	
	var twitterLink = function(tString) {
		var tlString = tString;

	    var lexp = /(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
	    tlString = tlString.replace(lexp,'<a href="$1" target="_blank" class="tLink">$1</a>'); 
		
		var aexp = tlString.match(/(^|\s)@\S+/gi);
		if (!!aexp && aexp.length) {
			//TO DO: for in - multiples here?
			var theAt = $j.trim(aexp[0]);
			tlString = tlString.replace(theAt,'<a href="http://twitter.com/#!/search/'+theAt+'" target="_blank" class="tLink">'+theAt+'</a>');
		}
		
		var hexp = tlString.match(/(^|\s)#\S+/gi);
		if (!!hexp && aexp.length) {
			var theHash = $j.trim(hexp[0]);
			tlString = tlString.replace(theHash,'<a href="http://twitter.com/#!/search/'+theHash+'" target="_blank" class="tLink">'+theHash+'</a>');
		}
		
		return tlString;
		
	};

	return { getTweets:getTweets };

}($j);

$j(function() {
	tweetRetrieve.getTweets();
});
