function TwitterWidget(max)
{	
	var self = this;
	self.div = null;
	var curTime = 0;
	var maxTweets = 5;
	if (max && !isNaN(max))
		maxTweets = max;
	
	this.init = function(divID) {
		self.div = document.getElementById(divID);
	}
	
	this.addTwits = function(divID, twitList) {
		self.init(divID);

 		curTime = new Date().getTime();
		var len = twitList.length;
		len = len < maxTweets ? len : maxTweets;
		for (var i = 0; i < len; i++) {
			var twitterPost = twitList[i];
			var twit = self.createTwit(twitterPost);
			self.div.appendChild(twit);
		}
	}
	
	this.createTwit = function(twitterPost) {
		var twit = document.createElement("div");
		twit.className = "twit";
		twit.id = twitterPost.from_user_id;

		// Add twitter user icon
		var twitImg = document.createElement("span");
		twitImg.className = "twit_img"
		twit.appendChild(twitImg);
		var img = document.createElement("img");
		img.src = twitterPost.profile_image_url;
		twitImg.appendChild(img);

		var bubblePoint = document.createElement("span");
		bubblePoint.className = "twit_bubble_point";
		twit.appendChild(bubblePoint);
		
		// Create bubble
		var twitBubble = document.createElement("span");
		twitBubble.id = "twit_bubble";
		twit.appendChild(twitBubble);

		var bubbleTop = document.createElement("div");
		bubbleTop.className = "twit_bubble_top";
		twitBubble.appendChild(bubbleTop);

		var bubbleContent = document.createElement("div");
		bubbleContent.className = "bubble_content";
		twitBubble.appendChild(bubbleContent);

		var bubbleBottom = document.createElement("div");
		bubbleBottom.className = "twit_bubble_bottom";
		twitBubble.appendChild(bubbleBottom);
		
		// Add content
		var userName = document.createElement("a");
		userName.className = "username";
		userName.href = "http://www.twitter.com/" + twitterPost.from_user;
		userName.target = "_blank";
		userName.innerHTML = twitterPost.from_user;
		bubbleContent.appendChild(userName);

		var twitContent = document.createElement("div");
		twitContent.className = "twit_content";
		twitContent.innerHTML = twitterPost.text;
		bubbleContent.appendChild(twitContent);

		var updateString = document.createElement("div");
		updateString.className = "update_str";
		updateString.innerHTML = toPostString(Date.parse(twitterPost.created_at), curTime, unescapeHTML(twitterPost.source));
		bubbleContent.appendChild(updateString);
		
		return twit;
	}
}

function twcb(res) {
	var tw = new TwitterWidget();
	tw.addTwits("twitter_canvas", res.results);
}