web/static/ldt/js/swfupload/swfupload.js
author cavaliet
Fri, 29 Apr 2011 10:58:24 +0200
changeset 71 8a881c9593d0
permissions -rw-r--r--
Add swfupload for local upload to create content view, with progress bar and error management. Update language files.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
71
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
     1
/**
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
     2
 * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
     3
 *
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
     4
 * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/,  http://www.vinterwebb.se/
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
     5
 *
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
     6
 * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilz�n and Mammon Media and is released under the MIT License:
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
     7
 * http://www.opensource.org/licenses/mit-license.php
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
     8
 *
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
     9
 * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License:
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    10
 * http://www.opensource.org/licenses/mit-license.php
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    11
 *
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    12
 */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    13
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    14
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    15
/* ******************* */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    16
/* Constructor & Init  */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    17
/* ******************* */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    18
var SWFUpload;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    19
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    20
if (SWFUpload == undefined) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    21
	SWFUpload = function (settings) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    22
		this.initSWFUpload(settings);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    23
	};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    24
}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    25
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    26
SWFUpload.prototype.initSWFUpload = function (settings) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    27
	try {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    28
		this.customSettings = {};	// A container where developers can place their own settings associated with this instance.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    29
		this.settings = settings;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    30
		this.eventQueue = [];
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    31
		this.movieName = "SWFUpload_" + SWFUpload.movieCount++;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    32
		this.movieElement = null;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    33
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    34
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    35
		// Setup global control tracking
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    36
		SWFUpload.instances[this.movieName] = this;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    37
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    38
		// Load the settings.  Load the Flash movie.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    39
		this.initSettings();
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    40
		this.loadFlash();
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    41
		this.displayDebugInfo();
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    42
	} catch (ex) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    43
		delete SWFUpload.instances[this.movieName];
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    44
		throw ex;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    45
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    46
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    47
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    48
/* *************** */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    49
/* Static Members  */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    50
/* *************** */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    51
SWFUpload.instances = {};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    52
SWFUpload.movieCount = 0;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    53
SWFUpload.version = "2.2.0 2009-03-25";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    54
SWFUpload.QUEUE_ERROR = {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    55
	QUEUE_LIMIT_EXCEEDED	  		: -100,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    56
	FILE_EXCEEDS_SIZE_LIMIT  		: -110,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    57
	ZERO_BYTE_FILE			  		: -120,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    58
	INVALID_FILETYPE		  		: -130
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    59
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    60
SWFUpload.UPLOAD_ERROR = {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    61
	HTTP_ERROR				  		: -200,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    62
	MISSING_UPLOAD_URL	      		: -210,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    63
	IO_ERROR				  		: -220,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    64
	SECURITY_ERROR			  		: -230,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    65
	UPLOAD_LIMIT_EXCEEDED	  		: -240,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    66
	UPLOAD_FAILED			  		: -250,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    67
	SPECIFIED_FILE_ID_NOT_FOUND		: -260,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    68
	FILE_VALIDATION_FAILED	  		: -270,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    69
	FILE_CANCELLED			  		: -280,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    70
	UPLOAD_STOPPED					: -290
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    71
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    72
SWFUpload.FILE_STATUS = {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    73
	QUEUED		 : -1,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    74
	IN_PROGRESS	 : -2,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    75
	ERROR		 : -3,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    76
	COMPLETE	 : -4,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    77
	CANCELLED	 : -5
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    78
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    79
SWFUpload.BUTTON_ACTION = {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    80
	SELECT_FILE  : -100,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    81
	SELECT_FILES : -110,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    82
	START_UPLOAD : -120
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    83
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    84
SWFUpload.CURSOR = {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    85
	ARROW : -1,
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    86
	HAND : -2
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    87
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    88
SWFUpload.WINDOW_MODE = {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    89
	WINDOW : "window",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    90
	TRANSPARENT : "transparent",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    91
	OPAQUE : "opaque"
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    92
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    93
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    94
// Private: takes a URL, determines if it is relative and converts to an absolute URL
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    95
// using the current site. Only processes the URL if it can, otherwise returns the URL untouched
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    96
SWFUpload.completeURL = function(url) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    97
	if (typeof(url) !== "string" || url.match(/^https?:\/\//i) || url.match(/^\//)) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    98
		return url;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
    99
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   100
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   101
	var currentURL = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ":" + window.location.port : "");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   102
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   103
	var indexSlash = window.location.pathname.lastIndexOf("/");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   104
	if (indexSlash <= 0) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   105
		path = "/";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   106
	} else {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   107
		path = window.location.pathname.substr(0, indexSlash) + "/";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   108
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   109
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   110
	return /*currentURL +*/ path + url;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   111
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   112
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   113
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   114
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   115
/* ******************** */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   116
/* Instance Members  */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   117
/* ******************** */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   118
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   119
// Private: initSettings ensures that all the
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   120
// settings are set, getting a default value if one was not assigned.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   121
SWFUpload.prototype.initSettings = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   122
	this.ensureDefault = function (settingName, defaultValue) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   123
		this.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName];
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   124
	};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   125
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   126
	// Upload backend settings
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   127
	this.ensureDefault("upload_url", "");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   128
	this.ensureDefault("preserve_relative_urls", false);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   129
	this.ensureDefault("file_post_name", "Filedata");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   130
	this.ensureDefault("post_params", {});
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   131
	this.ensureDefault("use_query_string", false);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   132
	this.ensureDefault("requeue_on_error", false);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   133
	this.ensureDefault("http_success", []);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   134
	this.ensureDefault("assume_success_timeout", 0);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   135
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   136
	// File Settings
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   137
	this.ensureDefault("file_types", "*.*");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   138
	this.ensureDefault("file_types_description", "All Files");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   139
	this.ensureDefault("file_size_limit", 0);	// Default zero means "unlimited"
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   140
	this.ensureDefault("file_upload_limit", 0);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   141
	this.ensureDefault("file_queue_limit", 0);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   142
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   143
	// Flash Settings
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   144
	this.ensureDefault("flash_url", "swfupload.swf");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   145
	this.ensureDefault("prevent_swf_caching", true);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   146
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   147
	// Button Settings
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   148
	this.ensureDefault("button_image_url", "");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   149
	this.ensureDefault("button_width", 1);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   150
	this.ensureDefault("button_height", 1);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   151
	this.ensureDefault("button_text", "");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   152
	this.ensureDefault("button_text_style", "color: #000000; font-size: 16pt;");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   153
	this.ensureDefault("button_text_top_padding", 0);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   154
	this.ensureDefault("button_text_left_padding", 0);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   155
	this.ensureDefault("button_action", SWFUpload.BUTTON_ACTION.SELECT_FILES);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   156
	this.ensureDefault("button_disabled", false);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   157
	this.ensureDefault("button_placeholder_id", "");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   158
	this.ensureDefault("button_placeholder", null);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   159
	this.ensureDefault("button_cursor", SWFUpload.CURSOR.ARROW);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   160
	this.ensureDefault("button_window_mode", SWFUpload.WINDOW_MODE.WINDOW);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   161
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   162
	// Debug Settings
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   163
	this.ensureDefault("debug", false);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   164
	this.settings.debug_enabled = this.settings.debug;	// Here to maintain v2 API
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   165
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   166
	// Event Handlers
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   167
	this.settings.return_upload_start_handler = this.returnUploadStart;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   168
	this.ensureDefault("swfupload_loaded_handler", null);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   169
	this.ensureDefault("file_dialog_start_handler", null);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   170
	this.ensureDefault("file_queued_handler", null);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   171
	this.ensureDefault("file_queue_error_handler", null);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   172
	this.ensureDefault("file_dialog_complete_handler", null);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   173
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   174
	this.ensureDefault("upload_start_handler", null);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   175
	this.ensureDefault("upload_progress_handler", null);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   176
	this.ensureDefault("upload_error_handler", null);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   177
	this.ensureDefault("upload_success_handler", null);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   178
	this.ensureDefault("upload_complete_handler", null);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   179
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   180
	this.ensureDefault("debug_handler", this.debugMessage);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   181
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   182
	this.ensureDefault("custom_settings", {});
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   183
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   184
	// Other settings
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   185
	this.customSettings = this.settings.custom_settings;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   186
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   187
	// Update the flash url if needed
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   188
	if (!!this.settings.prevent_swf_caching) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   189
		this.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf("?") < 0 ? "?" : "&") + "preventswfcaching=" + new Date().getTime();
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   190
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   191
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   192
	if (!this.settings.preserve_relative_urls) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   193
		//this.settings.flash_url = SWFUpload.completeURL(this.settings.flash_url);	// Don't need to do this one since flash doesn't look at it
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   194
		this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   195
		this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   196
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   197
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   198
	delete this.ensureDefault;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   199
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   200
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   201
// Private: loadFlash replaces the button_placeholder element with the flash movie.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   202
SWFUpload.prototype.loadFlash = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   203
	var targetElement, tempParent;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   204
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   205
	// Make sure an element with the ID we are going to use doesn't already exist
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   206
	if (document.getElementById(this.movieName) !== null) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   207
		throw "ID " + this.movieName + " is already in use. The Flash Object could not be added";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   208
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   209
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   210
	// Get the element where we will be placing the flash movie
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   211
	targetElement = document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   212
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   213
	if (targetElement == undefined) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   214
		throw "Could not find the placeholder element: " + this.settings.button_placeholder_id;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   215
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   216
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   217
	// Append the container and load the flash
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   218
	tempParent = document.createElement("div");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   219
	tempParent.innerHTML = this.getFlashHTML();	// Using innerHTML is non-standard but the only sensible way to dynamically add Flash in IE (and maybe other browsers)
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   220
	targetElement.parentNode.replaceChild(tempParent.firstChild, targetElement);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   221
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   222
	// Fix IE Flash/Form bug
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   223
	if (window[this.movieName] == undefined) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   224
		window[this.movieName] = this.getMovieElement();
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   225
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   226
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   227
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   228
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   229
// Private: getFlashHTML generates the object tag needed to embed the flash in to the document
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   230
SWFUpload.prototype.getFlashHTML = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   231
	// Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   232
	return ['<object id="', this.movieName, '" type="application/x-shockwave-flash" data="', this.settings.flash_url, '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">',
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   233
				'<param name="wmode" value="', this.settings.button_window_mode, '" />',
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   234
				'<param name="movie" value="', this.settings.flash_url, '" />',
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   235
				'<param name="quality" value="high" />',
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   236
				'<param name="menu" value="false" />',
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   237
				'<param name="allowScriptAccess" value="always" />',
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   238
				'<param name="flashvars" value="' + this.getFlashVars() + '" />',
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   239
				'</object>'].join("");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   240
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   241
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   242
// Private: getFlashVars builds the parameter string that will be passed
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   243
// to flash in the flashvars param.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   244
SWFUpload.prototype.getFlashVars = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   245
	// Build a string from the post param object
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   246
	var paramString = this.buildParamString();
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   247
	var httpSuccessString = this.settings.http_success.join(",");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   248
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   249
	// Build the parameter string
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   250
	return ["movieName=", encodeURIComponent(this.movieName),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   251
			"&amp;uploadURL=", encodeURIComponent(this.settings.upload_url),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   252
			"&amp;useQueryString=", encodeURIComponent(this.settings.use_query_string),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   253
			"&amp;requeueOnError=", encodeURIComponent(this.settings.requeue_on_error),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   254
			"&amp;httpSuccess=", encodeURIComponent(httpSuccessString),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   255
			"&amp;assumeSuccessTimeout=", encodeURIComponent(this.settings.assume_success_timeout),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   256
			"&amp;params=", encodeURIComponent(paramString),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   257
			"&amp;filePostName=", encodeURIComponent(this.settings.file_post_name),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   258
			"&amp;fileTypes=", encodeURIComponent(this.settings.file_types),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   259
			"&amp;fileTypesDescription=", encodeURIComponent(this.settings.file_types_description),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   260
			"&amp;fileSizeLimit=", encodeURIComponent(this.settings.file_size_limit),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   261
			"&amp;fileUploadLimit=", encodeURIComponent(this.settings.file_upload_limit),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   262
			"&amp;fileQueueLimit=", encodeURIComponent(this.settings.file_queue_limit),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   263
			"&amp;debugEnabled=", encodeURIComponent(this.settings.debug_enabled),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   264
			"&amp;buttonImageURL=", encodeURIComponent(this.settings.button_image_url),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   265
			"&amp;buttonWidth=", encodeURIComponent(this.settings.button_width),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   266
			"&amp;buttonHeight=", encodeURIComponent(this.settings.button_height),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   267
			"&amp;buttonText=", encodeURIComponent(this.settings.button_text),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   268
			"&amp;buttonTextTopPadding=", encodeURIComponent(this.settings.button_text_top_padding),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   269
			"&amp;buttonTextLeftPadding=", encodeURIComponent(this.settings.button_text_left_padding),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   270
			"&amp;buttonTextStyle=", encodeURIComponent(this.settings.button_text_style),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   271
			"&amp;buttonAction=", encodeURIComponent(this.settings.button_action),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   272
			"&amp;buttonDisabled=", encodeURIComponent(this.settings.button_disabled),
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   273
			"&amp;buttonCursor=", encodeURIComponent(this.settings.button_cursor)
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   274
		].join("");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   275
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   276
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   277
// Public: getMovieElement retrieves the DOM reference to the Flash element added by SWFUpload
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   278
// The element is cached after the first lookup
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   279
SWFUpload.prototype.getMovieElement = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   280
	if (this.movieElement == undefined) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   281
		this.movieElement = document.getElementById(this.movieName);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   282
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   283
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   284
	if (this.movieElement === null) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   285
		throw "Could not find Flash element";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   286
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   287
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   288
	return this.movieElement;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   289
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   290
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   291
// Private: buildParamString takes the name/value pairs in the post_params setting object
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   292
// and joins them up in to a string formatted "name=value&amp;name=value"
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   293
SWFUpload.prototype.buildParamString = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   294
	var postParams = this.settings.post_params; 
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   295
	var paramStringPairs = [];
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   296
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   297
	if (typeof(postParams) === "object") {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   298
		for (var name in postParams) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   299
			if (postParams.hasOwnProperty(name)) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   300
				paramStringPairs.push(encodeURIComponent(name.toString()) + "=" + encodeURIComponent(postParams[name].toString()));
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   301
			}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   302
		}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   303
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   304
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   305
	return paramStringPairs.join("&amp;");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   306
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   307
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   308
// Public: Used to remove a SWFUpload instance from the page. This method strives to remove
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   309
// all references to the SWF, and other objects so memory is properly freed.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   310
// Returns true if everything was destroyed. Returns a false if a failure occurs leaving SWFUpload in an inconsistant state.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   311
// Credits: Major improvements provided by steffen
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   312
SWFUpload.prototype.destroy = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   313
	try {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   314
		// Make sure Flash is done before we try to remove it
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   315
		this.cancelUpload(null, false);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   316
		
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   317
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   318
		// Remove the SWFUpload DOM nodes
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   319
		var movieElement = null;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   320
		movieElement = this.getMovieElement();
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   321
		
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   322
		if (movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   323
			// Loop through all the movie's properties and remove all function references (DOM/JS IE 6/7 memory leak workaround)
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   324
			for (var i in movieElement) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   325
				try {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   326
					if (typeof(movieElement[i]) === "function") {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   327
						movieElement[i] = null;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   328
					}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   329
				} catch (ex1) {}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   330
			}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   331
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   332
			// Remove the Movie Element from the page
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   333
			try {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   334
				movieElement.parentNode.removeChild(movieElement);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   335
			} catch (ex) {}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   336
		}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   337
		
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   338
		// Remove IE form fix reference
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   339
		window[this.movieName] = null;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   340
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   341
		// Destroy other references
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   342
		SWFUpload.instances[this.movieName] = null;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   343
		delete SWFUpload.instances[this.movieName];
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   344
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   345
		this.movieElement = null;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   346
		this.settings = null;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   347
		this.customSettings = null;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   348
		this.eventQueue = null;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   349
		this.movieName = null;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   350
		
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   351
		
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   352
		return true;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   353
	} catch (ex2) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   354
		return false;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   355
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   356
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   357
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   358
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   359
// Public: displayDebugInfo prints out settings and configuration
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   360
// information about this SWFUpload instance.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   361
// This function (and any references to it) can be deleted when placing
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   362
// SWFUpload in production.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   363
SWFUpload.prototype.displayDebugInfo = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   364
	this.debug(
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   365
		[
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   366
			"---SWFUpload Instance Info---\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   367
			"Version: ", SWFUpload.version, "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   368
			"Movie Name: ", this.movieName, "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   369
			"Settings:\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   370
			"\t", "upload_url:               ", this.settings.upload_url, "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   371
			"\t", "flash_url:                ", this.settings.flash_url, "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   372
			"\t", "use_query_string:         ", this.settings.use_query_string.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   373
			"\t", "requeue_on_error:         ", this.settings.requeue_on_error.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   374
			"\t", "http_success:             ", this.settings.http_success.join(", "), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   375
			"\t", "assume_success_timeout:   ", this.settings.assume_success_timeout, "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   376
			"\t", "file_post_name:           ", this.settings.file_post_name, "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   377
			"\t", "post_params:              ", this.settings.post_params.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   378
			"\t", "file_types:               ", this.settings.file_types, "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   379
			"\t", "file_types_description:   ", this.settings.file_types_description, "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   380
			"\t", "file_size_limit:          ", this.settings.file_size_limit, "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   381
			"\t", "file_upload_limit:        ", this.settings.file_upload_limit, "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   382
			"\t", "file_queue_limit:         ", this.settings.file_queue_limit, "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   383
			"\t", "debug:                    ", this.settings.debug.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   384
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   385
			"\t", "prevent_swf_caching:      ", this.settings.prevent_swf_caching.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   386
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   387
			"\t", "button_placeholder_id:    ", this.settings.button_placeholder_id.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   388
			"\t", "button_placeholder:       ", (this.settings.button_placeholder ? "Set" : "Not Set"), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   389
			"\t", "button_image_url:         ", this.settings.button_image_url.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   390
			"\t", "button_width:             ", this.settings.button_width.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   391
			"\t", "button_height:            ", this.settings.button_height.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   392
			"\t", "button_text:              ", this.settings.button_text.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   393
			"\t", "button_text_style:        ", this.settings.button_text_style.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   394
			"\t", "button_text_top_padding:  ", this.settings.button_text_top_padding.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   395
			"\t", "button_text_left_padding: ", this.settings.button_text_left_padding.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   396
			"\t", "button_action:            ", this.settings.button_action.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   397
			"\t", "button_disabled:          ", this.settings.button_disabled.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   398
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   399
			"\t", "custom_settings:          ", this.settings.custom_settings.toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   400
			"Event Handlers:\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   401
			"\t", "swfupload_loaded_handler assigned:  ", (typeof this.settings.swfupload_loaded_handler === "function").toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   402
			"\t", "file_dialog_start_handler assigned: ", (typeof this.settings.file_dialog_start_handler === "function").toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   403
			"\t", "file_queued_handler assigned:       ", (typeof this.settings.file_queued_handler === "function").toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   404
			"\t", "file_queue_error_handler assigned:  ", (typeof this.settings.file_queue_error_handler === "function").toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   405
			"\t", "upload_start_handler assigned:      ", (typeof this.settings.upload_start_handler === "function").toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   406
			"\t", "upload_progress_handler assigned:   ", (typeof this.settings.upload_progress_handler === "function").toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   407
			"\t", "upload_error_handler assigned:      ", (typeof this.settings.upload_error_handler === "function").toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   408
			"\t", "upload_success_handler assigned:    ", (typeof this.settings.upload_success_handler === "function").toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   409
			"\t", "upload_complete_handler assigned:   ", (typeof this.settings.upload_complete_handler === "function").toString(), "\n",
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   410
			"\t", "debug_handler assigned:             ", (typeof this.settings.debug_handler === "function").toString(), "\n"
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   411
		].join("")
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   412
	);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   413
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   414
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   415
/* Note: addSetting and getSetting are no longer used by SWFUpload but are included
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   416
	the maintain v2 API compatibility
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   417
*/
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   418
// Public: (Deprecated) addSetting adds a setting value. If the value given is undefined or null then the default_value is used.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   419
SWFUpload.prototype.addSetting = function (name, value, default_value) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   420
    if (value == undefined) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   421
        return (this.settings[name] = default_value);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   422
    } else {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   423
        return (this.settings[name] = value);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   424
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   425
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   426
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   427
// Public: (Deprecated) getSetting gets a setting. Returns an empty string if the setting was not found.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   428
SWFUpload.prototype.getSetting = function (name) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   429
    if (this.settings[name] != undefined) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   430
        return this.settings[name];
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   431
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   432
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   433
    return "";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   434
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   435
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   436
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   437
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   438
// Private: callFlash handles function calls made to the Flash element.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   439
// Calls are made with a setTimeout for some functions to work around
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   440
// bugs in the ExternalInterface library.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   441
SWFUpload.prototype.callFlash = function (functionName, argumentArray) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   442
	argumentArray = argumentArray || [];
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   443
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   444
	var movieElement = this.getMovieElement();
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   445
	var returnValue, returnString;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   446
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   447
	// Flash's method if calling ExternalInterface methods (code adapted from MooTools).
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   448
	try {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   449
		returnString = movieElement.CallFunction('<invoke name="' + functionName + '" returntype="javascript">' + __flash__argumentsToXML(argumentArray, 0) + '</invoke>');
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   450
		returnValue = eval(returnString);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   451
	} catch (ex) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   452
		throw "Call to " + functionName + " failed";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   453
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   454
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   455
	// Unescape file post param values
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   456
	if (returnValue != undefined && typeof returnValue.post === "object") {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   457
		returnValue = this.unescapeFilePostParams(returnValue);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   458
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   459
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   460
	return returnValue;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   461
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   462
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   463
/* *****************************
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   464
	-- Flash control methods --
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   465
	Your UI should use these
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   466
	to operate SWFUpload
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   467
   ***************************** */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   468
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   469
// WARNING: this function does not work in Flash Player 10
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   470
// Public: selectFile causes a File Selection Dialog window to appear.  This
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   471
// dialog only allows 1 file to be selected.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   472
SWFUpload.prototype.selectFile = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   473
	this.callFlash("SelectFile");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   474
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   475
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   476
// WARNING: this function does not work in Flash Player 10
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   477
// Public: selectFiles causes a File Selection Dialog window to appear/ This
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   478
// dialog allows the user to select any number of files
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   479
// Flash Bug Warning: Flash limits the number of selectable files based on the combined length of the file names.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   480
// If the selection name length is too long the dialog will fail in an unpredictable manner.  There is no work-around
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   481
// for this bug.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   482
SWFUpload.prototype.selectFiles = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   483
	this.callFlash("SelectFiles");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   484
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   485
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   486
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   487
// Public: startUpload starts uploading the first file in the queue unless
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   488
// the optional parameter 'fileID' specifies the ID 
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   489
SWFUpload.prototype.startUpload = function (fileID) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   490
	this.callFlash("StartUpload", [fileID]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   491
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   492
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   493
// Public: cancelUpload cancels any queued file.  The fileID parameter may be the file ID or index.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   494
// If you do not specify a fileID the current uploading file or first file in the queue is cancelled.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   495
// If you do not want the uploadError event to trigger you can specify false for the triggerErrorEvent parameter.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   496
SWFUpload.prototype.cancelUpload = function (fileID, triggerErrorEvent) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   497
	if (triggerErrorEvent !== false) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   498
		triggerErrorEvent = true;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   499
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   500
	this.callFlash("CancelUpload", [fileID, triggerErrorEvent]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   501
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   502
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   503
// Public: stopUpload stops the current upload and requeues the file at the beginning of the queue.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   504
// If nothing is currently uploading then nothing happens.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   505
SWFUpload.prototype.stopUpload = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   506
	this.callFlash("StopUpload");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   507
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   508
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   509
/* ************************
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   510
 * Settings methods
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   511
 *   These methods change the SWFUpload settings.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   512
 *   SWFUpload settings should not be changed directly on the settings object
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   513
 *   since many of the settings need to be passed to Flash in order to take
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   514
 *   effect.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   515
 * *********************** */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   516
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   517
// Public: getStats gets the file statistics object.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   518
SWFUpload.prototype.getStats = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   519
	return this.callFlash("GetStats");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   520
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   521
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   522
// Public: setStats changes the SWFUpload statistics.  You shouldn't need to 
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   523
// change the statistics but you can.  Changing the statistics does not
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   524
// affect SWFUpload accept for the successful_uploads count which is used
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   525
// by the upload_limit setting to determine how many files the user may upload.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   526
SWFUpload.prototype.setStats = function (statsObject) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   527
	this.callFlash("SetStats", [statsObject]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   528
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   529
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   530
// Public: getFile retrieves a File object by ID or Index.  If the file is
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   531
// not found then 'null' is returned.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   532
SWFUpload.prototype.getFile = function (fileID) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   533
	if (typeof(fileID) === "number") {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   534
		return this.callFlash("GetFileByIndex", [fileID]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   535
	} else {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   536
		return this.callFlash("GetFile", [fileID]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   537
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   538
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   539
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   540
// Public: addFileParam sets a name/value pair that will be posted with the
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   541
// file specified by the Files ID.  If the name already exists then the
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   542
// exiting value will be overwritten.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   543
SWFUpload.prototype.addFileParam = function (fileID, name, value) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   544
	return this.callFlash("AddFileParam", [fileID, name, value]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   545
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   546
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   547
// Public: removeFileParam removes a previously set (by addFileParam) name/value
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   548
// pair from the specified file.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   549
SWFUpload.prototype.removeFileParam = function (fileID, name) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   550
	this.callFlash("RemoveFileParam", [fileID, name]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   551
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   552
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   553
// Public: setUploadUrl changes the upload_url setting.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   554
SWFUpload.prototype.setUploadURL = function (url) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   555
	this.settings.upload_url = url.toString();
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   556
	this.callFlash("SetUploadURL", [url]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   557
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   558
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   559
// Public: setPostParams changes the post_params setting
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   560
SWFUpload.prototype.setPostParams = function (paramsObject) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   561
	this.settings.post_params = paramsObject;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   562
	this.callFlash("SetPostParams", [paramsObject]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   563
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   564
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   565
// Public: addPostParam adds post name/value pair.  Each name can have only one value.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   566
SWFUpload.prototype.addPostParam = function (name, value) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   567
	this.settings.post_params[name] = value;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   568
	this.callFlash("SetPostParams", [this.settings.post_params]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   569
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   570
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   571
// Public: removePostParam deletes post name/value pair.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   572
SWFUpload.prototype.removePostParam = function (name) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   573
	delete this.settings.post_params[name];
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   574
	this.callFlash("SetPostParams", [this.settings.post_params]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   575
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   576
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   577
// Public: setFileTypes changes the file_types setting and the file_types_description setting
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   578
SWFUpload.prototype.setFileTypes = function (types, description) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   579
	this.settings.file_types = types;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   580
	this.settings.file_types_description = description;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   581
	this.callFlash("SetFileTypes", [types, description]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   582
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   583
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   584
// Public: setFileSizeLimit changes the file_size_limit setting
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   585
SWFUpload.prototype.setFileSizeLimit = function (fileSizeLimit) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   586
	this.settings.file_size_limit = fileSizeLimit;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   587
	this.callFlash("SetFileSizeLimit", [fileSizeLimit]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   588
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   589
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   590
// Public: setFileUploadLimit changes the file_upload_limit setting
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   591
SWFUpload.prototype.setFileUploadLimit = function (fileUploadLimit) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   592
	this.settings.file_upload_limit = fileUploadLimit;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   593
	this.callFlash("SetFileUploadLimit", [fileUploadLimit]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   594
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   595
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   596
// Public: setFileQueueLimit changes the file_queue_limit setting
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   597
SWFUpload.prototype.setFileQueueLimit = function (fileQueueLimit) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   598
	this.settings.file_queue_limit = fileQueueLimit;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   599
	this.callFlash("SetFileQueueLimit", [fileQueueLimit]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   600
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   601
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   602
// Public: setFilePostName changes the file_post_name setting
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   603
SWFUpload.prototype.setFilePostName = function (filePostName) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   604
	this.settings.file_post_name = filePostName;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   605
	this.callFlash("SetFilePostName", [filePostName]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   606
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   607
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   608
// Public: setUseQueryString changes the use_query_string setting
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   609
SWFUpload.prototype.setUseQueryString = function (useQueryString) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   610
	this.settings.use_query_string = useQueryString;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   611
	this.callFlash("SetUseQueryString", [useQueryString]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   612
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   613
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   614
// Public: setRequeueOnError changes the requeue_on_error setting
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   615
SWFUpload.prototype.setRequeueOnError = function (requeueOnError) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   616
	this.settings.requeue_on_error = requeueOnError;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   617
	this.callFlash("SetRequeueOnError", [requeueOnError]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   618
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   619
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   620
// Public: setHTTPSuccess changes the http_success setting
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   621
SWFUpload.prototype.setHTTPSuccess = function (http_status_codes) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   622
	if (typeof http_status_codes === "string") {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   623
		http_status_codes = http_status_codes.replace(" ", "").split(",");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   624
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   625
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   626
	this.settings.http_success = http_status_codes;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   627
	this.callFlash("SetHTTPSuccess", [http_status_codes]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   628
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   629
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   630
// Public: setHTTPSuccess changes the http_success setting
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   631
SWFUpload.prototype.setAssumeSuccessTimeout = function (timeout_seconds) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   632
	this.settings.assume_success_timeout = timeout_seconds;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   633
	this.callFlash("SetAssumeSuccessTimeout", [timeout_seconds]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   634
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   635
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   636
// Public: setDebugEnabled changes the debug_enabled setting
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   637
SWFUpload.prototype.setDebugEnabled = function (debugEnabled) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   638
	this.settings.debug_enabled = debugEnabled;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   639
	this.callFlash("SetDebugEnabled", [debugEnabled]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   640
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   641
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   642
// Public: setButtonImageURL loads a button image sprite
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   643
SWFUpload.prototype.setButtonImageURL = function (buttonImageURL) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   644
	if (buttonImageURL == undefined) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   645
		buttonImageURL = "";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   646
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   647
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   648
	this.settings.button_image_url = buttonImageURL;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   649
	this.callFlash("SetButtonImageURL", [buttonImageURL]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   650
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   651
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   652
// Public: setButtonDimensions resizes the Flash Movie and button
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   653
SWFUpload.prototype.setButtonDimensions = function (width, height) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   654
	this.settings.button_width = width;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   655
	this.settings.button_height = height;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   656
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   657
	var movie = this.getMovieElement();
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   658
	if (movie != undefined) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   659
		movie.style.width = width + "px";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   660
		movie.style.height = height + "px";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   661
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   662
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   663
	this.callFlash("SetButtonDimensions", [width, height]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   664
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   665
// Public: setButtonText Changes the text overlaid on the button
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   666
SWFUpload.prototype.setButtonText = function (html) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   667
	this.settings.button_text = html;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   668
	this.callFlash("SetButtonText", [html]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   669
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   670
// Public: setButtonTextPadding changes the top and left padding of the text overlay
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   671
SWFUpload.prototype.setButtonTextPadding = function (left, top) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   672
	this.settings.button_text_top_padding = top;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   673
	this.settings.button_text_left_padding = left;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   674
	this.callFlash("SetButtonTextPadding", [left, top]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   675
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   676
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   677
// Public: setButtonTextStyle changes the CSS used to style the HTML/Text overlaid on the button
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   678
SWFUpload.prototype.setButtonTextStyle = function (css) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   679
	this.settings.button_text_style = css;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   680
	this.callFlash("SetButtonTextStyle", [css]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   681
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   682
// Public: setButtonDisabled disables/enables the button
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   683
SWFUpload.prototype.setButtonDisabled = function (isDisabled) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   684
	this.settings.button_disabled = isDisabled;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   685
	this.callFlash("SetButtonDisabled", [isDisabled]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   686
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   687
// Public: setButtonAction sets the action that occurs when the button is clicked
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   688
SWFUpload.prototype.setButtonAction = function (buttonAction) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   689
	this.settings.button_action = buttonAction;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   690
	this.callFlash("SetButtonAction", [buttonAction]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   691
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   692
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   693
// Public: setButtonCursor changes the mouse cursor displayed when hovering over the button
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   694
SWFUpload.prototype.setButtonCursor = function (cursor) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   695
	this.settings.button_cursor = cursor;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   696
	this.callFlash("SetButtonCursor", [cursor]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   697
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   698
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   699
/* *******************************
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   700
	Flash Event Interfaces
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   701
	These functions are used by Flash to trigger the various
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   702
	events.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   703
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   704
	All these functions a Private.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   705
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   706
	Because the ExternalInterface library is buggy the event calls
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   707
	are added to a queue and the queue then executed by a setTimeout.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   708
	This ensures that events are executed in a determinate order and that
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   709
	the ExternalInterface bugs are avoided.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   710
******************************* */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   711
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   712
SWFUpload.prototype.queueEvent = function (handlerName, argumentArray) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   713
	// Warning: Don't call this.debug inside here or you'll create an infinite loop
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   714
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   715
	if (argumentArray == undefined) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   716
		argumentArray = [];
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   717
	} else if (!(argumentArray instanceof Array)) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   718
		argumentArray = [argumentArray];
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   719
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   720
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   721
	var self = this;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   722
	if (typeof this.settings[handlerName] === "function") {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   723
		// Queue the event
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   724
		this.eventQueue.push(function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   725
			this.settings[handlerName].apply(this, argumentArray);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   726
		});
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   727
		
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   728
		// Execute the next queued event
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   729
		setTimeout(function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   730
			self.executeNextEvent();
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   731
		}, 0);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   732
		
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   733
	} else if (this.settings[handlerName] !== null) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   734
		throw "Event handler " + handlerName + " is unknown or is not a function";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   735
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   736
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   737
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   738
// Private: Causes the next event in the queue to be executed.  Since events are queued using a setTimeout
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   739
// we must queue them in order to garentee that they are executed in order.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   740
SWFUpload.prototype.executeNextEvent = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   741
	// Warning: Don't call this.debug inside here or you'll create an infinite loop
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   742
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   743
	var  f = this.eventQueue ? this.eventQueue.shift() : null;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   744
	if (typeof(f) === "function") {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   745
		f.apply(this);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   746
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   747
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   748
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   749
// Private: unescapeFileParams is part of a workaround for a flash bug where objects passed through ExternalInterface cannot have
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   750
// properties that contain characters that are not valid for JavaScript identifiers. To work around this
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   751
// the Flash Component escapes the parameter names and we must unescape again before passing them along.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   752
SWFUpload.prototype.unescapeFilePostParams = function (file) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   753
	var reg = /[$]([0-9a-f]{4})/i;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   754
	var unescapedPost = {};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   755
	var uk;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   756
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   757
	if (file != undefined) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   758
		for (var k in file.post) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   759
			if (file.post.hasOwnProperty(k)) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   760
				uk = k;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   761
				var match;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   762
				while ((match = reg.exec(uk)) !== null) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   763
					uk = uk.replace(match[0], String.fromCharCode(parseInt("0x" + match[1], 16)));
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   764
				}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   765
				unescapedPost[uk] = file.post[k];
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   766
			}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   767
		}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   768
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   769
		file.post = unescapedPost;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   770
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   771
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   772
	return file;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   773
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   774
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   775
// Private: Called by Flash to see if JS can call in to Flash (test if External Interface is working)
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   776
SWFUpload.prototype.testExternalInterface = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   777
	try {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   778
		return this.callFlash("TestExternalInterface");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   779
	} catch (ex) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   780
		return false;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   781
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   782
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   783
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   784
// Private: This event is called by Flash when it has finished loading. Don't modify this.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   785
// Use the swfupload_loaded_handler event setting to execute custom code when SWFUpload has loaded.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   786
SWFUpload.prototype.flashReady = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   787
	// Check that the movie element is loaded correctly with its ExternalInterface methods defined
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   788
	var movieElement = this.getMovieElement();
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   789
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   790
	if (!movieElement) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   791
		this.debug("Flash called back ready but the flash movie can't be found.");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   792
		return;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   793
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   794
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   795
	this.cleanUp(movieElement);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   796
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   797
	this.queueEvent("swfupload_loaded_handler");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   798
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   799
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   800
// Private: removes Flash added fuctions to the DOM node to prevent memory leaks in IE.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   801
// This function is called by Flash each time the ExternalInterface functions are created.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   802
SWFUpload.prototype.cleanUp = function (movieElement) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   803
	// Pro-actively unhook all the Flash functions
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   804
	try {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   805
		if (this.movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   806
			this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   807
			for (var key in movieElement) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   808
				try {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   809
					if (typeof(movieElement[key]) === "function") {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   810
						movieElement[key] = null;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   811
					}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   812
				} catch (ex) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   813
				}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   814
			}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   815
		}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   816
	} catch (ex1) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   817
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   818
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   819
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   820
	// Fix Flashes own cleanup code so if the SWFMovie was removed from the page
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   821
	// it doesn't display errors.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   822
	window["__flash__removeCallback"] = function (instance, name) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   823
		try {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   824
			if (instance) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   825
				instance[name] = null;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   826
			}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   827
		} catch (flashEx) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   828
		
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   829
		}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   830
	};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   831
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   832
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   833
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   834
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   835
/* This is a chance to do something before the browse window opens */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   836
SWFUpload.prototype.fileDialogStart = function () {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   837
	this.queueEvent("file_dialog_start_handler");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   838
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   839
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   840
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   841
/* Called when a file is successfully added to the queue. */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   842
SWFUpload.prototype.fileQueued = function (file) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   843
	file = this.unescapeFilePostParams(file);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   844
	this.queueEvent("file_queued_handler", file);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   845
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   846
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   847
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   848
/* Handle errors that occur when an attempt to queue a file fails. */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   849
SWFUpload.prototype.fileQueueError = function (file, errorCode, message) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   850
	file = this.unescapeFilePostParams(file);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   851
	this.queueEvent("file_queue_error_handler", [file, errorCode, message]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   852
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   853
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   854
/* Called after the file dialog has closed and the selected files have been queued.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   855
	You could call startUpload here if you want the queued files to begin uploading immediately. */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   856
SWFUpload.prototype.fileDialogComplete = function (numFilesSelected, numFilesQueued, numFilesInQueue) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   857
	this.queueEvent("file_dialog_complete_handler", [numFilesSelected, numFilesQueued, numFilesInQueue]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   858
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   859
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   860
SWFUpload.prototype.uploadStart = function (file) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   861
	file = this.unescapeFilePostParams(file);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   862
	this.queueEvent("return_upload_start_handler", file);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   863
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   864
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   865
SWFUpload.prototype.returnUploadStart = function (file) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   866
	var returnValue;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   867
	if (typeof this.settings.upload_start_handler === "function") {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   868
		file = this.unescapeFilePostParams(file);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   869
		returnValue = this.settings.upload_start_handler.call(this, file);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   870
	} else if (this.settings.upload_start_handler != undefined) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   871
		throw "upload_start_handler must be a function";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   872
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   873
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   874
	// Convert undefined to true so if nothing is returned from the upload_start_handler it is
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   875
	// interpretted as 'true'.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   876
	if (returnValue === undefined) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   877
		returnValue = true;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   878
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   879
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   880
	returnValue = !!returnValue;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   881
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   882
	this.callFlash("ReturnUploadStart", [returnValue]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   883
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   884
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   885
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   886
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   887
SWFUpload.prototype.uploadProgress = function (file, bytesComplete, bytesTotal) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   888
	file = this.unescapeFilePostParams(file);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   889
	this.queueEvent("upload_progress_handler", [file, bytesComplete, bytesTotal]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   890
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   891
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   892
SWFUpload.prototype.uploadError = function (file, errorCode, message) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   893
	file = this.unescapeFilePostParams(file);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   894
	this.queueEvent("upload_error_handler", [file, errorCode, message]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   895
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   896
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   897
SWFUpload.prototype.uploadSuccess = function (file, serverData, responseReceived) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   898
	file = this.unescapeFilePostParams(file);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   899
	this.queueEvent("upload_success_handler", [file, serverData, responseReceived]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   900
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   901
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   902
SWFUpload.prototype.uploadComplete = function (file) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   903
	file = this.unescapeFilePostParams(file);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   904
	this.queueEvent("upload_complete_handler", file);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   905
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   906
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   907
/* Called by SWFUpload JavaScript and Flash functions when debug is enabled. By default it writes messages to the
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   908
   internal debug console.  You can override this event and have messages written where you want. */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   909
SWFUpload.prototype.debug = function (message) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   910
	this.queueEvent("debug_handler", message);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   911
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   912
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   913
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   914
/* **********************************
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   915
	Debug Console
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   916
	The debug console is a self contained, in page location
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   917
	for debug message to be sent.  The Debug Console adds
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   918
	itself to the body if necessary.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   919
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   920
	The console is automatically scrolled as messages appear.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   921
	
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   922
	If you are using your own debug handler or when you deploy to production and
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   923
	have debug disabled you can remove these functions to reduce the file size
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   924
	and complexity.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   925
********************************** */
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   926
   
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   927
// Private: debugMessage is the default debug_handler.  If you want to print debug messages
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   928
// call the debug() function.  When overriding the function your own function should
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   929
// check to see if the debug setting is true before outputting debug information.
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   930
SWFUpload.prototype.debugMessage = function (message) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   931
	if (this.settings.debug) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   932
		var exceptionMessage, exceptionValues = [];
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   933
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   934
		// Check for an exception object and print it nicely
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   935
		if (typeof message === "object" && typeof message.name === "string" && typeof message.message === "string") {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   936
			for (var key in message) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   937
				if (message.hasOwnProperty(key)) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   938
					exceptionValues.push(key + ": " + message[key]);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   939
				}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   940
			}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   941
			exceptionMessage = exceptionValues.join("\n") || "";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   942
			exceptionValues = exceptionMessage.split("\n");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   943
			exceptionMessage = "EXCEPTION: " + exceptionValues.join("\nEXCEPTION: ");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   944
			SWFUpload.Console.writeLine(exceptionMessage);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   945
		} else {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   946
			SWFUpload.Console.writeLine(message);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   947
		}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   948
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   949
};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   950
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   951
SWFUpload.Console = {};
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   952
SWFUpload.Console.writeLine = function (message) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   953
	var console, documentForm;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   954
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   955
	try {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   956
		console = document.getElementById("SWFUpload_Console");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   957
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   958
		if (!console) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   959
			documentForm = document.createElement("form");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   960
			document.getElementsByTagName("body")[0].appendChild(documentForm);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   961
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   962
			console = document.createElement("textarea");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   963
			console.id = "SWFUpload_Console";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   964
			console.style.fontFamily = "monospace";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   965
			console.setAttribute("wrap", "off");
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   966
			console.wrap = "off";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   967
			console.style.overflow = "auto";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   968
			console.style.width = "700px";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   969
			console.style.height = "350px";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   970
			console.style.margin = "5px";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   971
			documentForm.appendChild(console);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   972
		}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   973
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   974
		console.value += message + "\n";
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   975
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   976
		console.scrollTop = console.scrollHeight - console.clientHeight;
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   977
	} catch (ex) {
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   978
		alert("Exception: " + ex.name + " Message: " + ex.message);
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   979
	}
8a881c9593d0 Add swfupload for local upload to create content view, with progress bar and error management.
cavaliet
parents:
diff changeset
   980
};