// Ignore certain keys
function ignore(event)
{
	key = event.keyCode ? event.keyCode : event.which
	if(key != 32 && (key < 48 || key > 105))
		return true;
	else
		return false;
}

// Remove all non alpha characters (allow whitespace)
function removeNonAlpha(event, field)
{
	if(!ignore(event))
	{
		field.value = field.value.replace(/[^A-Za-z ]/g, "");
	}
}

// Remove all non alpha characters (allow whitespaces)
function removeNonNumeric(event, field)
{
	if(!ignore(event))
	{
		field.value = field.value.replace(/[^0-9]/g, "");
	}
}

// Remove whitespace
function removeWhitespace(event, field)
{
	if(!ignore(event))
	{
		field.value = field.value.replace(/[ ]/g, "");
	}
}

// Capitalize the first letter of the words and convert others to lowercase
function capitalize(event, field)
{
	if(!ignore(event))
	{
		var temp = "";

		for(var i=0; i<field.value.length; i++)
		{
			if(i == 0 || field.value.charAt(i-1) == " ")
				temp += field.value.charAt(i).toUpperCase();
			else
				temp += field.value.charAt(i).toLowerCase();
		}

		field.value = temp;
	}
}


// Validate phone numbers
function validatePhone(event, field)
{
	if(!ignore(event))
	{
		var temp = field.value.replace(/[^0-9]/g, "");
		
		if(temp.length > 0)
		{
			temp = "(" + temp;		
			if(temp.length > 3)
			{
				temp = temp.substring(0,4) + ") " + temp.substring(4, temp.length);
				if(temp.length > 8)
					temp = temp.substring(0,9) + "-" + temp.substring(9, temp.length);
			}
		}
		field.value = temp;
	}
}

// Validate the username field on registration
function validateUsername()
{
	var field = document.getElementById("user_username");
	var error = field.value.search(/[^A-Za-z0-9@\.\-]/g);
	if(error != -1)
	{
		if(field.value[error] == " ")
			document.getElementById("username_correction").innerHTML = "Spaces are not allowed in usernames<br />The character was automatically removed";
		else
			document.getElementById("username_correction").innerHTML = "'" + field.value[error] + "' character is not allowed in usernames<br />The character was automatically removed"
	}		
	field.value = field.value.replace(/[^A-Za-z0-9@\.\-]/g, '');
}
