
function checkKey(evt)
{
	var charCode = (evt.which) ? evt.which : event.keyCode;
	
	return (charCode > 31 && (charCode < 48 || charCode > 57)) ? false : true;
}	

function checkField(field, value)
{
    if (value.length >= field.maxLength)
	{
		var next = field.tabIndex + 1;
		
		if (next < document.forms[0].elements.length)
		{
			document.forms[0].elements[next].focus();
		}
    }
}

function checkForm(frm)
{
	if (frm == undefined)
		return false;

	var cn = frm.txt_ddd.value;
		
	if (frm.txt_ddd.value == '')
	{
		alert('Por favor, digite o DDD.');
		frm.txt_ddd.focus();
		return false;
	}
	
	else if (!isNumeric(frm.txt_ddd.value))
	{
		alert('Por favor, digite apenas números.');
		frm.txt_ddd.value = '';	
		frm.txt_ddd.focus();	
		return false;		
	}
	
	else if (frm.txt_ddd.value.length < 2)
	{
		alert('Por favor, digite 2 dígitos para o DDD.');
		frm.txt_ddd.value = '';	
		frm.txt_ddd.focus();	
		return false;		
	}	
	
	else if (frm.txt_number.value == '')
	{
		alert('Por favor, digite o número do telefone.');
		frm.txt_number.focus();
		return false;
	}
	
	else if (!isPhone(frm.txt_number.value))
	{
		alert('O número do telefone é inválido.');
		frm.txt_number.value = '';	
		frm.txt_number.focus();	
		return false;		
	}
	
	else if (isCellPhone(frm.txt_number.value))
	{
		alert('Chamadas para celular não são permitidas.');
		frm.txt_number.value = '';	
		frm.txt_number.focus();	
		return false;		
	}

	else if (cn != 11 && cn != 12 && cn != 13 && cn != 15 && cn != 19)
	{
		alert('Chamada não permitida para sua região.');
		frm.txt_ddd.value = '';
		frm.txt_number.value = '';
		frm.txt_ddd.focus();	
		return false;	
	}	
	
	var ddd = frm.txt_ddd.value;
	var phone = frm.txt_number.value;
	
	frm.txt_phone.value = '0' + ddd + phone;
	
	return true;
}

function isNumeric(candidate)
{
	var i;
	
	for (i = 0; i < candidate.length; i++)
	{
		var c = candidate.charAt(i);
		
		if (((c < '0') || (c > '9'))) 
		{
			return false;
		}
	}
	
	return true;
}

function isPhone(candidate)
{
	if (isNumeric(candidate))
	{
		return (candidate.length == 8 || candidate.length == 10);
	}

	return false;
}

function isCellPhone(candidate)
{
	if (isPhone(candidate))
	{
		var digit = candidate.charAt(candidate.length - 8);

		return (digit == '6' || digit == '7' || digit == '8' || digit == '9');
	}

	return false;
}