var inetUploader = {
	// Variables for Content
	oApplication: new Object(),
	//oUrlParameter: new Object(),
	printMode: false,
	
	// Variables for UploadForm
	oFrame: null,
	oFrameId: "pw_uploader_iframe",
	oContainer: null,
	oContainerId: "pw_uploader_layer",
	oBody: document.getElementsByTagName('body')[0],
	formId: "pw_uploader_form",
	isCreated: false,
	oDirectory: null,
	oDirectoryId:"pw_uploader_directory",
	oField: null, 
	oFieldId: "pw_uploader_field", 
	oSize: null,
	oSizeId: "pw_uploader_size",
	oMime: null,
	oMimeId: "pw_uploader_mimetype",
	oError: null, 
	oErrorId: "pw_uploader_error",
	oSubmit: null,
	oReset: null,
	oLoading: null,
	oLoadingId: 'pw_uploader_loading',
	oApp: null,
	oAppId: 'pw_uploader_app',
	oFile: null,
	oFileId: "pw_uploader_file",
	
	// popup
	UploaderPopUpWindow: "",
	UploaderForm: "",
	btnUpload: "",
	btnCancel: "",
	
	/*
	 * initializes the object for current application and appends the uploader layer to the dom-tree
	 */
	init: function(appName, containerId, fieldName, directory, sizeLimit, mimeType, noFields, label, printMode, bHideEmpty, bHideTitle, functionToCall, parameters){
		this.printMode = printMode;
		if ( bHideEmpty == null ) bHideEmpty = false;
		if ( bHideTitle == null ) bHideTitle = false;
		//inetCore.addPrintLock(appName);
		
		// create object for current application
		if ( !this.oApplication[appName] ) {
			this.oApplication[appName] = new Object();
		}
		this.oApplication[appName]['label'] = label;
		this.oApplication[appName]['directory'] = directory;
		this.oApplication[appName]['directoryEsc'] = directory.replace(/\134/g, '\\\\');
		this.oApplication[appName]['sizeLimit'] = sizeLimit;
		this.oApplication[appName]['mimeType'] = mimeType;
		this.oApplication[appName]['fieldName'] = fieldName;
		this.oApplication[appName]['oMasterContainer'] = containerId;
		this.oApplication[appName]['active'] = -1;
		this.oApplication[appName]['bHideEmpty'] = bHideEmpty;
		this.oApplication[appName]['bHideTitle'] = bHideTitle;
		this.oApplication[appName]['interaction'] = this.createInteraction(appName, noFields);
		this.oApplication[appName]['functionToCall'] = functionToCall;
		this.oApplication[appName]['parameters'] = parameters;
		//this.oApplication[appName]['popupwindow'] = new JsPopupWindow("form"); // this uses the popup-form
		
		
		// create this part only once
		if ( !this.isCreated ) {
			// create upload-form-layer
			//this.createUploadForm(appName);
			var self = this;
			$(document).ready(function(){
				self.UploaderPopUpWindow = new JsPopupWindow("form"),
				self.createUploadForm();	
			})
			// set isCreated
			this.isCreated = true;
		}
		
		//var master = "#"+this.oApplication[appName]['oMasterContainer'];
		//alert($(master).html());
		
		// set the first upload-link
		//this.appendInteraction(appName, 1);
		this.appendInteraction(appName);
		
		//inetCore.releasePrintLock(appName);
	},
	
	/*
	 * appends a 'hochladen'-link to the current position
	 */
	appendInteraction: function(appName){
		var id = -1;
		var master = "#"+this.oApplication[appName]['oMasterContainer'];
		// set next active add-link
		for (var i=1; i <= this.oApplication[appName]['interaction'].length-1; i++){
			if ( !this.oApplication[appName]['interaction'][i]['isSet'] ) {
				id = i;
				break;
			}
		}
		if ( id > 0 ){
			var inter = this.oApplication[appName]['interaction'][id];
			// get the textobject (id: inter['text'])
			//$(master + " #"+inter['text']).html("<a href='javascript:void(0);' id='uploaderUploadLink'>Hochladen</a>");
			$(master + " #"+inter['text']).html("<input	style='margin-top:10px;' type='button' value='Hochladen' name='Hochladen' class='loginsubmit uploaderUploadLink' />");
			//alert($(master).html());
			//alert($(master + " #"+inter['text']));
			//alert($(master + " #"+inter['text']).html());
			//var self = this;
			$(master+" .uploaderUploadLink").click(function (e){
				inetUploader.UploaderPopUpWindow.hideCloseButton();
				inetUploader.UploaderPopUpWindow.setJQueryContent(inetUploader.UploaderForm);
				// append clickhandler
				inetUploader.btnCancel.unbind("click");
				inetUploader.btnCancel.click(function(){
					$("#uploaderError").css("display", "none");
					inetUploader.UploaderPopUpWindow.hide();
				});
				// append clickhandler
				inetUploader.btnUpload.unbind("click");
				inetUploader.btnUpload.click(function(){
					try {
						$("#uploaderError").css("display", "none");
						$("#uploaderUploading").css("display", "block");
						inetUploader.UploaderForm.submit();
					}
					catch (e){
						$("#uploaderError").html('Es ist ein Fehler aufgetreten. Bitte versuchen Sie es nochmals.');
						$("#uploaderError").css("display", "block");
					}
				});
				inetUploader.addAttachment(
					inetUploader.oApplication[appName]['fieldName'],
					id,
					inetUploader.oApplication[appName]['directoryEsc'],
					inetUploader.oApplication[appName]['sizeLimit'],
					inetUploader.oApplication[appName]['mimeType'],
					appName,
					e.pageX,
					e.pageY,
					inetUploader.oApplication[appName]['functionToCall'],
					inetUploader.oApplication[appName]['parameters']
				);
			});
			//clear input value
			$(master+" #"+inter['input']).empty();
			// show next row ??
			if ( this.oApplication[appName]['bHideEmpty'] ) {
				//$(master + " #" + this.oApplication[appName]['fieldName'] + "_" + id + "_row").css("display", "table-row");
				$(master + " #" + this.oApplication[appName]['fieldName'] + "_" + id + "_row").css("display", "");
			}
		}
		// set active to current
		this.oApplication[appName]['active'] = id;
	},
	
	/*
	 * appends a 'loeschen'-link to the current position
	 */
	removeInteraction: function(appName, id, clientFile, serverFile, title){
		var master = "#"+this.oApplication[appName]['oMasterContainer'];
		$(master+" #"+this.oApplication[appName]['interaction'][id]['delete']).html("<a href='javascript:void(0);' id='uploaderRemoveLink"+id+"'><img src='img/icons/delete.gif' alt='l&ouml;schen' title='l&ouml;schen'></a>");
		
		$(master+" #uploaderRemoveLink"+id).click(function (){
			inetUploader.removeAttachment(appName, id, serverFile);
		});
		var aFile = clientFile.split(".");
		//Set the class Name of the file 
		var theDiv = "<div class='"+aFile[aFile.length-1]+"'>";
		if ( title.length <= 0 )
			theDiv += clientFile;
		else
			theDiv += title;
		theDiv += "</div>";
		$(master+" #"+this.oApplication[appName]['interaction'][id]['text']).html(theDiv);	
		this.oApplication[appName]['interaction'][id]['isSet'] = true;
		if ( this.oApplication[appName]['bHideEmpty'] ) {
			//$(master+" #"+this.oApplication[appName]['fieldName'] + "_" + id + "_row").css("display", "table-row");
			$(master+" #"+this.oApplication[appName]['fieldName'] + "_" + id + "_row").css("display", "");
		}
		
		/*
		// create delete-link
		var link = document.createElement("a");
		//var filePath = this.oApplication[appName]['directory'] + serverFile;
		link.setAttribute("href", "javascript:void(0);");
		// click event-handler		
		var remover = function (){
			inetUploader.removeAttachment(appName, id, serverFile);
		}
		inetEvent.addListener(link, 'click', remover);
		
		link.appendChild(document.createTextNode(unescape("L%F6schen")));
		// replace text-object and add delete-link - 
		if ( this.oApplication[appName]['interaction'][id]['text'].firstChild ) {
			this.oApplication[appName]['interaction'][id]['text'].replaceChild(document.createTextNode(clientFile), this.oApplication[appName]['interaction'][id]['text'].firstChild);
		}
		else 
			this.oApplication[appName]['interaction'][id]['text'].appendChild(document.createTextNode(clientFile));
		// append link only only if system is NOT in mode=print
		//if ( !this.oUrlParameter['mode'] || this.oUrlParameter['mode'] != 'print' ){
		if ( !this.printMode ) {
			this.oApplication[appName]['interaction'][id]['delete'].appendChild(link);
		}
		this.oApplication[appName]['interaction'][id]['isSet'] = true;
		
		if ( this.oApplication[appName]['bHideEmpty'] ) {
			var tr = document.getElementById(this.oApplication[appName]['fieldName'] + "_" + id + "_row");
			//tr.style.display = "table-row";
			tr.style.display = "";
		}
		*/
	},
	
	/*
	 * deletes everthing at the current position
	 */
	clearInteraction: function(appName, id){
		var master = "#"+this.oApplication[appName]['oMasterContainer'];
		// clear fields
		$(master+" #"+this.oApplication[appName]['interaction'][id]['text']).empty();
		$(master+" #"+this.oApplication[appName]['interaction'][id]['delete']).empty();
		$(master+" #"+this.oApplication[appName]['interaction'][id]['input']).attr("value", "");
		$(master+" #"+this.oApplication[appName]['interaction'][id]['title']).attr("value", "");
		this.oApplication[appName]['interaction'][id]['isSet'] = false;
		if ( this.oApplication[appName]['bHideEmpty'] ) { 
			$(master+" #"+this.oApplication[appName]['fieldName'] + "_" + id + "_row").css("display","none");
			//var tr = document.getElementById(this.oApplication[appName]['fieldName'] + "_" + id + "_row");
			//tr.style.display = "none";
		}
		/*
		if ( this.oApplication[appName]['interaction'][id]['text'].firstChild )
			this.oApplication[appName]['interaction'][id]['text'].removeChild(this.oApplication[appName]['interaction'][id]['text'].firstChild);
		if ( this.oApplication[appName]['interaction'][id]['delete'].firstChild )
			this.oApplication[appName]['interaction'][id]['delete'].removeChild(this.oApplication[appName]['interaction'][id]['delete'].firstChild);
		this.oApplication[appName]['interaction'][id]['input'].value = '';
		this.oApplication[appName]['interaction'][id]['isSet'] = false;
		
		if ( this.oApplication[appName]['bHideEmpty'] ) { 
			var tr = document.getElementById(this.oApplication[appName]['fieldName'] + "_" + id + "_row");
			tr.style.display = "none";
		}
		*/
	},
	
	/*
	 * searches for the next free space and set it as active (and create the 'hochladen'-link)
	 * TODO: move all links up, if there is a free space between links
	 */
	manageInteraction: function(appName){
		// clear all hochladen-links
		for (var i=1; i <= this.oApplication[appName]['interaction'].length-1; i++){
			if ( !this.oApplication[appName]['interaction'][i]["isSet"] )
				this.clearInteraction(appName, i);
		}
		
		var nextFreeIndex = -1;
		var found = false;
		for (var i=1; i <= this.oApplication[appName]['interaction'].length-1; i++){
			// found a space between -> use it as new active elemente
			if (!this.oApplication[appName]['interaction'][i]['isSet']){
				nextFreeIndex = i;
			}
			if ( this.oApplication[appName]['interaction'][i]['isSet'] && nextFreeIndex > 0  && nextFreeIndex < i ) {
				this.moveInteraction(appName, i, nextFreeIndex);
				nextFreeIndex = i;
				found = true;
			}
		}
		
		// add hochladen-link
		this.appendInteraction(appName);
	},
	

	moveInteraction: function(appName, from, to){
		var master = "#"+this.oApplication[appName]['oMasterContainer'];
		//$("#"+this.oApplication[appName]['interaction'][from]['input']).attr("value");
		var aServerClient = $(master+" #"+this.oApplication[appName]['interaction'][from]['input']).attr("value").split("|");
		var aServer = aServerClient[0].split("\\");
		var clientFile = aServerClient[1];
		var serverFile = aServer[aServer.length-1];
		//alert(serverFile);
		//alert(clientFile);
	
		// read data from the source 
		//var input = this.oApplication[appName]['interaction'][from]['input'];
		// read client and serverfile
		//var aServerClient = input.value.split("|");
		//var aServer = aServerClient[0].split("\\");
		//var clientFile = aServerClient[1];
		//var serverFile = aServer[aServer.length-1];
		// move data
		this.removeInteraction(appName, to, clientFile, serverFile, $(master+" #"+this.oApplication[appName]['interaction'][from]['title']).attr("value"));
		$(master+" #"+this.oApplication[appName]['interaction'][to]['input']).attr("value", $(master+" #"+this.oApplication[appName]['interaction'][from]['input']).attr("value"));
		$(master+" #"+this.oApplication[appName]['interaction'][to]['title']).attr("value", $(master+" #"+this.oApplication[appName]['interaction'][from]['title']).attr("value"));
		//this.oApplication[appName]['interaction'][to]['input'].value = input.value;
		this.clearInteraction(appName, from);
	},
	
	/*
	 * LINK-ON-CLICK-HANLDER: on clicking the 'loeschen'-link, this method is called
	 * deletes the object at current position
	 */
	removeAttachment: function(appName, id, serverFile){
		this.clearInteraction(appName, id);
		// delete uploaded File
		//new inetXmlRequest("/schedule/?application=zlide.application.upload.upload.Remove&file="+this.oApplication[appName]['directoryEsc'] + escape(serverFile), "", 'POST', true).send();
		// clear fields
		// search for new uploadField
		this.manageInteraction(appName);
	},
	
	/*
	 * LINK-ON-CLICK-HANLDER: on clicking the 'hochladen'-link, this method is called
	 * shows the upload-layer and sets the hidden-form-parameter
	 */
	addAttachment: function(fieldName, id, directory, size, mimetype, appName, posX, posY, functionToCall, parameters){
		// change position of the layer
		//if (appName == 'customdocumentsapp') {
		//	alert(this.oApplication[appName]);
		//	alert(id);
		//}
		this.uploaderShow(appName, id, posX, posY);
		$("#uploaderFieldDirectory").attr("value", directory);
		$("#uploaderFieldField").attr("value", fieldName);
		$("#uploaderFieldApplication").attr("value", appName);
		$("#uploaderFieldMime").attr("value", mimetype);
		$("#uploaderFieldSize").attr("value", size);
		$("#functionToCall").attr("value", functionToCall);
		$("#parameters").attr("value", parameters);
		
	},
	
	/*
	 * this method is called in the folowing situations:
	 * - after uploading a file
	 * - after reading files from directory
	 * - after reading form-parameters (if the directory is the same as the test-directory)
	 */
	setUploadedField: function(appName, title, serverFile, clientFile, id){
		var inputValue =  this.oApplication[appName]['directory'] + serverFile + "|" + clientFile;
		var master = "#"+this.oApplication[appName]['oMasterContainer'];
		if ( !id )
			var id = this.oApplication[appName]['active'];
		//else 
		//	this.oApplication[appName]['active'] = id;
		// set value of hidden-input
		$(master+" #"+this.oApplication[appName]['interaction'][id]['input']).attr("value", inputValue);
		$(master+" #"+this.oApplication[appName]['interaction'][id]['title']).attr("value", title);
		//this.oApplication[appName]['interaction'][id]['input'].value = inputValue;
		// set text (pictureName)
		this.removeInteraction(appName, id, clientFile, serverFile, title);
		// set next active add-link
		this.appendInteraction(appName);
		// hide layer
		this.uploaderHide();
		// removing the 'bitte warten ... ' - text
		$("#uploaderUploading").css("display","none");
		//if ( this.oLoading ) { // remove loading text, if exists
		//	this.oContainer.removeChild(this.oLoading);
		//	this.oLoading = null;
		//}
	},
	
	/*
	 * this method is called in the following situations:
	 * - after reading form-parameters (if the directory is NOT the same as the test-directory)
	 * compare with function setUploadedField
	 */
	setDefaultField: function(appName, title, serverFile, clientFile, id){
		var master = "#"+this.oApplication[appName]['oMasterContainer'];
		var inputValue =  serverFile + "|" + clientFile;
		if ( !id )
			var id = this.oApplication[appName]['active'];
		else 
			this.oApplication[appName]['active'] = id;
		
		//alert(appName);
		// set value of hidden-input
		$(master+" #"+this.oApplication[appName]['interaction'][id]['input']).attr("value",inputValue);
		$(master+" #"+this.oApplication[appName]['interaction'][id]['title']).attr("value",title);
		//this.oApplication[appName]['interaction'][id]['input'].value = inputValue;
		// set text (pictureName)
		this.removeInteraction(appName, id, clientFile, serverFile, title);
		// set next active add-link
		this.appendInteraction(appName);
	},

	/*
	 * sets a errormessage after uploading into the upload-layer
	 */	
	setError: function(errorMessage){
		$("#uploaderUploading").css("display", "none");
		$("#uploaderError").css("display", "block");
		$("#uploaderError").html(errorMessage);
		//this.oError = document.createElement("div");
		//this.oError.style.color = "red";
		//this.oError.style.paddingTop = "5px";
		//this.oError.setAttribute("id", this.oErrorId);
		//this.oError.appendChild(document.createTextNode(errorMessage));
		//this.oContainer.appendChild(this.oError);
		//this.oSubmit.removeAttribute('disabled');
		//this.oReset.removeAttribute('disabled');
		//if ( this.oLoading ) { // remove loading text, if exists
		//	this.oContainer.removeChild(this.oLoading);
		//	this.oLoading = null;
		//}
	},
	
	/*
	 * sets a please-wait message while uploading
	 */	
	setLoading: function(){
		this.oLoading = document.createElement("div");
		this.oLoading.style.color = "red";
		this.oLoading.style.paddingTop = "5px";
		this.oLoading.setAttribute("id", this.oLoadingId);
		this.oLoading.appendChild(document.createTextNode("Bitte warten..."));
		this.oContainer.appendChild(this.oLoading);
	},
	
	/*
	 * enable send/delete buttons
	 */
	enableButtons: function(){
		this.oSubmit.removeAttribute('disabled');
		this.oReset.removeAttribute('disabled');
		// IE HACK - IE doesnt show the buttons properly
		this.oContainer.replaceChild(this.oContainer.firstChild, this.oContainer.firstChild);
	},
	
	/*
	 * disable send/delete buttons
	 */
	disableButtons: function(){
		this.oSubmit.setAttribute('disabled', 'true');
		this.oReset.setAttribute('disabled', 'true');
	},
	
	/*
	 * hide upload layer
	 */
	uploaderHide: function(){
		//$("#uploaderFormContainer").css("display", "none");
		//this.oApplication[appName]['popupwindow'].hide();
		this.UploaderPopUpWindow.hide();
		
		$("#uploaderFieldTitle").attr("value", "");
		
		$("#uploaderFieldFileContainer").html("<input type='file' name='uploaderFieldFile' id='uploaderFieldFile'>");
		
		
		//$("#uploaderFieldFile").text("value");
		//this.oContainer.style.top = "0px";
		//this.oContainer.style.visibility = "hidden";
		// replace fileupload-element. because i cant delete the value in IE. so i create a new element without value
		//var tempFile = document.createElement("input");
		//tempFile.setAttribute("type", this.oFile.getAttribute("type"));
		//tempFile.setAttribute("name", this.oFile.getAttribute("name"));
		//tempFile.setAttribute("id", this.oFile.getAttribute("id"));
		//this.oFile.parentNode.replaceChild(tempFile, this.oFile);
		//this.oFile = tempFile;
		//this.disableButtons();
	},
	
	/*
	 * show upload layer
	 */
	uploaderShow: function(appName, id, posX, posY){
		//var obj = inetUtil.getOffset(this.oApplication[appName]['interaction'][id]['text']);
		//document.getElementById(this.oContainerId).style.top = obj.y;
		//document.getElementById(this.oContainerId).style.left = obj.x;
		
		//$("#uploaderFormContainer").css("left", posX);
		//$("#uploaderFormContainer").css("top", posY);
		//$("#uploaderFormContainer").css("display", "block");
		//this.oApplication[appName]['popupwindow'].show();
		this.UploaderPopUpWindow.show();
		
		// hide fields if they should be hidden
		if ( this.oApplication[appName]['bHideTitle'] ) {
			$("#uploaderFieldTitleLabel").css("display", "none");
			$("#uploaderFieldTitle").css("display", "none");
		}
		else {
			$("#uploaderFieldTitleLabel").css("display", "block");
			$("#uploaderFieldTitle").css("display", "inline");
		}
		
		$("#uploaderFieldFileLabel").html(this.oApplication[appName]['label']);
		
		//this.oContainer.style.visibility = "visible";
		//IE HACK - IE doesnt show the buttons properly
		//this.oContainer.replaceChild(this.oContainer.firstChild, this.oContainer.firstChild);
		//this.enableButtons();
	},
	
	/*
	 * creates all the element necessary for userinteraction:
	 * - containers for texts (hochladen, loeschen, bildname)
	 * - hiddenfields for submitting filepath
	 */
	createInteraction: function(appName, noFields){
		//alert(this.oApplication[appName]['oMasterContainer']);
		var master = "#"+this.oApplication[appName]['oMasterContainer'];
		//alert($(master).length);
		$(master).append("<table><tbody class='uploaderInteractionTBody'></tbody></table>");
		var aObjects = new Array();
		for (var i=1; i <= noFields; i++ ){
			var rowId = this.oApplication[appName]['fieldName'] + "_" + i + "_row";
			if ( this.oApplication[appName]['bHideEmpty'] ) 
				$(master+" .uploaderInteractionTBody").append("<tr id='"+rowId+"' style='display:none;'></tr>");
			else
				$(master+" .uploaderInteractionTBody").append("<tr id='"+rowId+"'></tr>");
			//alert($(master).html());
			//$(master+" #"+rowId).append("<td style='padding-right:10px;'>"+i+")</td>");
			var textId = this.oApplication[appName]['fieldName'] + "_" + i + "_text";
			$(master+" #"+rowId).append("<td style='padding-right:10px;'><span class='"+this.oApplication[appName]['mimeType']+"' id='"+textId+"'></span></td>");
			var deleteId = this.oApplication[appName]['fieldName'] + "_" + i + "_delete";
			$(master+" #"+rowId).append("<td id='"+deleteId+"'></td>");
			var fieldId = this.oApplication[appName]['fieldName'] + "_" + i + "_field";
			var inputId = this.oApplication[appName]['fieldName'] + "_" + i;
			var titleId = this.oApplication[appName]['fieldName'] + "_" + i + "_title";
			$(master+" #"+rowId).append("<td id='"+fieldId+"'><input type='hidden' id='"+inputId+"' name='"+inputId+"'><input type='hidden' id='"+titleId+"' name='"+titleId+"'></td>");
			aObjects[i] = new Object();
			aObjects[i]['text'] = textId;
			aObjects[i]['delete'] = deleteId;
			aObjects[i]['input'] = inputId;
			aObjects[i]['title'] = titleId;
			aObjects[i]['isSet'] = false;
		}
	
		return aObjects;
	},
	
	/*
	 * creates the layer for uploading files (incl. form etc)
	 */
	createUploadForm: function() {
		// create iframe
		$("body").append("<iframe name='uploaderIFrame' style='position:absolute; top:0; left:0; width:400px; height:300px; visibility:hidden; ' src='about:blank' id='uploaderIFrame' />");
		// create div for showing/hidding form
		//$("body").append("<div id='uploaderFormContainer' style='position:absolute;width:300px;min-height:100px;top:0px;left:400px;border:1px solid black;background-color:#CCCCCC;padding:10px 10px 10px 10px;display:none;'></div>");
		// create form
		this.UploaderForm = $("<form id='uploaderForm' name='uploaderForm' action='/util/uploader/upload.cfm' target='uploaderIFrame' method='post' enctype='multipart/form-data'></form>");
		//$("#uploaderFormContainer").append("<form id='uploaderForm' name='uploaderForm' action='/util/uploader/upload.cfm' target='uploaderIFrame' method='post' enctype='multipart/form-data'></form>");
		// create hidden-field 'directory'
		//$("#uploaderForm").append("<input type='hidden' name='uploaderFieldDirectory' id='uploaderFieldDirectory'>");
		this.UploaderForm.append("<input type='hidden' name='uploaderFieldDirectory' id='uploaderFieldDirectory'>");
		// create hidden-field 'uploaderfield' --- this is for what??
		//$("#uploaderForm").append("<input type='hidden' name='uploaderFieldField' id='uploaderFieldField'>");
		this.UploaderForm.append("<input type='hidden' name='uploaderFieldField' id='uploaderFieldField'>");
		// create hidden-field 'size' 
		//$("#uploaderForm").append("<input type='hidden' name='uploaderFieldSize' id='uploaderFieldSize'>");
		this.UploaderForm.append("<input type='hidden' name='uploaderFieldSize' id='uploaderFieldSize'>");
		// create hidden-field 'applicationid'  --- this is for what?? 
		//$("#uploaderForm").append("<input type='hidden' name='uploaderFieldApplication' id='uploaderFieldApplication'>");
		this.UploaderForm.append("<input type='hidden' name='uploaderFieldApplication' id='uploaderFieldApplication'>");
		// create hidden-field 'mimetpye' 
		//$("#uploaderForm").append("<input type='hidden' name='uploaderFieldMime' id='uploaderFieldMime'>");
		this.UploaderForm.append("<input type='hidden' name='uploaderFieldMime' id='uploaderFieldMime'>");
		// create hidden-field for function-to-call
		//$("#uploaderForm").append("<input type='hidden' name='functionToCall' id='functionToCall'>");
		this.UploaderForm.append("<input type='hidden' name='functionToCall' id='functionToCall'>");
		// create hidden-field for parameters
		//$("#uploaderForm").append("<input type='hidden' name='parameters' id='parameters'>");
		this.UploaderForm.append("<input type='hidden' name='parameters' id='parameters'>");
		// create title label
		//$("#uploaderForm").append("<span style='font-size:12px;display:block' id='uploaderFieldTitleLabel'>Titel:</span>");
		this.UploaderForm.append("<span style='font-size:12px;display:block' id='uploaderFieldTitleLabel'>Titel:</span>");
		// create field for title
		//$("#uploaderForm").append("<input type='text' style='width:100%; margin-bottom:10px;' name='uploaderFieldTitle' id='uploaderFieldTitle'>");
		this.UploaderForm.append("<input type='text' style='width:100%; margin-bottom:10px;' name='uploaderFieldTitle' id='uploaderFieldTitle'>");
		
		// create label for field
		//$("#uploaderForm").append("<span style='font-size:12px; display:block;' id='uploaderFieldFileLabel'></span>");
		this.UploaderForm.append("<span style='font-size:12px; display:block;' id='uploaderFieldFileLabel'></span>");
		// create file-field
		//$("#uploaderForm").append("<div id='uploaderFieldFileContainer'><input type='file' name='uploaderFieldFile' id='uploaderFieldFile'></div><br/>");
		this.UploaderForm.append("<div id='uploaderFieldFileContainer'><input type='file' name='uploaderFieldFile' id='uploaderFieldFile'></div><br/>");
		// create layer for errormessages
		//$("#uploaderForm").append("<div style='color:red; display:none; font-size:12px;' id='uploaderError'>test</div>");
		this.UploaderForm.append("<div style='color:red; display:none; font-size:12px;' id='uploaderError'>test</div>");
		// create layer for loading-message
		//$("#uploaderForm").append("<div id='uploaderUploading' style='display:none; font-size:12px;'>...bitte warten</div>");
		this.UploaderForm.append("<div id='uploaderUploading' style='display:none; font-size:12px;'>...bitte warten</div>");
		// create button 'upload'
		//$("#uploaderForm").append("<input type='button' id='uploaderButtonUpload' name='upload' value='Hochladen'>");
		this.btnUpload = $("<input type='button' id='uploaderButtonUpload' class='loginsubmit' name='upload' value='Hochladen'>");
		this.UploaderForm.append(this.btnUpload);
		this.UploaderForm.append("&nbsp;&nbsp;");
		//this.UploaderForm.append("<input type='button' id='uploaderButtonUpload' class='loginsubmit' name='upload' value='Hochladen'>&nbsp;&nbsp;");
		//this.btnUpload.click(function(){
		//	try {
		//		$("#uploaderError").css("display", "none");
		//		$("#uploaderUploading").css("display", "block");
		//		inetUploader.UploaderForm.submit();
				//self.disableButtons();
				//form.submit();
		//	}
		//	catch (e){
		//		$("#uploaderError").html('Es ist ein Fehler aufgetreten. Bitte versuchen Sie es nochmals.');
		//		$("#uploaderError").css("display", "block");
		//	}
		//});
		// create button 'reset'
		this.btnCancel = $("<input type='button' class='loginsubmit' id='uploaderButtonReset' name='reset' value='Abbrechen'>");
		this.UploaderForm.append(this.btnCancel);
		//this.btnCancel.click(function(){
		//	$("#uploaderError").css("display", "none");
		//	//$("#uploaderFormContainer").css("display", "none");
		//	//this.oApplication[appName]['popupwindow'].hide();
		//	inetUploader.UploaderPopUpWindow.hide();
		//});
		//this.UploaderPopUpWindow.setJQueryContent(this.UploaderForm);
	}
	
};
 
