$(function () {
var logoCache = {};
var waiting = 0;
function logoUpdate() {
if (waiting == 0) {
$(".logo").each(function () {
var self = $(this);
var logo = $(this).data("logo");
if (logo == "") {
logo = undefined;
}
self.attr("src", logoCache[logo]);
});
} else {
waiting -= 1;
}
}
$(".logo").each(function () {
var logoSrc = $(this).data("src");
var logo = $(this).data("logo");
var self = $(this);
if (!logoSrc) {
return;
}
if (logo == "") {
logo = undefined;
}
if (!(logo in logoCache)) {
logoCache[logo] = logoSrc;
}
});
waiting = Object.keys(logoCache).length - 1;
$.each(logoCache, function (index, element) {
$.ajax({
url: logoCache[index],
success: function(data) {
logoCache[index] = data;
logoUpdate();
},
async: true
});
});
});