﻿
$.extend($.fn, {
    relativePosition: function (posX, posY, $container) {
        var $this = $(this);
        function _getCenteredPos(posRelative, objectSize, containerSize) {
            var objectCenter = objectSize / 2;
            var leftBorder = objectCenter;
            var rightBorder = containerSize - objectCenter;

            return (rightBorder - leftBorder) * posRelative / 100;
        }

        function _setPos() {
            $this.css("left", posX != 0 && posX != null ? _getCenteredPos(posX, $this.outerWidth(true), $container.outerWidth(true)) : 0);
            $this.css("top", posY != 0 && posY != null ? _getCenteredPos(posY, $this.outerHeight(true), $container.outerHeight(true)) : 0);
        }

        _setPos();
        $(window).resize(function () {
            _setPos();
        });
        $("img", $this).load(function () {
            _setPos();
        });
    }
});
