window.addEvent('domready', function() {

  function parseTwitterNames( text ) {
    var oldText = text; 
    newText = oldText.replace(/[\w]*@[a-zA-Z0-9]+/g, function(u) {
      u = u.trim();
      var username = u.replace("@","");
      var newLink = ' <a href="http:\/\/www.twitter.com\/'+username+'">@'+username+'<\/a>';
      return newLink;
    });
    return newText;
  }
    
  function parseTwitterHashes( text ) {
    var oldText = text; 
    newText = oldText.replace(/[\w]*#[a-zA-Z0-9]+/g, function(h) {
      h = h.trim();
      var hashtag = h.replace("#","");
      var newLink = ' <a href="http:\/\/twitter.com\/search?q=%23'+hashtag+'">'+h+'<\/a>';
      return newLink;
    });
    return newText;
  }

  function parseTwitterLinks( text ) {
    var oldText = text; 
    newText = oldText.replace(/[\w]*http[:\/\.\-a-zA-Z0-9]+/g, function(l) {
      l = l.trim();
      var newLink = ' <a href="'+l+'">' + l +'<\/a>';
      return newLink;
    });
    if ( newText == oldText ) {
      newText = oldText.replace(/[\w]*www[:\/\.\-a-zA-Z0-9]+/g, function(l) {
        l = l.trim();
        var newLink = ' <a href="http://'+l+'">' + l +'<\/a>';
        return newLink;
      });
    }
    return newText;
  }

  //Twitter JSONP request
  var myTwitterRequest = new Request.JSONP({
    url: 'http://twitter.com/statuses/user_timeline/othererik.json',
    data: {
      count: '5'
    },
    noCache: true,
    onComplete: function(myTweets) {
      var el = document.id('twitter-post');
      el.empty();
      myTweets.each(function( tweet ) {
        var text = tweet.text
        text = parseTwitterLinks( text ); //httpbla
        text = parseTwitterNames( text );  //@bla
        text = parseTwitterHashes( text ); //#bla
        var myElement = new Element('li',{
          html: '<p>' + text + '</p>'
        }).injectInside('twitter-post');
      });
    }
  }).send();
});
