function CtrCategoriaVeiculo() {

	var autoReferencia = this;
	this.setAutoReferencia(this);
	
	this.setId("CtrCategoriaVeiculo");

	this.instanciarLimite = function() {
		return new LimCategoriaVeiculo(this);
	}

	this.inicializa = function() {
		
	}
	
	this.altera = function(codigo) {
		var entCategoriaVeiculo = new EntCategoriaVeiculo();
		entCategoriaVeiculo.setCodigo(codigo);
		entCategoriaVeiculo.setAtivo(this.getLimite().getRadioSituacao());
		entCategoriaVeiculo.setDescricao(this.getLimite().getCampoNome());
			
		new DeptoVeiculos().altera(entCategoriaVeiculo, this.retornoCadastro);
	}
	
	this.salva = function() {
		var entCategoriaVeiculo = new EntCategoriaVeiculo();
		entCategoriaVeiculo.setDescricao(this.getLimite().getCampoNome());
		entCategoriaVeiculo.setAtivo(this.getLimite().getRadioSituacao());
		
		new DeptoVeiculos().cadastra(entCategoriaVeiculo, this.retornoCadastro)
	}
	
	this.retornoCadastro = function(resposta) {
		if (autoReferencia.trataRespostaServidor(resposta.codErro, resposta.mensagem, true)) {
			if (resposta.dados[0] != "") {
				autoReferencia.getLimite().limpaHtml();
			}  
		}
	}	
	
	this.pesquisaCategoriaVeiculo = function() {
		var ctrPesquisaSimples = aplicativo.getControlador("CtrPesquisaSimples");
		ctrPesquisaSimples.setDepto("DeptoVeiculos()");
		ctrPesquisaSimples.setPesquisa("CategoriaVeiculo");
		ctrPesquisaSimples.setControladorRequisitante("CtrCategoriaVeiculo");
		ctrPesquisaSimples.abrirJanela();
	}
	
	this.retornoPesquisas = function(codigo, descricao, pesquisa) {
		if (pesquisa == "CategoriaVeiculo") {
			var entCategoriaVeiculo = new EntCategoriaVeiculo();
			entCategoriaVeiculo.setCodigo(codigo);
			new DeptoVeiculos().busca(entCategoriaVeiculo, this.retornoBuscaCategoriaVeiculo);	
			
		} else {
			this.getLimite().mostrarMensagem("alerta", PESQUISA_NAO_RECONHECIDA);
		}
	}
	
	this.retornoBuscaCategoriaVeiculo = function(resposta) {
		var	limite = autoReferencia.getLimite()
		
		if (autoReferencia.trataRespostaServidor(resposta.codErro, resposta.mensagem, false)) {
			if (resposta.dados != undefined) {
				autoReferencia.mostraDadosCategoriaVeiculo(resposta.dados[0]);
			}
			else {
				//limite.limpaCategoriaVeiculo();
			}
		}
	}
	
	this.mostraDadosCategoriaVeiculo = function(resposta) {
		var limite = this.getLimite();
		
		limite.setCampoCodigoCategoriaVeiculo(resposta.codigo);
		limite.setCampoNome(resposta.descricao);
		limite.setRadioSituacao(resposta.ativo);
	}
	
}
CtrCategoriaVeiculo.prototype = new Controlador;