jQuery.fn.center = function (horizontal, vertical, meParent) {
	return this.each(function() {
		var me = jQuery(this);
		if(meParent === undefined) 
			meJParent = me.parent();
		else
			meJParent = jQuery(meParent);
		if(horizontal === undefined || horizontal != false)
			horizontal = true;
		if(vertical === undefined || vertical != false) 
			vertical = true;
		
		var meOffset = me.offset();
		
		var newPosX = meOffset.left;
		var newPosY = meOffset.top;
		
		var deltaX = 0;
		var deltaY = 0;
		if(meParent != window) {
			var meParentOffset = meJParent.offset();
			deltaX = meParentOffset.left;
			deltaY = meParentOffset.top;
		}
		
		if(horizontal) {
			newPosX = Math.floor((meJParent.width() / 2) - (me.width() / 2)) + deltaX;
		}
		if(vertical) {
			newPosY = Math.floor((meJParent.height() / 2) - (me.height() / 2)) + deltaY;
		}
		
		me.css('position', 'absolute');
		me.offset({ left: newPosX, top: newPosY });
	});
};
jQuery.fn.wcenter = function(h, v) {
	return this.each(function() {
		var me = jQuery(this);
		me.center(h, v, window);
	});
};
