//Array que armazena os campos com preenchimento incorreto.
var ContemErro = new Array(5);

//******************************************************************************************************************//
// Thiago Santiago - 23/07/2007																						//
//******************************************************************************************************************//
// Função que Atribui uma Mascara Telefonica ao valor digitado no campo(type='text').								//
//******************************************************************************************************************//
function MascaraTelefone(campotel)
{
	//verifica se o campo possui 4 digitos.
	if(campotel.value.length == 4)
	{
		//Atribui o caractere '-' ao campo.
		campotel.value = campotel.value + "-";
	}
	
	if(campotel.value.length == 9)
	{
		document.getElementById('txt_bairro').focus();
	}

}

//******************************************************************************************************************//
// Thiago Santiago - 23/07/2007																						//
//******************************************************************************************************************//
// Função que Permite a digitação apenas de Números nos campos(type='text').										//
//******************************************************************************************************************//
function SomenteNumeros(e)
{
	var key //= (window.event) ? event.keyCode : e.which;

	//Verifica se o Evento foi disparado do IE ou do FF
	if (window.event)
		//Atribui o código da tecla digitada no caso do IE
		key = event.keyCode
	else
		//Atribui o código da tecla digitada no caso do FF
		key = e.which
	// Permite apenas as teclas 	
	// 47 ao 58 - Números // 95 ao 106 - Números // 8 - backspace // 39 - tab //... Shift, alt, crtl
	if (key > 47 && key < 58 || key > 95 && key < 106 || key == 8 || key == 0 || key == 9 || key == 37 || key == 39 || key == 16)
	   return; //caso alguma das teclas acima seja pressionada, então a função é encerrada.
	else //senão o evento é cancelado
	if (window.event) //IE
		window.event.returnValue = null;
	else //Firefox
		e.preventDefault();
}

//******************************************************************************************************************//
// Thiago Santiago - 23/07/2007																						//
//******************************************************************************************************************//
// Função que verifica se o conteudo digitado é equivalente ao formato de um e-mail.								//
//******************************************************************************************************************//
function ValidaEmail(email)
{
	//Verifica se o conteudo do campo é nulo.
	if(email.value=='')
	{	
		//Atribui um destaque ao campo.
		email.className = 'input_erro';
		//Atribui a uma variavel global o indicador que o campo está com erro, passando o ID e o nome do campo.
		ContemErro[1] = email.id+"|E-Mail";
		//Sai da função
		return false;
	}
	//inicializa Variáveis
	var checkcliEmail = "@.";
	var checkStr = email.value;
	var cliEmailValid = false;
	var cliEmailAt = false;
	var cliEmailPeriod = false;

	//Verifica cada caractere do campo.
	for (i = 0;  i < checkStr.length;  i++)
	{
		//Pega a letra indexada.
		ch = checkStr.charAt(i);
		
		//Verifica se o caractere é igual ao exigido.
		for (j = 0;  j < checkcliEmail.length;  j++)
		{
			//Verifica se o caractere é igual ao '@'
			if (ch == checkcliEmail.charAt(j) && ch == "@")
			cliEmailAt = true;
			//Verifica se o caractere é igual ao '.'
			if (ch == checkcliEmail.charAt(j) && ch == ".")
			cliEmailPeriod = true;
			
			//Sai do loop caso a string contenha '@' e '.'
			if (cliEmailAt && cliEmailPeriod)
			break;
			
			//Sai do loop caso a  verificação da string.
			if (j == checkcliEmail.length)
			break;
		}
		
		//Verifica se a string possui '@' e '.'
		if (cliEmailAt && cliEmailPeriod)
		{
			//Valida a String
			cliEmailValid = true
			break;
		}
	}
	
	//Verifica se a string é válida.
	if (!cliEmailValid)
	{
		//caso a string não seja válida, Atribui um destaque ao campo.
		email.className = 'input_erro';
		//Atribui a uma variavel global o indicador que o campo está com erro, passando o ID e o nome do campo.
		ContemErro[1] = email.id+"|E-Mail";
		//Sai da função
		return false;
	}
	else
	{
		//caso a string seja válida, retira qualquer destaque ao campo.
		email.className = 'input_01';
		//Atribui a uma variavel global o indicador que o campo está correto.
		ContemErro[1] = undefined;
		//Sai da função
		return true;
	}
}

//******************************************************************************************************************//
// Thiago Santiago - 23/07/2007																						//
//******************************************************************************************************************//
// Função que verifica a validação e envia submete a página.														//
//******************************************************************************************************************//
function EnviarDados()
{
	//valida o conteudo dos campos
	TestarCampos()

	//Inicializa as variáveis
	var AchouErro = false;
	var StrCampoErro;
	var idCampo = ''
	var StrMsgErro = '';
	
	//Verifica se algum campo foi relacionado na validação de preenchimento incorreto.
	for(i=0;i<ContemErro.length;i++)
	{ 
		if(ContemErro[i] != undefined)
		{
			StrCampoErro= ContemErro[i];
			StrCampoErro = StrCampoErro.split("|", 2);
			if(idCampo == ''){idCampo = StrCampoErro[0];}
			StrMsgErro += "-> "+StrCampoErro[1]+"\n";
			AchouErro = true;
		}
	}
	
	//Caso algum campo tenha seu relacionamento com erros verdadeiro, exibe a mensagem de erro.
	if(AchouErro == true)
	{
		alert("Atenção, Preencha Corretamente o(s) campo(s): \n"+StrMsgErro);
		document.getElementById(idCampo).focus();
		document.getElementById(idCampo).className = 'input_erro';
		AchouErro = false;
	}
	//caso o preenchimento dos campos estiver correto, o formulário é submetido.
	else
	{
		document.forms[0].submit();
	}
	
}

//******************************************************************************************************************//
// Thiago Santiago - 23/07/2007																						//
//******************************************************************************************************************//
// Função que valida o conteudo dos campos.																			//
//******************************************************************************************************************//
function TestarCampos()
{
	
	//localiza os campos
	txt_nome_contato = document.getElementById('txt_nome_contato');
	txt_email = document.getElementById('txt_email');
	txt_bairro = document.getElementById('txt_bairro');
	txt_cidade = document.getElementById('txt_cidade');
	txt_estado = document.getElementById('txt_estado');

	
	//Se o conteudo da campo contato for igual a "" então atribui erro no Vetor de erros, com a Identificação e o nome do Campo
	if(txt_nome_contato.value == ""){ContemErro[0] = txt_nome_contato.id+"|Nome";}
	else{ContemErro[0] = undefined;}
	
	//Se o conteudo da campo email for igual a "" então atribui erro no Vetor de erros, com a Identificação e o nome do Campo
	if(txt_email.value == ""){ContemErro[1] = txt_email.id+"|E-mail";}
	else
	{
		ContemErro[1] = undefined;
		//caso o campo tenha conteudo, então verifica se o conteúdo é válido.
		ValidaEmail(txt_email);
	}
	//Se o conteudo da campo bairro for igual a "" então atribui erro no Vetor de erros, com a Identificação e o nome do Campo
	if(txt_bairro.value == ""){ContemErro[2] = txt_bairro.id+"|Bairro";}
	else{ContemErro[2] = undefined;}
	
	//Se o conteudo da campo cidade for igual a "" então atribui erro no Vetor de erros, com a Identificação e o nome do Campo
	if(txt_cidade.value == ""){ContemErro[3] = txt_cidade.id+"|Cidade";}
	else{ContemErro[3] = undefined;}
	
	//Se o conteudo da campo estado for igual a "" então atribui erro no Vetor de erros, com a Identificação e o nome do Campo
	if(txt_estado.value == ""){ContemErro[4] = txt_estado.id+"|Estado";}
	else{ContemErro[4] = undefined;}
}

function Perdefoco(campo)
{
	campo.className = 'input_01';
	//campo.className = 'input_erro';
}