function getJSONWithLoading(htmlElem, url, callback){
    var indicator = $("<div class='indicator-modal'></div>");
    var img = $("<img src='/public/images/loading-24px.gif' />")
    $(htmlElem).append(indicator);
    indicator.height($(htmlElem).outerHeight());
    indicator.width($(htmlElem).outerWidth());
    __putOnMiddle(img, indicator);
    $.getJSON(url, function(data){
       indicator.remove();
       callback(data);
       
    });
}

function __putOnMiddle(element, background){
    background.append(element);
    el_h = element.outerHeight();
    el_w = element.outerWidth();
    bg_h = background.height();
    bg_w = background.width();

    padding_left = (bg_w - el_w)/2;
    padding_top = (bg_h - el_h)/2;

    background.css("padding-left", padding_left);
    background.css("padding-top", padding_top);
}
