  function envia(formulario) {
    
   if (formulario.first_name.value.length < 3) {
        alert("Preencha o campo NOME!");
        formulario.first_name.focus();
    }
	
	else if (formulario.last_name.value.length < 3) {
        alert("Preencha o campo SOBRENOME!");
        formulario.last_name.focus();
    }
	
    else if (!validaemail(formulario.email.value)) {
        alert("Preencha o campo E-MAIL!");
        formulario.email.focus();
    }
	
	else if ( formulario.nascimento.value.length < 4 ) {
        alert("Preencha corretamente o campo NASCIMENTO!");
        formulario.nascimento.focus();
    }
	
	else if ( !getSelectedButton(formulario.sexo)) {
        alert("Selecione seu SEXO!");
        formulario.sexo[0].focus();
    }	
	
    else if ( formulario.cidade.value.length < 3 ) {
        alert("Preencha o campo LOCALIZA\xC7\xC3O CIDADE!");
        formulario.cidade.focus();
    }
	
    else if ( formulario.estado.value.length < 2 ) {
        alert("Preencha o campo LOCALIZA\xC7\xC3O ESTADO!");
        formulario.estado.focus();
    }
	
	else if ( formulario.profissao.value.length < 2 ) {
        alert("Preencha o campo PROFISS\xC3O!");
        formulario.profissao.focus();
    }	
	
	else if ( formulario.senha.value.length < 2 ) {
        alert("Preencha o campo SENHA!");
        formulario.senha.focus();
    }	
	
	else if ( formulario.senha.value.length != formulario.c_senha.value.length ) {
        alert("As SENHAS digitadas são diferentes!");
		formulario.empresa.value='';
		formulario.c_empresa.value='';
        formulario.senha.focus();
    }
	
    else {
		
		verifica_captcha(formulario.captcha.value,formulario);
        
    }
  }


function validaemail(email) {
  var objRegExp  = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/i;
  return objRegExp.test(email);
}

function getSelectedButton(buttonGroup){
    for (var i = 0; i < buttonGroup.length; i++) {
        if (buttonGroup[i].checked) {
            return true;
        }
    }
    return false;
}

function troca_imagem(){
	
	document.getElementById('captcha').src='http://nortus.com.br/captcha.php?'+Math.random();
    document.getElementById('captcha-form').focus();
	
	}
	
	
function ajaxInit() {
    var req;
    
    try {
 req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
 try {
     req = new ActiveXObject("Msxml2.XMLHTTP");
 } catch(ex) {
     try {
   req = new XMLHttpRequest();
     } catch(exc) {
   alert("Esse browser não tem recursos para uso do Ajax");
   req = null;
     }
 }
    }
    
    return req;
}


//
function verifica_captcha(valor,formulario){

	en = ajaxInit();
	en.open("GET", "http://nortus.com.br/captcha_verifica.php?captcha="+valor);
	
	if (en) {
   en.onreadystatechange = function() {
   
      if (en.readyState == 4 && en.status == 200) {
        
				textoem=en.responseText
				
				//texto=texto.replace(//g," ")
				textoem=unescape(textoem);
				
				if(textoem=="ok"){
				formulario.submit();
				
				}else{
				document.getElementById('captcha_erro').style.display='block';
				troca_imagem()
				}
				
				
			}

   }
		
 en.send(null);
	 
		
 }
	//return true;

}

function MascaraCNPJ(cnpj){
        if(mascaraInteiro(cnpj)==false){
                event.returnValue = false;
        }       
        return formataCampo(cnpj, '00.000.000/0000-00', event);
}

//adiciona mascara de cep
function MascaraCep(cep){
                if(mascaraInteiro(cep)==false){
                event.returnValue = false;
        }       
        return formataCampo(cep, '00.000-000', event);
}

//adiciona mascara de data
function MascaraData(data,evento){
           
        return formataCampo(data, '00/00/0000', evento);
}

//adiciona mascara ao telefone
function MascaraTelefone(tel){  
        if(mascaraInteiro(tel)==false){
                event.returnValue = false;
        }       
        return formataCampo(tel, '(00) 0000-0000', event);
}

//adiciona mascara ao CPF
function MascaraCPF(cpf){
        if(mascaraInteiro(cpf)==false){
                event.returnValue = false;
        }       
        return formataCampo(cpf, '000.000.000-00', event);
}

//valida telefone
function ValidaTelefone(tel){
        exp = /\(\d{2}\)\ \d{4}\-\d{4}/
        if(!exp.test(tel.value))
                alert('Numero de Telefone Invalido!');
}

//valida CEP
function ValidaCep(cep){
        exp = /\d{2}\.\d{3}\-\d{3}/
        if(!exp.test(cep.value))
                alert('Numero de Cep Invalido!');               
}

//valida data
function ValidaData(data){
        exp = /\d{2}\/\d{2}\/\d{4}/
        if(!exp.test(data.value))
                alert('Data Invalida!');                        
}

//valida o CPF digitado
function ValidarCPF(Objcpf){
        var cpf = Objcpf.value;
        exp = /\.|\-/g
        cpf = cpf.toString().replace( exp, "" ); 
        var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
        var soma1=0, soma2=0;
        var vlr =11;
        
        for(i=0;i<9;i++){
                soma1+=eval(cpf.charAt(i)*(vlr-1));
                soma2+=eval(cpf.charAt(i)*vlr);
                vlr--;
        }       
        soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
        soma2=(((soma2+(2*soma1))*10)%11);
        
        var digitoGerado=(soma1*10)+soma2;
        if(digitoGerado!=digitoDigitado)        
                alert('CPF Invalido!');         
}

//valida numero inteiro com mascara
function mascaraInteiro(evento){
        if (evento.keyCode < 48 || evento.keyCode > 57){
                evento.returnValue = false;
                return false;
        }
        return true;
}

//valida o CNPJ digitado
function ValidarCNPJ(ObjCnpj){
        var cnpj = ObjCnpj.value;
        var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
        var dig1= new Number;
        var dig2= new Number;
        
        exp = /\.|\-|\//g
        cnpj = cnpj.toString().replace( exp, "" ); 
        var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));
                
        for(i = 0; i<valida.length; i++){
                dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);  
                dig2 += cnpj.charAt(i)*valida[i];       
        }
        dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
        dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));
        
        if(((dig1*10)+dig2) != digito)  
                alert('CNPJ Invalido!');
                
}

//formata de forma generica os campos
function formataCampo(campo, Mascara, evento) { 
        var boleanoMascara; 
        
        var Digitato = evento.keyCode;
        exp = /\-|\.|\/|\(|\)| /g
        campoSoNumeros = campo.value.toString().replace( exp, "" ); 
   
        var posicaoCampo = 0;    
        var NovoValorCampo="";
        var TamanhoMascara = campoSoNumeros.length;; 
        
        if (Digitato != 8) { // backspace 
                for(i=0; i<= TamanhoMascara; i++) { 
                        boleanoMascara  = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
                                                                || (Mascara.charAt(i) == "/")) 
                        boleanoMascara  = boleanoMascara || ((Mascara.charAt(i) == "(") 
                                                                || (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " ")) 
                        if (boleanoMascara) { 
                                NovoValorCampo += Mascara.charAt(i); 
                                  TamanhoMascara++;
                        }else { 
                                NovoValorCampo += campoSoNumeros.charAt(posicaoCampo); 
                                posicaoCampo++; 
                          }              
                  }      
                campo.value = NovoValorCampo;
                  return true; 
        }else { 
                return true; 
        }
}
