jQuery.fn.center = function(callerParams) {

    return this.each(function() {

        //initializing variables
        var $self = jQuery(this);
        var $parent = jQuery(jQuery($self).parents()[0]);

        var params = jQuery.extend({
            vertical: true,
            horizontal: true
        }, callerParams || {});

        var width = params.width ? params.width : $self.width();
        var height = params.height ? params.height : $self.height();
        var parentWidth = $parent.width();
        var parentHeight = $parent.height();
        var positionX = (parentWidth - width) / 2;
        var positionY = (parentHeight - height) / 2;

        $self.css("position", "relative");

        if (params.vertical) {
            $self.css("top", positionY);
        }
        if (params.horizontal) {
            $self.css("left", positionX);
        }

    });

};
