
function IsNumeric(sText) {
   var ValidChars = "0123456789";  var IsNumber=true;  var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) { Char = sText.charAt(i); if (ValidChars.indexOf(Char) == -1) {IsNumber = false;}}return IsNumber;
}

function file_progress_status(prozent, id) {
	if (IsNumeric(prozent)) {
		if (prozent == 100) {
			prozent = 'Überprüfung läuft .... ';
		} else {			
			prozent = 'Uploadstatus: ' + prozent + "%";
		}
		
	} 	
	$('#'+id+'_nachricht').html('<div class="tcenter rot" style="font-size: 1.3em;">' + prozent + '</div>');		
}

function file_progress_complete(complete, id) {
	$('#'+id+'_nachricht').html('<div class="tcenter gruen" style="font-size: 1.3em;">' + complete + '</div>');			
}

function file_progress_error(error, id) {
	$('#'+id+'_nachricht').html('<div class="tcenter rot" style="font-size: 1.3em;">' + complete + '</div>');		
}


function swfUploadLoaded() {
	var start = document.getElementById("videofileselector");
	start.onclick = doSubmit;
}

function doSubmit(e) {	
	e = e || window.event;
	if (e.stopPropagation) {e.stopPropagation();}
	e.cancelBubble = true;	
	try {swfu.startUpload();} catch (ex) {	}
	return false;
}

function uploadDone() {
	try {
		//var id = $('#f_id').val();
		//$('#'+id+'_nachricht').html('Vielen Dank.')		
	} catch (ex) {	alert("Fehler bei der Bearbeitung des Formulars.");}
}

function fileDialogStart() {
	var txtFileName = document.getElementById("videofileswf");
	txtFileName.value = "";
	this.cancelUpload();
}



function fileQueueError(file, errorCode, message)  {
	try {
		switch (errorCode) {
		case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:
			alert("Fehler");
			return;
		case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
			alert("Die ausgewählte Datei ist zu groß (max. 60MB).");
			this.debug("Error Code: File too big, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			return;
		case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
			alert("Die ausgewählte Datei ist leer.");
			this.debug("Error Code: Zero byte file, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			return;
		case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
			alert("Das Format der Datei ist nicht erlaubt.");
			this.debug("Error Code: Invalid File Type, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			return;
		default:
			alert("Es ist ein Fehler aufgetreten. Bitte versuche es später erneut.");
			this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			return;
		}
	} catch (e) {}
}

function fileQueued(file) {
	try {
		var txtFileName = document.getElementById("videofileswf");
		txtFileName.value = file.name;
	} catch (e) {}
}
function fileDialogComplete(numFilesSelected, numFilesQueued) {}

function uploadProgress(file, bytesLoaded, bytesTotal) {
	try {		
		var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);
		file.id = "singlefile";		
		file_progress_status(percent, $('#f_id').val());	
	} catch (e) {}
}

function uploadSuccess(file, serverData) {
	try {
		file.id = "singlefile";	
		file_progress_complete(serverData, $('#f_id').val());
	} catch (e) {}
}

function uploadComplete(file) {
	try {
		if (this.customSettings.upload_successful) {
			uploadDone();
		} else {
			file.id = "singlefile";	
			file_progress_error("Upload verweigert.", $('#f_id').val());
			var txtFileName = document.getElementById("videofileswf");
			txtFileName.value = "";
			alert("Es ist ein Fehler aufgetreten. Bitte versuche es später erneut.");
		}
	} catch (e) {}
}

function uploadError(file, errorCode, message) {
	try {
		
		if (errorCode === SWFUpload.UPLOAD_ERROR.FILE_CANCELLED) {
			return;
		}		
		var txtFileName = document.getElementById("videofileswf");
		txtFileName.value = "";
		switch (errorCode) {
		case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:
			alert("Fehler");
			this.debug("Error Code: No backend file, File name: " + file.name + ", Message: " + message);
			return;
		case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
			alert("Fehler");
			this.debug("Error Code: Upload Limit Exceeded, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			return;
		case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
		case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
			break;
		default:
			alert("Es ist ein Fehler aufgetreten. Bitte versuche es später erneut.");
			this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			return;
		}
		file.id = "singlefile";	
		switch (errorCode) {
		case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
			progress.setStatus("Upload Fehler.");
			this.debug("Error Code: HTTP Error, File name: " + file.name + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
			progress.setStatus("Upload fehlgeschlagen..");
			this.debug("Error Code: Upload Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.IO_ERROR:
			progress.setStatus("Server (IO) Fehler.");
			this.debug("Error Code: IO Error, File name: " + file.name + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
			progress.setStatus("Server (Security) Fehler.");
			this.debug("Error Code: Security Error, File name: " + file.name + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
			progress.setStatus("Upload abgebrochen-");
			this.debug("Error Code: Upload Cancelled, File name: " + file.name + ", Message: " + message);
			break;
		case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
			progress.setStatus("Upload angehalten.");
			this.debug("Error Code: Upload Stopped, File name: " + file.name + ", Message: " + message);
			break;
		}
	} catch (ex) {	}
}
