$(
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
});
});
});