BOSW = window.BOSW || {}
BOSW.submission = {
        queue: [],
        running: false,
        clear: function() {
                this.queue = [];
        },
        addOperation: function(op) {
                this.queue.push(op);
        },
        next: function() {
                if (this.running) {
                        return;
                }
                if (this.queue.length > 0) {
                        var op = this.queue.shift();
                        op();
        }
        }
};
BOSW.submission.dummyButtonId   = "triggerDummy";
BOSW.submission.submitButtonid  = "saveTrigger";
        // Define a new onclick action.
         BOSW.submit=function() {

                var progressText = jQuery('[id$=connection-working]').html();
                jQuery('[id$=connection-working]').css('visibility','visible').html('Upload l&auml;uft...');

                jQuery('form.iceFrm iframe').each(function() {
                        var form = jQuery(this).contents().find('#fileUploadForm');
                        var file = form.find('input:file');
                        if (file.val() && file.val() != '') {
                                var frame = this;
                                jQuery(frame).load(function() {
                                        BOSW.submission.next();
                                });
                                BOSW.submission.addOperation(function() {
                                        form.find('input:submit').trigger('click');
                                });
                        }
                });
                // We're done, we just have to call the original action.
                BOSW.submission.addOperation(function() {
                        jQuery('[id$=connection-working]').css('visibility','visible').html(progressText);
                        jQuery('[id$='+BOSW.submission.submitButtonid+']').trigger('click');
                });
                // Start the queue.     
                BOSW.submission.next();
        }
