function twitterCallback(obj) {
	var twitter = obj[0];
	$('text').setHTML(twitter.text);
	$('img').setProperty('src',twitter.user.profile_image_url).setStyle('display','block');
	$('time').setHTML(relative_time(twitter.created_at)).setProperty('href', 'http://twitter.com/'+twitter.user.screen_name+'/statuses/'+twitter.id);
}

function 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';
  }
}

var _Info = {
	
	init: function() {
		Info.div = $A($('info').getElementsByTagName('div'));
		Info.change.periodical(10000);
		Info.fx = new Fx.Style($('info'), 'opacity', {duration: 700, wait: false});
	},
	
	change: function() {
		Info.fx.set(0).start(1);
		var active = 0;
		Info.div.each(function(e, i) {
			if(e.hasClass('active')) active=i+1;
			e.removeClass('active');
		});
		if(active==Info.div.length) {
			Info.div[0].addClass('active');
		} else {
			Info.div[active].addClass('active');
		}
	}
	
};

var Info = {
	
	show: function() {
		if(!$('thumbs')) return;
		var about = $('more');
		if(about.getStyle('display') == 'block') {
			about.effect('opacity',{
				onComplete: function() {
					about.setStyle('display','none');
					about.setStyle('background-color','#fff');
					about.setStyle('z-index','-1');
					about.setStyle('height','0px');
				}
			}).start(0);
		} else {
			about.setStyles({'background-color':'#000', 'z-index':'1000', 'display':'block', 'height': $('content').offsetHeight +'px'}).effect('opacity').set(0).start(0.9);
		}
	}

};

var Search = {
	users: [],
	input: function() {
		if(!$('thumbs')) return;
		var s = $('search');
		Search.users = $$($('thumbs').getElementsByTagName('a'));
		Search.users.each(function(e) {
			e.setProperty('href', e.getProperty('href').toLowerCase());
			e.fx = new Fx.Style(e, 'opacity', { duration: 300, wait:false});
		});
		s.setStyle('display','block');
		s.addEvent('focus', function() {
			if(window.webkit) this.value ='';
			else this.select();
		});
		s.addEvent('keypress', function() {
			Search.search.delay(200);
		});
		s.onsubmit = function() { return false; };
	},
	search: function() {
		var v = $('search').value;
		Search.users.each(function(e) {
			if(e.getProperty('href').contains(v)) {
				if(window.webkit) e.getFirst().setOpacity(1);
				else e.fx.start(1);
			} else {
				if(window.webkit) e.getFirst().setOpacity(0.2);
				else e.fx.start(0.2);
			}
		});
	}
};

window.addEvent('domready', function() {
  if ($('thumbs')) {
  	new Tips($('thumbs').getElementsByTagName('a'), {
  		initialize:function(){
  			this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 300, wait: false}).set(0);
  		},
  		onShow: function(toolTip) {
  			this.fx.start(0.9);
  		},
  		onHide: function(toolTip) {
  			this.fx.start(0);
  		}
  	});
  }
	
	
	if ($('more')) $('more').addEvent('click', function() {
		Info.show();
	});

	
	Search.input();

});
