(function( $ ) {
	
	$.fn.center = function( options ) {

		var settings = $.extend( {
			'left'	: 0,
			'top'	: 0,
			'position'	: "fixed"
		}, options);
		
		var $this = $(this);
		
		var reset = this.reset = function () {
			if (settings.position == "fixed") {
				
				settings.top = ($(window).height() - $this.height()) / 2;
				settings.left = ($(window).width() - $this.width()) / 2;
				
			} else if (settings.position == "absolute") {
				
				var parentPosition = $(this).parent().css({position: 'relative'}).position();
				
				if ($(window).scrollTop() > parentPosition.top) {
					
					settings.top += ($(window).scrollTop() - parentPosition.top) / 1.5;
				} else {
					
					settings.top = 0;
				
				}
				
				settings.left = ($(this).parent().width() - $this.width()) / 2;
			}
		}
		
		var setup = this.setup = function () {
			$this.css({
				position: settings.position,
				left: settings.left,
				top: settings.top
			})
		}
		
		/* init */
		//var position = $(this).position();
		$(window).resize(function() {
			
			reset();
			setup();
			
		});
		
		this.reset();
		this.setup();
		
		return $this;
	};
})( jQuery );
