(function($){
	$.fn.facebook_feed = function(options) {

		var defaults = {
			nb: 5,
			feed: null
		};
				
		var options = $.extend(defaults, options);
		
		this.each(function(){
		
			var obj = $(this);
			
			obj.addClass("facebook_feed");
			obj.append("<div class='loader'>Chargement du mur ...</div>");
			
			if(options.feed != null)
				$.ajax({
					url: options.feed+"?limit="+options.nb,
					dataType: "jsonp",
					success: function(feed)
					{
						var html = "<ul>";
						
						$(feed.data).each(function(i, elt){
							className = (i%2 == 0)?"odd":"even";
							borderClass = (i==0)?" first":(i==(options.nb-1))?" last":"";
							
							date = elt.created_time.substr(0,10).split("-");
							date = date[2]+"/"+date[1]+"/"+date[0];
							
							var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/i;
							msg = elt.message.replace(exp,"<a href='$1'>$1</a>"); 
							
							html += "<li class='"+className+borderClass+"'>";
							if(elt.picture){
								html += "<div class='img'><a href='"+elt.link+"'><img src='"+elt.picture+"' alt='"+elt.message+"' /></a>"
								 + "<p class='date'><img src='"+elt.icon+"' alt='"+elt.type+"' title='"+elt.type+"' /> <small>"+date+"</small></p></div>";
							}
							html += "<div class='txt'>"
								 + "<h2>"+elt.from.name+"</h2>"
								 + "<p>"+msg+"</p></div>"
								 + "<div class='clear'></div>";

              if(elt.comments){
                var comments = elt.comments.data;
                html += "<div class='comments'>";
                for(var i = 0; i < comments.length; i++)
                {
                  html += "<div class='comment'><p class='message'>"+comments[i].message+"</p><p class='author'>"+comments[i].from.name+"</p>";
                  if (comments[i].likes)
                  {
                    html += "<p class='like'>Like : "+comments[i].likes+"</p>";
                  }
                  html += "</div>";
                }
                html += "</div>";
              }

              html += "</li>";
						})
						
						html += "</ul>";
						
						obj.html(html);
						obj.find(".loader").remove();
					}
				});

			else
				obj.html("flux introuvable.");
			
		});
		
		return this;
	};
})(jQuery);
