
function importTweets() {
	var script = document.createElement('script');
	script.src = "http://twitter.com/javascripts/blogger.js";
	document.body.appendChild(script);
	
	var script2 = document.createElement('script');
	script2.src = "http://twitter.com/statuses/user_timeline/TBWardle.json?callback=twitterCallback&count=5";
	document.body.appendChild(script2);
	
	var tumblr = document.createElement('script');
	tumblr.src = "http://tomwardle.tumblr.com/api/read/json?callback=tumblrCallback";
	document.body.appendChild(tumblr);
}

function tumblrCallback(data) {
	var i = 0;
	var post = data.posts[i];
	while (post.type != "regular" && post.type != "quote" && post.type != "photo" && post.type != "link") {
		i++;
		post = data.posts[i];
	}
	var news = document.getElementById('news');
	news.innerHTML = "";
	
	var title = document.createElement('h2');
	title.innerHTML = "News";
	news.appendChild(title);
	
	var date = document.createElement('p');
	date.className = 'date';
	date.innerHTML = post['date'];
	
	switch (post.type) {
		
		case "regular":
			var postTitle = document.createElement('h3');
			postTitle.innerHTML = post['regular-title'];
			news.appendChild(postTitle);
			news.appendChild(date);
			
			news.innerHTML = news.innerHTML + post['regular-body'];
			
			break;
		case "quote":
			var postTitle = document.createElement('h3');
			postTitle.innerHTML = '&ldquo;' + post['quote-text'] + '&rdquo;';
			
			var source = document.createElement('p');
			source.className = 'source';
			source.innerHTML = '&nbsp; &mdash; ' + post['quote-source'];
			
			news.appendChild(postTitle);
			news.appendChild(source);
			news.appendChild(date);
			break;
		case "photo":
			var img = document.createElement('img');
			img.src = post['photo-url-250'];
			
			var caption = document.createElement('div');
			caption.innerHTML = post['photo-caption'];
			news.appendChild(img);
			news.appendChild(caption);
			news.appendChild(date);
			break;
		case "link":
			var postTitle = document.createElement('h3');
			postTitle.innerHTML = '<a href="'+post['link-url']+'">' + post['link-text'] + '&raquo;</a>';
			
			news.appendChild(postTitle);
			
			if (post['link-description']) {
				var description = document.createElement('p');
				description.innerHTML = post['link-description'];
				
				news.appendChild(description);
			}
	}
}


/*
<li>
	<p class="tweet"><a href="#">@noblematt</a> Please do. Wives and girlfriends also welcome.</p>
	<p class="date"><a href="#">3:42 PM Aug 14th</a></p>
</li>
*/
function twitterCallback(data) {
	var ul = document.createElement('ul');
	ul.className = 'tweetlist';
	for (var I in data) {
		var i = parseInt(I);
		var li = document.createElement('li');
		var tweet = document.createElement('p');
		tweet.className = 'tweet';
		tweet.innerHTML = addLinks(data[i].text);
		
		var date = document.createElement('p');
		date.className = 'date';
		date.innerHTML = convertDate(data[i].created_at);
		
		li.appendChild(tweet);
		li.appendChild(date);
		ul.appendChild(li);
		
	}
	document.getElementById('twitter').appendChild(ul);
}


function addLinks(tweet) {
	
	urlre = /(http:\/\/[a-zA-Z0-9_.\/\-]*)/g
	userre = /@(\w+)/g
	tagre = /#(\w+)/g
	var out = '';
	out = tweet.replace(urlre,'<a href="$1">$1</a>');
	out = out.replace(userre,'@<a href="http://twitter.com/$1">$1</a>');
	out = out.replace(tagre,'#<a href="http://twitter.com/search?q=%23$1">$1</a>')
	return out;
}

function convertDate(date) {
	//Twitter date format: Tue Sep 21 21:49:09 +0000 2010
	var output = date;
	var words = date.split(' ');
	output = words[1]+' '+words[2]+' '+words[5]+', '+words[3].slice(0,5);
	return output;
}
