﻿function prettyDate(time){
    //	var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")),

    var date = new Date(
    time.replace(/^\w+ (\w+) (\d+) ([\d:]+) \+0000 (\d+)$/,
        "$1 $2 $4 $3 UTC"));
		var diff = (((new Date()).getTime() - date.getTime()) / 1000),
		day_diff = Math.floor(diff / 86400);
			
	if (isNaN(day_diff) || day_diff < 0)
	    return;

    var result;

	if (day_diff == 0) {
	    if (diff < 60)
            result = "только что";
		else if (diff < 120) 
            result = "1 минуту назад";
        else if (diff < 3600) {
            var m = Math.floor( diff / 60 );

            result = m;
            if (m % 10 >= 2 && m % 10 <= 4)
                result += " минуты назад";
            else if (m % 10 == 1)
                result += " минуту назад";
            else
                result += " минут назад";
        } else if (diff < 7200) 
            result = "1 час назад";
        else if (diff < 86400) {
            var h = Math.floor( diff / 3600 );

            result = h;
            if (h == 1 || h == 21)
                result += " час назад";
            else if (((h < 10) || (h > 14)) && h % 10 > 1 && h % 10 <= 4)
                result += " часа назад";
            else
                result += " часов назад";
        } else {
            result = "Вчера";
        }
	} else if (day_diff == 1)
        result = "Вчера";
    else if (day_diff < 7) {
        result = day_diff;
        if (day_diff >= 2 && day_diff <= 4)
            result += " дня назад";
        else
            result += " дней назад";
    } else {
        var w = Math.ceil(day_diff / 7);
        
        result = w;
        if (w % 10 >= 2 && w % 10 <= 4)
            result += " недели назад";
        else if (w % 10 == 1)
            result += " неделя назад";
        else
            result += " недель назад";
    }

    return result;
			
    //	return day_diff == 0 && (
    //			diff < 60 && "только что" ||
    //			diff < 120 && "1 минуту назад" ||
    //			diff < 3600 && Math.floor( diff / 60 ) + " минут назад" ||
    //			diff < 7200 && "1 час назад" ||
    //			diff < 86400 && Math.floor( diff / 3600 ) + " часа назад") ||
    //		day_diff == 1 && "Вчера" ||
    //		day_diff < 7 && day_diff + " дней назад" ||
    //		day_diff < 31 && Math.ceil( day_diff / 7 ) + " недель назад";
}

function replaceURLWithHTMLLinks(text) {
    var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/i;
    return text.replace(exp,"<a href='$1'>$1</a>");
}

// If jQuery is included in the page, adds a jQuery plugin to handle it as well
if ( typeof jQuery != "undefined" )
	jQuery.fn.prettyDate = function(){
		return this.each(function(){
			var date = prettyDate(this.title);
			if ( date )
				jQuery(this).text( date );
		});
	};

$(document).ready(function () {
    // Get latest 6 tweets by jQueryHowto
    if (twitter && twitter != '') {
        $.jTwitter(twitter, 6, function (data) {
            $('#twitter').empty();
            $.each(data, function (i, post) {
                $('#twitter').append(
          		'<li class="post">' +
          			'<article class="hentry">' +
          				'<section class="entry-content">' +
          					'<p>' + replaceURLWithHTMLLinks(post.text) + '</p></section>' +
          				'<footer class="clear"><abbr class="published twitterpublished" title="' + post.created_at + '">' +
                                           	'<time>' + prettyDate(post.created_at) + '</time></abbr></footer></article></li>'
                      );
            });
        });
    }
});

