<!--
function check_dns (dns)
{	
	var nodes = dns.split ('\.');

	if (! nodes)
	{
		return false;
	}
	
	if (nodes.length < 2)
		return;
	
	var tld = nodes[nodes.length - 1];
	if (tld.length < 2 || tld.length > 4)
		return false;
	
	var dm = nodes[nodes.length - 2];
	if (dm.length < 2)
		return false;
	
	for (var i = 0; i != nodes.length; i++)
	{
		if (nodes[i].match (/[^a-zA-Z0-9\-]/))
		{
			return false;
		}
		
		if (nodes[i].length > 63)
		{
			return false;
		}
	}

	return true;
}

function check_e_prefix (email)
{
	var pairs = email.split ('@');
	var addr = pairs[0];
	var dns = pairs[1];

	if (! addr || ! dns)
	{
		return false;
	}

	if (! check_dns (dns))
	{
		return false;
	}

	if (! addr)
	{
		return false;
	}


	/* RFC 2822 */
	if (addr.match (/[\*\(\)\[\]<>,;:\\\s\"\/|\{\}\&\%\$]/))
	{
		return false;
	}


	return true;
}

function check_i_prefix (integer)
{
	if (integer.match (/[^0-9]/))
	{
		return false;
	}

	return true;
}

function check_f_prefix (number)
{
	if (number.match (/[^\.0-9]/))
	{
		return false;	
	}

	return true;
}

function check_t_prefix (phone,locale)
{
	switch( locale.toLowerCase() ){
		case "es":
			if (phone.match (/^\+?[0-9]{9}$/))
			{
				return true;
			}
			break;

		case "zh":
		case "cn":
			if (phone.match (/^\+?[0-9]{11}$/))
			{
				return true;
			}
			break;
			
		default:
			if (phone.match (/^\+?[0-9]{10,12}$/))
			{
				return true;
			}
			break;
	}

	return false;
}

function check_p_prefix (cp)
{
	if (cp.length != 2 && cp.length != 5)
	{
		return false;
	}

	if (cp.match (/[^0-9]/))
	{
		return false;
	}

	return true;
}
//-->
