/**
 * Twitter part
 * @author berge
 */

/**
 * Class Twitter
 * @class Twitter
 */
NZO.Twitter = Class.extend(
{
	/**
	 * Twitter user
	 * @type string
	 */
	screenName : "",
	
	/**
	 * Constructor
	 * @param {string} screenName Twitter user
	 */
	init : function(screenName)
	{
		this.screenName = screenName;
		var tw = this;
		
		$(function()
		{
			setTimeout($.proxy(tw.getLastTweet, tw), 200);
		});
	},
	
	/**
	 * Get the latest tweet
	 */
	getLastTweet : function()
	{
		$('#last-tweet').hide();
		$.get('http://api.twitter.com/1/statuses/user_timeline.json?screen_name=' + this.screenName, $.proxy(this.getTweetCallBack, this), 'jsonp');
	},
	
	/**
	 * Callback getLastTweet
	 * @see getLastTweet
	 * @param {object} data Data
	 * @param {string} mess Message status
	 */
	getTweetCallBack : function(data)
	{
		if(data)
		{
			for(var i=0,il=data.length;i<il;i++)
			{
				if(data[i].user.screen_name == this.screenName && !data[i].in_reply_to_screen_name)
				{
					$('#last-tweet .tweet').html(data[i].text);
					var date = Date.parse(data[i].created_at);
					var dateStr = this.dateFriendly(date);
					$('#last-tweet .author').html('@' + this.screenName + ' ' + dateStr)
					$('#last-tweet').slideDown();
					break;
				}
			}
		}
	},
	
	/**
	 * Return a friendly date
	 * @param {int} date Date
	 * @returns {string}
	 */
	dateFriendly : function(date)
	{
		var dateNow = Date.parse(new Date());
        
        var $secondDiff = (dateNow - date)/1000;
        var $year,$plur,$dateFriend;
        
        if($secondDiff > 31536000)
        {
            $year = Math.round($secondDiff/31536000);
            $plur = ''; if($year > 1){ $plur = 's'; }
            $dateFriend = 'il y a ' + $year + ' an' + $plur;
        }
        else if($secondDiff > 2592000)
        {
            $month = Math.round($secondDiff/2592000);
            $plur = ''; if($month > 1){ $plur = 's'; }
            $dateFriend = 'il y a ' + $month + ' mois';
        }
        else if($secondDiff > 86400)
        {
            $day = Math.round($secondDiff/86400);
            $plur = ''; if($day > 1){ $plur = 's'; }
            $dateFriend = 'il y a ' + $day + ' jour' + $plur;
        }
        else if($secondDiff > 3600)
        {
            $hour = Math.round($secondDiff/3600);
            $plur = ''; if($hour > 1){ $plur = 's'; }
            $dateFriend = 'il y a ' + $hour + ' heure' + $plur;
        }
        else if($secondDiff > 60)
        {
            $minute = Math.round($secondDiff/60);
            $plur = ''; if($minute > 1){ $plur = 's'; }
            $dateFriend = 'il y a ' + $minute + ' minute' + $plur;
        }
        else if($secondDiff > 0)
        {
            $second = $secondDiff;
            $plur = ''; if($second > 1){ $plur = 's'; }
            $dateFriend = 'il y a ' + $second + ' seconde' + $plur;
        }
        
        return $dateFriend;
	}
});

