jumpy progress bar during upload

Here's a screencast of my uploader in progress -
http://www.screencast.com/users/susanBuck/folders/Jing/media/d3274745-d5a6-4e67-a4f2-fffe7726e8ab

You'll notice that the progress bar jumps all over the place during upload.
Is it trying to show the progress for each individual files rather than all the files at a whole?

I'm not thinking its the latter, because you'll notice its set to put a green check next to a file when a file is done. However the jumpyness of the progress bar and when the checks appear aren't syncing.

// dont let uploadButton work at start...only enable once browse has been called
uploadButton.enabled = false;

// holds the list of files
_global.files = new Array();

listener.onSelect = function(fileRefList:FileReferenceList) {

uploadButton.enabled = true;
uploadButton._alpha = 100;

// clear all the old checks if we had just done an upload
for(i=0; i < _global.howManyChecksToClear; i++) {
removeMovieClip("done_"+i);
}

// fileRefList.fileList == what was just selected in the browse window
// concatenate that to our existing list of files
// because array files should hold all the files
var list:Array = fileRefList.fileList;
_global.files = _global.files.concat(list);

// a file reference holds information about a file from the fileList (ex name, size?)

onSelect you will tell the object to add the additional filesize of the selected file to a total.

Before deleting you will tell the object to subtract the soon to be deleted files filesize from the total.

Have the onProgress handler work out how many bytes where loaded since the last firing of onProgress for that file & send that to the new object.

Whenever the new object recieves updates from onProgress handlers it will work out a total progress what each files onProgress handler has told it & call the existing progress objects' setProgress method to update the total progress.

Otherwise, attach new instances of the progress object for each file & have their handlers refer to those seprate objects.