function passwordsMatch()
{
	var p1 = document.getElementById('pass1');
	var p2 = document.getElementById('pass2');
	var pm = document.getElementById('passMatch');
	if(p1 && p1.value.length>0 && p2 && p2.value.length>0 && pm)
	{
		if(p1.value != p2.value)
		{
			pm.style.color = '#900';
			pm.innerHTML = 'Passwords do not match';
		} else if(p1.value.length < 4)
		{
			pm.style.color = '#900';
			pm.innerHTML = 'Password must contain at least 4 characters';
		}
	}
	return true;
}

function clearPassStatus()
{
	var pm = document.getElementById('passMatch');
	if(pm)
	{
		pm.innerHTML = '';
	}
	return true;
}

function unameAvailable(x)
{
	if(x && x.length > 0)
	{
		ajaxQuery('GET', 'config/availability.php?qd=' + escape(x), availabilityHandler);
	}
	return true;
}

function gnameAvailable(x)
{
	if(x && x.length > 0)
	{
		ajaxQuery('GET', 'config/availability.php?qd=' + escape(x) + '&g=1', availabilityHandler);
	}
	return true;
}

function availabilityHandler(xmlHttp)
{
	var status = document.getElementById('availabilityStatus');
	if(!status) return false;
	if(xmlHttp.readyState==4)
	{
		status.innerHTML = xmlHttp.responseText;
	} else
	{
		status.innerHTML = 'Checking availability...';
	}
	return true;
}

function nameStatusClear()
{
	var status = document.getElementById('availabilityStatus');
	if(!status) return false;
	status.innerHTML = '';
	return true;
}