var accounts=['grnmndy','gmmarije'];
var accounts_last=accounts.length-1;
var global_tweets=[];
var twitter_timer=null;
var twitter_current=0;
var twitter_count=4;

function twitter_parser(twitters){
  for(var i=0;i<twitters.length;i++){
    var username=twitters[i].user.screen_name;
    var status=twitters[i].text;
    if(status.length>60)status=status.substring(0,59)+'...';
    global_tweets.push({
      id:twitters[i].id,
      status:'<li><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">@'+username+'\'s Tweet: <span>'+status+'</span> '+twitter_relative_time(twitters[i].created_at)+'</a></li>'
    });
  }
}

function twitter_relative_time(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);
  if(delta<60){return 'less than a minute ago';}else if(delta<120){return 'about a minute ago';
  }else if(delta<(60*60)){return (parseInt(delta/60)).toString()+' minutes ago';
  }else if(delta<(120*60)){return 'about an hour ago';
  }else if(delta<(24*60*60)){return 'about '+(parseInt(delta/3600)).toString()+' hours ago';
  }else if(delta<(48*60*60)){return '1 day ago';
  }else{return(parseInt(delta/86400)).toString()+' days ago';}
}

function twitter_animate(){
  $("#twitter_update_list li").eq(twitter_current).fadeOut(100,function(){
    $(this).css({display:'none'});
    twitter_current++;
    if(twitter_current==twitter_count)twitter_current=0;
    $("#twitter_update_list li").eq(twitter_current).fadeIn(100);
  });
}

function twitter_render(){
  global_tweets.sort(function(a,b){return(b.id-a.id)});
  twitter_count=global_tweets.length;
  for(var i=0;i<global_tweets.length;i++)$("#twitter_update_list").append(global_tweets[i].status);
  $("#twitter_update_list li").eq(0).fadeIn(100,function(){
    twitter_timer=setInterval(twitter_animate,7500);
  });
  $("#twitter_update_list a").hover(function(){
    clearInterval(twitter_timer);
    twitter_timer=null;
  },function(){
    twitter_timer=setInterval(twitter_animate,7500);
  });
}

function twitter_init(current){
  $.getScript('http://twitter.com/status/user_timeline/'+accounts[current]+'.json?count=4&callback=twitter_parser',function(){
    if(current<accounts_last){
      twitter_init(++current);
    }else{
      twitter_render();
    }
  });
}

$(function(){
  twitter_init(0);
});

