vm7.cadastro = {
    setup: function() {
        $('.pessoa-juridica').hide();
        vm7.cadastro.changeType($('#UsuarioIdTipoPessoa').val());
        $('#UsuarioIdTipoPessoa').bind('change', function() {
            vm7.cadastro.changeType($(this).val());
        });
        var url = 'parceiros/busca_cidade/';
        $('#UsuarioIdEstado').bind('change', function() {
            vm7.cadastro.carregaValores($('#UsuarioIdCidade'), url, $(this).val(), $('#UsuarioIdCidade').val());
        });
        $('#UsuarioDcCep').mask('99999-999');
        
        vm7.cadastro.changeType($('#UsuarioIdTipoPessoa').val());
    },
    carregaValores: function(objeto, url, id, defValue) {
        objeto.attr('disabled', 'disabled');
        objeto.html('<option value="">Carregando...</option>');
        $.getJSON(getBaseURL + url + id, function(retorno) {
            var itens = '<option value="0">Selecione...</option>';
            if(retorno) {
                for (i in retorno) {
                    itens += '<option value="' + i + '">' + retorno[i] + '</option>';
                }
                objeto.html(itens);
                if (defValue == 'undefined' || defValue == null) {
                    objeto.val(0);
                } else {
                    objeto.val(defValue);
                }
                objeto.removeAttr('disabled');
            }
        });
    },
    load: function(idUsuarioEstado, idUsuarioCidade, idRevendedorEstado, idRevendedorCidade) {
        var url = 'parceiros/busca_cidade/';
        vm7.cadastro.carregaValores($('#UsuarioIdCidade'), url, idUsuarioEstado, idUsuarioCidade);
    },
    changeType: function(type) {
        if (type == 'F') {
            $('#UsuarioNrCpfCnpj').parent().children('strong').text('CPF:');
            $('#UsuarioDcNmRazaoSocial').parent().children('strong').text('Nome:');
            $('.pessoa-juridica').hide();
            $('.pessoa-juridica').children('label').children().val('');
            $('#FormCadastro').unbind('submit');
            vm7.cadastro.fisica.validation();
        } else if(type == 'J') {
            $('#UsuarioNrCpfCnpj').parent().children('strong').text('CNPJ:');
            $('#UsuarioDcNmRazaoSocial').parent().children('strong').text('Razão Social:');
            $('.pessoa-juridica').show();
            $('#FormCadastro').unbind('submit');
            vm7.cadastro.juridica.validation();
        } else {
            vm7.cadastro.juridica.validation();
        }
    }
};
vm7.cadastro.juridica = {
    validador: {},
    validation: function() {
        this.validador = $('form#FormCadastro').validate({
            UsuarioIdTipoPessoa: ['required'],
            UsuarioNrCpfCnpj: ['required', ['cnpj']],
            UsuarioDcNmRazaoSocial: ['required', ['minLength', 3], ['maxLength', 70]],
            UsuarioDcEmpresa: ['required', ['minLength', 3], ['maxLength', 70]],
            UsuarioNmContato: ['required'],
            UsuarioDcEmail: ['required', ['email']],
            UsuarioNrFoneComercial: ['required', ['phone']],
            UsuarioNrFoneCelular: ['required', ['phone']],
            UsuarioDcEndereco: ['required', ['minLength', 3], ['maxLength', 70]],
            UsuarioNrNumero: ['required'],
            UsuarioDcCep: ['required', ['cep']],
            UsuarioDcBairro: ['required', ['minLength', 3], ['maxLength', 60]],
            UsuarioIdEstado: ['required'],
            UsuarioIdCidade: ['required'],
            UsuarioDcSenhaInicial: ['required', ['minLength', 3], ['maxLength', 8]],
            UsuarioDcSenhaConfirmada: ['required', ['minLength', 3], ['maxLength', 8]]
        });
    }
};

vm7.cadastro.fisica = {
    validador: {},
    validation: function() {
        this.validador = $('form#FormCadastro').validate({
            UsuarioIdTipoPessoa: ['required'],
            UsuarioNrCpfCnpj: ['required', ['cpf']],
            UsuarioDcNmRazaoSocial: ['required', ['minLength', 3], ['maxLength', 70]],
            UsuarioDcEmail: ['required', ['email']],
            UsuarioNrFoneComercial: ['required', ['phone']],
            UsuarioNrFoneCelular: ['required', ['phone']],
            UsuarioDcEndereco: ['required', ['minLength', 3], ['maxLength', 70]],
            UsuarioNrNumero: ['required'],
            UsuarioDcCep: ['required', ['cep']],
            UsuarioDcBairro: ['required', ['minLength', 3], ['maxLength', 60]],
            UsuarioIdEstado: ['required'],
            UsuarioIdCidade: ['required'],
            UsuarioDcSenhaInicial: ['required', ['minLength', 3], ['maxLength', 8]],
            UsuarioDcSenhaConfirmada: ['required', ['minLength', 3], ['maxLength', 8]]
        });
    }
};
