(function($) {
    $.fn.twitterList = function(settings) {
        //дефолтные настройки
        var config = {
            'user' : 'foxfolder',
            'list' : 'medved',
            'num'  : 3
        };
        //применяем настройки, указанные пользователем
        if (settings) $.extend(config, settings);
        //сохраняем указатель на блок, в который нужно вставить твиты
        var twitterBlock = this;
        //получаем список твитов

        //шаблон для поиска ссылок в твитах
        var pattern = /(http\S+)/gi;

        $.getJSON('http://api.twitter.com/1/' + config.user + '/lists/' + config.list + '/statuses.json?per_page=10&callback=?'
            , function(twites) {
                //добавляем твиты в блок на странице
                $.each(twites, function(i, tweet) {
                    //добавляем к ссылкам тег a
                    var text = tweet.text.replace(pattern, '<a href="$1">$1</a>');
                    //создаём тег div с текущим твитом...
                    //text = '<img height="48" width="48" src="'+tweet.user.profile_image_url+'" alt="'+tweet.user.name+'">'+text;
                    text = text +'<br><b> by '+tweet.user.name+',<br>'+parseTwitterDate(tweet.created_at)+'</b>';
                    var curTweet = $('<span class="users_chat_text">' + text + '</span>');
                    curTweet.appendTo(twitterBlock);
                    return (i != config.num);
                });
            }
        );
		
		function parseTwitterDate(text) {
			var newtext = text.replace(/(\+\S+) (.*)/, '$2 $1')
			var d = new Date(Date.parse(newtext));
			var th = padZero(d.getHours());
			var tm = padZero(d.getMinutes());
			var dd = padZero(d.getDate());
			var dm = padZero(d.getMonth()+1);
			var dy = d.getFullYear();
			return th +':' + tm + ', ' + dd + '.' + dm + '.' + dy;
		}
		
		function padZero (num, length) {
		    num = String(num);
		    length = parseInt(length) || 2;
		    while (num.length < length)
		        num = "0" + num;
		    return num;
		};
    };
})(jQuery);
