/* 
 * Center plugin - center element on screen or within another element
 * @author Zach Waugh <zwaugh@gmail.com>
 * @version 0.4
 *
 * Last update: 06/04/2009
 */
(function($){
	/**
	 * Element to center object in, else center in window
	 * @param {int} padding
	 * @param {jQuery object} el
	 */
	$.fn.center = function(padding, el)
	{
		if (padding === undefined) {
			padding = 50;
		}
		
		// Get element dimensions
		var height = $(this).innerHeight();
		var width = $(this).innerWidth();
		var window = $(window);
		
		// Figure out offset of container
		if (el) {
			var left = ((el.innerWidth() - width) / 2);
			var top = (el.innerHeight() - height) / 2;
		}
		else {
			var scrollTop = window.scrollTop();
			var scrollLeft = window.scrollLeft();
			var left = (window.width() - width) / 2  + (scrollLeft / 2);
			var top = ((window.height() - height) / 2) + (scrollTop / 2);
		}
		
		// Make sure lightbox doesn't go above top of window
		if (top < padding) {
			top = padding;
		}
		
		$(this).css({left: left, top: top});
		
		return this;
	};
})(jQuery);
