var twitterRequest = new Object({
		container: $('tweets-here'),
		count: 5,
		noCache: true,
		load: function(username)
		{
		  if($chk(this.container = $('tweet_'+username)))
		  { 
        myTwitterRequest = new Request.JSONP({
  		    url: 'http://twitter.com/statuses/user_timeline/'+username+'.json',
      		data: {
      			count: this.count
      		},
      		noCache: true,
      		onComplete: function(myTweets) {
      		  container = new Element('div',{'class':'messages'}).injectInside(this.container);
      			myTweets.each(function(tweet) {
      				var myElement = new Element('div',{
      				  'class': 'item',
      					'html':  '<h3>' + this.relative_time(tweet.created_at) + ' via ' + tweet.source + '</h3>'+'<p>' + this.linkify(tweet.text) + '</p>'
//      					'html':  '<h3>' + this.format_time(tweet.created_at) + ' via ' + tweet.source + '</h3>'+'<p>' + this.linkify(tweet.text) + '</p>'
      				}).injectInside(container);
      			}.bind(this));
      		}.bind(this)
      	}).send();
      }
    },
    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>');
  	},
  	format_time: function(time_value){
  	  var values = time_value.split(" ");
  	  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  	  var parsed_date = Date.parse(time_value);
  	  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  	  
  	  date = new Date(parsed_date);

  	  dtm = 'AM';
  	  hou = date.getHours(); if(hou>12) { dtm = 'PM'; hou = hou-12; } if(hou<10) { hou = '0'+hou; }
  	  min = date.getMinutes(); if(min<10) { min = '0'+min; }
  	  
      months = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
      mon = months[date.getMonth()];
      day = ''+date.getDate(); if(day.substr(day.length-1,1)=='1') day = day+'st'; else if(day.substr(day.length-1,1)=='2') day = day+'nd'; else if(day.substr(day.length-1,1)=='3') day = day+'rd'; else day = day+'th';

      return hou+':'+min+' '+dtm+' '+mon+' '+day;  	  
    },  	
  	relative_time: function(time_value) {
	  var values = time_value.split(" ");
	  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
	  var parsed_date = Date.parse(time_value);
	  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
	  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
	  delta = delta + (relative_to.getTimezoneOffset() * 60);
	  var r = '';
	  if (delta < 60) {
		r = 'a minute ago';
	  } else if(delta < 120) {
		r = 'couple of minutes ago';
	  } else if(delta < (45*60)) {
		r = (parseInt(delta / 60)).toString() + ' minutes ago';
	  } else if(delta < (90*60)) {
		r = 'an hour ago';
	  } else if(delta < (24*60*60)) {
		r = '' + (parseInt(delta / 3600)).toString() + ' hours ago';
	  } else if(delta < (48*60*60)) {
		r = '1 day ago';
	  } else {
		r = (parseInt(delta / 86400)).toString() + ' days ago';
	  }
	  
	  return r;
	}
});


/*
window.addEvent('domready',function() {  
  twitterRequest.load('goellnerbremen');
});
*/
