
var rotina_class = function() {

  this.leuContrato = false;
  this.limiteInferior = 10.00;
  this.limiteInferiorLabel = '10,00';

}


rotina_class.prototype.cadastro = function() {

    var cadastro = input.getValue('cadastro');

    //alert('cadastro() = '+cadastro);

    if(cadastro == 'jahcliente') {

        layer.Hide('divNatureza');
        layer.Hide('divPF');
        layer.Hide('divPJ');
        layer.Hide('divCadastro');
        layer.Hide('divContrato');
        layer.Show('divCodigo');
        layer.Show('divCredito');
        layer.Show('divProximo');
        findObj('codigo').focus();

    }else if(cadastro == 'complemento') {

        layer.Show('divCredito');
        layer.Hide('divContrato');

    }else if(cadastro == 'novo') {

        layer.Hide('divCodigo');
        layer.Show('divNatureza');
        layer.Hide('divPF');
        layer.Hide('divPJ');
        layer.Hide('divCadastro');
        layer.Hide('divCredito');
        layer.Hide('divProximo');
        this.natureza();

    }else{
    
        layer.Hide('divProximo');

    }

}


rotina_class.prototype.natureza = function() {

    var natureza = input.getValue('natureza');

    //alert('natureza() = '+natureza);

    if(natureza == 'pf') {
    
        layer.Show('divPF');
        layer.Hide('divPJ');
        layer.Show('divCadastro');
        layer.Show('divProximo');
        layer.Show('divContrato');
        findObj('nome').focus();
    
    }else if(natureza == 'pj') {
    
        layer.Hide('divPF');
        layer.Show('divPJ');
        layer.Show('divCadastro');
        layer.Show('divProximo');
        layer.Show('divContrato');
        findObj('razao').focus();
    
    }else{
    
        // nada selecionado
    
    }

}


rotina_class.prototype.credito = function() {

    //alert('credito');

    var valor = input.getValue('credito');

    if(valor == 'outro') {

        layer.Show('divCreditoOutro');
        findObj('credito_outro').focus();

    }else{

        layer.Hide('divCreditoOutro');

    }

}

rotina_class.prototype.aceitarContrato = function() {

    if(this.leuContrato == false) {

        alert('- Clique realmente no link para abrir o contrato e lê-lo.');
        return false;
    }

    return true;

}


rotina_class.prototype.validarFormulario = function() {

    try {

        var natureza = input.getValue('natureza');
        var tipoCadastro = input.getValue('cadastro');
        var credito = input.getValue('credito');
        var credito_outro = input.getValue('credito_outro');
        var formaPagamento = input.getValue('formaPagamento');
        var contrato = input.getValue('contrato');

        var erros = new Array();

        if(empty(tipoCadastro)) {

            erros.push('- Informe o tipo de cadastro (novo ou já sou cliente)');

        }else{

            //alert(cadastro);
            
            if(tipoCadastro == 'novo' && empty(natureza)) {

                erros.push('- Informe a natureza do cadastro');
            
            }else{
            
                if(tipoCadastro == 'jahcliente') {

                    var codigo = input.getValue('codigo');

                    if(empty(codigo)) erros.push('- Informe o seu código de cliente ou e-mail cadastrado');

                }else if(tipoCadastro == 'novo') {

                    var razao = input.getValue('razao');
                    var nome = input.getValue('nome');
                    var telefone = input.getValue('telefone');
                    var email = input.getValue('email');
                    var email2 = input.getValue('email2');
                    var cpf = input.getValue('cpf');
                    var cnpj = input.getValue('cnpj');

                    if(natureza == 'pj') {
                        if(empty(razao)) erros.push('- Informe razão social');
                    }else if(natureza == 'pf') {
                        if(empty(nome)) erros.push('- Informe nome');
                    }

                    if(natureza == 'pj') {
                        if(empty(cnpj)) { erros.push('- Informe o CNPJ');
                        }else if(!validaCNPJ(cnpj)) erros.push('- CNPJ inválido');
                    
                    }else if(natureza == 'pf') {
                        if(empty(cpf)) { erros.push('- Informe o CPF');
                        }else if(!validaCPF(cpf)) erros.push('- CPF inválido');
                        
                    }

                    if(empty(telefone)) erros.push('- Informe um telefone de contato');
                    if(empty(email)) erros.push('- Informe o e-mail');
                    else if(!isEmail(email)) erros.push('- Informe um e-mail válido');
                    else if(email && !email2) erros.push('- Confirme o e-mail');
                    else if(email != email2) erros.push('- A confirmação do e-mail não confere');

                }else if(tipoCadastro == 'complemento') {

                    var natureza = input.getValue('natureza');
                    //var cnpf = input.getValue('cnpf');
                    var telefone = input.getValue('telefone');
                    var endereco = input.getValue('endereco');
                    //var complemento = input.getValue('complemento');
                    var bairro = input.getValue('bairro');
                    var cep = input.getValue('cep');
                    var cidade = input.getValue('cidade');
                    var uf = input.getValue('uf');

                    if(empty(telefone)) erros.push('- Informe o telefone');
                    if(empty(endereco)) erros.push('- Informe o endereço');
                    //if(empty(complemento)) erros.push('- Informe o complemento do endereço');
                    if(empty(bairro)) erros.push('- Informe o bairro');
                    if(empty(cep)) { erros.push('- Informe o CEP');
                    }else if(!validaCEP(cep)) erros.push('- CEP Inválido');
                    
                    if(empty(cidade)) erros.push('- Informe a cidade');
                    if(empty(uf)) erros.push('- Informe a UF');

                }

                if(tipoCadastro == 'novo') {

                    if(empty(contrato)) erros.push('- Você precisa indicar que está de acordo com o contrato de serviço');

                }else{

                    if(credito == 'outro') {

                         if(empty(credito_outro)) {

                            erros.push('- Informe o outro valor para o crédito');

                        }else{

                            credito_outro = credito_outro.replace(/\./g,'');
                            credito_outro = credito_outro.replace(',','.');
                            credito_outro = parseFloat(credito_outro);

                            if(isNaN(credito_outro)) {

                                erros.push('- Valor pesonalizado do crédito é inválido. Utilize o formato: 1234,56');

                            }else if(credito_outro < this.limiteInferior) {

                                erros.push('- O valor pesonalizado do crédito não pode ser inferior à R$ '+this.limiteInferiorLabel);

                            }else if(credito_outro > 1000) {

                                erros.push('- O valor pesonalizado do crédito não pode ser superior à R$ 1.000,00');
                            }

                        }

                    }else{
                    
                        credito_outro = credito.replace(/\./g,'');
                        credito_outro = credito_outro.replace(',','.');
                        credito_outro = parseFloat(credito_outro);
                    
                    }
                                       
                    if(empty(formaPagamento)) erros.push('- Escolha a forma de pagamento');
                    
                    //alert('formaPagamento = '+formaPagamento+'\ncredito_outro = '+credito_outro);
                    
                    if(formaPagamento == 'visa' && credito_outro > 50) {
                    
                        erros.push('- Crédito através de cartão de crédito Visa, possui limite de R$ 50,00. Por selecione outro valor.');
                    
                    }

                } // tipoCadastro == 'novo'
            
            } // empty(natureza)
        
        } // empty(tipoCadastro)

        if(erros.length == 0) {

            return true;

        }else{

            alert(erros.join('\n'));
            return  false;

        }

    }catch(e) {

        alert('Erro na validação do formulário.\nErro: '+e.message);
        return false;

    }

}

rotina_class.prototype.enviarFormulario = function() {

    //document.creditarForm.submit();
    findObj('acao').click();

}



var rotina = new rotina_class;



