if (typeof $Upload == "undefined") var $Upload = {
    create: function(id, container, field) {
        var this_uploader = new AjaxUpload(id, {
            // Location of the server-side upload script
            action: $Config.upload_script,
            // File upload name
            name: 'userfile',
            // Submit file after selection
            autoSubmit: true,
            // The type of data that you're expecting back from the server.
            responseType: false,
            // Fired after the file is selected
            // Useful when autoSubmit is disabled
            // You can return false to cancel upload
            // @param file basename of uploaded file
            // @param extension of that file
            onChange: function(file, extension) {
            },
            // Fired before the file is uploaded
            // You can return false to cancel upload
            // @param file basename of uploaded file
            // @param extension of that file
            onSubmit: function(file, extension) {
                $(field).val('');
                $(container).html('Uploading ' + file + ' ...');
                $(container).slideDown();
            },
            // Fired when file upload is completed
            // WARNING! DO NOT USE "FALSE" STRING AS A RESPONSE!
            // @param file basename of uploaded file
            // @param response server response
            onComplete: function(file, response) {
                if (response == 'error') {
                    $(container).html('');
                    $("#dlg-image-error").dialog('open');
                    $(container).slideUp();
                } else {
                    // then, everything went fine, so we get here the file name
                    $(container).html('Uploaded ' + file + '.');
                    $(field).val(response);
                }
            }
        });
        return this_uploader;
    }
}


