function Form_Validator(theForm){
	d = document.form;

//**********************************
//* Função que chama as validações *
//**********************************

//ADICIONAR AS FUNÇÕES DAS VALIDAÇÕES NESTE ESPAÇO

//****** CAMPO NOME ******
// verifica se o campo está vazio
if (d.nomecompleto.value == false){

	alert("Preencha o campo Nome Completo.");
	d.nomecompleto.focus();
	d.nomecompleto.select();
	return (false);

  }else{

// verifica se o campo contêm números
	var contnome = d.nomecompleto.value;

	for (var i = 0; i < 10; i = i + 1){

		contnome.indexOf(i);
		if (contnome.indexOf(i) != -1){
		alert("O campo Nome Completo não aceita números.");
		d.nomecompleto.focus();
		d.nomecompleto.select();
		return (false);

		}
	}
}


//-------------------------------------------------------------------------------------------

//****** CAMPO CPF ******
numcpf = d.cpf.value

if (numcpf == false){

	alert("Preencha o campo CPF");
	d.cpf.focus();
	return false;

}


if (numcpf != false) {
		// verifica se todos os caracteres digitados são numeros
		var checkOK = "0123456789";
		var checkStr = d.cpf.value;
		var allValid = true;
		var decPoints = 0;
		var allNum = "";
		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j)) break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			allNum += ch;
		}
		if (!allValid)
		{
			alert("O campo CPF só pode conter números, não use o separador (.) ou (-). Ex.: 00000111");
			d.cpf.focus();
			d.cpf.select();
			return (false);
		}
	}


x = 0;
soma = 0;
dig1 = 0;
dig2 = 0;
texto = "";
numcpf1="";
len = numcpf.length; x = len -1;
 for (var i=0; i <= len - 3; i++)
 {
  y = numcpf.substring(i,i+1);
  soma = soma + ( y * x);
  x = x - 1;
  texto = texto + y;
 }

dig1 = 11 - (soma % 11);
 if (dig1 == 10) dig1=0 ;
 if (dig1 == 11) dig1=0 ;
numcpf1 = numcpf.substring(0,len - 2) + dig1 ;
x = 11; soma=0;

 for (var i=0; i <= len - 2; i++)
 {
  soma = soma + (numcpf1.substring(i,i+1) * x);
  x = x - 1;
 }

dig2= 11 - (soma % 11);
 if (dig2 == 10) dig2=0;
 if (dig2 == 11) dig2=0;
 if ((dig1 + "" + dig2) == numcpf.substring(len,len-2))
 {
  //window.d.cpf.value = FormataCPF(numcpf);
  //return true;
}else{

	alert ("Número do CPF invalido !!!");
	d.cpf.focus();
	d.cpf.select();
	return false;
 }

//theForm1.CPF_Cliente.focus();


//final

function FormataCPF(stringCPF)
{
 return stringCPF = stringCPF.charAt(0) + stringCPF.charAt(1) + stringCPF.charAt(2) + "." + stringCPF.charAt(3) + stringCPF.charAt(4) + stringCPF.charAt(5) + "." + stringCPF.charAt(6) + stringCPF.charAt(7) + stringCPF.charAt(8) + "-" + stringCPF.charAt(9) + stringCPF.charAt(10)
 alert(stringCPF)
 return false
}

//-------------------------------------------------------------------------------------------


//****** CAMPO NOME CREDENCIAL ******
// verifica se o campo está vazio
if (d.nomecredencial.value == false){

	alert("Preencha o campo Nome Credencial. Max. 25 caracteres.");
	d.nomecredencial.focus();
	d.nomecredencial.select();
	return (false);

  }else{

// verifica se o campo contêm números
	var contnome = d.nomecredencial.value;

	for (var i = 0; i < 10; i = i + 1){

		contnome.indexOf(i);
		if (contnome.indexOf(i) != -1){
		alert("O campo Nome Credencial não aceita números.");
		d.nomecredencial.focus();
		d.nomecredencial.select();
		return (false);

		}
	}
}

//-------------------------------------------------------------------------------------------
	

//****** CAMPO EMAIL ******
var texto = d.email.value
// verifica se o campo está vazio.
if (texto == false) {
	alert("Preencha o campo e-mail.");
	d.email.focus();
	d.email.select();	
	return(false);
} else {

//VERIFICA SE EXISTE "@" NO E-MAIL
pos = texto.indexOf("@")
if (pos == -1 || pos < 2){
	alert("Preencha o campo e-mail corretamente.");
	d.email.focus();
	d.email.select();
	return(false);
	} else {

		//VERIFICA SE EXISTE "."(PONTO) NO E-MAIL
		pos = texto.indexOf(".")
		if (pos == -1 || pos == 0) {
			alert("Preencha o campo e-mail corretamente.");
			d.email.focus();
			d.email.select();
			return (false);
		} else {

			ponto = texto.indexOf(".")
			tamanho = texto.length;
			parte = texto.substring(ponto,tamanho);

			//VERIFICA SE EXISTE MAIS DE 2 CARACTERES APÓS O "."(PONTO) NO E-MAIL
			if (parte.length < 3){
				alert("Preencha o campo e-mail corretamente.");
				d.email.focus();
				d.email.select();
				return (false);
			}

		}
	}
}
	
//-------------------------------------------------------------------------------------------		
	
//****** CAMPO NOME DA EMPRESA ******
// verifica se o campo está vazio
if (d.razaosocial.value == false){
alert("O campo Empresa é de preenchimento obrigatório, informe o nome da sua empresa, caso você seja autônomo digite no campo Empresa o código 111 se não estiver trabalhando no momento digite no campo Empresa o código 222.");
d.razaosocial.focus();
return (false);
}
	
	
//-------------------------------------------------------------------------------------------	
	
//para a função de CGC sempre passe o campo e não o valor!!!!!
	
	if ( d.cnpj.value == '00000000000000' )
	{
		alert("O campo CNPJ é de preenchimento obrigatório.");
		d.cnpj.focus();
		return(false);
	}	


	if(!ChecaForm(d.cnpj)){
		alert("O campo CNPJ é de preenchimento obrigatório.");
		d.cnpj.focus();
		return (false);
	}


	function ValChar(ch) {
		if (ch=="0") return 0
		else if (ch=="1") return 1
		else if (ch=="2") return 2
		else if (ch=="3") return 3
		else if (ch=="4") return 4
		else if (ch=="5") return 5
		else if (ch=="6") return 6
		else if (ch=="7") return 7
		else if (ch=="8") return 8
		else if (ch=="9") return 9
		else return 10
	}

	//Verifica se o argumento é um CGC válido de 8 dígitos
	function ChecaCGC8 (CKCGC) {
	var CGC = CKCGC;
	var NewCGC = "";
	//Elimina todos os espaços, pontos, barras e traços do CGC
	for (i=0;i<CGC.length;i++) { //>
		if (CGC.charAt(i) != " " && CGC.charAt(i) != "." && CGC.charAt(i) != "/" && CGC.charAt(i) != "-") NewCGC = NewCGC + CGC.charAt(i);
	}
	//Verifica tamanho do CGC
	if (NewCGC.length!=8) {
		return false;
	}
	//verifica se todos os caracteres são numéricos
	var Numerico = false;
	var Numeros = "0123456789";
	for (i=0;i<NewCGC.length;i++) { //>
		Numerico = false;
		for (j=0;j<Numeros.length;j++) { //>
			if (NewCGC.charAt(i) == Numeros.charAt(j)) {
				Numerico = true;
				break;
			}
		}
		if (!Numerico) {
			return false;
		}
	}
	//Calcula os dígitos verificadores
	var s1 = 0;
	aux = 0;
	soma = 0
	for (i=1;i<=8;i++) {
		//alert("i="+i+" - char(i-1)="+NewCGC.charAt(i-1));
		aux = (ValChar(NewCGC.charAt(i-1)))*((i % 2)+1);
		//alert ("aux="+aux);
		if (aux>9) aux = aux-9;
		//alert ("aux="+aux);
		soma = soma + aux;
	}
	r1 = soma % 10;
	//alert("soma="+soma+" - resto="+r1);
	if (r1==0) return (true)
	else {
		return (false);
	}
	}

	//Verifica se o argumento é um CGC válido
	function ChecaCGC (CKCGC) {
	var CGC = CKCGC;
	var NewCGC = "";
	//Verifica tamanho do CGC
	if (CGC.length!=14) {
		return false;
	}
	//Calcula os dígitos verificadores
	//Guarda os 12 primeiros digitos
	var DVCGC = CGC.substring(0,12);
	//calcula o primeiro digito verificador
	var s1 = 0;
	for (i=1;i<=4;i++) s1 = s1 + (ValChar(DVCGC.charAt(i-1))*(6-i));
	for (i=5;i<=12;i++) s1 = s1 + (ValChar(DVCGC.charAt(i-1))*(14-i));
	r1 = s1 % 11;
	if (r1<2) dv1=0;
	else dv1 = 11 - r1;
	//calcula o segundo digito verificador
	var s2 = dv1*2;
	for (i=1;i<=5;i++) s2 = s2 + (ValChar(DVCGC.charAt(i-1))*(7-i));
	for (i=6;i<=12;i++) s2 = s2 + (ValChar(DVCGC.charAt(i-1))*(15-i));
	r2 = s2 % 11;
	if (r2<2) dv2=0;
	else dv2 = 11 - r2;
	//junta os digitos verificadores
	var DV = "";
	DV = DV + dv1 + dv2;
	//guarda os digitos verificadores do CGC digitado (últimas duas posições no string)
	var NewDV = CGC.substring(12,14)
	if (NewDV==DV) { //se o DV calculado for igual ao digitado, retorna true
		return true
	}
	else {
		return false
	}
	}

	function ChecaForm(theField) {
		if(theField.value.length>0){
		var a = theField.value;
		var b = "";
		var c = "";
		var d = 0;
		for(cont=0;cont<a.length;cont++)
		{
			if(	a.charAt(cont)=="0" || a.charAt(cont)=="1" || a.charAt(cont)=="2" || a.charAt(cont)=="3" || a.charAt(cont)=="4" || a.charAt(cont)=="5" || a.charAt(cont)=="6" || a.charAt(cont)=="7" || a.charAt(cont)=="8" || a.charAt(cont)=="9"){
				b = b + a.charAt(cont);
			}
		}
		a = b;

		//if(a==false){
		//		alert("CNPJ Inválido");
		//		return (false);
		//}

		//SE NÃO FOR IDENTIFICADO NENHUM NÚMERO - "CPF Inválido"
		if(a.length==""){
			alert("CNPJ Inválido");
			return (false);
		}		

		if (a!="") { //se o campo CGCCPF tiver algum valor, verifica
			//if (a.length > 14)  //verifica se o tamanho não é maior que 14
			//{
			//	alert("O campo \""+theField.name+"\" deve ter no máximo 14 dígitos.");
				//theField.focus();
			//	return (false);
			//}
			// verifica se todos os caracteres digitados são numeros
			var checkOK = "0123456789-";
			var checkStr = a;
			var allValid = true;
			var decPoints = 0;
			var allNum = "";
			for (i = 0;  i < checkStr.length;  i++)
			{
				ch = checkStr.charAt(i);
				for (j = 0;  j < checkOK.length;  j++)
				if (ch == checkOK.charAt(j)) break;
				if (j == checkOK.length)
				{
					allValid = false;
					break;
				}
				allNum += ch;
			}
			if (!allValid)
			{
				alert("O campo \""+theField.name+"\" deve conter apenas números.");
				//theField.focus();
				return (false);
			}
			//checa se o campo é CPF válido, retorna true e envia o formulário
			if (ChecaCGC(a)||ChecaCGC8(a)){


			return (true);
			}

			else
			{
				alert("CNPJ inválido!");
				//theField.focus();
				return (false);
			}
		}

	}
	}
	
//-------------------------------------------------------------------------------------------	


//****** CAMPO LOGRADOURO ID ******
// verifica se o campo está vazio
if (d.logradouro_id.value == false){
alert("Selecione o seu Logradouro.");
d.logradouro_id.focus();
return (false);
}

//-------------------------------------------------------------------------------------------	
	
//****** CAMPO ENDEREÇO ******
// verifica se o campo está vazio
if (d.logradouro.value == false){
alert("Preencha o campo Endereço.");
d.logradouro.focus();
return (false);
}

//-------------------------------------------------------------------------------------------		
	
//****** CAMPO NUMERO ******
// verifica se o campo está vazio
if (d.numero.value == false){
alert("Preencha o campo Número.");
d.numero.focus();
return (false);
}

//-------------------------------------------------------------------------------------------	

//****** CAMPO CIDADE ******
// verifica se o campo está vazio
if (d.localidade.value == false){
alert("Preencha o campo Cidade.");
d.localidade.focus();
return (false);
}


//-------------------------------------------------------------------------------------------	
	
//****** CAMPO ESTADO ******
// verifica se o campo está vazio
if (d.estado.value == "false"){
alert("Selecione o seu Estado.");
d.estado.focus();
return (false);
}


//-------------------------------------------------------------------------------------------	

//****** CAMPO CEP ******

// Valida o primeiro campo

// verifica se o campo está vazio
var cont = d.cep1.value

if (d.cep1.value == "")
   {
	 alert("Preencha o campo CEP.");
	 d.cep1.focus();
	 d.cep1.select();
	 return (false);
   }

// verifica se existe espaço em branco no campo
x = cont.indexOf(" ")
if (x != -1){

	 alert("O campo CEP não aceita espaços em branco.");
	 d.cep1.focus();
	 d.cep1.select();
	 return (false);
}

// verifica se o campo contêm menos de 5 caracteres
if (d.cep1.value.length < 5)
	{
	alert("O primeiro campo CEP deve ter 5 dígitos.");
	d.cep1.focus();
	d.cep1.select();
	return (false);
	}

//verifica se o campo só contêm números
if (d.cep1.value != false) {
		// verifica se todos os caracteres digitados são numeros
		var checkOK = "0123456789";
		var checkStr = d.cep1.value;
		var allValid = true;
		var decPoints = 0;
		var allNum = "";
		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j)) break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			allNum += ch;
		}
		if (!allValid)
		{
			alert("O campo CEP só pode conter números, não use o separador (-), nem letras. Ex.: 00000111");
			d.cep1.focus();
			d.cep1.select();
			return (false);
		}
	}

// Valida o segundo campo

// verifica se o campo está vazio
try{
var cont = d.cep2.value
if (d.cep2.value == "")
   {
	 alert("Preencha o segundo campo cep.");
	 d.cep2.focus();
	 d.cep2.select();
	 return (false);
   }

// verifica se existe espaço em branco no campo
x = cont.indexOf(" ")
if (x != -1){

	 alert("O campo cep não aceita espaços em branco.");
	 d.cep2.focus();
	 d.cep2.select();
	 return (false);
}

// verifica se o campo contêm menos de 3 caracteres
if (d.cep2.value.length < 3)
	{
	alert("O segundo campo CEP deve ter 3 dígitos.");
	d.cep2.focus();
	d.cep2.select();
	return (false);
	}

//verifica se o campo só contêm números
if (d.cep2.value != false) {
		// verifica se todos os caracteres digitados são numeros
		var checkOK = "0123456789";
		var checkStr = d.cep2.value;
		var allValid = true;
		var decPoints = 0;
		var allNum = "";
		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j)) break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			allNum += ch;
		}
		if (!allValid)
		{
			alert("O campo CEP só pode conter números, não use o separador (-), nem letras. Ex.: 00000111");
			d.cep2.focus();
			d.cep2.select();
			return (false);
		}
	}
}catch(e){}

//-------------------------------------------------------------------------------------------	

//****** CAMPO PAIS ******
// verifica se o campo está vazio
if (d.pais_id.value == "false"){
alert("Selecione o seu Pais.");
d.pais_id.focus();
return (false);
}

//-------------------------------------------------------------------------------------------	

//****** CAMPO DDD 1 ******
// verifica se o campo está vazio
var cont = d.ddd1.value

if (d.ddd1.value == "")
   {
	 alert("Preencha o campo DDD.");
	 d.ddd1.focus();
	 d.ddd1.select();
	 return (false);
   }

// verifica se existe espaço em branco no campo
x = cont.indexOf(" ")
if (x != -1){

	 alert("O campo DDD não aceita espaços em branco.");
	 d.ddd1.focus();
	 d.ddd1.select();
	 return (false);
}

// verifica se o campo contêm menos de 2 caracteres
if (d.ddd1.value.length < 2)
	{
	alert("O campo DDD deve conter 2 dígitos.");
	d.ddd1.focus();
	d.ddd1.select();
	return (false);
	}

//verifica se o campo só contêm números
if (d.ddd1.value != false) {
		// verifica se todos os caracteres digitados são numeros
		var checkOK = "0123456789";
		var checkStr = d.ddd1.value;
		var allValid = true;
		var decPoints = 0;
		var allNum = "";
		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j)) break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			allNum += ch;
		}
		if (!allValid)
		{
			alert("O campo DDD só pode conter números. Ex.: 11");
			d.ddd1.focus();
			d.ddd1.select();
			return (false);
		}
	}	

//-------------------------------------------------------------------------------------------	

//****** CAMPO TELEFONE ******
// verifica se o campo está vazio
var cont = d.telefone.value

if (d.telefone.value == "")
   {
	 alert("Preencha o campo telefone.");
	 d.telefone.focus();
	 d.telefone.select();
	 return (false);
   }

// verifica se existe espaço em branco no campo
x = cont.indexOf(" ")
if (x != -1){

	 alert("O campo Telefone não aceita espaços em branco.");
	 d.telefone.focus();
	 d.telefone.select();
	 return (false);
}

// verifica se o campo contêm menos de 7 caracteres
if (d.telefone.value.length < 7)
	{
	alert("O campo Telefone deve ter no minimo 7 dígitos.");
	d.telefone.focus();
	d.telefone.select();
	return (false);
	}

//verifica se o campo só contêm números
if (d.telefone.value != false) {
		// verifica se todos os caracteres digitados são numeros
		var checkOK = "0123456789";
		var checkStr = d.telefone.value;
		var allValid = true;
		var decPoints = 0;
		var allNum = "";
		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j)) break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			allNum += ch;
		}
		if (!allValid)
		{
			alert("O campo Telefone só pode conter números, não use o separador (-), nem letras. Ex.: 2222222");
			d.telefone.focus();
			d.telefone.select();
			return (false);
		}
	}

//-------------------------------------------------------------------------------------------


	//****** CAMPO ATIVIDADES ******
	var atividade = 0
	total_atividade = 13
	for (i = 0;  i < total_atividade;  i++)
	{
		if (d.atividade_ID(i).checked == true){
			atividade = 1	
		}
	}
	
	if (atividade == 0 ){
		alert("Você não selecionou nenhuma atividade.");
		return (false);
	}

//-------------------------------------------------------------------------------------------	

}

function atualiza(){	

	document.getElementById('wend').innerHTML='<iframe src="" id="frameWend" name="frameWend" scrolling="no" height="0" width="0" frameborder="0"></iframe>';	
	
}

// A função abaixo pega a versão mais nova do xmlhttp do IE e verifica se é Firefox. Funciona nos dois.
function createXMLHTTP(){
	try{
	ajax = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(e){
		try{
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
			alert(ajax);
		}
		catch(ex){
			try{
				ajax = new XMLHttpRequest();
			}
			catch(exc){
				alert("Esse browser não tem recursos para uso do Ajax");
				ajax = null;
			}
		}
	return ajax;
	}
	var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
	for (var i=0; i < arrSignatures.length; i++){
		try {
		var oRequest = new ActiveXObject(arrSignatures[i]);
		return oRequest;
		} 
		catch (oError) {
		}
	}
throw new Error("MSXML is not installed on your system.");
}
