function DeptoProducao() {

	this.cadastra = function(entidade, metodoDeRetorno) {
		if (entidade instanceof EntMateriaisProducao) {
			DeptoProducaoFacade.materiaisProduto_cadastra(entidade, metodoDeRetorno);
		} 
		else if (entidade instanceof EntRegistroProducao) {
			DeptoProducaoFacade.registroProducao_cadastra(entidade, metodoDeRetorno);
		}
		else {
			alert("ERRO: DeptoProducao (função cadastra): entidade invalida (" + entidade + ")");
		}
	}
	
	this.pesquisa = function(entidade, metodoResposta) {
		switch (entidade.getPesquisa()) {
			case "RegistroProducao":
				DeptoProducaoFacade.registroProducao_pesquisa(entidade, metodoResposta);
				break;
			case "MateriaisProduto":
				DeptoProducaoFacade.materiaisProduto_pesquisa(entidade, metodoResposta);
				break;	
			default:
				alert("ERRO: DeptoVeiculos (funcao pesquisa): string de pesquisa invalida (" + entidade.getPesquisa() + ")");
				break;
		}
	}	

	this.busca = function(entidade, metodoDeRetorno) {
		if (entidade instanceof EntMateriaisProducao) {
			DeptoProducaoFacade.materiaisProduto_busca(entidade, metodoDeRetorno);
		} 
		else if (entidade instanceof EntItemProducao) {
			DeptoProducaoFacade.itemProducao_buscaMateriaisProduto(entidade, metodoDeRetorno);
		}
		else if (entidade instanceof EntRegistroProducao) {
			DeptoProducaoFacade.registroProducao_busca(entidade, metodoDeRetorno);
		}
		else {
			alert("ERRO: DeptoVeiculos (função busca): entidade invalida (" + entidade + ")");
		}
	}
	
	this.altera = function(entidade, metodoDeRetorno) {
		if (entidade instanceof EntMateriaisProducao) {
			DeptoProducaoFacade.materiaisProduto_altera(entidade, metodoDeRetorno);
		} 
		else {
			alert("ERRO: DeptoVeiculos (função altera): entidade invalida (" + entidade + ")");
		}
	}
 
}