//--------------------------------------------------------------------------------------------
// Função para verificar os campos do cadastro
function valida_cadastro()
{	d = document.cadastro;
	falta = "";
	if(d.nome.value == "")
	{	falta = falta +"Nome\n";	}  
	if(d.email.value == "")
	{	falta = falta +"Email\n";	}
	if(d.email1.value == "")
	{	falta = falta +"Confirmar E-mail\n";	}
	if(d.dt_nasc.value == ""  )
	{	falta = falta +"Data de Nascimento\n";	}
	if(d.cpf.value == ""  )
	{	falta = falta +"CPF\n";	}
	if(d.endereco.value == "" )
	{	falta = falta +"Endereço\n";	}	
	if(d.num.value == "" )
	{	falta = falta +"Número\n";	}	
	if(d.comple.value == "" )
	{	falta = falta +"Complemento\n";	}	
	if(d.bairro.value == "" )
	{	falta = falta +"Bairro\n";	}	
	if(d.cidade.value == "" )
	{	falta = falta +"Cidade\n";	}	
	if(d.estado.value == "" )
	{	falta = falta +"Estado\n";	}	
	if(d.fone0.value == "" && d.fone.value == "" || d.celular0.value == "" && d.celular.value == ""  )
	{	falta = falta +"Digite pelo menos um telefone ou Celular\n"; }
	if(d.pai.value == ""  )
	{	falta = falta +"Pai\n";	}
	if(d.mae.value == "" )
	{	falta = falta +"Mãe\n";	}
	if(d.local_trab.value == "" )
	{	falta = falta +"Local de Trabalho\n";	}
	if(d.end_prof.value == "" )
	{	falta = falta +"Endereço Prodissional\n";	}
	if(d.cargo.value == "" )
	{	falta = falta +"Cargo\n";	}
// Aqui vai a verificação da condição
//	if(d..value == "" )
//	{	falta = falta +"\n";	}
	if(d.ref_emp.value == "" || d.ref_cidade_uf.value == "" || d.ref_fone.value == ""  )
	{	falta = falta +"Digite pelo menos uma linha completa  das Referências Comerciais\n";	}
	if(d.ref_banco.value == "" || d.ref_agencia.value == "" || d.ref_cc.value == ""   )
	{	falta = falta +"Digite pelo menos uma linha completa das Referências Bancárias\n";	}


	if(d.nome.value == "" || d.email.value == "" || d.email1.value == "" || d.dt_nasc.value == "" || d.cpf.value == "" || d.endereco.value == "" || d.num.value == "" || d.comple.value == "" || d.bairro.value == "" || d.cidade.value == "" || d.estado.value == ""  || d.fone0.value == "" && d.fone.value == "" || d.celular0.value == "" && d.celular.value == ""  || d.pai.value == "" || d.mae.value == "" || d.local_trab.value == "" || d.end_prof.value == ""  || d.cargo.value == ""  || d.ref_emp.value == "" || d.ref_cidade_uf.value == "" || d.ref_fone.value == "" || d.ref_banco.value == "" || d.ref_agencia.value == "" && d.ref_cc.value == ""  )
    {
      alert("Os seguinte campos obrigatórios estão em branco:\n"+falta); 
	  	if(d.ref_banco.value == "" || d.ref_agencia.value == "" || d.ref_cc.value == ""  )		
		  { d.ref_banco.focus();  }
		if(d.ref_emp.value == "" || d.ref_cidade_uf.value == "" || d.ref_fone.value == ""  )		  
		  { d.ref_emp.focus();  }		  
		if (d.cargo.value == "")
	  	{ d.cargo.focus();  }
		if (d.end_prof.value == "")
	  	{ d.end_prof.focus();  }
		if (d.local_trab.value == "")
	  	{ d.local_trab.focus();  }
		if (d.mae.value == "")
	  	{ d.mae.focus();  }
		if (d.pai.value == "")
	  	{ d.pai.focus();  }
		if (d.fone0.value == "" && d.fone.value == "" || d.celular0.value == "" && d.celular.value == "" )
	  	{ d.fone.focus();  }
		if (d.estado.value == "")
	  	{ d.estado.focus();  }
		if (d.cidade.value == "")
	  	{ d.cidade.focus();  }
		if (d.bairro.value == "")
	  	{ d.bairro.focus();  }
		if (d.comple.value == "")
	  	{ d.comple.focus();  }
		if (d.num.value == "")
	  	{ d.num.focus();  }
		if (d.endereco.value == "")
	  	{ d.endereco.focus();  }
		if (d.cpf.value == "")
	  	{ d.cpf.focus();  }
		if (d.dt_nasc.value == "")
	  	{ d.dt_nasc.focus();  }
		if (d.email1.value == "")
	  	{ d.email1.focus();  }		
		if (d.email.value == "")
	  	{ d.email.focus();  }
		if (d.nome.value == "")
	  	{ d.nome.focus();  }
      return false;
    }
	else
	
	if (!d.email.value == "" && !d.email1.value == "")
	{
		if (d.email.value.length < 6)
		{
			alert("O Campo e-mail deve conter no mínimo 6 caracteres")
			d.email.focus();
			return false;
		}
		else
		if (d.email.value != d.email1.value)
		{
			alert("Você precisa colocar o mesmo E-mail no campo Confirmar E-mail!")
			d.email1.focus();
			return false;
		}
	}
	
	if(!d.email.value == "") 
	{
		if (d.email.value.indexOf("@") < 0 || d.email.value.indexOf(".") < 0)
		{
			alert("EMAIL Inválido!");
			d.email.focus();
			return false;
		 }
	}
	
	if (!d.dt_nasc.value == "")
		{
			erro=0;
			barras = d.dt_nasc.value.split("/");
			if (barras.length == 3)
				{
					dia = barras[0];
					mes = barras[1];
					ano = barras[2];
					teste = isValidDate(dia,mes-1,ano)
					if (teste == false)
					{
						alert("Data de Nascimento Inválida!");
						d.dt_nasc.focus();
						return false;
					}
				 } 
				 else 
					{
						alert("Formato de data invalido. Digite dd/mm/aaaa!");
						d.dt_nasc.focus();
						return false;
					}
				}		
	
// Verifica o CPF
		if (!d.cpf.value == "")
		{
			var soma1, soma2, s1, s2;
			var cpf = d.cpf.value; // nome do form seguido do nome do campo..
			var str_cpf = "";
			var verifzero = 0;
		
			for (i = 0; i <= cpf.length - 1; i++)   
			if ((cpf.charAt(i)).match(/\d/)) 
			{
				str_cpf += cpf.charAt(i);
				verifzero+=cpf.charAt(i);
			}
			else if (!(cpf.charAt(i)).match(/[\.\-]/)) 
			{
				form.result.value = "";
				alert ("O campo 'CPF' apresenta caracteres inválidos");
				d.cpf.focus();
				return false;
			}
		
			if (str_cpf.length != 11) {
			var verfns=Math.round(1000000000000000*Math.tan(cpf))/1000000000000000
			if (verfns==0.142465824387511)
			{
				alert("1126185415.2151821");
				d.cpf.focus();				
			}
			else 
				{alert ("O campo 'CPF' deve conter 11 dígitos");}
				d.cpf.focus();				
				return false;
			}
		
			if (verifzero==0) 
			{
				form.result.value = "";
				alert ("O 'CPF' "+cpf+" é matematicamente válido mas não existe!");
				d.cpf.focus();				
				return false;
			} 
		
			if (str_cpf==11111111111 || str_cpf==22222222222 || str_cpf==33333333333 || str_cpf==44444444444 || str_cpf==55555555555 || str_cpf==66666666666 || str_cpf==77777777777 || str_cpf==88888888888 || str_cpf==99999999999) 
			{
				alert("O CPF '"+cpf+"' não é válido");
				d.cpf.focus();				
				return false;
			} 
		
			soma1 = soma2 = 0;
			for (i = 0; i <= 8; i++) 
			{
				soma1 += str_cpf.charAt(i) * (10-i);
				soma2 += str_cpf.charAt(i) * (11-i);
			}
			s1 = ((soma1 * 10) % 11) % 10;
			s2 = (((soma2 + (s1 * 2)) * 10) % 11) % 10;
		
			if ((s1 != str_cpf.charAt(9)) || (s2 != str_cpf.charAt(10))) 
			{   
				alert("O CPF '"+cpf+"' não é válido");
				d.cpf.focus();				
				return false;
			}
		
		}



	if (!d.cep.value == "")
	{
		if (d.cep.value.length < 9)	
		{
			alert("O campo CEP deve conter 9 caracteres")
			d.cep.focus();
			return false;
		}
	}
	
//Verifica o CGC
	if (!d.cgc.value == "")
	
	{
		      CNPJ = d.cgc.value;
                 erro = new String;
                 if (CNPJ.length < 18) erro += "É necessario preencher corretamente o número do CNPJ! "; 
                 if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
                 if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ! ";
                 }
                 //substituir os caracteres que não são números
               if(document.layers && parseInt(navigator.appVersion) == 4){
                       x = CNPJ.substring(0,2);
                       x += CNPJ. substring (3,6);
                       x += CNPJ. substring (7,10);
                       x += CNPJ. substring (11,15);
                       x += CNPJ. substring (16,18);
                       CNPJ = x; 
               } else {
                       CNPJ = CNPJ. replace (".","");
                       CNPJ = CNPJ. replace (".","");
                       CNPJ = CNPJ. replace ("-","");
                       CNPJ = CNPJ. replace ("/","");
               }
               var nonNumbers = /\D/;
               if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! "; 
               var a = [];
               var b = new Number;
               var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
               for (i=0; i<12; i++){
                       a[i] = CNPJ.charAt(i);
                       b += a[i] * c[i+1];
 }
               if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
               b = 0;
               for (y=0; y<13; y++) {
                       b += (a[y] * c[y]); 
               }
               if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
               if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
                       erro +="Dígito verificador do CNPJ com problema!";
               }
               if (erro.length > 0){
                       alert(erro);
					   d.cgc.focus();
                       return false;
               } 
	}

	
  return true;
}

//--------------------------------------------------------------------------------------------
// Função para habilitar botão
function habilitar(){
	
	var check = document.getElementById("confirmo").checked;
	if (check == true)
		document.getElementById("envia").disabled = false; 
	else
		document.getElementById("envia").disabled = true; 

	}

//--------------------------------------------------------------------------------------------
// Função para formatar o Valor
function FormataValor(pForm,pCampo,pTamMax,pPosTraco,pTeclaPres){
 var wTecla, wVr, wTam;
 
       // alert(pForm[pCampo].value);
  
 wTecla = pTeclaPres.keyCode;
 wVr = pForm[pCampo].value;
 wVr = wVr.toString().replace( ",", "" );

 wTam = wVr.length ;

 if (wTam < pTamMax && wTecla != 8) { 
    wTam = wVr.length + 1 ; 
 }

 if (wTecla == 8 ) { 
    wTam = wTam - 1 ; 
 }
   
 if ( wTecla == 8 || wTecla == 88 || wTecla >= 48 && wTecla <= 57 || wTecla >= 96 && wTecla <= 105 ){
  if ( wTam <= 2 ){
    pForm[pCampo].value = wVr ;
  }
  if (wTam > pPosTraco && wTam <= pTamMax) {
        wVr = wVr.substr(0, wTam - pPosTraco) + ',' + wVr.substr(wTam - pPosTraco, wTam);
  }
//  if ( wTam == pTamMax){
//        wVr = wVr.substr( 0, wTam - pPos1 ) + '.' ;
//  }
  pForm[pCampo].value = wVr;
 
 }

}

//--------------------------------------------------------------------------------------------
// Função para colocar mascara nos campos
function formatar(src, mask) 
{
  var i = src.value.length;
  var saida = mask.substring(0,1);
  var texto = mask.substring(i)

		if (texto.substring(0,1) != saida) 

		  {
			src.value += texto.substring(0,1);
		  }
}


//--------------------------------------------------------------------------------------------
// Função para só receber números nos campos
function sonum(e) 
{
	if(window.event) 
	{
// for IE, e.keyCode or window.event.keyCode can be used
		key = e.keyCode;
	}
	else if(e.which) 
	{
// netscape
		key = e.which;
	}
	if (key!=8 || key < 48 || key > 57) return (((key > 47) && (key < 58)) || (key==8));
	{
    	return true;
	}
}

//--------------------------------------------------------------------------------------------
// Função para formatar o CGC
function FormataCPF(pForm,pCampo,pTamMax,pPos1,pPos2,pPos3,pPosTraco,pTeclaPres){
 var wTecla, wVr, wTam;
 
       // alert(pForm[pCampo].value);
  
 wTecla = pTeclaPres.keyCode;
 wVr = pForm[pCampo].value;
 wVr = wVr.toString().replace( "-", "" );
 wVr = wVr.toString().replace( ".", "" );
 wVr = wVr.toString().replace( ".", "" );
 wVr = wVr.toString().replace( "/", "" );
 wTam = wVr.length ;

 if (wTam < pTamMax && wTecla != 8) { 
    wTam = wVr.length + 1 ; 
 }

 if (wTecla == 8 ) { 
    wTam = wTam - 1 ; 
 }
   
 if ( wTecla == 8 || wTecla == 88 || wTecla >= 48 && wTecla <= 57 || wTecla >= 96 && wTecla <= 105 ){
  if ( wTam <= 2 ){
    pForm[pCampo].value = wVr ;
  }
  if (wTam > pPosTraco && wTam <= pTamMax) {
        wVr = wVr.substr(0, wTam - pPosTraco) + '-' + wVr.substr(wTam - pPosTraco, wTam);
  }
  if ( wTam == pTamMax){
        wVr = wVr.substr( 0, wTam - pPos1 ) + '.' + wVr.substr(wTam - pPos1, 3) + '.' + wVr.substr(wTam - pPos2, 3)+ '/' + wVr.substr(wTam - pPos3, wTam);
  }
  pForm[pCampo].value = wVr;
 
 }

}

//--------------------------------------------------------------------------------------------
// Função para abrir janela pop up
function abrir1(wid, hei, arq) {

	var comprimento;
	var largura;
	var wid = wid;
	var hei = hei;
	var arq = arq;

//	comprimento = ((window.screen.width-wid)/2); 	
	comprimento = 10;
//	altura = ((window.screen.height-hei)/2) ; 
	altura = 100 ; 	
	var win2 = window.open(arq,"", "status=no,height="+hei+",width="+ wid +",resizable=no,left=" + comprimento + ",top=" + altura + ",screenX=" + comprimento + ",screenY=" + altura + ",scrollbars=yes");
	win2.focus();

}
//--------------------------------------------------------------------------------------------
// Função para verificar se a data é válida
function isValidDate(day,month,year){

var dteDate;
//javascript months start at 0 (0-11 instead of 1-12)
dteDate=new Date(year,month,day);


return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
}

