function checkLogin(login, isDomain)
{		
		var isRegForm = !!login;
		if (!isDomain) isDomain = 0;
		if (!isRegForm && document.getElementById('check_name_button').loginIsFree)
			return true;

		if (isDomain)
			var elm_id = 'domain';
		else 
			var elm_id = 'id_nick';

		var URL = '/ajax/inc/login_check.php';
		var valid_rule = /(^[a-z,0-9][a-z,0-9,-]{2,15}$)/g;
		if (!login)
			login = document.login_check.login.value;
		login = login.toLowerCase().replace(/(^ *)(.*?)( *$)/g, "$2").replace(/ */g,'');
		
		if (document.login_check)
		{
			document.login_check.login.value = login;
			document.login_check.login.focus();
		}
		else
		{
			document.getElementById(elm_id).value = login;
			document.getElementById(elm_id).focus();
		}

		if ('' == login)
		{
			document.getElementById('login_status').className = 'login_uncheck';
			document.getElementById('login_status').parentNode.href = '#';
			//alert(alert_empty_login);
			return false;
		}

		valid = login.search(valid_rule);
		if (-1 == valid)
		{
			document.getElementById('login_status').className = 'login_uncheck';
			document.getElementById('login_status').parentNode.href = '#';
			alert(alert_invalid_login);
			return false;
		}

		var params_str = '';
		params_str += "&login="+escape(login);
		params_str += "&domain="+escape(isDomain);
		//alert(URL+'?'+params_str);
		
		document.getElementById('login_status').className = 'login_uncheck';
		document.getElementById('login_indicator').style.display = "";
		LoadData(URL, "function (){checkLoginResponse('"+login+"');}", 'LoginResponse', 'POST', params_str);
		return false;
}

function checkLoginResponse(login)
{
	var Response = GetXMLResponse("LoginResponse");

	if (Response === false) 
		return false;

	if (Response === '') 
		return false;

	var check;
	var aCheck = Response.getElementsByTagName('check');
	//alert(aCheck);
	for(var i=0; i<aCheck.length; i++)
	{
		if (1 == aCheck[i].getAttribute('value'))
			check = true;
		else check = false;
	}

	var checkButton = document.getElementById('check_name_button');
	
	if (check)
	{
		document.getElementById('login_status').className = 'login_isfree';
		if (document.getElementById('login_status').parentNode.href)
			document.getElementById('login_status').parentNode.href = reg_url+'&login='+login;
		if (checkButton)
		{
			checkButton.src = "/img/check_reg.gif";	
			if (!login)
				login = document.login_check.login.value;
			login = login.toLowerCase().replace(/(^ *)(.*?)( *$)/g, "$2").replace(/ */g,'');		
			checkButton.lastLogin = login;
			checkButton.loginIsFree = true;
		}			
	}
	else
	{
		document.getElementById('login_status').className = 'login_occuped';
		if (document.getElementById('login_status').parentNode.href)
			document.getElementById('login_status').parentNode.href = '#';
		if (checkButton)	
			checkButton.loginIsFree = false;	
	}
	UnsetRequest("LoginResponse");
	document.getElementById('login_indicator').style.display = "none";
}

function onChangeLogin()
{
	var login = document.login_check.login.value;
	login = login.toLowerCase().replace(/(^ *)(.*?)( *$)/g, "$2").replace(/ */g,'');
	if (!login)
		return;
			 
	var lastLogin = document.getElementById('check_name_button').lastLogin;  
	if (lastLogin != login)
	{
		document.getElementById('check_name_button').src = "/img/check.gif";
		document.getElementById('check_name_button').loginIsFree = false;
		document.getElementById('login_status').className = 'login_uncheck';
	}
	else
	{
		document.getElementById('check_name_button').src = "/img/check_reg.gif";
		document.getElementById('check_name_button').loginIsFree = true;
		document.getElementById('login_status').className = 'login_isfree';		
	}
}

function onLoginInputKeyPress(event)
{
	if (event.keyCode == 13)
	{
		var login = document.login_check.login.value;
		var checkButton = document.getElementById('check_name_button');
		if (checkButton.loginIsFree)
		{
			document.login_check.submit();
		}
		else
			checkLogin(login);
		return false;
	}
	return true;
}
