var details=[];
var showtweet='t0';
var toshow='';
var ago=0;
var agostr='';
var statuses=[];
var rand=0;
var halt=0;
var maxid=0;

var addthis_config={username:"bibliotarian",data_use_flash:false,ui_cobrand:"Bibliotarian",ui_delay:500,ui_click:true};
var addthis_share={url:"http://bibliotarian.org/reading",title:"What Twitter is #reading right now"};

function linkify(text) {
    var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
    return text.replace(exp,'<a href="$1" class="linkify">$1</a>'); 
}

function show_update()
{
 $(document).everyTime(30000,'update',function(){
  $.post('reading_show.php',{u:maxid},function(udata){
	 $.each(udata,function(iu,nu){ 
	  $("#main").prepend('<img id="'+nu['status_id']+'" src="'+nu['cover']+'" class="cover"/>');
	details['t'+nu['status_id']]={'date':nu['date'],'tweet':nu['tweet'],'user':nu['user'],'avatar':nu['avatar'],'ASIN':nu['ASIN']};
    statuses=statuses.concat([nu['status_id']]);
	  if (nu['status_id']>maxid) {maxid=nu['status_id'];}
   });
	},'json');
 });
}

function show_random()
{
 rand=Math.floor(Math.random()*100);
 $("#"+statuses[rand]+".cover").trigger('mouseover');
 $(document).everyTime(5000,'random',function(){
  rand=Math.floor(Math.random()*100);
  $("#"+statuses[rand]+".cover").trigger('mouseover');
 });
}

function show_db()
{
$.post('reading_show.php',{u:0},function(data){
 $.each(data,function(i,n){ 
	$("#main").append('<img id="'+n['status_id']+'" src="'+n['cover']+'" class="cover"/>');
	details['t'+n['status_id']]={'date':n['date'],'tweet':n['tweet'],'user':n['user'],'avatar':n['avatar'],'ASIN':n['ASIN']};
  statuses=statuses.concat([n['status_id']]);
	if (n['status_id']>maxid) {maxid=n['status_id'];}
 });
 $("#main img.cover").mouseout(function(){$(document).stopTime('random');});
 $("#main img.cover").live('mouseover',function(){
  if (halt>0) {halt=halt-1;}
  if (halt==0)
	{
  $("#"+showtweet).remove();
	showtweet='t'+this.id;
	var currentDate=new Date();
	ago=currentDate.getTimezoneOffset()*60+currentDate.getTime()/1000-details['t'+this.id]['date'];
	if (ago<60) {ago=Math.round(ago);agostr='second';if (ago>1) {agostr=agostr+'s';}}
	else {
	 ago=ago/60;
	 if (ago<60) {ago=Math.round(ago);agostr='minute';if (ago>1) {agostr=agostr+'s';}}
	 else {
	  ago=ago/60;
		if (ago<24) {ago=Math.round(ago);agostr='hour';if (ago>1) {agostr=agostr+'s';}}
		else {ago=Math.round(ago/24);agostr='day';if (ago>1) {agostr=agostr+'s';}}
	 }
	}
	toshow=' id="'+showtweet+'"><div class="tweet-top"></div><div class="tweet-mid"><div class="tweet-content"><img src="'+details['t'+this.id]['avatar']+'" class="avatar"/><div class="tinfo"><div class="ago">'+ago+' '+agostr+' ago</div><a href="http://twitter.com/'+details['t'+this.id]['user']+'">@'+details['t'+this.id]['user']+'</a> said:</div><div class="tx"><a href="#close">X</a></div><div class="clear"></div>'+'<p>'+linkify(details['t'+this.id]['tweet'])+'</p><p><a href="http://www.amazon.com/dp/'+details['t'+this.id]['ASIN']+'/?tag=bibliotarian-20">Buy this book</a></p><p><a href="http://twitter.com/'+details['t'+this.id]['user']+'/statuses/'+this.id+'">Discuss this book on Twitter</a></p></div></div><div class="tweet-bot"></div></span>';
  var position=$(this).position();
	if ($("#main").width()-position.left-$(this).width()>376) {$(this).after('<span class="tweet"'+toshow);} else {$(this).before('<span class="tweet-l"'+toshow);}
 }  
 });
 $("#main div.tx a").live('click',function(e){
  e.preventDefault();
	halt=2;
	$(this).closest(".tweet,.tweet-l").remove();
 });
 show_random();
},'json');
}

$(document).ready(function(){
show_db();
show_update();
});
