The only thing that is needed for a statusbar is some element that can be changed in a logical way to represent the progress. The easiest is a HR or a DIV with a background color. I choose to do a little more complex structure using nested DIVs to have a gradient fill of the status. I also added another DIV that shows the numerical percentage value. This is maybe the easiest way to update the statusbar.
All images expose the property readyState .
Once the images is fully loaded the readeState becomes complete . Every change in readyState fires the event onreadystatechange but this event doesn't bubble so you'll have to catch the event on the object. There are basically two solutions to this. The first is just to check all images using document.images at an even interval or you could add the event handlers to all images once. You could also add an array with information about the size of each image.