/************************************************************************************************************************************
 *	Facebook Wall
 *
 *	@author:	Daniel Benkenstein
 *	@contact:	daniel.benkenstein@neosmart.de
 *	@version:	1.0 (August 2010)
 *
 ************************************************************************************************************************************/

(function($) {
		  
	$.fn.facebookWall = function(options) {
		
		// build main options before element iteration
		var opts = $.extend({}, $.fn.facebookWall.defaults, options);
		var meta = this;
		
		// iterate and reformat each matched element
		return meta.each(function() {
			$this = $(this);

			// build element specific options
			var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
			
			$.jsonp({
				url: "https://graph.facebook.com/"+o.id+"/feed",
				callbackParameter: "callback",
				beforeSend: function(){
					meta.addClass('loading');
				},
				success:function (json, textStatus) {
					meta.removeClass('loading');
					initWall(json.data);
				}
			});
			
			var initWall = function(data){
			
				var max = (o.max<data.length) ? o.max : data.length;
				var output = '';
				
				for(var k=0;k<max;k++){
					output += '<div class="fw-news">';
					if(o.avatar) output += '<img class="fw-news-avatar" src="'+o.avatar+'" />';
					output += '<div class="fw-news-data">';
					output += '<span class="fw-news-date">'+formatDate(data[k].updated_time)+'</span>';
					output += '<span class="fw-news-message">'+data[k].message+'</span>';
					//output += '<img class="fw-news-picture" src="'+data[k].picture+'" />';
					output += '<a class="fw-news-link" href="'+data[k].link+'" target="_blank">News lesen</a>';
					output += '</div>';
					output += '</div>';
					trace(new Date(data[k].created_time));
				}
				meta.hide().html(output).fadeIn(700);
			}
			
			var formatDate = function(dateStr){
				var year = dateStr.substr(0,4);
				var month = dateStr.substr(5,2);
				var day = dateStr.substr(8,2);
				var hour = dateStr.substr(11,2);
				var minute = dateStr.substr(14,2);
				return 'am '+day+'.'+month+'.'+year+' um '+hour+':'+minute+' Uhr';
			}

		});
		
		
	};
	
	
	
	/******************************************************************************************************
	 * Defaults 
	 ******************************************************************************************************/
	 
	$.fn.facebookWall.defaults = {
		id: 	100001498744478,
		max:	4,
		avatar:	'avatar_facebook.jpg'
	};

})(jQuery);
