(function($){
        window.size = function() {
                var w = 0;
                var h = 0;

                //IE
                if(!window.innerWidth)
                {
                        //strict mode
                        if(!(document.documentElement.clientWidth == 0))
                        {
                                w = document.documentElement.clientWidth;
                                h = document.documentElement.clientHeight;
                        }
                        //quirks mode
                        else
                        {
                                w = document.body.clientWidth;
                                h = document.body.clientHeight;
                        }
                }
                //w3c
                else
                {
                        w = window.innerWidth;
                        h = window.innerHeight;
                }
                return {width:w,height:h};
        }

        window.center = function() {
                var hWnd = (arguments[0] != null) ? arguments[0] : {width:0,height:0};

                var _x = 0;
                var _y = 0;
                var offsetX = 0;
                var offsetY = 0;

                //IE
                if(!window.pageYOffset)
                {
                        //strict mode
                        if(!(document.documentElement.scrollTop == 0))
                        {
                                offsetY = document.documentElement.scrollTop;
                                offsetX = document.documentElement.scrollLeft;
                        }
                        //quirks mode
                        else
                        {
                                offsetY = document.body.scrollTop;
                                offsetX = document.body.scrollLeft;
                        }
                }
                //w3c
                else
                {
                        offsetX = window.pageXOffset;
                        offsetY = window.pageYOffset;
                }

                _x = (Math.abs((this.size().width-hWnd.width))/2)+offsetX;
                _y = (Math.abs((this.size().height-hWnd.height))/2)+offsetY;

                return{x:_x,y:_y};
        }

	$.fn.center = function() {
		return this.each(function(){
                    var w = window.center({width:$(this).width(),height:$(this).height()});

                    $(this).css("position","absolute");

                    $(this).css("left",w.x + "px");
                    $(this).css("top",w.y + "px");

		}) ;
	}
})(jQuery);