(function( $ ){
	
	var settings = {
		url: '/111952985547105/posts',
		access_token: '153764381358801|ivXopnXVuKqPVQRblLNEZTQLHsY',
		archiveLink: null,
		limit: 10,
		items: 2,
		trim: 75
    };
	
	var methods = {
		init : function (options) {
			if ( options ) { 
				$.extend( settings, options );
			}
			
			return this.each(function(i, el){
		    	var _this = this;
		    	var $this = $(this);
		    	
		    	FB.api(settings.url, { limit: settings.limit, access_token: settings.access_token }, function(res) {
		    		var html = '';
		    		var found = 0;
		    		for (var i=0;i<res.data.length;i++) {
		    			var itemData = res.data[i];
		    			if (itemData.link === undefined || itemData.picture === undefined || (itemData.name === undefined && itemData.message === undefined && itemData.description === undefined)) continue;
		    			var msg = (itemData.message === undefined) ? itemData.description : itemData.message;
		    			var name = (itemData.name === undefined || itemData.name == 'Wall Photos') ? ((itemData.message === undefined) ? itemData.description : itemData.message) : itemData.name;
		    			name = jQuery.trim(name);
		    			var liClass = (i == (res.data.length-1)) ? '' : '';
		    			var regex = '/.*[\.?]$/';
		    			if (!name.match('[.?!]$')) name += '.';
		    			var msg = (itemData.message === undefined) ? itemData.description : itemData.message;
		    			var txt = name + ' ' + msg; 
		    			html += '<li class="' + liClass + '"><a href="' + settings.archiveLink + '">';
		    			html += '<img class="thumbnail" src="' + itemData.picture + '" alt="" />';
		    			html += '<span><img src="/img/ui/tiles/pixel.gif" width="7" height="7" />' + jQuery.trim(txt.substring(0, settings.trim)) + '...</span>';
		    			html += '</a></li>';
		    			found ++;
		    			if (found >= settings.items) break;
		    		};
		    		$this.prepend($(html));
	    		});
		    });
		}
	}
	
	$.fn.facebookNews = function( method ) {
	    if ( methods[method] ) {
	    	return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
	    } else if ( typeof method === 'object' || ! method ) {
	    	return methods.init.apply( this, arguments );
	    } else {
	        $.error( 'Method ' +  method + ' does not exist on jQuery.facebookNews' );
	    }
	}	
})( jQuery );
