function CtrItensVeiculos() {

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

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

	this.pesquisaItensVeiculos = function() {
		var ctrPesquisaSimples = aplicativo.getControlador("CtrPesquisaSimples");
		ctrPesquisaSimples.setDepto("DeptoVeiculos()");
		ctrPesquisaSimples.setPesquisa("ItemManutencao");
		ctrPesquisaSimples.setControladorRequisitante("CtrItensVeiculos");
		ctrPesquisaSimples.abrirJanela();		
	}
	
	this.pesquisaTipoItem = function() {
		var ctrPesquisaSimples = aplicativo.getControlador("CtrPesquisaSimples");
		ctrPesquisaSimples.setDepto("DeptoVeiculos()");
		ctrPesquisaSimples.setPesquisa("TipoVencimento");
		ctrPesquisaSimples.setControladorRequisitante("CtrItensVeiculos");
		ctrPesquisaSimples.abrirJanela();
	}
	
	this.retornoPesquisas = function(codigo, descricao, pesquisa) {
		if (pesquisa == "ItemManutencao") {
			var entItemManutencao = new EntItemManutencao();
			entItemManutencao.setCodigo(codigo);
			new DeptoVeiculos().busca(entItemManutencao, this.retornoBuscaItemManutencao);	
		}
		else if (pesquisa == "TipoVencimento") {
			autoReferencia.getLimite().setCampoCodigoTipoItem(codigo);
			autoReferencia.getLimite().setCampoTipoItem(descricao);		
		}	
		else {
			this.getLimite().mostrarMensagem("alerta", PESQUISA_NAO_RECONHECIDA);
		}
	}
	
	this.retornoBuscaItemManutencao = function(resposta) {
		var	limite = autoReferencia.getLimite()
		
		if (autoReferencia.trataRespostaServidor(resposta.codErro, resposta.mensagem, false)) {
			if (resposta.dados != undefined) {
				autoReferencia.mostraDadosItemManutencao(resposta.dados[0]);
			}
			else {
				//limite.limpaColaborador();
			}
		}
	}
	
	this.mostraDadosItemManutencao = function(resposta) {
		var limite = this.getLimite();
		
		limite.setCampoCodigoItemVeiculo(resposta.codigo);
		limite.setCampoDescricao(resposta.descricao);
		limite.setCampoCodigoTipoItem(resposta.tipoVencimento.codigo);
		limite.setCampoTipoItem(resposta.tipoVencimento.descricao);
		limite.setRadioSituacao(resposta.ativo);
	}
	
	this.buscaRapidaTipoItem = function(campoAtual, proximoCampo) {
		var departamento = "DeptoVeiculos()";
		var pesquisa = "TipoVencimento";
		var requisitante = "CtrItensVeiculos";
		
		this.buscaRapida(campoAtual, proximoCampo, departamento,pesquisa ,requisitante);
	}
	
	this.buscaTipoItem = function(codigo) {
		var entTipoVencimento = new EntTipoVencimento();
		var deptoVeiculos = new DeptoVeiculos(); 
		
		entTipoVencimento.setCodigo(codigo);
		deptoVeiculos.busca(entTipoVencimento, this.retornoTipoItem);
		 
	}
	
	this.retornoTipoItem = function(resposta) {
		if (autoReferencia.trataRespostaServidor(resposta.codErro, resposta.mensagem, false)) {
			if (resposta.dados[0] != "") {
				autoReferencia.getLimite().setCampoCodigoTipoItem(resposta.dados[0].codigo);
				autoReferencia.getLimite().setCampoTipoItem(resposta.dados[0].descricao);
			}  
		}
	}
	
	this.montaEntItemManutencao = function() {
		var entItemManutencao = new EntItemManutencao();
		var limite = this.getLimite();
		var num = new Numero(); 
		 
		entItemManutencao.setAtivo(limite.getRadioSituacao());
		entItemManutencao.setCodigo(limite.getCampoCodigoItemVeiculo());
		entItemManutencao.setDescricao(limite.getCampoDescricao());

		var entTipoVencimento = new EntTipoVencimento();

		entTipoVencimento.setCodigo(limite.getCampoCodigoTipoItem());
		entTipoVencimento.setDescricao(limite.getCampoTipoItem());
		
		entItemManutencao.setTipoVencimento(entTipoVencimento);
			
		return entItemManutencao;
	}
	
	
	this.salvaItemVeiculo = function() {
		var entItemManutencao = this.montaEntItemManutencao();
		new DeptoVeiculos().cadastra(entItemManutencao, this.retornoCadastro); 
		
	}
	
	
	this.retornoCadastro = function(resposta) {
		if (autoReferencia.trataRespostaServidor(resposta.codErro, resposta.mensagem, true)) {
			if (resposta.dados[0] != "") {
				autoReferencia.getLimite().limpaHtml();
			}  
		}
	}
	
	this.altera = function(codigo) {
		var entItemManutencao = this.montaEntItemManutencao();
		entItemManutencao.setCodigo(codigo);

		new DeptoVeiculos().altera(entItemManutencao, this.retornoCadastro);
	}
		
}
CtrItensVeiculos.prototype = new Controlador;