var progressTable;
function fileQueued(file) {
	progressTable = "<table cellspacing=\"0\" cellpadding=\"0\" class=\"vMid col100\"><tr><td class=\"progressLeftTD\"><span id=\"filename_"+file.id+"\"></span></td><td class=\"progressMiddleTD\"><input class=\"progress\" id=\"progress_"+file.id+"\"></input></td><td class=\"progressRightTD\"><img id=\"cancel_"+file.id+"\" src=\"/images/cancel_upload.png\" /></td></tr></table>"
	$("#progressTarget").append(progressTable);
	$("#filename_"+file.id).text(file.name.substr(0, 12));
	$("#queueStatus").text(parseInt($("#queueStatus").text()) + 1);
	$("#thumbnailSummary").show();
}

function fileQueueError(file, errorCode, message) {
	if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
		newAlert("File Queue Error Code" + errorCode + " for file " + file.name + "Msg: " + message);
		return
	}
	switch (errorCode) {
	case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
		newAlert("Error Code: File too big, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
		break;
	case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
		newAlert("Error Code: Zero byte file, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
		break;
	case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
		newAlert("Error Code: Invalid File Type, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
		break;
	default:
		if (file !== null) {
			newAlert("Unhandled Upload Error");
		}
		break;
	}
}

function fileDialogComplete(numFilesSelected, numFilesQueued) {
	//newAlert(numFilesSelected + " files selected and " + numFilesQueued + " files queued.");
}

function uploadStart(file) {
	$("#filenameSummary").text(file.name);
	assetDrawerUp();
}

function uploadProgress(file, bytesLoaded, bytesTotal) {
	var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);
	$("#progress_"+file.id).css("backgroundPosition", (((100 - percent) * -4) + "px"))
	$("#bytesloadedSummary").text(Math.ceil(bytesLoaded / 1024));
	$("#bytestotalSummary").text(Math.ceil(bytesTotal / 1024));
}

function uploadSuccess(file, serverData) {
	$("#uploadStatus").text(parseInt($("#uploadStatus").text()) + 1);
	$("#queueStatus").text(parseInt($("#queueStatus").text()) - 1);
	$("#progress_"+file.id).css("backgroundPosition", "0px")
	$("#cancel_"+file.id).attr("src", "/images/upload_complete.png");
	eval(serverData);
}

function uploadError(file, errorCode, message) {
	switch (errorCode) {
	case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
		newAlert("Error Code: HTTP Error, File name: " + file.name + ", Message: " + message);
		break;
	case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
		newAlert("Error Code: Upload Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
		break;
	case SWFUpload.UPLOAD_ERROR.IO_ERROR:
		newAlert("Error Code: IO Error, File name: " + file.name + ", Message: " + message);
		break;
	case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
		newAlert("Error Code: Security Error, File name: " + file.name + ", Message: " + message);
		break;
	case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
		newAlert("Error Code: Upload Limit Exceeded, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
		break;
	case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
		newAlert("Error Code: File Validation Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
		break;
	case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
		if (this.getStats().files_queued === 0) {
			$(this.customSettings.cancelButtonId).disabled = true;
		}
		newAlert("Cancelled");
		break;
	case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
		newAlert("Stopped");
		break;
	default:
		newAlert("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
		break;
	}
}

function uploadComplete(file) {
	$(this.customSettings.cancelButtonId).disabled = true;
}

function queueComplete(numFilesUploaded) {
	$("queueStatus").html(numFilesUploaded + " file" + (numFilesUploaded === 1 ? "" : "s") + " uploaded.");
}