var xml = null;
var nickname_status_target = null;

function complete_list(obj) {
	if(window.XMLHttpRequest || window.ActiveXObject) {		
		var nickname_status = document.getElementById('nickname_status');	
		var key = obj.value;
		
		nickname_status_target = obj;
	
		if(key.length >= 3) {
			if(window.XMLHttpRequest) {
				xml = new XMLHttpRequest();
			}
			else if(window.ActiveXObject) {
				xml = new ActiveXObject('Microsoft.XMLHTTP');
			}
		
			xml.onreadystatechange = function() {
				if(xml.readyState == 4 && xml.status == 200) {
					fill_list();
				}
			}
			
			var boundary = 'cityfi69cityfi';
			
			var data  = '';
			data += '--'+boundary+'\r\n';
			data += 'Content-Disposition: form-data; name="nickname"\r\n\r\n';
			data += escape(key)+'\r\n';
			data += '--'+boundary+'--\r\n';
				
			xml.open('POST', '/rekisterointi/ajax/nickname_status.php');
			xml.setRequestHeader('Content-Type', 'multipart/form-data; boundary=' + boundary);
			xml.send(data);
		}
		else if(key.length >= 1) {
			nickname_status.innerHTML = '';
			nickname_status.innerHTML = '<dfn class="error_message">Nimimerkin minimipituus on 3 merkkiä.</dfn>';
			nickname_status.style.visibility = 'visible';
		}
	}
}

function fill_list() {
	var nickname_status = document.getElementById('nickname_status');	
	var keys = xml.responseXML.documentElement.getElementsByTagName('user');
	var message = '';

	nickname_status.innerHTML = '';
	
	for(a=0; a<keys.length; a++) {
		var key = keys[a].firstChild.data;
		
		if(keys[a].getAttribute('error') == 1) {
			message += '<dfn class="error_message">' + key + '</dfn>';
		}
		
		else if(keys[a].getAttribute('id') > 0) {
			message += '<dfn class="error_message">Nimimerkki on jo varattu.</dfn>';
		} else {
			message += '<dfn class="ok_message">Nimimerkki on vapaa!</dfn>';
		}	
	}
	
	if(message.length > 1) {
		nickname_status.innerHTML = message;
		nickname_status.style.visibility = 'visible';
	}
}
