var DADOS_SITE="3";
var DADOS_PESSOAIS="1";
var DADOS_PAGAMENTO="2";
var DADOS_ACESSO="4";

//avanca para o campo seguinte
function avancaCampo(campo1,campo2,tamanho){
    if (campo1.value.length == tamanho)
        campo2.focus();
}

var bCancel = false;
function validateForm(form) {
    //caso foi solicitado ignorar a validação
    if (bCancel){
       bCancel = false;
       return true;
    } 
    var msg = varCadastro[0];
    var pais = form.local_vd.value;
    var pagina = form.pagina.value;
    
    if(pagina==DADOS_SITE){
        
        //verifica se há algum campo não preenchido
        if (trim(form.site.value) == ""){
            alert (msg);
            form.nome.focus();
            return false;
        }
        if (trim(form.site.value) == "http://" || trim(form.site.value) == ""){
            alert (msg);
            form.site.focus();
            return false;
        }
        if (form.categoria.value == "0"){
            alert (msg);
            form.categoria.focus();
            return false;
        }
        if (trim(form.descricao.value) == ""){
            alert (msg);
            form.descricao.focus();
            return false;
        }
    }
    if(pagina==DADOS_PESSOAIS){
        if (trim(form.contato.value) == ""){
            alert (msg);
            form.contato.focus();
            return false;
        }
        if (trim(form.captcha.value) == ""){
             alert (msg);
            form.captcha.focus();
            return false;
        }
        if (trim(form.email.value) == ""){
            alert (msg);
            form.email.focus();
            return false;
        }
        if (form.email.value != form.email2.value){
            alert (varCadastro[13]);
            form.email.focus();
            return false;
        }
        if (trim(form.dddtel.value) == ""){
            alert (msg);
            form.dddtel.focus();
            return false;
        }
        if (!isAllDigits(form.dddtel.value)){
            alert (varCadastro[14]);
            form.dddtel.focus();
            return false;
        }
        if (trim(form.fone.value) == ""){
            alert (msg);
            form.fone.focus();
            return false;
        }
        if (!isAllDigits(form.fone.value)){
            alert (varCadastro[15]);
            form.fone.focus();
            return false;
        }
        if (!isAllDigits(form.dddfax.value)){
            alert (varCadastro[16]);
            form.dddfax.focus();
            return false;
        }
        if (!isAllDigits(form.fax.value)){
            alert (varCadastro[17]);
            form.fax.focus();
            return false;
        }
        if (form.fax.value!="" && form.dddfax.value==""){
            alert (varCadastro[18]);
            form.dddfax.focus();
            return false;
        }
        if (form.dddfax.value!="" && form.fax.value==""){
            alert (varCadastro[19]);
            form.fax.focus();
            return false;
        }
        
        
    }
    if(pagina==DADOS_PAGAMENTO){
    	if(form.organizacao.value==""){
    		alert(msg);
            form.organizacao.focus();
            return false;
    	}
    	var pessoa = form.x021.value;
    	if(pessoa=="0"){
    		alert(msg);
            form.x021.focus();
            return false;
    	}
    	if (trim(form.x012.value) == ""){
                alert (msg);
                form.x012.focus();
                return false;
        }
        if(pais=="MX"){// || pais=="CO"){//Homologação CO
            //valida RFC TODO usar script para validação de RFC
            if ((form.x022_1.value == "") || (form.x022_1.value == "0")) {
                alert(varCadastro[28]);
                form.x022_1.focus();
                return false;
            }
        }
        if(pais=="CL"){
        	 //valida RUT do titular
             if ((form.x022_1.value.length < 1) || (form.x022_2.value.length < 3) || (form.x022_3.value.length < 3) ||
                     (form.x022_4.value == "") || ((form.x022_1.value == 0) &&
                     (form.x022_2.value == 0) && (form.x022_3.value == 0))) {
                 alert(varCadastro[31]);
                 form.x022_1.focus();
                 return false;
             }
             if ((!isAllDigits(form.x022_1.value)) || (!isAllDigits(form.x022_2.value)) ||
                     (!isAllDigits(form.x022_3.value)) || (!isAllDigits(form.x022_4.value)) && form.x022_4.value != 'k') {                
               	 alert(varCadastro[31]);
                 form.x022_1.focus();
                 return false;
             }
             // retirado de http://www.dcc.uchile.cl/~mortega/microcodigos/validarrut/javascript.html
        	 var M=0,S=1, T = form.x022_1.value + form.x022_2.value + form.x022_3.value;
        	 for(;T;T=Math.floor(T/10)){
    		 	S=(S+T%10*(9-M++%6))%11;
    		 }
    		 S = S?S-1:'k';
    		 if (form.x022_4.value != S){
    		 	alert(varCadastro[31]);
                form.x022_1.focus();
                return false;
    		 }
        }
        if (trim(form.x004.value) == ""){
            alert (msg);
            form.x004.focus();
            return false;
        }
        if (trim(form.x005.value) == ""){
            alert (msg);
            form.x005.focus();
            return false;
        }
        if (trim(form.x006.value) == ""){
            alert (msg);
            form.x006.focus();
            return false;
        }
        if (trim(form.x007.value) == ""){
            alert (msg);
            form.x007.focus();
            return false;
        }
        if ((pais=="BR" || pais=="AR" || pais=="MX" || pais=="PE") &&
        	trim(form.x008.value) == ""){
            alert (msg);
            form.x008.focus();
            return false;
        }
      if(pais=="AR"){
            //valida CUIT do titular TODO usar script para validação de CUIT
//          if ((form.x022_1.value == "") || (form.x022_2.value == "") || (form.x022_3.value == "") ||
//                  ((form.x022_1.value == "0") && (form.x022_2.value == "0") && (form.x022_3.value == "0"))||
//                      (validaCuit(""+form.x022_1.value+""+form.x022_2.value+""+form.x022_3.value)==false)) {
//              alert(varCadastro[6]);
//              form.x022_1.focus();
//              return false;
//          }
          if ((!isAllDigits(form.x022_1.value)) || (!isAllDigits(form.x022_2.value)) ||
                  (!isAllDigits(form.x022_3.value))) {
              alert (varCadastro[7]);
              form.x022_1.focus();
              return false;
          }
      }
        if (pessoa == "2"){
        	if(pais=="MX"){// || pais=="CO"){//Homologação CO
            	//valida RFC TODO usar script para validação de RFC
            	if (form.x022_1.value.length!=12) {
                	alert(varCadastro[28]);
                	form.x022_1.focus();
                	return false;
            	}
        	}
        	if(pais=="PE"){// || pais=="CO"){//Homologação CO
            	//valida RUC
            	if (form.x022_1.value.length!=11) {
                	alert(varCadastro[32]);
                	form.x022_1.focus();
                	return false;
            	}
        	}
        	if(pais=="CO"){
            	//valida NIT
            	if (form.x022_1.value == "") {
                	alert(varCadastro[34]);
                	form.x022_1.focus();
                	return false;
            	}
            	//valida Nombre Comercial
            	if (form.x031.value == "") {
                	alert(msg);
                	form.x031.focus();
                	return false;
            	}
            	//valida Cargo del Contato
            	if (form.x032.value == "") {
                	alert(msg);
                	form.x032.focus();
                	return false;
            	}
        	}
            if(pais=="BR"){
                //valida CNPJ do titular TODO usar script para validação de CNPJ
                if ((form.x022_1.value == "") || (form.x022_2.value == "") || (form.x022_3.value == "") ||
                        (form.x022_4.value == "") || (form.x022_5.value == "") ||
                        ((form.x022_1.value == "0") && (form.x022_2.value == "0") && (form.x022_3.value == "0") &&
                        (form.x022_4.value == "0") && (form.x022_5.value == "0"))||
                        (validar(""+form.x022_1.value+""+form.x022_2.value+""+form.x022_3.value+""+form.x022_4.value+""+form.x022_5.value)==false)) {
                    alert(varCadastro[6]);
                    form.x022_1.focus();
                    return false;
                }
                if ((!isAllDigits(form.x022_1.value)) || (!isAllDigits(form.x022_2.value)) ||
                        (!isAllDigits(form.x022_3.value)) || (!isAllDigits(form.x022_4.value)) ||
                        (!isAllDigits(form.x022_5.value))) {
                    alert (varCadastro[7]);
                    form.x022_1.focus();
                    return false;
                }
            }
        }else if (pessoa == "1"){
        	if (trim(form.x013.value) == ""){
                alert (msg);
                form.x013.focus();
                return false;
            }
            if (form.x014.value == "0"){
                alert (msg);
                form.x014.focus();
                return false;
            }
            if (trim(form.x015.value) == ""){
                alert (msg);
                form.x015.focus();
                return false;
            }
        	var	nasc = trim(form.nasc.value);
            var nascOk=true;
            if (nasc.length!=10 && nasc!=""){
                nascOk=false;
            }else if(nasc!=""){
                if(!isAllDigits(nasc.substring(0,2))) nascOk=false;
                if(nasc.substring(2,3)!="/") nascOk=false;
                if(!isAllDigits(nasc.substring(3,5))) nascOk=false;
                if(nasc.substring(2,3)!="/") nascOk=false;
                if(!isAllDigits(nasc.substring(6))) nascOk=false;
            }
            //alert(comparaDatas(nasc,'01/01/1900'));
            if(comparaDatas(nasc,'01/01/1900')>1){
                nascOk=false;
            }
            if (!nascOk){
                alert (varCadastro[12]);
                form.nasc.focus();
                return false;
            }
            if(pais=="MX"){// || pais=="CO"){//Homologação CO
            	//valida RFC TODO usar script para validação de RFC
            	if (form.x022_1.value.length!=13) {
                	alert(varCadastro[28]);
                	form.x022_1.focus();
                	return false;
            	}
        	}
        	if(pais=="AR"){
                //valida o DNI
                if ((form.x016.value == "") || (form.x016.value == 0)) {
                    alert (varCadastro[10]);
                    form.x016.focus();
                    return false;
                }
                //if (!isAllDigits(form.x016.value)) {                
                //    alert (varCadastro[10]);
                //    form.x016.focus();
                //    return false;
                //}
            }
            if(pais=="PE"){
            	//valida RUS
            	if (form.x023_1.value.length!=11){
            	    alert(varCadastro[33]);
                    form.x023_1.focus();
                    return false;
                }
                //valida o DNI
                if ((form.x016.value == "") || (form.x016.value == 0)) {
                    alert (varCadastro[10]);
                    form.x016.focus();
                    return false;
                }
            }
            if(pais=="CO"){
            	//valida Documento
            	if (form.x016.value == ""){
            	    alert(msg);
                    form.x016.focus();
                    return false;
                }
                //valida o Tipo de Documento
                if (form.x030.value == 0) {
                    alert (msg);
                    form.x030.focus();
                    return false;
                }
            }
            if(pais=="BR"){
                //valida CPF do titular TODO usar script para validação de CPF
                if ((form.x023_1.value == "") || (form.x023_2.value == "") || (form.x023_3.value == "") ||
                        (form.x023_4.value == "") || ((form.x023_1.value == 0) &&
                        (form.x023_2.value == 0) && (form.x023_3.value == 0) && (form.x023_4.value == 0)) ||
                        (validar(""+form.x023_1.value+""+form.x023_2.value+""+form.x023_3.value+""+form.x023_4.value)==false)) {
                    alert(varCadastro[8]);
                    form.x023_1.focus();
                    return false;
                }
                if ((!isAllDigits(form.x023_1.value)) || (!isAllDigits(form.x023_2.value)) ||
                        (!isAllDigits(form.x023_3.value)) || (!isAllDigits(form.x023_4.value))) {                
                    alert (varCadastro[9]);
                    form.x023_1.focus();
                    return false;
                }
                //valida RG
                var rg = trim(form.x016.value);
                if (rg==""){
                    alert (msg);
                    form.x016.focus();
                    return false;
                }
                var rg_numero=rg.substring(0,rg.length-1);
                var rg_verificador=rg.substring(rg.length-1).toLowerCase();
                if(rg_numero=="" || !isAllDigits(rg_numero) || (!isAllDigits(rg_verificador) && rg_verificador!='x')){
                    alert (varCadastro[10]);
                    form.x016.focus();
                    return false;
                }
                if(form.x017.value=="na"){
                    alert (varCadastro[11]);
                    form.x017.focus();
                    return false;
                }
                
            }
        }else{
            alert (msg);
            form.x021.focus();
            return false;
        }
        var pagto = "";
        if(pais=="BR"){
            if (form.x009.value == 0){
                alert (msg);
                form.x009.focus();
                return false;
            }
           /* if (trim(form.x010.value) == ""){
                alert (msg);
                form.x010.focus();
                return false;
            }*/
            if (trim(form.x024.value) == ""){
                alert (msg);
                form.x024.focus();
                return false;
            }
            /*if (trim(form.x025.value) == ""){
                alert (msg);
                form.x026.focus();
                return false;
            }*/
            if (trim(form.x026.value) == ""){
                alert (msg);
                form.x026.focus();
                return false;
            }
            
			//
			// Alteração feita para controlar a disponibilidade do campo
			//   Operação
		   	//
		   	// SM - Criação de campo OPERAÇÃO nas interfaces de afiliados
		   	// Ana Gerth - 10/10/2007
		   	//            
            if (trim(form.x028.value) == "" && trim(form.x009.value) == 71) {
                alert (msg);
                form.x028.focus();
                return false;
            }

            if (trim(form.x028.value).length < 3 && trim(form.x009.value) == 71) {
                alert (varCadastro[27]);
                form.x028.focus();
                return false;
            }
            
            if (!isNumeric(form.x028)) {
                alert (varCadastro[28]);
                form.x028.focus();
                return false;            
            }
            //
                        
            /*if (trim(form.x027.value) == ""){
                alert (msg);
                form.x027.focus();
                return false;
            }*/
            if (form.x020.value == 0){
                alert (msg);
                form.x020.focus();
                return false;
            }
        }
        if(pais=="AR"){
            pagto = form.x018.value;
            
            if(pagto=="1"){
                if (form.x009.value == 0){
                    alert (msg);
                    form.x009.focus();
                    return false;
                }
                //CBU
                if (trim(form.x019.value) == ""){
                    alert (msg);
                    form.x019.focus();
                    return false;
                }else if(!isAllDigits(form.x019.value)){
                    alert (varCadastro[25]);
                    form.x019.focus();
                    return false;
                }else if(form.x019.value.length!=22){
                    alert (varCadastro[26]);
                    form.x019.focus();
                    return false;
                }else if(!validaCbu(""+form.x019.value)){
                    alert (varCadastro[27]);
                    form.x019.focus();
                    return false;
                }
                if (trim(form.x011_1.value) == "" || (form.x011_1.value.length) < 10){
                    alert (msg);
                    form.x011_1.focus();
                    return false;
                }
                
            }else if(pagto=="2"){
                //nenhuma ação é necessária
            }else{
                alert (msg);
                form.x018.focus();
                return false;
            }

        }
        if(pais=="MX"){
            pagto = form.x018.value;
            
            if(pagto=="1"){
                if (form.x009.value == 0){
                    alert (msg);
                    form.x009.focus();
                    return false;
                }
                //CLABE
                if (trim(form.x019.value) == ""){
                    alert (msg);
                    form.x019.focus();
                    return false;
                }else if(!isAllDigits(form.x019.value)){
                    alert (varCadastro[29]);
                    form.x019.focus();
                    return false;
                }else if(form.x019.value.length!=18){
                    alert (varCadastro[30]);
                    form.x019.focus();
                    return false;
                }
                if (trim(form.x011.value) == ""){
                    alert (msg);
                    form.x011.focus();
                    return false;
                }
                if (!isAllDigits(form.x010.value)){
                    alert (msg);
                    form.x010.focus();
                    return false;
                }
                
            }else if(pagto=="2"){
                //nenhuma ação é necessária
            }else{
                alert (msg);
                form.x018.focus();
                return false;
            }

        }
        
        if(pais=="CO"){

            pagto = form.x018.value;
            
            if(pagto=="1"){

                if (form.x009.value == 0){
                    alert (msg);
                    form.x009.focus();
                    return false;
                }
                if (trim(form.x020.value) == 0){
                    alert (msg);
                    form.x020.focus();
                    return false;
                }
                if (trim(form.x011.value) == ""){
                    alert (msg);
                    form.x011.focus();
                    return false;
                }
                
            }else if(pagto=="2"){
                //nenhuma ação é necessária
            }else{
                alert (msg);
                form.x018.focus();
                return false;
            }

        }
        if(pais=="CL"){
            pagto = form.x018.value;
            
            if(pagto=="1"){
                if (form.x009.value == 0){
                    alert (msg);
                    form.x009.focus();
                    return false;
                }
                if (trim(form.x020.value) == 0){
                    alert (msg);
                    form.x020.focus();
                    return false;
                }
                if (trim(form.x011.value) == ""){
                    alert (msg);
                    form.x011.focus();
                    return false;
                }
                
            }else if(pagto=="2"){
                //nenhuma ação é necessária
            }else{
                alert (msg);
                form.x018.focus();
                return false;
            }

         }
         if(pais=="PE"){
            if (form.x009.value == 0){
                alert (msg);
                form.x009.focus();
                return false;
            }
            if (trim(form.x020.value) == 0){
                alert (msg);
                form.x020.focus();
                return false;
            }
            if (trim(form.x011.value) == ""){
                alert (msg);
                form.x011.focus();
                return false;
            }
        }
    }
    if(pagina==DADOS_ACESSO){
        if (trim(form.login.value) == ""){
            alert (msg);
            form.login.focus();
            return false;
        }
        
//        //testa caracteres especiais no login
//        if (verifica_caracteres(form.login.value) == false) {
//            alert(varCadastro[21]);
//            form.login.focus();
//            return false;
//        }
        
        if (trim(form.senha.value) == ""){
            alert (msg);
            form.senha.focus();
            return false;
        }
        if (trim(form.senha1.value) == ""){
            alert (msg);
            form.senha1.focus();
            return false;
        }
        if (form.senha.value != form.senha1.value) {
            alert(varCadastro[22]);
            form.senha.focus();
            return false;
        }
        
        //testa caracteres especiais na senha
        if (verifica_caracteres(form.senha.value) == false) {
            alert(varCadastro[23]);
            form.senha.focus();
            return false;
        }
    }
    return true;
}

function verifica_caracteres(str_form) {
    var strTexto = str_form;
    var strCaractere;
    var bolValidacao = true;
    for (var iLoop=0; iLoop < strTexto.length; iLoop++) {
        strCaractere = strTexto.substring(iLoop,iLoop+1);
        if ((strCaractere >= 'a' && strCaractere <= 'z')
            || (strCaractere >= '0' && strCaractere <= '9'));
        else {
            bolValidacao = false;
        }
    }
    return bolValidacao;
}
