(function( $ ){

    let methods = {
        init : function( options ) {
            var settings = $.extend( {
                // 'location'         : 'top',
                // 'background-color' : 'blue'
            }, options);

            return $(this).each(function () {
                if($(this).css('position') === 'static') $(this).css('position', 'relative');
                $(this).append('<div class="loading-indicator __hidden">' +
                                    '<div class="loading-indicator_bg"></div>' +

                                    '<div class="loading-indicator_anim"></div>' +
                                '</div>');
            });
        },
        show : function( ) {
            $(this).find('.loading-indicator').removeClass('__hidden');
        },
        hide : function( ) {
            $(this).find('.loading-indicator').addClass('__hidden');
        },
    };

    $.fn.loadingIndicator = function( method ) {

        if ( methods[method] ) {
            return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
        } else if ( typeof method === 'object' || ! method ) {
            return methods.init.apply( this, arguments );
        } else {
            $.error( 'Метод с именем ' +  method + ' не существует для jQuery.tooltip' );
        }

    };
})( jQuery );
