marcela.cliente = {
	validador: {},
	qualForm: null,

	preparaValidacao: function(form) {
		marcela.cliente.qualForm = form;
		
		if (form == 'cadastro') {
			this.validador = $('#FormCadastro').jForm({
				ClienteCadastroCnpj: $('#ClienteCadastroCnpj').jField({ name: 'CNPJ', empty: 'no', type: 'cnpj' })
			});
		} else {
			this.validador = $('#FormCadastro').jForm({
				ClienteCnpj:				$('#ClienteCnpj').jField({ name: 'CNPJ', empty: 'no', type: 'cnpj' }),
				ClienteInscricaoEstadual:	$('#ClienteInscricaoEstadual').jField({ name: 'Inscrição Estadual', empty: 'yes' }),
				ClienteRazaoSocial:			$('#ClienteRazaoSocial').jField({ name: 'Razão Social', empty: 'no', minLength: 5 }),
				ClienteFantasia:			$('#ClienteFantasia').jField({ name: 'Nome Fantasia', empty: 'yes' }),
				ClienteNome:				$('#ClienteNome').jField({ name: 'Nome Completo', empty: 'no', minLength: 5 }),
				ClienteEmail:				$('#ClienteEmail').jField({ name: 'E-mail', type: 'email', empty: 'no' }),
				ClienteEmailConfirma:		$('#ClienteEmailConfirma').jField({ name: 'Confirmação de E-mail', type: 'email_confirmation', empty: 'no' }),
				ClienteTelefone:			$('#ClienteTelefone').jField({ name: 'Telefone', type: 'tel', empty: 'no' }),
				ClienteNascimento:			$('#ClienteNascimento').jField({ name: 'Data de Nascimento', type: 'date', empty: 'no' }),
				ClienteSenha:				$('#ClienteSenha').jField({ name: 'Senha', type: 'password', empty: 'no', minLength: 6 }),
				ClienteSenhaConfirma:		$('#ClienteSenhaConfirma').jField({ name: 'Confirmação de Senha', type: 'password_confirmation', empty: 'no', minLength: 6 }),
				ClienteCep:					$('#ClienteCep').jField({ name: 'CEP', type: 'cep', empty: 'no' }),
				ClienteLogradouro:			$('#ClienteLogradouro').jField({ name: 'Logradouro', empty: 'no' }),
				ClienteNumero:				$('#ClienteNumero').jField({ name: 'Número', type: 'int', empty: 'yes' }),
				ClienteBairro:				$('#ClienteBairro').jField({ name: 'Bairro', empty: 'yes' }),
				ClienteComplemento:			$('#ClienteComplemento').jField({ name: 'Complemento', empty: 'yes' }),
				ClienteCidade:				$('#ClienteCidade').jField({ name: 'Cidade', empty: 'no' }),
				ClienteUf:					$('#ClienteUf').jField({ name: 'UF', empty: 'no' })
			}, 'msgErro', false);
	
			$('#ClienteNascimento').unmask();
			$('#ClienteNascimento').mask('99/99/9999');
		}
	},

	buscaCEP: function() {
		idk.loading.toggle();
		$.get(baseURL + 'clientes/busca_cep/' + $('#ClienteCep').val(), function(data) {
			eval(data);

			if (resultadoCEP != false) {
				$('#ClienteLogradouro').val(resultadoCEP['tipo_logradouro'] + ' ' + resultadoCEP['logradouro']);
				$('#ClienteComplemento').val(resultadoCEP['complemento']);
				$('#ClienteBairro').val(resultadoCEP['bairro']);
				$('#ClienteCidade').val(resultadoCEP['cidade']);
				$('#ClienteUf').val(resultadoCEP['uf']);
			}
			$('#buscaCEP').show();
			idk.loading.toggle();
		});
	},

	salvaDados: function() {
		if (marcela.cliente.qualForm != 'cadastro' && !$('#buscaCEP').is(':visible')) {
			jFormError($('#ClienteCep'), 'É obrigatório clicar em Buscar Endereço para finalizar o cadastro.');
			return false;
		} else {
			return jQuery.jForm.checkFields( this.validador );
		}
	}
};

marcela.cliente.login = {
	validador: [],

	preparaValidacao: function() {
		this.validador['login'] = $('#FormLogar').jForm({
			ClienteLoginEmail:	$('#ClienteLoginEmail').jField({ name: 'E-mail', type: 'email', empty: 'no' }),
			ClienteLoginSenha:	$('#ClienteLoginSenha').jField({ name: 'Senha', empty: 'no', minLength: 6 })
		}, 'msgErro', false);

		this.validador['esqueci'] = $('#FormEsqueci').jForm({
			ClienteEsqueciEmail:	$('#ClienteEsqueciEmail').jField({ name: 'E-mail', type: 'email', empty: 'no' })
		}, 'msgErro', false);

		this.validador['cadastrar'] = $('#FormCadastrar').jForm({
			ClienteCadastroCnpj:	$('#ClienteCadastroCnpj').jField({ name: 'CNPJ', empty: 'no', type: 'cnpj' }),
			ClienteCadastroEmail:	$('#ClienteCadastroEmail').jField({ name: 'E-mail', type: 'email', empty: 'no' })
		}, 'msgErro', false);
	},

	valida: function(tipo) {
		return jQuery.jForm.checkFields( this.validador[tipo] );
	}
};