TwitterBox = function (instance_name, data_source) {
	this.instance_name = instance_name;
	this.data_source = data_source;

	this.load = function () {
		AjaxUtils.loadJSON(this.data_source, {
			instance_name: this.instance_name,
			site: Globals.currentSite
		}, this.dataHandler, this);
	};

	this.dataHandler = function(data) {
		this.renderList(data.data);
	};
	
	this.renderList = function (list_data) {
		var target = $(".twitterBoxContainer."+this.instance_name+">.twitterItems").eq(0);
		
		target.empty();
		for (var i=0; i<list_data.length; i++) {
			target.append(this.renderItem(list_data[i]));
		}
		
		if (list_data.length > 1) {
			ScrollableTeaserController.getInstance().registerScroller('.twitterBoxContainer.'+this.instance_name, 1);
		}
		
	};
	
	
	this.renderItem = function (list_item_data) {
		var tweetDate = Date.parse(list_item_data.created_at.replace(/^\w+ (\w+) (\d+) ([\d:]+) \+0000 (\d+)$/,"$1 $2 $4 $3 UTC"));
		
		var out = "";
		out = '<div class="twitterItem">';
		out+= 	'<div class="tweetText">'+StringUtils.wrapURLs(list_item_data.text)+'</div>';
		out+=	'<div class="tweetDate">'+tweetDate.toString('dd.MM.yyyy')+'</div>';
		out+= '</div>';
		
		return out;
	};
};


