$(document).ready(function() {
	FLUIGC.popover('.bs-docs-popover-hover', { trigger: 'hover', placement: 'top', html: true });

	$(".emitente-search").click(function(e) {

	});

	$(".number").keypress(function(e) {
		if (e.which < 48 || e.which > 57) {
			if (e.which != 8 && e.which != 0) {
				return false;
			}
		}
	});

	$(".number").focusout(function() {
		if ($(this).val().trim() == '') {
			$(this).val('0');
		}
	});

	$(".currency").focusout(function() {
		if ($(this).val().trim() == '') {
			$(this).val('0,00');
		} else {
			if ($(this).val().length <= 2) {
				$(this).val($(this).val() + ',00');
			}
		}
	});

	$(".currency").focus(function() {
		$(this).select();
	});

	$('.currency').mask("#.##0,00", { reverse: true });


	$(':input').focusout(function() {
		if ($(this).attr('required') == 'required' && ($(this).val() == null || $(this).val().trim() == '')) {

			var objParent = null;

			if ($(this).parent().hasClass('form-group')) {
				objParent = $(this).parent();
			} else {
				objParent = $(this).parent().parent();
			}

			objParent.removeClass().addClass('form-group');
			objParent.children('span:first').removeClass();

			objParent.addClass('has-error');
			objParent.addClass('has-feedback');

			objParent.children('span:first').addClass('fluigicon fluigicon-remove form-control-feedback');
		}
		if ($(this).attr('required') == 'required' && $(this).val().trim() != '') {

			var objParent = null;

			if ($(this).parent().hasClass('form-group')) {
				objParent = $(this).parent();
			} else {
				objParent = $(this).parent().parent();
			}

			objParent.removeClass().addClass('form-group');
			objParent.children('span:first').removeClass();

			objParent.addClass('has-success');
			objParent.addClass('has-feedback');

			objParent.children('span:first').addClass('fluigicon fluigicon-verified form-control-feedback');
		}
	});

	FLUIGC.calendar('.date', {
		pickDate: true,
		pickTime: false
	});

	FLUIGC.calendar('.date-of-weekends', {
		pickDate: true,
		pickTime: false,
		daysOfWeekDisabled: [0, 6]
	});

	// Seta a data de hoje para o campo "Emissão"
	FLUIGC.calendar(`#dtEmissao`).setDate(new Date())

	function retornaNome(colleague) {

		var constraint = DatasetFactory.createConstraint("colleaguePK.colleagueId", colleague, colleague, ConstraintType.MUST);
		var constraints = new Array(constraint);

		var colleague = DatasetFactory.getDataset("colleague", null, constraints, null);

		var row = colleague.values[0];

		return row['colleagueName'];
	}

	function formatData(data, format) {

		var monthNames = [
			"Janeiro", "Fevereiro", "Março",
			"Abril", "Maio", "Junho", "Julho",
			"Agosto", "Setembro", "Outubro",
			"Novembro", "Dezembro"
			];


		var dia = data.getDate();
		var mes = data.getMonth();
		var ano = data.getFullYear();
		var hora = data.getHours();
		var minuto = data.getMinutes();
		var segundo = data.getSeconds();

		var parse = '';

		if (format == 1) {
			parse = '00'.substr(0, 2 - dia.toString().length) + dia.toString() + '/' + '00'.substr(0, 2 - (mes + 1).toString().length) + (mes + 1).toString() + '/' + ano;
		} else {
			parse = '00'.substr(0, 2 - dia.toString().length) + dia.toString() + '/' + '00'.substr(0, 2 - (mes + 1).toString().length) + (mes + 1).toString() + '/' + ano + ' ' + '00'.substr(0, 2 - hora.toString().length) + hora.toString() + ':' + '00'.substr(0, 2 - minuto.toString().length) + minuto.toString() + ':' + '00'.substr(0, 2 - segundo.toString().length) + segundo.toString();
		}

		return parse;

	}

	switch (getWKNumState()) {
	case 0:
		$('#1').show();
		break;
	}

	if ($('#usuario_span_coord').val() != '') {
		var data = new Date($('#data_span_coord').val());
		$('#span-coord').text(retornaNome($('#usuario_span_coord').val()) + ' em ' + formatData(data, 2));
	}

	if ($('#usuario_span_ger').val() != '') {
		var data = new Date($('#data_span_ger').val());
		$('#span-ger').text(retornaNome($('#usuario_span_ger').val()) + ' em ' + formatData(data, 2));
	}

	if ($('#usuario_span_dir').val() != '') {
		var data = new Date($('#data_span_dir').val());
		$('#span-dir').text(retornaNome($('#usuario_span_dir').val()) + ' em ' + formatData(data, 2));
	}

	if ($('#usuario_span_sup').val() != '') {
		var data = new Date($('#data_span_sup').val());
		$('#span-sup').text(retornaNome($('#usuario_span_sup').val()) + ' em ' + formatData(data, 2));
	}

	if ($('#usuario_span_fin').val() != '') {
		var data = new Date($('#data_span_fin').val());
		$('#span-fin').text(retornaNome($('#usuario_span_fin').val()) + ' em ' + formatData(data, 2));
	}

	if ($('#usuario_span_fis').val() != '') {
		var data = new Date($('#data_span_fis').val());
		$('#span-fis').text(retornaNome($('#usuario_span_fis').val()) + ' em ' + formatData(data, 2));
	}

	/*
	if($('#vUserSpan_2').val() != '') {
		var data = new Date($('#vDateSpan_2').val());
		$('#span_2').text(retornaNome($('#vUserSpan_2').val()) + ' em ' + formatData(data,2));
	} else {
		if(getWKNumState() != 7) {
			$("#2").hide();
		}
	}
	 */

	/* Remove ítens de uma determinada tabela */
	function removeChilds(tabela, campo) {
		var indexes = $('#' + tabela + ' tr').length;

		if (indexes > 2) {
			for (var i = 2; i < indexes; i++) {
				var nome = $($($('#' + tabela + ' tr')[i].cells[1]).children().children().get(1)).prop('name');
				//$($($('#' + tabela + ' tr')[i].cells[1]).children().get(1)).prop("name");

				if (nome != undefined) {
					if ((nome.indexOf(campo + '_') >= 0)) {
						fnWdkRemoveChild($($('#' + tabela + ' tr')[i].cells[0]).children().get(0));
						i--;
						if (parseInt($('#' + tabela + ' tr').length) == 2) {
							break;
						}
					}
				}
			}
		}
		$('#' + tabela).hide();
	}


	/* Fim Remove ítens de uma determinada tabela */


	$("#txtDataVencimento").prop("readonly", true);

	$("#txtDataPrevisao").prop("readonly", true);


	//Controle Importação
	verificaTipoAdto();


	setTimeout(function(){

		validaFiltraEmbarque();

	}, 1000);

	/*fnPosicionaTelaById();*/

});

function setSelectedZoomItem(selectedItem) {


	if (selectedItem.inputName == "zoomDadosImpo") {
		$("#codDespachanteImpo").val(selectedItem.cod_despachante);
		$("#codEmitenteImpo").val(selectedItem.cod_emitente);
		$("#txtEmbarqueImpo").val(selectedItem.embarque);
		$("#txtPedidoCompra").val(selectedItem.num_pedido);
	}

	if (selectedItem.inputName == "zoomProcExpo") {
		$("#txtProcExpo").val(selectedItem.nr_proc_exp);
		$("#codEstabExpo").val(selectedItem.cod_estabel);
		$("#codArmadorExpo").val(selectedItem.cod_armador);
		$("#codDespachanteExpo").val(selectedItem.cod_despachante);
		$("#codEmitenteExpo").val(selectedItem.cod_emitente);
	}

	if (selectedItem.inputName == "cmbCentroCusto") {

		var select = $('#selectLoginCoord');

		//		filter_cmbCentroCusto.on('fluig.autocomplete.itemRemoved', function(ev) {
		//			select.empty();
		//		});		

		document.getElementById("txtEstabelecimento").value = selectedItem["estabelecimento"];
		document.getElementById("txtEmpresa").value = selectedItem["empresa"];
		document.getElementById("txtUnidade").value = selectedItem["unidade"];
		document.getElementById("txtDiretoria").value = selectedItem["diretoria"];

		document.getElementById("loginGerente").value = selectedItem["loginGerente"];
		document.getElementById("loginDiretor").value = selectedItem["loginDiretor"];

		var c1 = DatasetFactory.createConstraint("metadata#active", "1", "1", ConstraintType.MUST);
		var c2 = DatasetFactory.createConstraint("centroCusto", document.getElementById("cmbCentroCusto").value, document.getElementById("cmbCentroCusto").value, ConstraintType.MUST);
		var c3 = DatasetFactory.createConstraint("estabelecimento", selectedItem["estabelecimento"], selectedItem["estabelecimento"], ConstraintType.MUST);
		var c4 = DatasetFactory.createConstraint("loginCoord", "", "", ConstraintType.MUST_NOT);

		var dsCoordenador = DatasetFactory.getDataset("pre_cadastro_aprov_coord", null, new Array(c1, c2, c3, c4), null);

		if (dsCoordenador.values.length > 0) {

			//document.getElementById("loginCoord").value = dsCoordenador.values[0]["loginCoord"];

			var lista = "";

			select.empty();

			var x = document.getElementById("selectLoginCoord");
			var option = document.createElement("option");
			option.text = "";
			option.value = "";
			x.add(option, x[0]);

			for (var i = 0; i < dsCoordenador.values.length; i++) {

				var option2 = document.createElement("option");
				option2.value = dsCoordenador.values[i]["loginCoord"];
				option2.text = dsCoordenador.values[i]["nomeCoord"];

				x.add(option2, x[i + 1]);

				if (lista == "") {
					lista = dsCoordenador.values[i]["loginCoord"] +
					";" +
					dsCoordenador.values[i]["nomeCoord"];
				} else {
					lista += '#' +
					dsCoordenador.values[i]["loginCoord"] +
					";" +
					dsCoordenador.values[i]["nomeCoord"];
				}
			}

			if (dsCoordenador.values.length == 1) {
				document.getElementById("selectLoginCoord").value = dsCoordenador.values[0]["loginCoord"];
			}

			$('#hidSelectLoginCoord').val(lista);
		}
	}

	if (selectedItem.inputName == "cmbTipoFluxo") {
		document.getElementById("codTipoFluxo").value = selectedItem["cod-tipo-fluxo-financ"];
	}


	if (selectedItem.inputName == "cmbTipoFluxoImpFederal") {
		document.getElementById("codTipoFluxoImpFederal").value = selectedItem["cod-tipo-fluxo-financ"];
	}




	if (selectedItem.inputName == "cmbFormaPagamento") {
		document.getElementById("codFormaPagamento").value = selectedItem["cod-forma-pagto"];
	}


	if (selectedItem.inputName == "cmbFormaPagamentoImpFederal") {
		document.getElementById("codFormaPagamentoImpFederal").value = selectedItem["cod-forma-pagto"];
	}




	if (selectedItem.inputId == "codEstab") {
		reloadZoomFilterValues("portador", "cod_estab," + selectedItem["codEstab"]);
	}

	if (selectedItem.inputName == "portador") {
		document.getElementById("carteira").value = selectedItem["cod_cart_bcia"];
	}

}

function removedZoomItem(removedItem) {


	if (removedItem.inputName == "zoomDadosImpo") {
		limpaDadosImpo();
	}

	if (removedItem.inputName == "zoomProcExpo") {
		limpaDadosExpo();
	}


	if (removedItem.inputName == "cmbTipoFluxoImpFederal") {
		document.getElementById("codTipoFluxoImpFederal").value = "";
	}

	if (removedItem.inputName == "cmbTipoFluxo") {
		document.getElementById("codTipoFluxo").value = "";
	}



	if (removedItem.inputName == "cmbFormaPagamento") {
		document.getElementById("codFormaPagamento").value = "";
	}


	if (removedItem.inputName == "cmbFormaPagamentoImpFederal") {
		document.getElementById("codFormaPagamentoImpFederal").value = "";
	}




	if (removedItem.inputId === "cmbCentroCusto") {

		var sel = document.getElementById('selectLoginCoord');
		for (i = sel.length - 1; i >= 0; i--) {
			sel.remove(i);
		}

		document.getElementById("hidSelectLoginCoord").value = "";
		document.getElementById("txtEstabelecimento").value = '';
		document.getElementById("txtEmpresa").value = '';
		document.getElementById("txtUnidade").value = '';
		document.getElementById("txtDiretoria").value = '';

		document.getElementById("loginGerente").value = '';
	} else if (removedItem.inputId === "codEstab") {
		reloadZoomFilterValues("portador", "cod_estab,0");
	} else if (removedItem.inputId === "portador") {
		document.getElementById("carteira").value = '';
	}
}

function fnRecarregaSelecaoCoord() {
	var hidSelectLoginCoord = $('#hidSelectLoginCoord').val();

	if (hidSelectLoginCoord != "") {

		var selec = $('#selectLoginCoord');

		var coordenadorAnt = selec.val();

		selec.empty();

		var x = document.getElementById("selectLoginCoord");

		var option = document.createElement("option");
		option.text = "";
		option.value = "";
		x.add(option, x[0]);

		hidSelectLoginCoord = hidSelectLoginCoord.split("#");

		for (var i = 0; i < hidSelectLoginCoord.length; i++) {

			var dados = hidSelectLoginCoord[i];

			dados = dados.split(";");

			var option2 = document.createElement("option");
			option2.value = dados[0];
			option2.text = dados[1];

			x.add(option2, x[i + 1]);
		}

		$('#selectLoginCoord').val(coordenadorAnt);
	}
}

function fnReloadZoomPortador(codEstab) {

	// busca o conteudo do data-zoom que está na definição do campo portador
	var atributoZoom = document.getElementById("portador").getAttribute("data-zoom");

	// troca todas as aspas simples por duplas
	atributoZoom = atributoZoom.replace(/'/g, '"');

	// converte para objeto json
	var objetoJson = JSON.parse(atributoZoom);

	// no atributo filterValues, adiciona o valor para o estabelecimento
	// na definição do data-zoom, o atributo filterValues deve estar definido indicando o nome do campo 
	// seguido de virgula. Exemplo: 'filterValues':'cod_estab,'
	objetoJson.filterValues = objetoJson.filterValues + codEstab;

	// converte o objeto json para string
	atributoZoom = JSON.stringify(objetoJson);

	// troca todas as aspas duplas por simples, pois dá erro no fluig se mantiver com aspas duplas
	atributoZoom = atributoZoom.replace(/"/g, "'");

	// seta novamente o atributo
	document.getElementById("portador").setAttribute("data-zoom", atributoZoom);
}

function fnZoomFornecedor() {
	window.open("zoomFornecedor.html", "zoomCliente", "status=yes , scrollbars=no ,width=800, height=550 , top=0 , left=0, resizable=no");
}


function fnZoomFornecedorImpoFed() {
	window.open("zoomFornecedorImpo.html", "zoomCliente", "status=yes , scrollbars=no ,width=800, height=550 , top=0 , left=0, resizable=no");
}

function fnBuscaDadosFornecedor(valores) {

	document.getElementById("cod_emitente").value = valores[0];
	document.getElementById("txtCodFornecedor").value = valores[0];
	document.getElementById("txtNomeFornecedor").value = valores[2];



	buscaDadosFinanceiro(valores[0]);


	// fnPesquisaTituloFornecedor(valores[0]);
}




function fnBuscaDadosFornecedorImpoFed(valores) {

	document.getElementById("cod_emitente_imp_federal").value = valores[0];
	document.getElementById("txtCodEmitenteImpFederal").value = valores[0];
	document.getElementById("txtNomeFornecedorImpFederal").value = valores[2];



	buscaDadosFinanceiroImpo(valores[0]);


	// fnPesquisaTituloFornecedor(valores[0]);
}

function fnVaParaFornecedor(codigo) {

	if (document.getElementById("txtEstabelecimento").value == "") {
		//fnAlerta("Estabelecimento deve ser informado!");
	}

	document.getElementById("div_pesquisando").style.display = "";

	setTimeout(function() {

		var c1 = DatasetFactory.createConstraint("p_cod_emitente", codigo, codigo, ConstraintType.MUST);
		var c2 = DatasetFactory.createConstraint("nome_abrev", "", "", ConstraintType.MUST);
		var c3 = DatasetFactory.createConstraint("cnpj", "", "", ConstraintType.MUST);
		var c4 = DatasetFactory.createConstraint("pesquisa", "vaPara", "vaPara", ConstraintType.MUST);
		var c5 = DatasetFactory.createConstraint("registro", "0", "0", ConstraintType.MUST);
		var c6 = DatasetFactory.createConstraint("numRegistro", "1", "1", ConstraintType.MUST);

		var dataset = DatasetFactory.getDataset("ds_lista_fornecedor", null, new Array(c1, c2, c3, c4, c5, c6), null);

		if (dataset != undefined && dataset.values.length > 0) {

			document.getElementById("txtNomeFornecedor").value = dataset.values[0].nome_emit;
			document.getElementById("cod_emitente").value = dataset.values[0].cod_emitente;


			buscaDadosFinanceiro(dataset.values[0].cod_emitente);

			// fnPesquisaTituloFornecedor(dataset.values[0].cod_emitente);

		} else {
			limpaDadosFinanceiro();
			$("#txtNomeFornecedor").val("");
			fnAlerta("Fornecedor não encontrado!");
		}

		document.getElementById("div_pesquisando").style.display = "none";



	}, 500);
}



function fnVaParaFornecedorImpoFed(codigo) {

	if (document.getElementById("txtEstabelecimento").value == "") {
		//fnAlerta("Estabelecimento deve ser informado!");
	}

	document.getElementById("div_pesquisando").style.display = "";

	setTimeout(function() {

		var c1 = DatasetFactory.createConstraint("p_cod_emitente", codigo, codigo, ConstraintType.MUST);
		var c2 = DatasetFactory.createConstraint("nome_abrev", "", "", ConstraintType.MUST);
		var c3 = DatasetFactory.createConstraint("cnpj", "", "", ConstraintType.MUST);
		var c4 = DatasetFactory.createConstraint("pesquisa", "vaPara", "vaPara", ConstraintType.MUST);
		var c5 = DatasetFactory.createConstraint("registro", "0", "0", ConstraintType.MUST);
		var c6 = DatasetFactory.createConstraint("numRegistro", "1", "1", ConstraintType.MUST);

		var dataset = DatasetFactory.getDataset("ds_lista_fornecedor", null, new Array(c1, c2, c3, c4, c5, c6), null);

		if (dataset != undefined && dataset.values.length > 0) {

			document.getElementById("txtNomeFornecedorImpFederal").value = dataset.values[0].nome_emit;
			document.getElementById("cod_emitente_imp_federal").value = dataset.values[0].cod_emitente;


			buscaDadosFinanceiroImpo(dataset.values[0].cod_emitente);

			// fnPesquisaTituloFornecedor(dataset.values[0].cod_emitente);

		} else {
			limpaDadosFinanceiroImpoFed();
			$("#txtNomeFornecedorImpFederal").val("");
			fnAlerta("Fornecedor não encontrado!");
		}

		document.getElementById("div_pesquisando").style.display = "none";



	}, 500);
}




function fnPesquisaTituloFornecedor(codFornecedor) {

	var estab = document.getElementById("txtEstabelecimento").value;

	var c1 = DatasetFactory.createConstraint("p_cod_estab", estab, estab, ConstraintType.MUST);
	var c2 = DatasetFactory.createConstraint("p_cdn_fornecedor", codFornecedor, codFornecedor, ConstraintType.MUST);
	var c3 = DatasetFactory.createConstraint("p_cod_espec_docto", "AN", "AN", ConstraintType.MUST);

	var dsTitulo = DatasetFactory.getDataset("ds_lista_titulo_fornecedor", null, new Array(c1, c2, c3), null);

	if (dsTitulo != undefined && dsTitulo.values.length > 0) {

		fnExcluiLinhasTabela('tabTitulos');

		for (var i = 0; i < dsTitulo.values.length; i++) {
			wdkAddChild('tabTitulos');

			var valor = dsTitulo.values[i].val_sdo_tit_ap;

			valor = parseFloat(valor).toFixed(2);

			document.getElementById("tituloEmAberto___" + newId).value = dsTitulo.values[i].cod_tit_ap;
			document.getElementById("vlTituloEmAberto___" + newId).value = fnFormataValor(valor.replace(".", ","));
			document.getElementById("dtTituloEmAberto___" + newId).value = dsTitulo.values[i].dat_transacao.toString().substr(0, 10);
		}

	}
}

function fnFormataValor(valor) {

	var arrayValor = valor.split(",");
	var valorFormatado = "";
	var i = arrayValor[0].length;
	var conta = 0;

	for (var i2 = 0; i2 < arrayValor[0].length; i2++) {

		conta++;

		var posicao = i - (i2 + 1);

		valorFormatado = arrayValor[0].substr(posicao, 1) + valorFormatado;

		if (conta == 3 && posicao > 0) {
			valorFormatado = "." + valorFormatado;

			conta = 0;
		}

	}

	valorFormatado += "," + arrayValor[1];

	return valorFormatado;
}

function fnExcluiLinhasTabela(tabela) {
	var tabelaOBJ = document.getElementById(tabela);
	var tbodyObj = tabelaOBJ.getElementsByTagName("tbody");

	var linhas = tbodyObj[0].getElementsByTagName("tr");

	for (var i = 0; i < linhas.length; i++) {

		if (i > 0) {
			$(linhas[i]).remove(); //fnWdkRemoveChild(linhas[i]);
		}

	}
}

function fnHabilitaZoom() {

	document.getElementById("codEstab").readOnly = false;
	document.getElementById("codEspecie").readOnly = false;
	document.getElementById("moeda").readOnly = false;
	document.getElementById("portador").readOnly = false;
	document.getElementById("tipoFluxo").readOnly = false;
	document.getElementById("formaPagto").readOnly = false;

}

function fnCustomDelete(oElement) {
	fnWdkRemoveChild(oElement);
	//    if(jQuery("#tblCronogramaInvestimento tbody tr").length < 2) {
	//    	$('#tblCronogramaInvestimento').hide();   	
	//    }
}

function fnAlerta(mensagem) {

	FLUIGC.message.alert({
		message: mensagem,
		title: 'Alerta',
		label: 'OK'
	});

}

function mascaraValor(valor) {
	valor = valor.toString().replace(/\D/g, "");
	valor = valor.toString().replace(/(\d)(\d{8})$/, "$1.$2");
	valor = valor.toString().replace(/(\d)(\d{5})$/, "$1.$2");
	valor = valor.toString().replace(/(\d)(\d{2})$/, "$1,$2");
	return valor
}

Number.prototype.formatMoney = function(c, d, t) {
	var n = this,
	c = isNaN(c = Math.abs(c)) ? 2 : c,
			d = d == undefined ? "." : d,
					t = t == undefined ? "," : t,
							s = n < 0 ? "-" : "",
									i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "",
									j = (j = i.length) > 3 ? j % 3 : 0;
									return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
};

function coordAprov() {
	document.getElementById("aprovaAdiantamento").checked = true;
	document.getElementById("obsAprovaAdiantamento").value = "Não há coordenador neste centro de custo."

}


function verificaTipoAdto(){

	var tipoAdto = $("#tipoAdto").val();
	
	$("#divPedidoCompra").show();	

	if(tipoAdto == "impo"){
		$("#divEmbarqueImpo").show();		
		//$("#divPedidoCompra").show();		
		$("#divImpostosImportacao").show();
		$("#divProcExpo").hide();
		$("#divPedidoCompra").show();

	}else if(tipoAdto == "expo"){
		$("#divProcExpo").show();
		$("#divImpostosImportacao").hide();
		$("#divEmbarqueImpo").hide();
		$("#divPedidoCompra").hide();		

	}else{
		$("#divEmbarqueImpo").hide();
		$("#divPedidoCompra").hide();
		$("#divProcExpo").hide();
		$("#divImpostosImportacao").hide();
	}

	//$("#divPedidoCompra").show();		
}

function buscaDadosFinanceiro(codEmitente){

	if(codEmitente == ""){

		limpaDadosFinanceiro();

		FLUIGC.toast({
			title: 'Atenção: ',
			message: 'Código do Emitente não preenchido para busca.',
			type: 'warning'
		});

	}else{

		var constraintA_ds_lista_fornecedor_financeiro1 = DatasetFactory.createConstraint('v_cod_emitente', codEmitente, '', ConstraintType.MUST);
		var datasetA_ds_lista_fornecedor_financeiro = DatasetFactory.getDataset('ds_lista_fornecedor_financeiro', null, new Array(constraintA_ds_lista_fornecedor_financeiro1), null);

		var registroFornecedor = datasetA_ds_lista_fornecedor_financeiro.values;

		if(registroFornecedor.length == 0 || registroFornecedor[0].v_cod_emitente == ""){

			limpaDadosFinanceiro();

			FLUIGC.toast({
				title: 'Atenção: ',
				message: 'Código do Emitente não encontrado.',
				type: 'warning'
			});

		}else{

			var formaPagto = registroFornecedor[0].cod_forma_pagto;
			var pais = registroFornecedor[0].pais;
			var tipoFluxoFin = registroFornecedor[0].cod_tip_fluxo_financ;


			$("#codTipoFluxo").val(tipoFluxoFin);
			window["cmbTipoFluxo"].setValue(tipoFluxoFin);

			if(pais == "BRASIL"){

				window["moedaFornecedor"].setValue("Real");

			}



			var datasetFluigFormaPagto = DatasetFactory.getDataset('fluig-forma-pagto-list_execbo', null, null, null);

			var tipoPagto = datasetFluigFormaPagto.values.filter(function(item){ return item["cod-forma-pagto"] == formaPagto});



			$("#codFormaPagamento").val(tipoPagto[0]["cod-forma-pagto"]);			
			window["cmbFormaPagamento"].setValue(tipoPagto[0]["des-forma-pagto"]);


		}





	}



}

function limpaDadosFinanceiro(){

	window["moedaFornecedor"].clear();


	window["cmbTipoFluxo"].clear();
	$("#codTipoFluxo").val("");



	window["cmbFormaPagamento"].clear();
	$("#codFormaPagamento").val("");			



}





function buscaDadosFinanceiroImpo(codEmitente){

	if(codEmitente == ""){


		limpaDadosFinanceiro();


		FLUIGC.toast({
			title: 'Atenção: ',
			message: 'Código do Emitente não preenchido para busca.',
			type: 'warning'
		});


	}else{

		var constraintA_ds_lista_fornecedor_financeiro1 = DatasetFactory.createConstraint('v_cod_emitente', codEmitente, '', ConstraintType.MUST);
		var datasetA_ds_lista_fornecedor_financeiro = DatasetFactory.getDataset('ds_lista_fornecedor_financeiro', null, new Array(constraintA_ds_lista_fornecedor_financeiro1), null);

		var registroFornecedor = datasetA_ds_lista_fornecedor_financeiro.values;

		if(registroFornecedor.length == 0 || registroFornecedor[0].v_cod_emitente == ""){

			limpaDadosFinanceiroImpoFed();

			FLUIGC.toast({
				title: 'Atenção: ',
				message: 'Código do Emitente não encontrado.',
				type: 'warning'
			});

		}else{


			var formaPagto = registroFornecedor[0].cod_forma_pagto;
			var tipoFluxoFin = registroFornecedor[0].cod_tip_fluxo_financ;



			if(codEmitente == "29777"){

				$("#codTipoFluxoImpFederal").val("2.1.5.5");
				window["cmbTipoFluxoImpFederal"].setValue("2.1.5.5");


			}else{

				$("#codTipoFluxoImpFederal").val(tipoFluxoFin);
				window["cmbTipoFluxoImpFederal"].setValue(tipoFluxoFin);


			}



			var datasetFluigFormaPagto = DatasetFactory.getDataset('fluig-forma-pagto-list_execbo', null, null, null);

			var tipoPagto = datasetFluigFormaPagto.values.filter(function(item){ return item["cod-forma-pagto"] == formaPagto});



			$("#codFormaPagamentoImpFederal").val(tipoPagto[0]["cod-forma-pagto"]);			
			window["cmbFormaPagamentoImpFederal"].setValue(tipoPagto[0]["des-forma-pagto"]);


		}





	}



}

function limpaDadosFinanceiroImpoFed(){


	$("#codFormaPagamentoImpFederal").val("");	
	$("#codTipoFluxo").val("");


	window["cmbTipoFluxoImpFederal"].clear();
	window["cmbFormaPagamentoImpFederal"].clear();




}


function dadosCompras(numeroPedido){


	var constraintA_ds_busca_dados_compras_impo1 = DatasetFactory.createConstraint('num_pedido', numeroPedido, '', ConstraintType.MUST);
	var datasetA_ds_busca_dados_compras_impo = DatasetFactory.getDataset('ds_busca_dados_compras_impo', null, new Array(constraintA_ds_busca_dados_compras_impo1), null);

}


function buscaDadosExpo(){

	var estabelecimento = $("#txtEstabelecimento").val();
	var numeroProcessoExpo = $("#txtProcExpo").val();


	if(estabelecimento != "" && numeroProcessoExpo != ""){


		var constraintA_ds_busca_dados_exportacao1 = DatasetFactory.createConstraint('estabelecimento', estabelecimento, '', ConstraintType.MUST);
		var constraintA_ds_busca_dados_exportacao2 = DatasetFactory.createConstraint('numeroProcessoExpo', numeroProcessoExpo, '', ConstraintType.MUST);
		var datasetA_ds_busca_dados_exportacao = DatasetFactory.getDataset('ds_busca_dados_exportacao', null, new Array(constraintA_ds_busca_dados_exportacao1, constraintA_ds_busca_dados_exportacao2), null);

		var dsDadosExportacao = datasetA_ds_busca_dados_exportacao.values;

		if(dsDadosExportacao.length > 0){


			//SEM VALIDAÇÃO
			$("#codEstabExpo").val(dsDadosExportacao[0].cod_estabel);
			$("#codArmadorExpo").val(dsDadosExportacao[0].cod_armador);
			$("#codDespachanteExpo").val(dsDadosExportacao[0].cod_despachante);
			$("#codEmitenteExpo").val(dsDadosExportacao[0].cod_emitente);


			//COM VALIDAÇÃO
			/*
			if(dsDadosExportacao[0].cod_emitente == $("#txtCodFornecedor").val()){

				$("#codEstabExpo").val(dsDadosExportacao[0].cod_estabel);
				$("#codArmadorExpo").val(dsDadosExportacao[0].cod_armador);
				$("#codDespachanteExpo").val(dsDadosExportacao[0].cod_despachante);
				$("#codEmitenteExpo").val(dsDadosExportacao[0].cod_emitente);

			}else{


				FLUIGC.toast({
					title: 'Atenção: ',
					message: 'Código do Processo encontrado, mas não pertence a este fornecedor.',
					type: 'warning'
				});

				limpaDadosExpo();


			}
			 */



		}else{

			FLUIGC.toast({
				title: 'Atenção: ',
				message: 'Código do Processo Não Encontrado.',
				type: 'warning'
			});

			limpaDadosExpo();

		}



	}else{



		FLUIGC.toast({
			title: 'Atenção: ',
			message: 'Informe o Estabelecimento e Código do Processo de Exportação para Validação.',
			type: 'warning'
		});

		limpaDadosExpo();


	}



}

function buscaDadosImpo(){


	var estabelecimento =$("#txtEstabelecimento").val();
	var embarque = $("#txtEmbarqueImpo").val();


	if(embarque != ""){

		var constraintA_ds_busca_dados_importacao1 = DatasetFactory.createConstraint('embarque', embarque , '', ConstraintType.MUST);
		var datasetA_ds_busca_dados_importacao = DatasetFactory.getDataset('ds_busca_dados_importacao', null, new Array(constraintA_ds_busca_dados_importacao1), null);


		var dsImpo = datasetA_ds_busca_dados_importacao.values;

		if(dsImpo.length > 0){


			$("#codDespachanteImpo").val(dsImpo[0].cod_despachante);
			$("#codEmitenteImpo").val(dsImpo[0].cod_emitente);
			$("#txtEmbarqueImpo").val(dsImpo[0].embarque);
			$("#txtPedidoCompra").val(dsImpo[0].num_pedido);

		}else{

			FLUIGC.toast({
				title: 'Atenção: ',
				message: 'Embarque Não Encontrado.',
				type: 'warning'
			});

			limpaDadosImpo();

		}


	}else{


		FLUIGC.toast({
			title: 'Atenção: ',
			message: 'Informe o Estabelecimento e Código do Processo de Exportação para Validação.',
			type: 'warning'
		});

		limpaDadosImpo();


	}


	validaFiltraEmbarque();


}


function validaPreenchimentoPedido(){


	var pedidoCompra = $("#txtPedidoCompra").val();

	if(pedidoCompra == ""){

		$("#txtEmbarqueImpo").val("");

	}



}

function validaFiltraEmbarque(){


	var pedidoCompra = $("#txtPedidoCompra").val();
	var embarque = $("#txtEmbarqueImpo").val();


	if(pedidoCompra != "" && embarque != ""){



		var constraintA_ds_busca_dados_importacao2 = DatasetFactory.createConstraint('num_pedido', pedidoCompra, '', ConstraintType.MUST);
		var datasetA_ds_busca_dados_importacao = DatasetFactory.getDataset('ds_busca_dados_importacao', null, new Array(constraintA_ds_busca_dados_importacao2), null);
		var dsDadosImpo = datasetA_ds_busca_dados_importacao.values;

		var embarquePreenchidoValido = datasetA_ds_busca_dados_importacao.values.filter(function(item){return item.embarque == embarque});

		if(embarquePreenchidoValido.length == 0){


			FLUIGC.toast({
				title: 'Atenção: ',
				message: 'Pedido não pertence a esse embarque.',
				type: 'warning'
			});

			embarque = "";
			limpaDadosImpo();
			try{

				window["zoomDadosImpo"].clear();

			}catch(e){

				console.log("Erro ao resetar zoom de embarque");

			}



		}




		$("#divEmbarqueTxt").hide();

		$("#divEmbarqueZoom").show();

		try{

			reloadZoomFilterValues("zoomDadosImpo", "num_pedido," + $("#txtPedidoCompra").val() );

			window["zoomDadosImpo"].setValue(embarque);


		}catch(e){

		}

	}


	if(pedidoCompra == ""){

		$("#divEmbarqueTxt").show();
		$("#divEmbarqueZoom").hide();


	}




	if(pedidoCompra != "" && embarque == "" ){

		$("#divEmbarqueTxt").hide();

		$("#divEmbarqueZoom").show();

		reloadZoomFilterValues("zoomDadosImpo", "num_pedido," + $("#txtPedidoCompra").val() );

	}








}

function limpaDadosExpo(){
	$("#codEstabExpo").val("");
	$("#codArmadorExpo").val("");
	$("#codDespachanteExpo").val("");
	$("#codEmitenteExpo").val("");
	$("#txtProcExpo").val("");

	try{
		window["zoomProcExpo"].clear();

	}catch(e){

	}
}


function limpaDadosImpo(){
	$("#codDespachanteImpo").val("");
	$("#codEmitenteImpo").val("");
	$("#txtEmbarqueImpo").val("");
}



function limpaDadosImpoFed(){
	$("#codDespachanteImpo").val("");
	$("#codEmitenteImpo").val("");
	$("#txtEmbarqueImpo").val("");
}



function resetDadosExpoImpo(){
	limpaDadosExpo();
	limpaDadosImpo();
	$("#txtPedidoCompra").val("");


	$("#txtNomeFornecedorImpFederal").val("");
	$("#txtCodEmitenteImpFederal").val("");

	limpaDadosFinanceiroImpoFed();


	window["zoomDadosImpo"].clear();


	//reloadZoomFilterValues("zoomDadosImpo", "");

}


function fnPosicionaTelaById(id) {
	//Recebe o id para posicionar
	setTimeout(function () {
		console.log('fnPosicionaTelaById');
		FLUIGC.utilities.scrollTo(id, 100);
	}, 500);
}