var swfu; 
var status_field;
var status_legend_field;
var progress_field;
var cancel_button;
var f;
var file_names_to_id = new Hash();
var nr = 0;
var SWFSetup = {
  
  init: function(url) {
    window.onload = function () { 
      
      status_field = $('div-status');
      status_legend_field = $('status-legend');
      progress_field = $('fs-upload-progress');
      cancel_button = $('btn-cancel');
      
      swfu = new SWFUpload({
        upload_url : url, 
        flash_url : "/swf/swfupload.swf", 
    		file_size_limit : "100 MB",
        file_types : "*.*",
        file_types_description : "All Files",
        file_upload_limit : 100,
        file_queue_limit : 0,
        custom_settings : { progressTarget : "fs-upload-progress", cancelButtonId : "btn-cancel" },
        debug: false,

        // Button settings
        button_image_url : "/images/swfupload/XPButtonUploadText_61x22.png",
        button_placeholder_id : "span-button-place-holder",
        button_width: 61,
        button_height: 22,

        // Event handlers
        // ============================================================================
        file_queued_handler: function(file) {
          // console.log("File queued: " + file.id);
          status_field.insert("<div class='upload-status'><span class='header'>" + file.name + "</span> (<span id='" + file.id + "'></span>)</div>");
          cancel_button.enable();
        },

        file_queue_error_handler: function (file, error_code, message) {
          // console.log("File error");
        },

        file_dialog_complete_handler: function (number_of_files_selected, number_of_files_queued, total_number_of_files_in_the_queued) {
          // console.log("Dialog complete");
          swfu.startUpload();
        },

        upload_start_handler: function (file) {
          // console.log("Start upload: " + file.name);
        },

        upload_progress_handler: function (file, bytes_complete, total_bytes) {
          // console.log("Upload progress: " + bytes_complete + ", " + total_bytes);
          var upload_field = $(file.id);
          var percent = Math.ceil((bytes_complete / total_bytes) * 100);
          upload_field.update(percent + "% loaded");
        },

        upload_error_handler: function (file, error_code, message) {
          // console.log("Upload error");
        },

        upload_success_handler: function (file, server_data, received_response) {
          // console.log("Upload success");
        },

        upload_complete_handler: function (file) {
          // console.log("Upload complete");
          if (swfu.getStats().files_queued === 0) {
            status_legend_field.update("Fuldført!")
            cancel_button.disable();
          } else {	
            swfu.startUpload();
            status_legend_field.update(swfu.getStats().successful_uploads + " filer uploadet.")
          }
        },

        queue_complete_handler: function () {
          // console.log("Queue complete");
        }
        
      }); 
    }.bind(this)
    
  }
  
}
