var Member = function() {  
	var Member_translateTags = {};
	
	return {
		setTranslateTags: function(tags) {
			Member_translateTags = tags;
		},		
		uploadFile: function(form, frame){
			var frm = document.getElementById(form);
			var onsubmitFcn = frm.onsubmit;
			frm.onsubmit = function(){};
			var frmAction = frm.action;
			frm.action = "/nl_BE/member/upload";
			frm.target = frame;
			frm.submit();
			frm.onsubmit = onsubmitFcn;
			frm.action = frmAction;
			frm.target = "";
		},
		setProfileImage :function(id, url, 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 = Member_translateTags.removeImage;
				inputBtn.onclick = function() {Member.removeProfileImage(field);};
			}
		},
		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;
				
				inputBtn.onclick = function() {Member.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]);
				}
			}
			
		},
		checkBirthDate: function() {
			var month = Member.getSecondInt(document.getElementById('register_birthdate_month').value);
			var year = Member.getSecondInt(document.getElementById('register_birthdate_year').value);
			var day = Member.getSecondInt(document.getElementById('register_birthdate_day').value);
			var nr = 31;
			
			if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
				nr = 31;
			} else if (month == 4 || month == 6 || month == 9 || month == 11) {
				nr = 30;
			} else if (month == 2) {
				// indien jaar deelbaar door 4 => 29			het niet-schrikkeljaar 1900 en 2100 tellen we voor 't gemak niet mee
				if (year / 4 == Math.floor(year/4)) {
					nr = 29;	
				} else {
					nr = 28;
				}
			}
			
			var elSel = document.getElementById('register_birthdate_day');
			for (var i = elSel.options.length; i > nr; i--) {
				elSel.remove(i-1);
			}
			
			for (i = elSel.options.length; i <= nr; i++) {
				var elOptNew = document.createElement('option');
			    elOptNew.text = i;
			    elOptNew.value = 'day_' + i;
			    try {
			    	elSel.add(elOptNew, null);
			    } catch (e) {
			    	elSel.add(elOptNew, i);
			    }
			}
			if (day > nr) {
				day = nr;
			}
			elSel.selectedIndex = day;
		},
		getSecondInt: function(string) {
			var s = string.split('_');
			return parseInt(s[1], 10);
		}
	};  
}();