var TwitterGitter = new Class({
	
	//implements
	Implements: [Options,Events],

	//options
	options: {
		count: 10,
		sinceID: 1,
		link: true,
		onRequest: $empty,
		onComplete: $empty
	},
	
	//initialization
	initialize: function(username,options) {
		//set options
		this.setOptions(options);
		this.info = {};
		this.username = username;
	},
	
	//get it!
	retrieve: function() {
		new JsonP('http://twitter.com/statuses/user_timeline/' + this.username + '.json',{
			data: {
				count: this.options.count,
				since_id: this.options.sinceID
			},
			onRequest: this.fireEvent('request'),
			onComplete: function(data) {
				//linkify?
				if(this.options.link) {
					data.each(function(tweet) { tweet.text = this.linkify(tweet.text); },this);
				}
				//complete!
				this.fireEvent('complete',[data,data[0].user]);
			}.bind(this)
		}).request();
		return this;
	},
	
	//format
	linkify: function(text) {
		//courtesy of Jeremy Parrish (rrish.org)
		return text.replace(/(https?:\/\/\S+)/gi,'<a href="$1">$1</a>').replace(/(^|\s)@(\w+)/g,'$1<a href="http://twitter.com/$2">@$2</a>').replace(/(^|\s)#(\w+)/g,'$1#<a href="http://search.twitter.com/search?q=%23$2">$2</a>');
	}
});

window.addEvent('domready',function() {
	//$('git').addEvent('click',function(e) {
		//e.stop();
		$('TickerVertical').set('html','');
		//get information
		var accusername = 'magurapassion';
		var myTwitterGitter = new TwitterGitter(accusername,{
			count: 20,
			onComplete: function(tweets,user) {
				tweets.each(function(tweet,i) {
					new Element('li',{
						html: '<img src="' + user.profile_image_url.replace("\\",'') + '" align="left" alt="' + user.name + '" /> <span class="user_name">' + user.name + '</span>: ' + tweet.text + '<br /><span class="datum">' + tweet.created_at + ' via ' + tweet.source.replace("\\",'') + '</span>'
					}).inject('TickerVertical');
				});
				//Scrollfunktion starten wenn alle Inhalte da sind!
				$('magura_twitter_loading').setStyle('display', 'none');
				var hor = new Ticker('TickerVertical', {speed : 400, delay : 3000, direction : 'vertical'});
			}
		}).retrieve();		
	//});
});
