(function(){
	var user = {
		/**
		 * @var object settings - The configuration of this library
		 */
		settings:{
			
		},
		
		
		
		/**
		 * Will be called as soon as this library is loaded
		 * into the main SE library
		 */
		init:function(){
			var me = this;
			$(document).ready(function() {
			
			});
			
			/*
			$(window).load(function () {
			});
			*/
		},
		
		
		uploadFile: function(form, frame){
			var frm = document.getElementById(form);
			var onsubmitFcn = frm.onsubmit;
			frm.onsubmit = function(){};
			var frmAction = frm.action;
			frm.action = "/members/upload";
			frm.target = frame;
			frm.submit();
			frm.onsubmit = onsubmitFcn;
			frm.action = frmAction;
			frm.target = "";
		},
		
		setProfileImage :function(id, url, field){
			this.setProfileImageError('', field);
			var fieldObj = document.getElementById(field);
			var fieldObjHidden = document.getElementById(field + "_");
			
			if (fieldObj){
				fieldObj.name = field + "_";
				fieldObj.id = field + "_";
				fieldObj.style.display = "none";
			}
			if (fieldObjHidden) {
				fieldObjHidden.name = field;
				fieldObjHidden.id = field;
				fieldObjHidden.value = id;
			}
			var container = document.getElementById("file_upload_container");
			if (container){
				var images = container.getElementsByTagName("img");
				var img = null;
				var createTag = false;
				if (images.length === 0){
					img = document.createElement("img");
					createTag = true;
				}
				else {
					img = images[0];
				}
				img.src = url;
				if (createTag){
					container.appendChild(img);
				}
			}
			
			var inputBtn = document.getElementById("upload_remove_button");
			if (inputBtn){
				inputBtn.value = 'Wissen';
				var me = this;
				inputBtn.onclick = function() {me.removeProfileImage(field);};
			}
		},
		setProfileImageError: function(error, id){
			$("#error_"+id).html(error);
		},
		removeProfileImage: function(field){
			var fieldObj = document.getElementById(field);
			var fieldObjFile = document.getElementById(field + "_");
			if (fieldObj) {
				fieldObj.name = field + "_";
				fieldObj.id = field + "_";
				fieldObj.value = "";
			}
			if (fieldObjFile) {
				fieldObjFile.style.display = "block";
				fieldObjFile.name = field;
				fieldObjFile.id = field;
				fieldObjFile.value = "";
			}
			
			fieldObj = document.getElementById('temp_imageId');
			
			if (fieldObj){
				fieldObj.value = "";
			}
			fieldObj = document.getElementById('temp_imageUrl');
			if (fieldObj){
				fieldObj.value = "";
			}

			var inputBtn = document.getElementById("upload_remove_button");
			if (inputBtn){
				//inputBtn.style.display = "none";
				
				inputBtn.value = "Upload";
				
				var parent = inputBtn.parentNode;
				while (parent.tagName != "FORM"){
					parent = parent.parentNode;
				}
				var parentId = parent.id;
				
				var me = this;
				inputBtn.onclick = function() {me.uploadFile(parentId, "uploadFrm");};
				
			}
			
			var container = document.getElementById("file_upload_container");
			if (container){
				var images = container.getElementsByTagName("img");
				var i = images.length;
				while (i--){
					container.removeChild(images[i]);
				}
			}
			
		}
		
	};
	SE.extend("user",user);
})();