jQuery.fn.loadingModal = function (options) {
    var settings = {
        'delay': 1000,
        'background': '#FFFFFF',
        'image': 'ajax-loader.gif',
        'zIndex': 99
    };
    thisOb = this;
    return this.each(function () {
        if (options) {
            $.extend(settings, options);
        }

        function centerToBox(cur, box) {
            var position = $(box).position();
            var posTopOffset = ($(box).height()) / 2;
            var posLeftOffset = ($(box).width()) / 2;
            position.left = position.left + posLeftOffset;
            position.top = position.top + posTopOffset;
            $(cur).css({
                'position': 'absolute',
                'left': position.left,
                'top': position.top,
                "z-index": 100
            });
            return this;
        }

        function ajaxLoadList() {
            var a = $(thisOb).height();
            var b = $(thisOb).width();
            var position = $(thisOb).position();
            $("body").append("<div id=\"dvGlobalMask\"></div><div id=\"loader\"><img src=\"" + settings.image + "\"></div>");
            $("#dvGlobalMask").css({
                width: b,
                height: a,
                'background-color': settings.background,
                'position': 'absolute',
                'left': position.left,
                'top': position.top,
                'display': 'inline-block',
                "z-index": settings.zIndex
            }).fadeTo("fast", 0.7);
            centerToBox($("#loader"), $(thisOb));
            $("#loader").show().delay(settings.delay).fadeOut();
            $("#dvGlobalMask").delay(settings.delay).fadeOut();
        }
		
        $(function () {
            ajaxLoadList();
        });		
        return this;
    });
}
