/**
 * @author Alexandre Magno
 * @desc Center a element with jQuery
 * @version 1.0
 * @example
 * $("element").center({
 *
 * 		vertical: true,
 *      horizontal: true
 *
 * });
 * @obs With no arguments, the default is above
 * @license free
 * @param bool vertical, bool horizontal
 * @contribution Paulo Radichi
 *
 */
jQuery.fn.center=function(params){
	var options={vertical:false,horizontal:true};
	op=jQuery.extend(options,params);
	return this.each(
	function(){
		var $self=jQuery(this);
		var width=$self.width();
		var height=$self.height();
		var paddingTop=parseInt($self.css("padding-top"));
		var paddingBottom=parseInt($self.css("padding-bottom"));
		var borderTop=parseInt($self.css("border-top-width"));
		var borderBottom=parseInt($self.css("border-bottom-width"));
		var mediaBorder=(borderTop+borderBottom)/2;
		var mediaPadding=(paddingTop+paddingBottom)/2;
		var positionType=$self.parent().css("position");
		var halfWidth=(width/2)*(-1);
		var halfHeight=((height/2)*(-1))-mediaPadding-mediaBorder;
		var cssProp={position:'absolute'};
		if(op.vertical){
			cssProp.height=height;
			cssProp.top='50%';
			cssProp.marginTop=halfHeight
			}
		if(op.horizontal){
			cssProp.width=width;
			cssProp.left='50%';
			cssProp.marginLeft=halfWidth
			}
		if(positionType=='static'){
			$self.parent().css("position","relative");
			}
		$self.css(cssProp);
		})};
