/*
  @project lukasztyrala.pl
  @name functions.js
  @created  2009-11-23, 16:07:06
  @author lukasz.tyrala
*/

function get_twitter_timeline(username, container, count) {

    var twitter_user = username
    var twitter_container = $('#'+container)
    var twitter_count = count

    $.ajax({
      url: 'http://twitter.com/statuses/user_timeline/' + twitter_user + '.json?count=' + twitter_count + '&callback=?',
      dataType: 'jsonp',
      cache: false,
      timeout: 5000,
//      complete: function() {
//        console.log('Ajax completed!')
//      },
      success: function(data) {
        $.each(data, function(i) {
          var regexp_url = /(((f|ht){1}tp:\/\/|w{3}\.)[-a-zA-Z0-9@:%_\+.~#?&//=]+)/g
          var regexp_user = /(^|\s)@(\w+)/g
          var regexp_hash = /(^|\s)#(\w+)/g
          var is_hidden = ''
          var status = data[i].text
          status_with_links = status.replace(regexp_url, '<a href="$&">$&<\/a>')
          status_with_users = status_with_links.replace(regexp_user, '$1<a href="http:\/\/twitter.com\/$2">@$2<\/a>')
          status_with_hash = status_with_users.replace(regexp_hash, '$1<a href="http:\/\/search.twitter.com\/search?q=%23$2">#$2<\/a>')
          var date = new Date(data[i].created_at)
          var date_now = new Date()
          var date_diff = date_now - date


          console.log('date = ' + date)
          console.log('date_now = ' + date_now)
          console.log('diff_diff = ' + date_diff)

          if ( date_diff < 43200000  ) {
            date = date.getHours() + ':' + date.getMinutes()
          } else {
            date = date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear()
          }


          if (i > 5) {
            is_hidden = 'style="display:none"'
          }

          twitter_container.append(
            '<li class="tweet-' + i + '"' + is_hidden + '>' +
            status_with_hash + ' &middot;&nbsp;<span class="date">' + date + '<\/span>' +
            '<\/li>'
          )

          $('#twitter_loading').hide()

        })
      }
//      error:
    });

    $('#twitter_next').live('click', function() {
      twitter_container.find('li:visible:first').fadeOut('2000', function() {
        twitter_container.find('li:visible:last').next('li').fadeIn('1000')
      })
      return false
    });

}