var fieldCount = 1;

var fV = {
	addEvent: function(elm, evType, fn, useCapture) {
		if (elm.addEventListener) {
			elm.addEventListener(evType, fn, useCapture);
			return true;
		} else if (elm.attachEvent) {
			var r = elm.attachEvent('on' + evType, fn);
			return r;
		} else {
			elm['on' + evType] = fn;
		}
	},

	init: function() {
		if (!document.getElementsByTagName)
			return;
			var radio1 = document.getElementById('login_type_new');
			fV.addEvent(radio1,'click',fV.showFields,false);
			var radio2 = document.getElementById('login_type_exist');
			fV.addEvent(radio2,'click',fV.showFields,false);
			var radio3 = document.getElementById('login_type_client');
			fV.addEvent(radio3,'click',fV.showFields,false);
			var loginSubmit = document.getElementById('login_submit');			
			fV.addEvent(loginSubmit,'click',fV.checkInputData,false);
			var addFileButton = document.getElementById('add_file_button');			
			if (addFileButton) {
				fV.addEvent(addFileButton,'click',fV.addFileField,false);			
			}
			
	},
	
	showFields: function(e) {	
		var loginTypeRadio;
		if (e && e.target) 
			loginTypeRadio = e.target;
		if (window.event && window.event.srcElement)
			loginTypeRadio = window.event.srcElement;
		if (!loginTypeRadio)
			return;
			
		if (loginTypeRadio.nodeType == 3) {
			loginTypeRadio = loginTypeRadio.parentNode;
		}
		
		var newUserTable = document.getElementById('new_user_table');		
		var emailLabel	 = document.getElementById('email_label');
		var loginDescDiv = document.getElementById('login_desc_div');
		var newregDescDiv = document.getElementById('newreg_desc_div');
		var pwdConfirmTr = document.getElementById('password_confirm_tr');
			
		if (loginTypeRadio.id == 'login_type_new' || loginTypeRadio.id == 'login_type_new_label') {
			newUserTable.style.display = 'block';
			emailLabel.innerHTML = 'E-mail c&iacute;m (felhaszn&aacute;l&oacute;n&eacute;v): ';
			loginDescDiv.style.display = 'none';
			newregDescDiv.style.display = 'block';
			pwdConfirmTr.style.display = 'block';
		} else if (loginTypeRadio.id == 'login_type_exist' || loginTypeRadio.id == 'login_type_exist_label') {
			newUserTable.style.display = 'none';
			emailLabel.innerHTML = 'E-mail c&iacute;m (felhaszn&aacute;l&oacute;n&eacute;v): ';
			loginDescDiv.style.display = 'block';
			newregDescDiv.style.display = 'none';			
			pwdConfirmTr.style.display = 'none';			
		} else if (loginTypeRadio.id == 'login_type_client' || loginTypeRadio.id == 'login_type_client_label') {
			newUserTable.style.display = 'none';
			emailLabel.innerHTML = 'Felhaszn&aacute;l&oacute;n&eacute;v: ';
			loginDescDiv.style.display = 'block';
			newregDescDiv.style.display = 'none';
			pwdConfirmTr.style.display = 'none';
		}
	},
	
	addFileField: function(e) {
		fieldCount++;		
		var newTR = document.createElement('tr');
		newTR.id = 'filetr' + fieldCount;
		document.getElementById('data_tbody').appendChild(newTR);
			
		var newTD = document.createElement('td');
		newTD.id = 'filetd0' + fieldCount;
		newTD.width = '13';
		document.getElementById('filetr' + fieldCount).appendChild(newTD);
		
		var newTD = document.createElement('td');
		newTD.id = 'filetd1' + fieldCount;
		document.getElementById('filetr' + fieldCount).appendChild(newTD);
			
		var text = document.createTextNode('Csatolt fájl #'+fieldCount);
		document.getElementById('filetd1' + fieldCount).appendChild(text);
			
		var newTD = document.createElement('td');
		newTD.id = 'filetd2' + fieldCount;
		document.getElementById('filetr' + fieldCount).appendChild(newTD);
			
		var newFileField = document.createElement('input');
		newFileField.type = 'file';
		newFileField.name = 'file' + fieldCount;
		newFileField.id = 'file' + fieldCount;
		document.getElementById('filetd2' + fieldCount).appendChild(newFileField);
	},
	
	checkInputData: function(e) {	
		var radio1 = document.getElementById('login_type_new');
		var radio2 = document.getElementById('login_type_exist');			
		var radio3 = document.getElementById('login_type_client');
					
		var emailRegexp = /^.+?@.+?\..+?$/;
		
		var emailField 	  = document.getElementById('email');
		var passwordField = document.getElementById('password');
		var passwordCheckField = document.getElementById('password_check');
		var lastnameField = document.getElementById('lastname');
		var firstnameField = document.getElementById('firstname');
		
		if (radio1.checked || radio2.checked) {
			if (!emailField.value.match(emailRegexp)) {
				//alert('Az e-mail hib&aacute;s! A helyes forma: valaki@pelda.hu');
				emailField.focus();
				return false;
			}
		} else if (radio3.checked) {			
			if (emailField.value.length == 0) {
				//alert('Adja meg a felhaszn&aacute;l&oacute;nevet!');
				emailField.focus();
				return false;
			}
		}
		
		if (passwordField.value.length == 0) {
			//alert('Adja meg a jelszot!');
			passwordField.focus();
			return false;
		}
		
		if (radio1.checked) {			
			if (passwordField.value != passwordCheckField.value) {
				//alert('A jelszó és a jeszló megerösítés nem egyezik!');
				passwordField.focus();
				return false;
			}
			if (lastnameField.value == '') {
				//alert('Adja meg a vezetéknevét!');
				lastnameField.focus();
				return false;
			}
			if (firstnameField.value == '') {
				//alert('Adja meg a keresztnevét!');
				firstnameField.focus();
				return false;
			}
		}
		
		document.login.submit();
		return true;
	},
	
	showPasswordHelp: function() {
		alert('Jelszo');
	}
	
	
}

fV.addEvent(window,'load',fV.init,false);