(function($) {
	$.fpo = $.fn.FSfpo = function(method) {
		var defaults = {};

		var settings = {};

		var methods = {
			init : function(options) {
				settings = $.extend({}, defaults, options);

				return this.each(function() {
					var element = $(this);
					var data = element.data('FSfpo');
					if (!data) {
						element.data('FSfpo', {
							fpoString : 'FPO!'
						});

						data = element.data('FSfpo');
					}
					element.data('FSfpo', data);
				});
			},
			fpo : function(options) {
				settings = $.extend({}, defaults, options);

				var element = $(this);
				var data = element.data('FSfpo');

				if (settings.text == undefined) {
					settings.text = data.fpoString;
				}

				var properties = {
					offset : $(this).offset()
					, width : $(this).width()
					, height : $(this).height()
				}

				var $fpo = $('<div class="fpoContainer">' + settings.text + '</div>')
					.css({
					  height : settings.unobtrusive ? '' : (properties.height / 2),
					  width : properties.width,
						top : properties.offset.top,
					  left : properties.offset.left,
					  zIndex : '1',
						position : 'absolute',
						opacity : '.5',
						backgroundColor : 'black',
						color : 'white',
						fontWeight : 'bold',
						textAlign : 'center',
						paddingTop : settings.unobtrusive ? '10px' : (properties.height/2),
						paddingBottom: settings.unobtrusive ? '10px' : '',
						fontSize : settings.unobtrusive ? '18px' : '30px'
					});
  			    
  			  if (settings.kittens == true) {
  				  $(this).attr('src', 'http://placekitten.com/'+ properties.width + '/' + properties.height );
  			  }

				$('body').append($fpo);
				
			}
		}
    	
		var helpers = {
		}

		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 in FSfpo plugin!');
		}
	}
})(jQuery);
