<?php
// error_reporting(E_ALL);
include "../ver_sessao.php";
include "../conecta.php";
include "../download_xml2.php";
// echo"OK!";





// SE RECEBE UM ARGUMENTO PELO GET, DIRECIONA PARA A TELA DE IMPRESSAO
if( $_GET[i] ) {

	if( md5($_GET[i]) != $_GET[s] )
		exit;

	$_POST[acao] = 'layout_imprime';
	$_POST[id]  = $_GET[i];
}





function raiz_ncm($ncm_original) {

	$qtde = strlen($ncm_original);

	$retorno = $ncm_original;
	for ($i=0; $i<$qtde; $i++) {
		// REMOVE UM DÍGITO ATÉ LOCALIZAR O CEST
		$retorno = substr($ncm_original,0,($qtde-$i));
		// echo "TESTANDO: $retorno DE |$ncm_original|<hr>";
		$sql_cest = selecionar('cest','cest_tx_status',"!inativo"," AND cest_tx_ncm LIKE '$retorno' ");
		if (num_linhas($sql_cest)>0)
			break;
	}

	return $retorno;
}




function verifica_notafiscal() {

	if( $_GET[nf] == '' || $_GET[nf] == ' ' )
		return;

	$sql = selecionar('movimento','movi_tx_status,movi_tx_notafiscal,movi_nb_ref',"!inativo,$_GET[nf],$_GET[enti]",'');
	$total_linhas = num_linhas($sql);
	
	echo "<BR><BR>TOTAL LINHAS: $total_linhas";
	if( $total_linhas > 0 ) {
		
		javascript("
			
			alert('ATENÇÃO: Nota fiscal já existente!');
			
		");
		
	} else {
		
		javascript("
//          alert('OK');
		");
	
	}
	

}

function ids_agrupados($ids_agrupados) {
	
	$a = explode("-",$ids_agrupados);
	$a2 = array_unique($a);
	
	sort($a2);
	
	// SE TIVER ELEMENTOS EM BRANCO, REMOVE
	if( $a2[0] == '' ) 
		array_shift($a2);
	
	return $a2;
	
}

// function exclui_compra(){

// 	remover('compra',$_POST[id]);
// 	index();
// 	exit;
	
// }


function modifica_compra(){
	
	global $a_mod;
	$a_mod = carregar('compra,setor,entidade',$_POST[id]);
	layout_compra();
	exit;
	
}

function modifica_produto(){
	
	global $a_mod;
	$a_mod = carregar('listacompra,compra,produto',$_POST[id]);
	
	$_POST[id]=$a_mod[comp_nb_id];
	
	layout_produto();
	exit;
	
}


function exclui_produto(){
	

	$a_exc = carregar('listacompra,compra,produto',$_POST[id]);
	
	remover('listacompra',$a_exc[list_nb_id]);
	$_POST[id]=$a_exc[comp_nb_id];
	
	layout_produto();
	exit;
	
}

function cadastra_produto(){

//  echo"ENTROU!!!!";
//  exit;


	$a_un=carregar('unidade',$_POST[unidade]);
	$_POST[unidade]=$a_un[unid_tx_nome];

	$produto=$_POST[campo_produto_];
	$qtde=$_POST[qtde];
	$valor_un=$_POST[valor_un];
	$nome_prod=$_POST[nome_campo_produto_];


	// REMOVE PRODUTOS ANTIGOS, CASO ESTEJA ATUALIZANDO
//  $sql = selecionar('listacompra','list_nb_compra,list_tx_status',"$_POST[id],ativo");
//  while( $a = carrega_array($sql) ) {
//      remover('listacompra',$a[list_nb_id]);
//  }
	
	// INSERE OS VALORES NA TABELA _LISTACOMPRA_
	
	
//  $valor_vez = valor($valor_un[$i]);
//  $qtde_vez = valor($qtde[$i]);
//  $produto_vez = $_POST['campo_produto_'.$i];
	
	// NAO DEIXA CADASTRAR VALORES EM BRANCO
	//if( $valor_vez=='' || $produto_vez=='' || $qtde_vez=='' ) 
	//  continue;

	$valores=array($_POST[id],$produto,valor($qtde),valor($valor_un),'ativo',$nome_prod,$_POST[unidade]);
	$campos=array(list_nb_compra,list_nb_produto,list_tx_qtde,list_tx_valor,list_tx_status,list_tx_produto,list_tx_unidade);
	if($_POST[a_mod]=='')
		inserir('listacompra',$campos,$valores,1);
	else{
		atualizar('listacompra',$campos,$valores,$_POST[a_mod]);
		unset($_POST[a_mod]);
	}
	layout_produto();
	exit;
	

}





function finaliza_produto() {
	
	
	if(mostra_valor($_POST[total],1)!=mostra_valor($_POST[valor_total_hidden2],1))
		$_POST[total]=$_POST[valor_total_hidden2];
		
	if($_POST[valor_total_hidden2]==0){
		layout_produto();
		exit;
	}
		
	
	
	
	//exit;

	$produto=$_POST[produto];
	$qtde=$_POST[qtde];
	$valor_un=$_POST[valor_un];
	
	$t_produto = count($qtde);
	

	// EVITA QUE, POR ACASO, O COMPRADOR ATUALIZE DEPOIS DA SOLICITACAO TER SIDO AUTORIZADA
	$a_comp = carregar('compra',$_POST[id]);
	if( $a_comp[comp_tx_status] != 'Solicitado' && $a_comp[comp_tx_status] != 'inativo' ) {
		set_status('ERRO: Impossível gravas os dados!');
		index();
		exit;
	}else{
		$_POST[opcao_financeiro] = $a_comp[comp_tx_opcaoFinanceiro];
		$_POST[opcao_estoque] = $a_comp[comp_tx_opcaoEstoque];
	}



	if ( $_POST[opcao_estoque]=='Sim' ) {
		// SE RECEBER O ESTOQUE

		if ( $_POST[opcao_financeiro]=='Sim' || $_POST[opcao_financeiro]=='Bonificação' ) {
			// SE DER BAIXA NO ESTOQUE E ESCOLHER UMA DESSAS OPÇÕES
			$compra_status = 'Finalizado';

		} else {
			$compra_status = 'Recebido';
		}
		
	} else {
		$compra_status = 'Autorizado';
	}
	

	// ATUALIZA A TABELA _COMPRA_ COM O STATUS FINAL        
	$campos=array(comp_tx_status,comp_tx_valor);
	$valores=array($compra_status,$_POST[total]);
	atualizar('compra',$campos,$valores,$_POST[id]);

	$a_emp = carregar('empresa',1);
	if($a_emp[empr_tx_autorizacaoCompra] != 'Sim'){

		$campos=array(comp_tx_status,comp_nb_userGestor,comp_tx_obsAutoriza,comp_tx_dataAutoriza,comp_nb_userAutoriza);
		$valores=array($compra_status,$_SESSION[user_nb_id],$_POST[obs],date("Y-m-d H:i:s"),$_SESSION[user_nb_id]);
		atualizar('compra',$campos,$valores,$_POST[id]);

		$sql_lista=selecionar('listacompra,produto','list_nb_compra,list_tx_status',"$_POST[id],!inativo");
		while($a_lista=carrega_array($sql_lista)){

			if ($_POST[opcao_estoque]=='Sim') {
				// SE FOR PARA DAR BAIXA NO ESTOQUE

				if ( $_POST[opcao_financeiro]=='Sim' || $_POST[opcao_financeiro]=='Bonificação' ) {
					// SE FINALIZAR O FINANCEIRO O STATUS DA LISTA FICA ENCERRADO
					$status_lista = 'encerrado';
				} else {
					$status_lista = 'ativo';
				}

				$campos_list=array(list_tx_recebido,list_tx_qtdeEfetiva,list_tx_status);
				$valores_list=array($a_lista[list_tx_qtde],$a_lista[list_tx_qtde],$status_lista);
				atualizar('listacompra',$campos_list,$valores_list,$a_lista[list_nb_id]);

				query("UPDATE produto SET prod_tx_qtde=prod_tx_qtde+$a_lista[list_tx_qtde] WHERE prod_nb_id='$a_lista[list_nb_produto]' ");

				registra_acao('ADICIONOU O ESTOQUE','produto',$a_lista[list_nb_produto],0,' QTDE: '.mostra_valor($a_lista[list_tx_qtde],1));
				registro_cactus("FINALIZA REQUISICAO DE COMPRA : $a_lista[list_nb_compra] - ESTOQUE ATUAL: $a_lista[prod_tx_qtde] - COMPRA: $a_lista[list_tx_qtde] - ESTOQUE:".($a_lista[prod_tx_qtde]+($a_lista[list_tx_qtde])),$a_produto[prod_nb_id]);

			} else {
				// SE FOR APENAS PARA LANÇAR
				atualizar('listacompra','list_tx_status','ativo',$a_lista[0]);
			}

			// SEMPRE DEVE FAZER ESSA VERIFICAÇÃO, INDEPENDENTE DE MEXER NO ESTOQUE OU NÃO
			if ( trim($a_lista[list_tx_ncm])!='' && $a_lista[list_tx_ncm]!=$a_lista[prod_tx_ncm] ) {
				// ATUALIZA O NCM DO PRODUTO, SE ELE TIVER VINDO DA NOTA E FOR DIFERENTE DO QUE ESTÁ NA TABELA PRODUTO
				query("UPDATE produto SET prod_tx_ncm=$a_lista[list_tx_ncm] WHERE prod_nb_id='$a_lista[list_nb_produto]' ");
			}
		}
	}



	// SE FOR PARA DAR BAIXA NO FINANCEIRO
	if($_POST[opcao_financeiro]=='Sim'){
		// SO LEMBRANDO QUE NESSA TELA É FEITA A BAIXA DO ESTOQUE NA TABELA PRODUTO

		// REDIRECIONA PARA A TELA DE BAIXA DO FINANCEIRO
		chamar_pag('finalizar.php','id,acao,volta_pagina',"$_POST[id],layout_finaliza_original,requisicao.php");
		exit;
	}

	
	set_status('Solicitação efetuada com sucesso!');
	index();
	exit;
	
}



function cadastra_compra() {

	if($_POST[setor]=='' || $_POST[fornecedor]=='' || valor($_POST[valor])=='0'){
		set_status("ERRO: Preencha todos os campos!");
		if( !$_POST[id] )
			layout_compra();
		else
			modifica_compra();
		exit;   
	}
	

	if( !$_POST[id] ) {
		
		$hoje = date("Y-m-d H:i:s");
		
		$campos=array(comp_nb_entidade,comp_nb_setor,comp_nb_userCadastro,comp_tx_dataCadastro,comp_tx_obsCadastro,comp_tx_opcaoFinanceiro,comp_tx_opcaoEstoque,comp_tx_status);
		$valores=array($_POST[fornecedor],$_POST[setor],$_SESSION[user_nb_id],$hoje,$_POST[obs],$_POST[opcao_financeiro],$_POST[opcao_estoque],'inativo');
		inserir('compra',$campos,$valores,1);
		
		$_POST[id]=ultimo_reg('compra');    
/*      $sql = selecionar('comp_nb_id|compra','comp_nb_entidade,comp_nb_setor,comp_nb_userCadastro,comp_tx_dataCadastro,comp_tx_obsCadastro,comp_tx_status',
		"$_POST[fornecedor],$_POST[setor],$_SESSION[user_nb_id],$hoje,$_POST[obs],inativo"," ORDER BY comp_nb_id DESC");
		$a = carrega_array($sql);
		$_POST[id] = $a[0];
*/      
		
	} else {
	
		$campos=array(comp_nb_entidade,comp_nb_setor,comp_tx_dataCadastro,comp_tx_obsCadastro);
		$valores=array($_POST[fornecedor],$_POST[setor],date("Y-m-d H:i:s"),$_POST[obs]);
		atualizar('compra',$campos,$valores,$_POST[id]);

	}



	layout_produto();
	exit;
	
}


	

function layout_produto(){
	global $a_mod;


	// $a_comp = carregar('compra,setor,entidade.user',$_POST[id],'comp_nb_userCadastro','.user_nb_id');
	$sql_comp=selecionar('compra,setor,entidade.user','comp_nb_id',"$_POST[id]"," AND user_nb_id=comp_nb_userCadastro");
	$a_comp= carrega_array($sql_comp);

	// SE TIVER ATUALIZANDO, ENTAO CARREGA OS PRODUTOS JAH CADASTRADOS
	$sql = selecionar('listacompra,compra,produto','list_nb_compra,list_tx_status',"$_POST[id],ativo",'',0);    
	
	
	cabecalho('Requisição de Compra',3);
	
	cactux::abre_form();
	
//  $t1[] = cactux::texto('Código:',zeros($a_comp[comp_nb_id],3),2);
	$t1[] = cactux::texto('Código:',$a_comp[comp_nb_id],2);
	$t1[] = cactux::texto('Setor:',$a_comp[seto_tx_nome],2);
	$t1[] = cactux::texto('Comprador:',$a_comp[user_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_comp[comp_tx_dataCadastro],1),2);

	$t2[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
	$t2[] = cactux::texto('Descrição/Forma de Pagamento:',$a_comp[comp_tx_obsCadastro],4);
//  $t2[] = cactux::texto('Valor:',mostra_valor($a_comp[comp_tx_valor],1),2);

	$gravar=cactux::botao_submit('Gravar',2,'cadastra_produto','id,a_mod,opcao_financeiro,opcao_estoque',"$_POST[id],$a_mod[list_nb_id],$_POST[opcao_financeiro],$_POST[opcao_estoque]");
	
	//LIBERA O BOTAO FINALIZAR SOMENTE SE HOUVER NO MINIMO 1 PRODUTO
	$a_teste1=carregar('listacompra','','list_nb_compra,list_tx_status',"$_POST[id],ativo");
	if($a_teste1[0]!='')    
		$finaliza=cactux::botao('Finalizar',2,'finaliza','id',"$_POST[id]");
	
	$voltar=cactux::botao('Voltar',2,'voltar');


	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3]);
	cactux::linha_fieldset($t2[0],$t2[1],$t2[2]);
	cactux::fecha_fieldset();

	
	cactux::abre_fieldset('Informações dos Produtos');
	

	
	$produto = cactux::combo_net('Produto:','campo_produto_',$a_mod[prod_nb_id],$a_mod[prod_tx_nome],5,array('../combonet/busca_div.php?c=produto','../combonet/busca_net.php?c=produto'),"  onFocus=abre_proximo('div_produto_',".($i+1).")");
	
	if($a_mod[list_tx_unidade]!='') {
		$a_un=carregar('unidade','','unid_tx_status,unid_tx_nome',"!inativo,$a_mod[list_tx_unidade]");
	}
	
	//echo"ENTROU!";
	
	$unidade= cactux::combo_bd('Unidade:','unidade',$a_un[unid_nb_id],$a_un[unid_tx_nome],2,'unidade','',"");
	$qtde = cactux::campo('Quantidade:','qtde',mostra_valor($a_mod[list_tx_qtde]),1," onkeyup='mascara_reais(this);calcula_total(1)'   id=qtde_".$i." ");
	$valor_un= cactux::campo('Valor Unitário:','valor_un',mostra_valor($a_mod[list_tx_valor]),2, "  id=valor_un_".$i." onkeyup='mascara_reais(this);calcula_total(1)'  ");
	$status = cactux::msg_status();

	
	cactux::linha_fieldset($produto,$unidade,$qtde,$valor_un);
	cactux::linha_fieldset($voltar,$gravar,$finaliza,$status);

	//$c1[] = cactux::texto('&nbsp;',"<div style='text-align:right'><B>VALOR TOTAL: $exibe_valor</B></div>",8);
	//$c1[] = cactux::campo('&nbsp;','valor_total',mostra_valor($a_comp[comp_tx_valor]),2, " id=valor_final".MASCARA_VALOR);
	//cactux::linha_fieldset($c1[0],$c1[1]);
	cactux::fecha_fieldset();

	campo_hidden('valor_total_hidden1','0');
	cactux::fecha_form();
	
	
	
	while( $a=carrega_array($sql) ) {

		$modificar=".icone_modificar($a[list_nb_id],modifica_produto,'opcao_financeiro,opcao_estoque','$_POST[opcao_financeiro],$_POST[opcao_estoque]')";
		$excluir=".icone_excluir($a[list_nb_id],exclui_produto,'opcao_financeiro,opcao_estoque','$_POST[opcao_financeiro],$_POST[opcao_estoque]')";
	
	
		$valores[]=array($a[list_nb_id],$a[prod_tx_nome],$a[list_tx_unidade],mostra_valor($a[list_tx_qtde]),mostra_valor($a[list_tx_valor]),mostra_valor($a[list_tx_valor]*$a[list_tx_qtde]),$modificar,$excluir);
	
		$total_qtde+=$a[list_tx_qtde];
		$total_valor+=$a[list_tx_valor];
		$total_total+=($a[list_tx_valor]*$a[list_tx_qtde]);
		
	}
	
	//$valores[]=array('','','<b>TOTAL:</b>',"<b>".mostra_valor($total_qtde)."</b>","<b>".mostra_valor($total_valor)."</b>","<b>".mostra_valor($total_total)."</b>",'','');
	$valor_total=cactux::campo_simples('valor_total',mostra_valor($total_total),2, "maxlength=14 onkeyup='mascara_reais(this);valor_final(this.value)' ");
	$valores[]=array('','','','','<b>TOTAL:</b>',"<b>".mostra_valor($total_total)."</b>",'','');
	
	$valores[]=array('','','','','<b>VALOR FINAL:</b>',$valor_total,'','');
	
	$cabecalho[]=array('COD','PRODUTO','UNIDADE','QUANTIDADE','VALOR UN','VALOR','','');
	$cabecalho[]='c,e,e,e,e,e,e';
	$cabecalho[]='5%,,15%,15%,15%,15%,2%,2%';

	cactux::acao_botao('voltar','modifica_compra','id',$_POST[id]);
	cactux::acao_botao('finaliza','finaliza_produto','id,total,valor_total_hidden2,opcao_financeiro,opcao_estoque',"$_POST[id],$total_total,$total_total,$_POST[opcao_financeiro],$_POST[opcao_estoque]");
	
	grid::gerar($cabecalho,$valores);
	
	//$valor_fim=cactux::campo('Valor Total:','valor_total',mostra_valor($total_total),2, MASCARA_VALOR);
	
	javascript("
	
	function valor_final(valor) {
		
		window.document.finaliza.valor_total_hidden2.value = gera_valor(valor);
		
		
	}

	
	");
	
	
	
	rodape();
	

}


function cadastra_finaliza_agrupado() {


	
	$ids=$_POST[IDS_MOV];

	$a_compra=carregar('compra',$ids[0]);

	$venc_boleto=$_POST[venc_boleto];
	$valor_boleto=$_POST[valor_boleto];

	$a_compra=carregar('compra',$_POST[id]);
	$sql_movimento=selecionar('boleto,movimento','movi_tx_status,bole_tx_status',"ativo,!inativo"," AND movi_nb_compra='$ids[0]'",0);

	if(num_linhas($sql_movimento)>0 && $venc_boleto[0]=='' && $valor_boleto[0]=='' && $_POST[numeroNf]!=''){
	
		while($a_mov=carrega_array($sql_movimento)){
			
			$cam=array(movi_tx_valordoc,movi_tx_notafiscal);
			$val=array(($a_mov[movi_tx_valordoc]+valor($_POST[valorNf])),$a_mov[movi_tx_notafiscal]."; $_POST[numeroNf]");
			atualizar('movimento',$cam,$val,$a_mov[movi_nb_id]);
			
			$cam=array(bole_tx_obs);
			$val=array($a_mov[movi_tx_notafiscal]."; $_POST[numeroNf]");
			atualizar('boleto',$cam,$val,$a_mov[bole_nb_id]);
			
		
		}
		
		
	
	}
	//-----------------------------------------------------------------------
	

	if($_POST[planoconta] == '' || $_POST[planoconta] == 0  ){
	
		set_status('ERRO: Preecha todos os campos!');
		index();
		exit;
	
	}
	
	
	$ids=$_POST[IDS_MOV];

	$a_compra=carregar('compra',$ids[0]);
	
	$valor_boleto=$_POST[valor_boleto];
	$obs_boleto=$_POST[obs_boleto];
	$venc_boleto=$_POST[venc_boleto];
	$baixa=$_POST[baixa_boleto];
	
	$t_boleto = count($venc_boleto);
	
	// if( $_POST[numeroNf] != '' ) {
	
		// $sql_teste=selecionar('movimento','movi_tx_status',"!inativo"," AND movi_nb_ref='$a_compra[comp_nb_entidade]' AND movi_tx_notafiscal='$_POST[numeroNf]'");
		// if( num_linhas($sql_teste) > 0 ) {
		
			// set_status('ERRO: Nota fiscal já cadastrada!');
			// layout_finaliza();
			// exit;
		// }
		
	// }
	
	
	$parcelas=0;
	
	for($i=0;$i!=$t_boleto;$i++){

		$valor_vez = valor($valor_boleto[$i]);
		$venc_vez = gera_data($venc_boleto[$i],1);
		$obs_vez = $obs_boleto[$i];
	
		if( $valor_vez=='0'  || $venc_vez=='' || $venc_vez == '0000-00-00')
			continue;
		else
			$parcelas++;
	}
	
	// if( $parcelas == 0 ) {
		// set_status('ERRO: Cadastre as informações do boleto');
		// layout_finaliza();
		// exit;
	// }
	
	
	$diretorio = $_SERVER[DOCUMENT_ROOT] . "/agropet/arquivos/financeiro/";
	$arq = isset($_FILES['arquivo1']) ? $_FILES['arquivo1'] : FALSE; 
	if( $arq ) {
		
		$nome = $diretorio . $ids[0]."_notafiscal".substr($arq['name'],-4);
		
		$r = @move_uploaded_file($arq['tmp_name'], $nome);
		if( $r == 1 ) {
			$nota_autoriza = $nome;
		} 
		
	} 

	$arq = isset($_FILES['arquivo2']) ? $_FILES['arquivo2'] : FALSE; 
	if( $arq ) {
		
		$nome = $diretorio .$ids[0]."_boleto".substr($arq['name'],-4);
		
		$r = @move_uploaded_file($arq['tmp_name'], $nome);
		if( $r == 1 ) {
			$boleto_autoriza = $nome;
		}
	} 
	

	
	
	$campos=array(movi_tx_tipo,movi_nb_centrocusto,movi_nb_planoconta,movi_nb_ref,movi_tx_data,movi_tx_valordoc,
			movi_tx_notafiscal,movi_tx_parcelas,movi_tx_status,movi_tx_documento,movi_tx_arquivo,movi_nb_compra);
	$valores=array(Saída,$_POST[centro],$_POST[planoconta],$a_compra[comp_nb_entidade],gera_data("hoje",1),valor($_POST[valorNf]),
			$_POST[numeroNf],$parcelas,ativo,$_POST[documento],basename($nota_autoriza),$ids[0]);
	
	inserir('movimento',$campos,$valores,1);
	
	$movi=ultimo_reg('movimento');
	$parcelas2=$parcelas;
	$parcelas = 0;
	
	for($j=0; $j!=$t_boleto; $j++){
	
		$valor_vez = valor($valor_boleto[$j]);
		$venc_vez = gera_data($venc_boleto[$j],1);
		$obs_vez = $obs_boleto[$j];
	
		if( $valor_vez=='0'  || $venc_vez=='' || $venc_vez == '0000-00-00')
			continue;
		
		if( $_POST[numeroNf] != '' )
			$obs_vez1 = " NF: $_POST[numeroNf] ";
		
		if( $valor_vez!='0'  || $venc_vez!='' || $venc_vez != '0000-00-00')
			$parcela_obs_vez;
		
	
		$obs_vez2 = (++$parcela_obs)."/".$parcelas2."  "; 
		
		if($baixa[$j]==''){
			$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro);
			$valores=array($movi,$venc_vez,$venc_vez,++$parcelas,ativo,$obs_vez2.$obs_vez.$obs_vez1,$valor_vez,gera_data("hoje",1),$_SESSION[user_nb_id]);
			inserir('boleto',$campos,$valores,1);
			unset($obs_vez1,$obs_vez2);
		} else {
			$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro,bole_tx_valor,bole_tx_data);
			$valores=array($movi,$venc_vez,$venc_vez,++$parcelas,encerrado,$obs_vez1.$obs_vez2.$obs_vez,$valor_vez,gera_data("hoje",1),$_SESSION[user_nb_id],$valor_vez,$venc_vez);
			inserir('boleto',$campos,$valores,1);
			
			$ultimo_boleto=ultimo_reg('boleto');
			
			$valores2=array($ultimo_boleto,1,$valor_vez,$venc_vez,ativo,$_POST[planoconta]);
			$campos2=array(fobo_nb_boleto,fobo_nb_forma,fobo_tx_valor,fobo_tx_data,fobo_tx_status,fobo_nb_planoconta);
			inserir('fobo',$campos2,$valores2,1);
			
			unset($obs_vez1,$obs_vez2);
		
		
		}
	}
	

	$t_ids=count($ids);
	
	for($x=0;$x!=$t_ids;$x++){

		$campos=array(comp_tx_status,comp_tx_dataFinaliza,comp_nb_userFinaliza,comp_tx_notaAutoriza,comp_tx_boletoAutoriza,comp_nb_movimento,comp_tx_obsFinaliza);
		$valores=array(Finalizado,date("Y-m-d H:i:s"),$_SESSION[user_nb_id],$nota_autoriza,$boleto_autoriza,$movi,$_POST[obs_finaliza]);
		atualizar('compra',$campos,$valores,$ids[$x]);
	}
	
	
	if($_POST[adicionar]==''){
		
				
		
		set_status('Compra finalizada com sucesso!');
		index();
		
	}else{
		set_status('Nota Fiscal Adicionado!');
		seleciona_layout_finaliza();
	
	}
	
	
	//set_status('Compra finalizada com sucesso!');
//  index();

	exit;
}



function cadastra_finaliza() {
	
	$venc_boleto=$_POST[venc_boleto];
	$valor_boleto=$_POST[valor_boleto];

	$a_compra=carregar('compra',$_POST[id]);
	$sql_movimento=selecionar('boleto,movimento','movi_tx_status,bole_tx_status',"ativo,!inativo"," AND movi_nb_compra='$_POST[id]'");
	if(num_linhas($sql_movimento)>0 && $venc_boleto[0]=='' && $valor_boleto[0]=='' && $_POST[numeroNf]!=''){
	
		while($a_mov=carrega_array($sql_movimento)){
			
			$cam=array(movi_tx_valordoc,movi_tx_notafiscal);
			$val=array(($a_mov[movi_tx_valordoc]+valor($_POST[valorNf])),$a_mov[movi_tx_notafiscal]."; $_POST[numeroNf]");
			atualizar('movimento',$cam,$val,$a_mov[movi_nb_id]);
			
			$cam=array(bole_tx_obs);
			$val=array($a_mov[movi_tx_notafiscal]."; $_POST[numeroNf]");
			atualizar('boleto',$cam,$val,$a_mov[bole_nb_id]);
		}
		
		
	
	}
	//-----------------------------------------------------------------------
	
	if($_POST[planoconta] == '' || $_POST[planoconta] == 0  ){
	
		set_status('ERRO: Preecha todos os campos!');
		index();
		exit;
	
	}
	

	$a_compra=carregar('compra',$_POST[id]);
	
	$valor_boleto=$_POST[valor_boleto];
	$obs_boleto=$_POST[obs_boleto];
	$venc_boleto=$_POST[venc_boleto];
	$baixa=$_POST[baixa_boleto];
	
	
	$t_boleto = count($venc_boleto);
	
	// if($_POST[numeroNf]!=''){
		// $sql_teste=selecionar('movimento','movi_tx_status',"!inativo"," AND movi_nb_ref='$a_compra[comp_nb_entidade]' AND movi_tx_notafiscal='$_POST[numeroNf]'");
		// if(num_linhas($sql_teste)>0){
		
			// set_status('ERRO: Nota fiscal já cadastrada!');
			// layout_finaliza();
			// exit;
		
		
		// }
	// }
	
	
	$parcelas=0;
	
	for($i=0;$i!=$t_boleto;$i++){

		$valor_vez = valor($valor_boleto[$i]);
		$venc_vez = gera_data($venc_boleto[$i],1);
		$obs_vez = $obs_boleto[$i];
	
		if( $valor_vez=='0'  || $venc_vez=='' || $venc_vez == '0000-00-00')
			continue;
		else
			$parcelas++;
			
	}
	
	// if( $parcelas == 0 ) {
		// set_status('ERRO: Cadastre as informações do boleto');
		// layout_finaliza_original();
		// exit;
	// }
	
	
	

	$diretorio = $_SERVER[DOCUMENT_ROOT] . "/agropet/arquivos/financeiro/";
	$arq = isset($_FILES['arquivo1']) ? $_FILES['arquivo1'] : FALSE; 
	if( $arq ) {
		
		$nome = $diretorio . $_POST[id]."_notafiscal".substr($arq['name'],-4);
		
		$r = @move_uploaded_file($arq['tmp_name'], $nome);
		if( $r == 1 ) {
			$nota_autoriza = $nome;
		} 
		
	} 

	$arq = isset($_FILES['arquivo2']) ? $_FILES['arquivo2'] : FALSE; 
	if( $arq ) {
		
		$nome = $diretorio .$_POST[id]."_boleto".substr($arq['name'],-4);
		
		$r = @move_uploaded_file($arq['tmp_name'], $nome);
		if( $r == 1 ) {
			$boleto_autoriza = $nome;
		}
	} 
	

	
	
	$campos=array(movi_tx_tipo,movi_nb_centrocusto,movi_nb_planoconta,movi_nb_ref,movi_tx_data,movi_tx_valordoc,
			movi_tx_notafiscal,movi_tx_parcelas,movi_tx_status,movi_tx_documento,movi_tx_arquivo,movi_nb_compra);
	$valores=array(Saída,$_POST[centro],$_POST[planoconta],$a_compra[comp_nb_entidade],gera_data("hoje",1),valor($_POST[valorNf]),
			$_POST[numeroNf],$parcelas,ativo,$_POST[documento],basename($nota_autoriza),$_POST[id]);
	
	inserir('movimento',$campos,$valores,1);
	
	$movi=ultimo_reg('movimento');
	$parcelas2=$parcelas;
	$parcelas = 0;
	
	
	for($j=0; $j!=$t_boleto; $j++){
	
		$valor_vez = valor($valor_boleto[$j]);
		$venc_vez = gera_data($venc_boleto[$j],1);
		$obs_vez = $obs_boleto[$j];
	
		if( $valor_vez=='0'  || $venc_vez=='' || $venc_vez == '0000-00-00')
			continue;
		
		if( $_POST[numeroNf] != '' )
		$obs_vez1 = " NF: $_POST[numeroNf] ";
		
		if( $valor_vez!='0'  || $venc_vez!='' || $venc_vez != '0000-00-00')
			$parcela_obs_vez;
		
	
		$obs_vez2 = (++$parcela_obs)."/".$parcelas2."  "; 
		
		if($baixa[$j]==''){
			$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro);
			$valores=array($movi,$venc_vez,$venc_vez,++$parcelas,ativo,$obs_vez2.$obs_vez.$obs_vez1,$valor_vez,gera_data("hoje",1),$_SESSION[user_nb_id]);
			inserir('boleto',$campos,$valores,1);
			unset($obs_vez1,$obs_vez2);
		}else{
			$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro,bole_tx_valor,bole_tx_data);
			$valores=array($movi,$venc_vez,$venc_vez,++$parcelas,encerrado,$obs_vez2.$obs_vez.$obs_vez1,$valor_vez,gera_data("hoje",1),$_SESSION[user_nb_id],$valor_vez,$venc_vez);
			inserir('boleto',$campos,$valores,1);
			
			$ultimo_boleto=ultimo_reg('boleto');
			
			$valores2=array($ultimo_boleto,1,$valor_vez,$venc_vez,ativo,$_POST[planoconta]);
			$campos2=array(fobo_nb_boleto,fobo_nb_forma,fobo_tx_valor,fobo_tx_data,fobo_tx_status,fobo_nb_planoconta);
			inserir('fobo',$campos2,$valores2,1);
			
			unset($obs_vez1,$obs_vez2);
		
		
		}
	}
	



	$campos=array(comp_tx_status,comp_tx_dataFinaliza,comp_nb_userFinaliza,comp_tx_notaAutoriza,comp_tx_boletoAutoriza,comp_nb_movimento,comp_tx_obsFinaliza);
	$valores=array(Finalizado,date("Y-m-d H:i:s"),$_SESSION[user_nb_id],$nota_autoriza,$boleto_autoriza,$movi,$_POST[obs_finaliza]);
	atualizar('compra',$campos,$valores,$_POST[id]);
	
	
	$_POST[boleto]=$ultimo_boleto;
	
	if($_POST[frete]=='Adicionar'){
			layout_frete();
			exit;
	}
	if($_POST[adicionar]==''){
		
				
		
			set_status('Compra finalizada com sucesso!');
			index();
		
	}else{
		set_status('Nota Fiscal Adicionado!');
		layout_finaliza_original();
	
	}
	exit;
	
	

	
}

function layout_frete(){

	
	
	cabecalho('',2);
	
	cactux::abre_form('upload');
	
	$c[] = cactux::combo_net('Transportadora:','nome',$_POST[busca_nome],$_POST[nome_busca_nome],5,array('../compra/busca_div.php?c=entidade','../compra/busca_net.php?c=entidade'));
	$c[]=cactux::campo('Nota Fiscal:','nf','',2);
	$c[] = cactux::campo_arquivo('NF Digitalizado:','arquivo_frete',3);
	$c[]=cactux::campo('Vencimento:','data','',2, MASCARA_DATA);
	$c[]=cactux::campo('Valor:','valor','',2, MASCARA_VALOR);
	$c[]=cactux::combo('Opção de Baixa:','baixa2',array('','Baixar'),'',2);
	
	$voltar=cactux::botao('Voltar',2,'voltar');
	$gravar=cactux::botao_submit('Gravar',2,'gravar_frete','id',$_POST[id]);
	
	
	cactux::abre_fieldset('Dados do Frete');
	cactux::linha_fieldset($c[0],$c[1],$c[2]);
	cactux::linha_fieldset($c[3],$c[4],$c[5]);
	cactux::linha_fieldset($voltar,$gravar);
	cactux::fecha_fieldset();
	
	
	cactux::fecha_form();

	cactux::acao_botao('voltar','index');
	
	
}


function gravar_frete(){

	

	$valor_boleto=$_POST[valor_boleto];
	$obs_boleto=$_POST[obs_boleto];
	$venc_boleto=$_POST[venc_boleto];
	$baixa=$_POST[baixa_boleto];
	
	$a_compra=carregar('compra,movimento',$_POST[id]);
	
	$_POST[centro]=$a_compra[movi_nb_centrocusto];
	$_POST[planoconta]=$a_compra[movi_nb_planoconta];
	$_POST[documento]=$a_compra[movi_tx_documento];
	
	$boleto=carregar('boleto','','bole_nb_movimento',"$a_compra[movi_nb_id]");
	
	
	
	
	
	$diretorio = $_SERVER[DOCUMENT_ROOT] . "/agropet/arquivos/financeiro/";
	$arq = isset($_FILES['arquivo_frete']) ? $_FILES['arquivo_frete'] : FALSE; 
	if( $arq ) {
		
		$nome = $diretorio . $_POST[id]."_notafiscal_frete".substr($arq['name'],-4);
		
		$r = @move_uploaded_file($arq['tmp_name'], $nome);
		if( $r == 1 ) {
			$nota_autoriza = $nome;
		} 
		
	} 
	
	
	
	$campos=array(movi_tx_tipo,movi_nb_centrocusto,movi_nb_planoconta,movi_nb_ref,movi_tx_data,movi_tx_valordoc,
			movi_tx_notafiscal,movi_tx_parcelas,movi_tx_status,movi_tx_documento,movi_tx_arquivo,movi_nb_compra);
	$valores=array(Saída,$_POST[centro],$_POST[planoconta],$_POST[nome],gera_data("hoje",1),valor($_POST[valor]),
			$_POST[nf],1,ativo,$_POST[documento],basename($nota_autoriza),$_POST[id]);
	
	inserir('movimento',$campos,$valores,1);
	
	$movi=ultimo_reg('movimento');

	
	if($_POST[baixa2]==''){
			$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro);
			$valores=array($movi,gera_data($_POST[data],1),gera_data($_POST[data],1),++$parcelas,ativo,"Nf:$_POST[nf]-Pagamento de frete referênte ao boleto $boleto[bolenb_id]",valor($_POST[valor],1),gera_data("hoje",1),$_SESSION[user_nb_id]);
			inserir('boleto',$campos,$valores,1);
			unset($obs_vez1,$obs_vez2);
		}else{
			$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro,bole_tx_valor,bole_tx_data);
			$valores=array($movi,gera_data($_POST[data],1),gera_data($_POST[data],1),++$parcelas,encerrado,"Nf:$_POST[nf]-Pagamento de frete referênte ao boleto $boleto[bole_nb_id]",valor($_POST[valor],1),gera_data("hoje",1),$_SESSION[user_nb_id],valor($_POST[valor],1),gera_data($_POST[data],1));
			inserir('boleto',$campos,$valores,1);
			
			$ultimo_boleto=ultimo_reg('boleto');
			
			$valores2=array($ultimo_boleto,1,valor($_POST[valor],1),gera_data($_POST[data],1),ativo,$_POST[planoconta]);
			$campos2=array(fobo_nb_boleto,fobo_nb_forma,fobo_tx_valor,fobo_tx_data,fobo_tx_status,fobo_nb_planoconta);
			inserir('fobo',$campos2,$valores2,1);
			
			unset($obs_vez1,$obs_vez2);
		
		
		}
		
		index();
		exit;



}



function remover_movimento(){




	$a_movimento=carregar('boleto,movimento',$_POST[id]);
	
	remover('movimento',$a_movimento[bole_nb_movimento]);
	remover('boleto',$_POST[id]);
	
	$_POST[id]=$a_movimento[movi_nb_compra];
	
	layout_finaliza_original();
	exit;




}


function layout_finaliza_original() {

	global $a_mod;
	
	if($_POST[id]==''){
		$id=ids_agrupados($_POST[ids_agrupados]);
		$_POST[id]=$id[0];
	}
	
	// $a_comp = carregar('compra,setor,entidade.user',$_POST[id],"comp_nb_userCadastro",".user_nb_id");
	$sql_comp=selecionar('compra,setor,entidade.user','comp_nb_id',"$_POST[id]"," AND user_nb_id=comp_nb_userCadastro");
	$a_comp= carrega_array($sql_comp);
	$a_auto = carregar('user',$a_comp[comp_nb_userGestor]);
	$a_movimento=carregar('movimento',$a_comp[comp_nb_movimento]);
	
	$a_plano = carregar('planoconta',$a_comp[enti_nb_planoconta]);
	$a_centro= carregar('centrocusto',$a_comp[enti_nb_centrocusto]);
	

	
	cabecalho('Requisição de Compra',2);
	
//  frame_interno(1);
	
	cactux::abre_form('upload');
	
	$t1[] = cactux::texto('Código:',zeros($a_comp[comp_nb_id],3),2);
	$t1[] = cactux::texto('Setor:',$a_comp[seto_tx_nome],2);
	$t1[] = cactux::texto('Comprador:',$a_comp[user_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_comp[comp_tx_dataCadastro],1),2);

	$t2[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
	$t2[] = cactux::texto('Descrição:',$a_comp[comp_tx_obsCadastro],4);
//  $t2[] = cactux::texto('Valor:',mostra_valor($a_comp[comp_tx_valor],1),2);

	$t3[] = cactux::texto('Situação:',$a_comp[comp_tx_status],2);
	$t3[] = cactux::texto('Autorizado Por:',$a_auto[user_tx_nome],2);
	$t3[] = cactux::texto('Observação:',$a_comp[comp_tx_obsAutoriza],4);
	$t3[] = cactux::texto('Arquivo:',"",2);
	
	$c[] = cactux::campo('Número NF:','numeroNf','',2," onblur=valida_notafiscal(this.value,".$a_comp[enti_nb_id].") ");
	$c[] = cactux::campo('Valor NF:','valorNf','',2,MASCARA_VALOR);
	$c[] = cactux::combo_bd('Centro de Custo:','centro',$a_centro[cent_nb_id],$a_centro[cent_tx_nome],3,'centrocusto','',".nome");
	$c[] = cactux::combo_net('Plano Conta:','planoconta',$a_plano[plan_nb_id],$a_plano[plan_tx_nome],3,array("busca_div.php?c=planoconta","busca_net.php?c=planoconta"));
	$c[] = cactux::textarea('Descrição:','obs_finaliza',$a_comp[comp_tx_obsFinaliza],10,3);
	
	$c[] = cactux::campo_arquivo('NF Digitalizado:','arquivo1',5);
	//$c[] = cactux::campo_arquivo('Boletos Digitalizados:','arquivo2',5);
	$c[]=cactux::combo('Documento:','documento',array('','Carteira','Boleto','Transferência'),$a_movimento[movi_tx_documento],2);
	$c[]=cactux::combo('Adicionar Nota Fiscal:','adicionar',array('','Adicionar Nota Fiscal'),$a_movimento[movi_nb_compra],2);
	$frete=cactux::combo('Frete:','frete',array('','Adicionar'),'',2);
	
	//$c4[] = cactux::combo_bd('Plano Conta:','planoconta',$a_plano[0],$a_plano[1],3,'planoconta','',".nome");
	

	
	cactux::abre_fieldset('Informações da Finalização');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3]);
	cactux::linha_fieldset($t2[0],$t2[1],$t2[2]);
	cactux::linha_fieldset($t3[0],$t3[1],$t3[2],$t3[3]);
	
	cactux::linha_fieldset($c[0],$c[1],$c[2],$c[3]);
	cactux::linha_fieldset($c[4]);
	cactux::linha_fieldset($c[5],$c[6],$c[7],$frete);

	for($i=0; $i!=24; $i++) {
		
		$c1 = cactux::campo('Vencimento Boleto:','venc_boleto[]','',2, MASCARA_DATA." onFocus=abre_proximo('div_boleto_',".($i+1).")");
		$c2 = cactux::campo('Valor Boleto:','valor_boleto[]','',2,MASCARA_VALOR." onFocus=abre_proximo('div_boleto_',".($i+1).")");
		$c3 = cactux::campo('Descrição Boleto:','obs_boleto[]','',4," onFocus=abre_proximo('div_boleto_',".($i+1).")");
		$c4 = cactux::combo('Opção de Baixa:','baixa_boleto[]',array('','Baixar'),'',2," onFocus=abre_proximo('div_boleto_',".($i+1).")");
		
		
		if( $i == 0 )   $display='block';   else    $display='none';

		echo "<div id=div_boleto_".$i." style='display:$display'>";
		cactux::linha_fieldset($c1,$c2,$c3,$c4);        
		echo "</div>";
		
	}

	$finaliza=cactux::botao_submit('Gravar',2,'cadastra_finaliza','id',"$_POST[id]");
	$voltar=cactux::botao('Voltar',2,'voltar');
	$status = cactux::msg_status();

	cactux::fecha_fieldset();
	

	
	cactux::linha_fieldset($voltar,$finaliza,$status);

	cactux::fecha_form();
	cactux::acao_botao('voltar','index');


	// ------------------------------------------------------------
	// GRID COM AS NOTAS FISCAIS (MOVIMENTO) CADASTRADAS
	// ------------------------------------------------------------
	$sql_movimento=selecionar('boleto,movimento','movi_tx_status',"ativo"," AND movi_nb_compra='$_POST[id]' GROUP BY movi_nb_id");
	if( num_linhas($sql_movimento) > 0 ) {
	
		while( $a_mov = carrega_array($sql_movimento) ) {
		
			$total_valores_mov += $a_mov[movi_tx_valordoc];
			$remover_mov=".icone_excluir($a_mov[bole_nb_id],remover_movimento);";
		
			$valores2[]=array($a_mov[bole_nb_id],$a_mov[movi_tx_notafiscal],mostra_valor($a_mov[movi_tx_valordoc]),$remover_mov);
		
		}
		
		$valores2[]=array('','<b>TOTAL:</b>',"<b>".mostra_valor($total_valores_mov),'');
		
		$cabeca2[] = array('','NOTA FISCAL','VALOR','');
		$cabeca2[] = 'e,e,e,e';
		$cabeca2[] = '5%,40%,,2%';
		$cabeca2[] = '50%';
	
		
		grid::gerar($cabeca2,$valores2);
		
	}
	
	
	$cabeca[] = array('','PRODUTO','QUANTIDADE','VALOR UN.','VALOR');
	$cabeca[] = 'c,e,d,d,d';
	$cabeca[] = '5%,,10%,10%,10%';

	$sql=selecionar('listacompra,compra,produto','list_nb_compra,list_tx_status',"$_POST[id],ativo"," ORDER BY prod_tx_nome,list_nb_id");
	while( $a=carrega_array($sql) ) {
		
		$valor = $a[list_tx_valor]*$a[list_tx_qtde];
		$valor_total += $valor;
		
		$valores[] = array(++$j,$a[prod_tx_nome],mostra_valor($a[list_tx_qtde],1),mostra_valor($a[list_tx_valor],1),mostra_valor($valor));
		
	}
	if(mostra_valor($a_comp[comp_tx_valor],1) != mostra_valor($valor_total,1))
		$valores[]=array('','','','<B>SUB-TOTAL:','<B>'.mostra_valor($valor_total,1));
	
	
	$valores[]=array('','','','<B>TOTAL:','<B>'.mostra_valor($a_comp[comp_tx_valor],1));
	
	grid::gerar($cabeca,$valores);



	javascript("

	function abre_proximo(nome,id_proximo) {

		document.getElementById(nome+id_proximo).style.display='block'; 
		
	}
	
	
	function valida_notafiscal(nf,entidade) {

		if( nf != '' && nf != ' ' )
			frame_interno('requisicao.php?".cactux_cookie::url_sistema()."&acao=verifica_notafiscal&nf='+nf+'&enti='+entidade);
		
	}
	

	");
	
	rodape();
	
}


function layout_finaliza() {


	global $a_mod;
		

	$IDS_MOV = ids_agrupados($_POST[ids_agrupados]);
	
	$t_ids=count($IDS_MOV);
	
	cabecalho('Requisição de Compra',2);
	
	cactux::abre_form('upload');
	
		
	cactux::abre_fieldset('Informações da Finalização');
	
	for($y=0;$y!=$t_ids;$y++){
	
	campo_hidden('IDS_MOV[]',$IDS_MOV[$y]);
		
		
		if($y==0)
			$extra.=" list_nb_compra='$IDS_MOV[$y]'";
		else
			$extra.=" OR list_nb_compra='$IDS_MOV[$y]'";
		
		// $a_comp = carregar('compra,setor,entidade.user',$IDS_MOV[$y],"comp_nb_userCadastro",".user_nb_id");
		$sql_comp=selecionar('compra,setor,entidade.user','comp_nb_id',$IDS_MOV[$y]," AND user_nb_id=comp_nb_userCadastro");
		$a_comp = carrega_array($sql_comp);
		$a_auto = carregar('user',$a_comp[comp_nb_userGestor]);
		$a_movimento=carregar('movimento',$a_comp[comp_nb_movimento]);
		
		$a_plano = carregar('planoconta',$a_comp[enti_nb_planoconta]);
		$a_centro= carregar('centrocusto',$a_comp[enti_nb_centrocusto]);
		
		
		$t11 = cactux::texto('Código:',zeros($a_comp[comp_nb_id],3),1);
		$t12 = cactux::texto('Data:',data($a_comp[comp_tx_dataCadastro],1),1);
		$t13 = cactux::texto('Descrição:',$a_comp[comp_tx_obsCadastro],3);
		$t15 = cactux::texto('Observação:',$a_comp[comp_tx_obsAutoriza],4);
//      $t14 = cactux::texto('Situação:',$a_comp[comp_tx_status],1);
		$t14 = cactux::texto('Valor:',mostra_valor($a_comp[comp_tx_valor],1),1);
		
		cactux::linha_fieldset($t11,$t12,$t13,$t15,$t14);
		
	}

	
	
	
	$t2[] = cactux::texto('Setor:',$a_comp[seto_tx_nome],2);
	$t2[] = cactux::texto('Comprador:',$a_comp[user_tx_nome],4);
	$t2[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
//  $t2[] = cactux::texto('Valor:',mostra_valor($a_comp[comp_tx_valor],1),2);

	$t2[] = cactux::texto('Autorizado Por:',$a_auto[user_tx_nome],2);
	$t2[] = cactux::texto('Arquivo:',"",2);
	
	$c[] = cactux::campo('Número NF:','numeroNf','',2," onblur=valida_notafiscal(this.value,".$a_comp[enti_nb_id].") ");
	$c[] = cactux::campo('Valor NF:','valorNf','',2,MASCARA_VALOR);
	$c[] = cactux::combo_bd('Centro de Custo:','centro',$a_centro[cent_nb_id],$a_centro[cent_tx_nome],3,'centrocusto','',".nome");
	$c[] = cactux::combo_net('Plano Conta:','planoconta',$a_plano[plan_nb_id],$a_plano[plan_tx_nome],3,array("busca_div.php?c=planoconta","busca_net.php?c=planoconta"));
	$c[] = cactux::textarea('Descrição:','obs_finaliza',$a_comp[comp_tx_obsFinaliza],10,3);
	
	$c[] = cactux::campo_arquivo('NF Digitalizado:','arquivo1',5);
	//$c[] = cactux::campo_arquivo('Boletos Digitalizados:','arquivo2',5);
	$c[]=cactux::combo('Documento:','documento',array('','Carteira','Boleto','Transferência'),$a_movimento[movi_tx_documento],2);
	$c[]=cactux::combo('Adicionar Nota Fiscal:','adicionar',array('','Adicionar Nota Fiscal'),$a_movimento[movi_nb_compra],3);
	
	//$c4[] = cactux::combo_bd('Plano Conta:','planoconta',$a_plano[0],$a_plano[1],3,'planoconta','',".nome");
	

	
	
	cactux::linha_fieldset($t2[0],$t2[1],$t2[2]);
	cactux::linha_fieldset($t2[3],$t2[4]);
	
	cactux::linha_fieldset($c[0],$c[1],$c[2],$c[3]);
	cactux::linha_fieldset($c[4]);
	cactux::linha_fieldset($c[5],$c[6],$c[7]);

	for($i=0; $i!=24; $i++) {
		
		$c1 = cactux::campo('Vencimento Boleto:','venc_boleto[]','',2, MASCARA_DATA." onFocus=abre_proximo('div_boleto_',".($i+1).")");
		$c2 = cactux::campo('Valor Boleto:','valor_boleto[]','',2,MASCARA_VALOR." onFocus=abre_proximo('div_boleto_',".($i+1).")");
		$c3 = cactux::campo('Descrição Boleto:','obs_boleto[]','',5," onFocus=abre_proximo('div_boleto_',".($i+1).")");
		
		
		if( $i == 0 )   $display='block';   else    $display='none';

		echo "<div id=div_boleto_".$i." style='display:$display'>";
		cactux::linha_fieldset($c1,$c2,$c3);        
		echo "</div>";
		
	}

	$finaliza=cactux::botao_submit('Gravar',2,'cadastra_finaliza_agrupado','id,ids_agrupados',"$_POST[id],$_POST[ids_agrupados]");
	$voltar=cactux::botao('Voltar',2,'voltar');

	$status = cactux::msg_status();

	cactux::fecha_fieldset();
	

	
	cactux::linha_fieldset($voltar,$finaliza,$status);

	cactux::fecha_form();
	cactux::acao_botao('voltar','index');
	
	
	// ------------------------------------------------------------
	// GRID COM AS NOTAS FISCAIS (MOVIMENTO) CADASTRADAS
	// ------------------------------------------------------------
	$extra_id = implode(",",$IDS_MOV);
	$sql_movimento=selecionar('boleto,movimento','movi_tx_status',"ativo"," AND movi_nb_compra IN ('$extra_id') GROUP BY movi_nb_id");
	if( num_linhas($sql_movimento) > 0 ) {
	
		while( $a_mov = carrega_array($sql_movimento) ) {
		
			$total_valores_mov += $a_mov[movi_tx_valordoc];
			$remover_mov=".icone_excluir($a_mov[bole_nb_id],remover_movimento);";
		
			$valores2[]=array($a_mov[bole_nb_id],$a_mov[movi_tx_notafiscal],mostra_valor($a_mov[movi_tx_valordoc]),$remover_mov);
		
		}
		
		$valores2[]=array('','<b>TOTAL:</b>',"<b>".mostra_valor($total_valores_mov),'');
		
		$cabeca2[] = array('','NOTA FISCAL','VALOR','');
		$cabeca2[] = 'e,e,e,e';
		$cabeca2[] = '5%,40%,,2%';
		$cabeca2[] = '50%';
	
		
		grid::gerar($cabeca2,$valores2);
		
	}
	
	
	
	
	$cabeca[] = array('','PRODUTO','QUANTIDADE','VALOR UN.','VALOR');
	$cabeca[] = 'c,e,d,d,d';
	$cabeca[] = '5%,,10%,10%,10%';

	$sql=selecionar('listacompra,compra,produto','list_tx_status',"ativo"," AND ( $extra ) ORDER BY prod_tx_nome,list_nb_id",0);
	while( $a=carrega_array($sql) ) {
		
		$valor = $a[list_tx_valor]*$a[list_tx_qtde];
		$valor_total += $valor;
		
		$valores[] = array(++$j,$a[prod_tx_nome],mostra_valor($a[list_tx_qtde],1),mostra_valor($a[list_tx_valor],1),mostra_valor($valor));
		
	}
	//if(mostra_valor($a_comp[comp_tx_valor],1) != mostra_valor($valor_total,1))
	//  $valores[]=array('','','','<B>SUB-TOTAL:','<B>'.mostra_valor($valor_total,1));
	
	
	$valores[]=array('','','','<B>TOTAL:','<B>'.mostra_valor($valor_total,1));
	
	grid::gerar($cabeca,$valores);



	javascript("
	
	function abre_proximo(nome,id_proximo) {

		document.getElementById(nome+id_proximo).style.display='block'; 
		
	}


	
	function valida_notafiscal(nf,entidade) {

		if( nf != '' && nf != ' ' )
			frame_interno('requisicao.php?".cactux_cookie::url_sistema()."&acao=verifica_notafiscal&nf='+nf+'&enti='+entidade);
		
	}
	
	
	
	");
	
	rodape();
	
}


function layout_compra() {

	global $a_mod;
	
	

	cabecalho('Requisição de Compra',2);

	cactux::abre_form();
	if($_SESSION[user_tx_nivel]!="Comprador" || $_SESSION[user_tx_nivel]!="Informatica")
		$c[] = cactux::combo_bd('!Setor:','setor',$a_mod[seto_nb_id],$a_mod[seto_tx_nome],2,'setor','',"1  ORDER BY seto_tx_nome");
	else{
		$c[] = cactux::combo_bd('Setor:','setor',$a_mod[seto_nb_id],$a_mod[seto_tx_nome],2,'setor',''," 1 AND seto_nb_id=$_SESSION[user_nb_setor]");
	}
	$c[] = cactux::combo_net('Fornecedor:','fornecedor',$a_mod[enti_nb_id],$a_mod[enti_tx_nome],4,array('../combonet/busca_div.php?c=entidade','../combonet/busca_net.php?c=entidade'));
//  $c[] = cactux::campo('Valor Total:','valor',mostra_valor($a_mod[comp_tx_valor]),2, MASCARA_VALOR);
	$c[] = cactux::campo('Data:','data',date("d/m/Y"),2, "disabled=disabled");


	$opcao1 = cactux::combo('Gerar&nbsp;Financeiro:','opcao_financeiro',array('Não','Sim','Bonificação'),'',1);
	$opcao2 = cactux::combo('Baixar&nbsp;Estoque:','opcao_estoque',array('Não','Sim'),'',1);
	
	$c1[] = cactux::textarea('Descrição/Forma de Pagamento:','obs',$a_mod[comp_tx_obsCadastro],10,3);

	
	$avancar=cactux::botao_submit('Avançar',2,'cadastra_compra','id',$_POST[id]);
	$voltar=cactux::botao('Voltar',2,'voltar');
	$status=cactux::msg_status();
	
	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($c[0],$c[1],$c[2],$opcao1,$opcao2);
	cactux::linha_fieldset($c1[0]);
	cactux::linha_fieldset($voltar,$avancar,$status);
	cactux::fecha_fieldset();
	
	cactux::fecha_form();
	
	cactux::acao_botao('voltar','index');
}




function layout_imprime(){

	// $a_comp=carregar('compra,setor,entidade.user',$_POST[id],'',""," AND user_nb_id=comp_nb_userCadastro");
	$sql_comp=selecionar('compra,setor,entidade.user','comp_nb_id',$_POST[id]," AND user_nb_id=comp_nb_userCadastro");
	$a_comp = carrega_array($sql_comp);
	
	if( $a_comp[comp_tx_status]!='Solicitado' && $a_comp[comp_tx_status]!='Negado' )
		cabecaRelatorioVenda('Autorização de Compra');
	else
		cabecaRelatorioVenda('Solicitação de Compra');

	
	cactux::fecha_form();
		
	$t1[] = cactux::texto('Código:',zeros($a_comp[comp_nb_id],3),2);
	$t1[] = cactux::texto('Setor:',$a_comp[seto_tx_nome],2);
	$t1[] = cactux::texto('Comprador:',$a_comp[user_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_comp[comp_tx_dataCadastro],1),2);

	$t2[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
	$t2[] = cactux::texto('Descrição/Forma de Pagamento:',$a_comp[comp_tx_obsCadastro],4);
	$t3[] = cactux::texto('Descrição da Autorização:',$a_comp[comp_tx_obsAutoriza],4);

//  $t2[] = cactux::texto('Valor:',"R$ ".mostra_valor($a_comp[comp_tx_valor],1),2);

	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3]);
	cactux::linha_fieldset($t2[0],$t2[1],$t2[2]);
	if ( trim($a_comp[comp_tx_obsAutoriza]) ) {
		cactux::linha_fieldset($t3[0]);
	}
	cactux::fecha_fieldset();
	

	
	$cabecalho[]=array('CÓD','PRODUTO','UNIDADE','CAIXA','QUANTIDADE','VALOR UNITÁRIO','VALOR TOTAL','VALOR VENDA');
	$cabecalho[]='e,e,e,e,c,c,c';
	$cabecalho[]='2%,,15%,15%,15%,15%';
	$cabecalho[]='98%';
	
	
	$sql = selecionar('listacompra,compra,produto','list_nb_compra,list_tx_status,list_tx_status',"$_POST[id],!inativo,!Negado");
	if ( num_linhas($sql)==0 ) {
		$sql = selecionar('listacompra,compra','list_nb_compra,list_tx_status,list_tx_status',"$_POST[id],!inativo,!Negado");
		$produto_nao_cadastrado=1;
	}
	

	while ($a=carrega_array($sql)) {

		// ESSE IF EVITA QUE O CAMPO FIQUE VASIO QUANDO NÃO EXISTIR UMA QUANTIDADE CADASTRADA PARA A CAIXA
		if ( intval($a[prod_tx_caixa])>0 ) {
			$qtde_rec = ($a[list_tx_qtde]*$a[prod_tx_caixa]);
		} else {
			$qtde_rec = $a[list_tx_qtde];
		}
	
		$valor_total2+=($a[list_tx_valor]*$qtde_rec);

		if ($produto_nao_cadastrado>0) {
			// CASO O CLIENTE ESTEJA CONFIGURADO PARA NÃO CADASTRAR OS PRODUTOS
			$a[prod_nb_id]   = $a[list_nb_id];
			$a[prod_tx_nome] = $a[list_tx_produto];
		}

		if ( $a[prod_nb_id]==50 || $a[prod_nb_id]==51 || $a[prod_nb_id]==52 ) {// SE TIVER SELECIONADO ALGUM PRODUTO DE OPERAÇÃO PADRÃO, EXIBE TAMBÉM O NOME ORIGINAL DO PRODUTO PARA DEPOIS SABER QUAL ERA O PRODUTO QUE ESTAVA NA NOTA
			$a[prod_tx_nome] = $a[prod_tx_nome]." ($a[list_tx_produto])";
		}

		
		$valores[]=array($a[prod_nb_id],$a[prod_tx_nome],$a[list_tx_unidade],$a[prod_tx_caixa],mostra_valor($qtde_rec),"R$ ".mostra_valor($a[list_tx_valor]),"R$ ".mostra_valor($a[list_tx_valor]*$qtde_rec),mostra_valor($a[prod_tx_valorVenda]));
	}

	if ( mostra_valor($a_comp[comp_tx_valor],1) != mostra_valor($valor_total2,1)) {
		$valores[] = array('','','','','','<B>SUB-TOTAL:',"R$ ".'<B>'.mostra_valor($valor_total2,1),'');
	}
	
	$valores[] = array('','','','','','<B>TOTAL:',"R$ ".'<B>'.mostra_valor($a_comp[comp_tx_valor],1),'');

	echo"<br>";
	grid::gerar($cabecalho,$valores);
	echo"<br>";
	
	// if ( ($a_comp[comp_tx_status]=="Autorizado" || $a_comp[comp_tx_status]=="Negado") && $a_comp[comp_nb_userGestor]=='' ) {        

	// 	$a_comp2=carregar('compra,setor,entidade.user',$_POST[id],'',""," AND comp_nb_userGestor=user_nb_id");
		
	// 	if($a_comp[comp_tx_status]=="Autorizado" )
	// 		$t3[] = cactux::texto('Situação:','Autorizado por '.$a_comp2[user_tx_nome],4);
	// 	else
	// 		$t3[] = cactux::texto('Situação:','Negado por '.$a_comp2[user_tx_nome],4);
		
	// 	$t3[] = cactux::texto('Data:',data($a_comp2[comp_tx_dataAutoriza],3),2);
	// 	$t3[] = cactux::texto('Observação:',$a_comp2[comp_tx_obsAutoriza],4);
		
	// 	cactux::abre_fieldset('Informações da Autorização');
	// 	cactux::linha_fieldset($t3[0],$t3[1],$t3[2],$t3[3]);
	// 	cactux::fecha_fieldset();
	// }

// 		if($a_comp[comp_tx_status]=="Finalizado"){
		
// 		$a_comp2=carregar('compra,setor,entidade.user',$_POST[id],'',""," AND user_nb_id=comp_nb_userGestor");
// //      $a_comp2=carregar('compra,setor,entidade',$_POST[id]);
		
	
// 		$t3[] = cactux::texto('Situação:',' Autorizado por '.$a_comp2[user_tx_nome],4);
// 		$t3[] = cactux::texto('Data:',data($a_comp2[comp_tx_dataAutoriza],3),2);
// 		$t3[] = cactux::texto('Observação:',$a_comp2[comp_tx_obsAutoriza],3);
		
// 		cactux::abre_fieldset('Informações da Autorização');
// 		cactux::linha_fieldset($t3[0],$t3[1],$t3[2]);
// 		cactux::fecha_fieldset();
		
// 		$a_movi=carregar('movimento',$a_comp2[comp_nb_movimento]);
		
// 		if($a_comp2[comp_nb_userFinaliza]!='')
// 			$a_userfim=carregar('user',$a_comp2[comp_nb_userFinaliza]);
		
// 		$t4[] = cactux::texto('Situação:','Finalizado Por '.$a_userfim[user_tx_nome],4);
// 		$t4[] = cactux::texto('Data:',data($a_comp2[comp_tx_dataFinaliza],3),2);
// 		$t4[] = cactux::texto('Nota Fiscal:',$a_movi[movi_tx_notafiscal],2);
// 		//$t4[] = cactux::texto('Parcelas:',$a_movi[movi_tx_parcelas]);
		
// 		echo "<br>";
		
// 		cactux::abre_fieldset('Informações da Finalização');
// 		cactux::linha_fieldset($t4[0],$t4[1],$t4[2],$t4[3]);
// 		cactux::fecha_fieldset();
// 	}
	
// 	cactux::fecha_form();
	

	$comp=carregar('compra',$_POST[id]);
	
	//$sql2=selecionar('boleto,movimento',"bole_tx_status,movi_tx_status","!inativo,!inativo"," AND movi_nb_compra='$_POST[id]'",0);
	//$sql2=selecionar('boleto,movimento',"bole_tx_status,movi_tx_status","!inativo,!inativo"," AND movi_nb_id='$comp[comp_nb_movimento]'",0);

	// -----------------------------------------------------------------------------------------------
	// 
	// EM 18/11/2013 FOI ALTERADO A CONSULTA PARA PERMITIR QE SE EXIBA TODOS OS BOLETOS DESSE MOVIMENTO NA IMPRESSAO DA REQUISICAO
	// 
	// -----------------------------------------------------------------------------------------------
	$sql2 = selecionar('boleto,movimento',"bole_tx_status,movi_tx_status","!inativo,!inativo"," AND movi_nb_compra='$comp[comp_nb_id]'");
	if( num_linhas($sql2) > 0 ) {
	
		while($a2=carrega_array($sql2)){
			
			$valores2[]=array($a2[bole_nb_id],$a2[bole_tx_parcela],data($a2[bole_tx_vencimento],1),mostra_valor($a2[bole_tx_valordoc]));
		
		}
		
		$cabecalho2[]=array('BOLETO','PARCELA','VENCIMENTO','VALOR');
		$cabecalho2[]='c,c,e,e,e,e,c';
		$cabecalho2[]='15%,15%,30%,';
		$cabecalho2[]='30%';
		
		enter();
		
		echo "<div style='text-align:left; width:98%'>";
		
		grid::gerar($cabecalho2,$valores2);
		
		echo "</div>";
	}
	
}



function layout_imprimi_busca(){

	
	
	if($_SESSION[user_tx_nivel]=="Comprador" || $_SESSION[user_tx_nivel]=="Informatica"){
	
		$extra .=" AND comp_nb_userCadastro='$_SESSION[user_nb_id]'";
	
	
	}
	

	if( $_POST[busca_data1] )
		$extra .= " AND comp_tx_dataCadastro >= '".gera_data($_POST[busca_data1],1)." 00:00:00'";
	if( $_POST[busca_data2] )
		$extra .= " AND comp_tx_dataCadastro <= '".gera_data($_POST[busca_data2],1)." 23:59:59'";
	if( $_POST[busca_setor] != '1' && $_POST[busca_setor]!= '') {
		$extra .= " AND comp_nb_setor = '$_POST[busca_setor]'";
		$a_setor = carregar('setor',$_POST[busca_setor]);
	}
	if( $_POST[busca_fornecedor] ) {
		$extra .= " AND comp_nb_entidade = '$_POST[busca_fornecedor]'";
		$a_fornacedor = carregar('entidade',$_POST[busca_fornecedor]);
	}
	if( $_POST[busca_status] ) {

		if ( $_POST[busca_status] == 'Finalizado' )
			$extra .= " AND (comp_tx_status='Finalizado' OR comp_tx_status='Finalizado Pendente') ";
		elseif ( $_POST[busca_status] == 'Recebido' )
			$extra .= " AND (comp_tx_status='Recebido' OR comp_tx_status='Pendente') ";
		else
			$extra .= " AND comp_tx_status = '$_POST[busca_status]'";
	}


	cabecaRelatorioVenda('Requisição de Compra',2);
	
	cactux::abre_form();
	
	//CAMPOS
	$c[] = cactux::texto('Data Inicial:',$_POST[busca_data1],2);
	$c[] = cactux::texto('Data Final:',$_POST[busca_data2],2);
	$c[] = cactux::texto('Setor:',$a_setor[seto_tx_nome],2);
	$c[] = cactux::texto('Fornecedor:',$a_entidade[enti_tx_nome],3);
	$c[] = cactux::texto('Situação:',$_POST[busca_status],1);
	
	//BOTOES
		
	cactux::abre_fieldset('Filtro de Busca');
	cactux::linha_fieldset($c[0],$c[1],$c[2],$c[3],$c[4]);
	cactux::linha_fieldset($buscar,$inserir,$status);
	cactux::fecha_fieldset();
	
	$sql=selecionar('compra,setor,entidade.user','comp_tx_status',"!inativo"," $extra AND user_nb_id=comp_nb_userCadastro ORDER BY comp_nb_id DESC");
	
	$cabecalho[]=array('CÓD','COMPRADOR','SETOR','FORNECEDOR','DATA','VALOR','SITUAÇÃO');
	$cabecalho[]='c,e,e,e,c,c,c';
	$cabecalho[]='5%,,15%,25%,5%,6%,6%,2%,2%';
	$cabecalho[]='98%';
	
	while($a=carrega_array($sql)){


		// O FINALIZADO PENDENTE É EQUIVALENTE AO STATUS FINALIZADO
		if ( $a[comp_tx_status] == 'Finalizado Pendente' )
			$a[comp_tx_status] = 'Finalizado';

		// O STATUS PENDENTE É O MESMO QUE O STATUS RECEBIDO, SÓ QUE INTERNAMENTE ELE TEM QUE FICAR COM O STATUS PENDENTE
		if ( $a[comp_tx_status] == 'Pendente' )
			$a[comp_tx_status] = 'Recebido';

		
		
		if( $a[comp_tx_status] != 'Finalizado' ) {
			if( $a[comp_tx_status] == 'Solicitado' )
				$modificar=".icone_modificar($a[0],'modifica_compra')";
			if( $a[comp_tx_status] == 'Autorizado' )
				$modificar=".icone_modificar($a[0],'layout_finaliza','','','','','','cactus/imagens/boleto.gif')";
				
				$excluir = ".icone_modificar($a[0],'layout_imprime','','','','target=_blank','Imprimir','cactus/imagens/imprimir.png')";
				//$excluir = ".icone_excluir($a[0],'exclui_compra')";
		
		} else {
			$modificar="";
			$excluir = ".icone_modificar($a[0],'layout_imprime','','','','target=_blank','Imprimir','cactus/imagens/imprimir.png')";
		}
		
		if($_SESSION[user_tx_nivel]=='Administrativo' && $a[comp_tx_status]=='Finalizado'){
		
			$modificar=".icone_modificar($a[0],'layout_finaliza','','','','','','cactus/imagens/boleto.gif')";
		
		}       
		
		
		$valores[] = array( $a[comp_nb_id], $a[user_tx_nome], $a[seto_tx_nome], $a[enti_tx_nome], data($a[comp_tx_dataCadastro],1), mostra_valor($a[comp_tx_valor]), $a[comp_tx_status] );
	
		$total_valor+=$a[comp_tx_valor];
	}
	
	$valores[] = array( '', '', '', '', '<b>TOTAL: </b>', mostra_valor($total_valor), '' );
	
	cactux::fecha_form();
	
	echo"<br>";
	grid::gerar($cabecalho,$valores);

	
	rodape();
	
	
}




function seleciona_layout_finaliza(){
	
	$IDS_MOV = ids_agrupados($_POST[ids_agrupados]);
	$total_ids=count($IDS_MOV);
/*
	
	for($i=0;$i!=$total_ids;$i++){
	
		if($i==0)
			$extra.=" comp_nb_id='$IDS_MOV[$i]'";
		else
			$extra.=" OR comp_nb_id='$IDS_MOV[$i]'";
	
	}
*/
	

	if( $total_ids > 1 ) {
	
		$extra = implode(",",$IDS_MOV);
		$sql = selecionar('compra','comp_tx_status',"!inativo"," AND comp_nb_id IN($extra)");
		while( $a = carrega_array($sql) ) {
			
			// if( $a[comp_tx_status] != 'Autorizado' ) {
			
				// set_status("ERRO: Todas as requisições devem ser autorizadas!");
				// index();
				// exit;
			
			// }
				
		}
		
		layout_finaliza();
	} else
		layout_finaliza_original();
	
	exit;

}

function excluir_compra(){
	global $CACTUX_CONF;


	$sql_movi = selecionar('movi_nb_id|movimento','movi_tx_status,movi_nb_compra',"!inativo,$_POST[id]"," LIMIT 1 ");

	// VERIFICA SE EXISTE ALGUN FINANCEIRO PARA SER EXCUÍDO
	if ( num_linhas($sql_movi) > 0 ) {
		
		$a_movi = carrega_array($sql_movi);

		// OBTEM OS BOLETOS ATIVOS
		$sql_bole_atv = selecionar('bole_nb_id|boleto','bole_tx_status,bole_nb_movimento',"ativo,$a_movi[movi_nb_id]");
		$qtde_atv = num_linhas($sql_bole_atv);

		$sql_bole_todos = selecionar('bole_nb_id|boleto','bole_tx_status,bole_nb_movimento',"!inativo,$a_movi[movi_nb_id]");
		$qtde_todos = num_linhas($sql_bole_todos);

		while ( $a_bole = carrega_array($sql_bole_atv) ) {
			// REMOVE OS BOLETOS ATIVOS
			remover('boleto',$a_bole[bole_nb_id]);
		}

		if ( $qtde_atv == $qtde_todos ) {
			// SE TIVER EXCLUÍDO TODOS OS BOLETOS, EXCLUI O MOVIMENTO
			remover('movimento',$a_movi[movi_nb_id]);
		}
	}


	// CARREGA AS LISTAS COMPRAS PARA DAR BAIXA NO ESTOQUE
	$sql_lista = selecionar('listacompra','list_tx_status,list_nb_compra',"!inativo,$_POST[id]");

	while ( $a = carrega_array($sql_lista) ) {
		
		if ( $a[list_tx_qtdeEfetiva]>0 && $a[list_nb_produto]>0 ) {
			// SE ESTIVER SALVO A QUANTIDADE, DA A BAIXA NO ESTOQUE

			$a_prod = carregar('prod_tx_qtde|produto',$a[list_nb_produto]);

			//REALIZA A BAIXA
			$campos = array(prod_tx_qtde);
			$valores = array($a_prod[prod_tx_qtde]-$a[list_tx_qtdeEfetiva]);
			atualizar('produto',$campos,$valores,$a[list_nb_produto]);

			registro_cactus("EXCLUIR REQUISICAO DE COMPRA : $a[list_nb_compra] - ESTOQUE ATUAL: $a_prod[prod_tx_qtde] - AJUSTE: $a[list_tx_qtdeEfetiva] - ESTOQUE:".($a_prod[prod_tx_qtde]-$a[list_tx_qtdeEfetiva]),$a_prod[prod_nb_id]);
		}
	}


	$a_compra = carregar('compra',$_POST[id]);
	
	remover('compra',$_POST[id]);


	$pasta_xml   = substr($a_compra[comp_tx_dataCadastro],0,4).substr($a_compra[comp_tx_dataCadastro],5,2);
	$caminho_xml = $_SERVER[DOCUMENT_ROOT]."$CACTUX_CONF[path]/arquivos/xml/$pasta_xml/";
	$arquivo_xml = $a_compra[comp_tx_chave].'.xml';

	if ( !unlink($caminho_xml.$arquivo_xml) ) {
		set_status('ERRO: Falha ao excluir o XML!');
	}


	index();
	exit;
}



function envia_anexo(){
	
	global $CACTUX_CONF;
	$a_mod=$_POST[a_mod];
	
	$anexo = $_FILES[anexo];

	// print_r($_POST);
	// exit;
	
	//CONSULTA OS DADOS DA COMPRA LIGADA A MOVIMENTO PARA PEGAR O ID DO MOVIMENTO
	$sql_compra = selecionar('compra,movimento','comp_nb_id',"$_POST[id]",'',0);
	if(num_linhas($sql_compra)==0){
		
		set_status("ERRO: Movimento não encontrado!");
		index();
		exit;

	}
	$a_compra = carrega_array($sql_compra);
	
		
	//DADOS DA TABELA ANEXO
	$campos = array(anex_tx_nome, anex_nb_movimento, anex_tx_tipo,anex_tx_status);
	$valores = array($_POST[titulo],$a_compra[movi_nb_id],'compra',ativo);
	
	
	//SE NÃO EXISTIR ANEXO DESSE MOVIMENTO ELE INSERE NA TABELA
	if( !$_POST[id_anexo] ) {
		//INSERIR
		$campos = array_merge($campos,array(anex_nb_userCadastro, anex_tx_dataCadastro));
		$valores = array_merge($valores,array($_SESSION[user_nb_id],date("Y-m-d H:i:s")));
		inserir('anexo',$campos,$valores,1);
		$_POST[id_anexo]=ultimo_reg('anexo');
	} else {
		//ATUALIZAR
		$campos = array_merge($campos,array(anex_nb_userAtualiza, anex_tx_dataAtualiza));
		$valores = array_merge($valores,array($_SESSION[user_nb_id],date("Y-m-d H:i:s")));
		atualizar('anexo',$campos,$valores,$_POST[id_anexo]);
	}


	$_POST[titulo]=ereg_replace("[^a-zA-Z0-9_]", "", strtr($_POST[titulo], "áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ", "aaaaeeiooouucAAAAEEIOOOUUC_"));
	$_POST[titulo]=str_replace(" ", "_", $_POST[titulo]);
	//$_POST[titulo]=substr($_POST[titulo],0,-3);
		
	//GUARDAR O ANEXO
	if( $anexo[name] != '') {
		// CRIA O DIRETÓRIO PARA GUARDAR OS ANEXOS DA COMPRA, ATRAVÉS DO ID DO MOVIMENTO
		//@mkdir("$_SERVER[DOCUMENT_ROOT]/$CACTUX_CONF[path]/arquivos/anexos/$a_compra[movi_nb_id]");
		
		//GUARDA O ARQUIVO DENTRO DA PASTA DO ID DO MOVIMENTO, SALVA COM O NOME DO TÍTULO E O ID DO MOVIMENTO
		$msg = enviar('anexo',$CACTUX_CONF[path].'/arquivos/anexos/'.$a_compra[movi_nb_id].'-'.$_POST[titulo],1); 
		
		set_status('Anexo Cadastrado com Sucesso!');
		
		// GUARDA O NOME DO ARQUIVO ORIGINAL NA TAVELA ANEXO
		if( !bd_erro($msg) ) {
			$envia_campos = 'anex_tx_arquivo';      
			$envia_valores = basename($msg);
			atualizar('anexo',$envia_campos,$envia_valores,$_POST[id_anexo]);
		}
	}
		
	layout_anexo();
	exit;
}

function exclui_anexo(){
	
	$a = carregar('anexo,movimento',$_POST[id]);
	remover('anexo',$_POST[id]);
	$_POST[id]=$a[movi_nb_compra];
	
	layout_anexo();
	exit;
}


function modifica_anexo(){
	global $a_mod;
	
	$a_mod = carregar('anexo,movimento',$_POST[id]);
	$_POST[id]=$a_mod[movi_nb_compra];
	
	layout_anexo();
	exit;
}




function layout_anexo(){
	global $a_mod;
	global $CACTUX_CONF;
	
	cabecalho('Requisição de Compra',2);

	$a_mov=carregar('compra,movimento',$_POST[id]);
	if($a_mov[movi_tx_arquivo]!=''){
		$icone_ver_movimento="<a href='../arquivos/financeiro/".$a_mov[movi_tx_arquivo]."' target=_blank  onmouseover=exibe_ajuda(8,this) onmouseout=remove_ajuda(8) ><img src=../cactus/imagens/boleto.gif  border=0></a>";
		$valores[]=array('',"Anexo do financeiro",$icone_ver_movimento,'','');
	}


	
	//CONSULTAS
	$a_compra = carregar('compra,setor,entidade',$_POST[id]);
	$a_comprador = carregar('user',"$a_compra[comp_nb_userCadastro]");
	
	// CAMPOS TEXTO
	$t1[] = cactux::texto('Código:',$a_compra[comp_nb_id],2);
	$t1[] = cactux::texto('Setor:',$a_compra[seto_tx_nome],2);
	$t1[] = cactux::texto('Comprador:',$a_comprador[user_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_compra[comp_tx_dataCadastro],1),2);
	$t2[] = cactux::texto('Fornecedor:',$a_compra[enti_tx_nome],4);
	
	//CAMPOS PARA DADOS DO ARQUIVO
	$c[] = cactux::campo('Título:','titulo',$a_mod[anex_tx_nome],4);
	$c[] = cactux::campo_arquivo('Anexo:','anexo',4);
	
	//UTILIZADA APENAS PARA TESTE
	//$_POST[id] = 1;
	
	$gravar = cactux::botao_submit('Gravar',2,'envia_anexo','id_movi,id,id_anexo',"$a_compra[comp_nb_movimento], $_POST[id],$a_mod[anex_nb_id]");
	$voltar = cactux::botao('Voltar',2,'voltar');
	$status = cactux::msg_status();
	
	cactux::abre_form('upload');
	
	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3]);
	cactux::linha_fieldset($t2[0]);
	cactux::linha_fieldset($c[0],$c[1]);
	cactux::linha_fieldset($voltar,$gravar,$status);
	cactux::fecha_fieldset();
	
	cactux::fecha_form();
	
	cactux::acao_botao('voltar','index');

	
	$sql = selecionar('anexo','anex_tx_status',"!inativo"," AND anex_nb_movimento='$a_compra[comp_nb_movimento]' $extra ORDER BY anex_nb_id");
		
	$cabecalho[] = array('COD','ANEXO','','','');
	$cabecalho[] = 'c,e';
	$cabecalho[] = '6%,,3%,3%,3%';
	$cabecalho[] = '50%';
	
	while( $a = carrega_array($sql) ){
		$ver_anexo="<a href=$CACTUX_CONF[path]/arquivos/anexos/$a[anex_tx_arquivo] target=_blank><img src = '$CACTUX_CONF[path]cactus/imagens/boleto.gif'></a>";

		$valores[] = array($a[anex_nb_id],$a[anex_tx_nome],$ver_anexo,".icone_modificar($a[0],modifica_anexo)",".icone_excluir($a[0],exclui_anexo)");
	}
	
	grid::gerar($cabecalho,$valores);
	
	rodape();
}



function cadastra_chave() {
global $cookie_jar,$nome_arq;
global $SRC,$TOKEN,$EVENTVALIDATION,$VIEWSTATEGENERATOR,$VIEWSTATE,$CAPTCHA_SOM,$nProt;
	// echo"OK!";

	$img = variaveis($nome_arq);

// $CHAVE = '35160801034009000429570000008651451354849068';
// $CAPTCHA = 'guurmo';



	if ( trim($_POST[chave_acesso])==''  || trim($_POST[codigo])=='' ) {

		$aviso = "<font color=red size=4>Preencha todos os campos!</font>";

		$comp .= "<form name=\"form_reload2\" method=POST action=\"\" >\r\n";

			$comp .= "<input type=hidden name=\"acao\" value=\"\"> \r\n";
			$comp .= "<input type=hidden name=\"bordero\" value=\"$_POST[bordero]\"> \r\n";
			$comp .= "<input type=hidden name=\"placa_veiculo\" value=\"$_POST[placa_veiculo]\"> \r\n";
			$comp .= "<input type=hidden name=\"msg_status\" value=\"$aviso\"> \r\n";

		$comp .= "</form>\r\n"; 
		
		echo $comp;

		javascript("

			window.document.form_reload2.submit();
		");
		exit;
	}


	//REMOVE TODOS OS TRAÇOS E PONTOS
	$CHAVE = str_replace(array('.','-',' '), '', trim($_POST[chave_acesso]));
	$CAPTCHA = trim($_POST[codigo]);

	$postinfo .= '__EVENTTARGET=';
	$postinfo .= '&__EVENTARGUMENT=';
	$postinfo .= '&__EVENTVALIDATION='.urlencode($EVENTVALIDATION);
	$postinfo .= '&__VIEWSTATE='.urlencode($VIEWSTATE);
	$postinfo .= '&__VIEWSTATEGENERATOR='.$VIEWSTATEGENERATOR;
	$postinfo .= '&nProt='.$nProt;
	$postinfo .= '&ctl00$ContentPlaceHolder1$abaSelecionada=';
	$postinfo .= '&ctl00$txtPalavraChave=';
	$postinfo .= '&ctl00$ContentPlaceHolder1$captchaSom='.urlencode($CAPTCHA_SOM);
	$postinfo .= '&ctl00$ContentPlaceHolder1$token='.$TOKEN;
	$postinfo .= '&hiddenInputToUpdateATBuffer_CommonToolkitScripts=1';
	$postinfo .= '&ctl00$ContentPlaceHolder1$txtChaveAcessoCompleta='.$CHAVE;
	$postinfo .= '&ctl00$ContentPlaceHolder1$txtCaptcha='.$CAPTCHA;
	$postinfo .= '&ctl00$ContentPlaceHolder1$btnConsultar=Continuar';
	$postinfo .= '&ctl00$ContentPlaceHolder1$btnDownload=Download do documento*';

	$postinfo = str_replace("\"","",$postinfo);
//  echo $postinfo;
//  exit;
	
	$c = curl_init('http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=mCK/KoCqru0=');
	curl_setopt($c, CURLOPT_POST, 1);
	curl_setopt($c, CURLOPT_POSTFIELDS, $postinfo);
	curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_jar);
	curl_setopt($c, CURLOPT_FOLLOWLOCATION, true);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
	// curl_setopt($c, CURLOPT_CAINFO, 'birra_nordestina.pem');

	curl_setopt($c,CURLOPT_SSLCERT , 'birra_nordestina.pem');
	curl_setopt($c,CURLOPT_SSLCERTPASSWD , '1234');



	$page = curl_exec($c);

	// echo "onclick=\"return confirm('Para fazer o download, é necessário possuir um certificado de cliente. \\n Clique em Ok para iniciar o download.');\"";

	$page = str_replace('action="./consultaCompleta.aspx','action="http://www.nfe.fazenda.gov.br/portal/consultaCompleta.aspx',$page);
	// $page = str_replace("return confirm(&#39;Para fazer o download, é necessário possuir um certificado de cliente. \n Clique em Ok para iniciar o download.&#39;);",'',$page);

	// echo $page;

	$a_html_prod = explode('<td class="fixo-prod-serv-descricao">',$page);

	$a_page = explode('<legend class="titulo-aba">Dados do Emitente</legend>',$page);
	$html_emitente = $a_page[1];


	$nome_forn = between($html_emitente,'<label>Nome / Razão Social</label><span>','</span>');
	$fantasia_forn = between($html_emitente,'<label>Nome Fantasia</label><span>','</span>');
	$cnpj_forn = between($html_emitente,'<label>CNPJ</label><span>','</span>');
	$logradouro = between($html_emitente,'<label>Endereço</label><span>','</span>');
	$bairro = between($html_emitente,'<label>Bairro / Distrito</label><span>','</span>');
	$cep = between($html_emitente,'<label>CEP</label><span>','</span>');
	$a_cidade = between($html_emitente,'<label>Município</label><span>','</span>');
	$fone = between($html_emitente,'<label>Telefone</label><span>','</span>');
	$ie_forn = between($html_emitente,'<label>Inscrição Estadual</label><span>','</span>');
	$im_forn = between($html_emitente,'<label>Inscrição Municipal</label><span>','</span>');
	// $nome = between($html_emitente,'<label>Código de Regime Tributário</label><span>','</span>');

	$a_cidade = explode("-",$a_cidade);
	$id_cidade = trim($a_cidade[0]);

	$sql_cidade = selecionar('cidade','cida_tx_ibge',"$id_cidade"," LIMIT 1");
	if(num_linhas($sql_cidade)>0){
		$a_cidade = carrega_array($sql_cidade);
	}else{
		$a_cidade[0]='1';
	}

	if($fantasia_forn == '')
		$fantasia_forn = $nome_forn;

	$campos = array(enti_tx_status,enti_tx_nome,enti_tx_razao,enti_tx_cnpj,enti_tx_estadual,enti_tx_municipal,
				enti_tx_endereco,enti_tx_numero,enti_tx_bairro,enti_nb_cidade,enti_tx_cep,
				enti_tx_fone,enti_tx_tipo,enti_tx_pessoa);

	$valores = array('ativo',$fantasia_forn,$nome_forn,$cnpj_forn,$ie_forn,$im_forn,
					$logradouro,$numero,$bairro,$a_cidade[0],$cep,
					$fone,'Fornecedor','Pessoa Jurídica');


	$sql_forn = selecionar('entidade','enti_tx_status',"!inativo"," AND enti_tx_cnpj = '$cnpj_forn'");
	if(num_linhas($sql_forn)==0){
		inserir('entidade',$campos,$valores,1);
		$_POST[entidade] = ultimo_reg('entidade');
	}else{
		$a_forn = carrega_array($sql_forn);
		$_POST[entidade] = $a_forn[0];
	}

	$campos=array(comp_nb_entidade,comp_nb_setor,comp_nb_userCadastro,comp_tx_dataCadastro,comp_tx_obsCadastro,comp_tx_status);
	$valores=array($_POST[entidade],1,$_SESSION[user_nb_id],date("Y-m-d H:i:s"),$_POST[obs],'Recebido'); //Recebido
	inserir('compra',$campos,$valores,1);
	
	$_POST[id] = ultimo_reg('compra');


	$array_pis = explode('<legend class="toggle">PIS</legend><div class="toggable"><table class="box"><tr class="col-3"><td colspan="3">',$page);
	$array_cofins = explode('<legend class="toggle">COFINS</legend><div class="toggable"><table class="box"><tr class="col-3"><td colspan="3">',$page);
	$array_ipi = explode('<legend>Imposto Sobre Produtos Industrializados</legend><table class="box"><tr class="col-3">',$page);
	
	

	for($i=2;$i<count($a_html_prod);$i++){
		$a_prod = $a_html_prod[$i];

		$linha_pis = $array_pis[$i-1];
		$linha_cofins = $array_cofins[$i-1];
		$linha_ipi = $array_ipi[$i-1];


		$nome           =   between($a_prod,'<span>','</span>');
		$cod            =   between($a_prod,'<label>Código do Produto</label><span>','</span>');
		$ncm            =   between($a_prod,'<label>Código NCM</label><span>','</span>');
		$cests          =   between($a_prod,'<label>Código CEST</label><span>','</span>');
		$extipi         =   between($a_prod,'<label>Código EX da TIPI</label><span>','</span>');
		$cfop           =   between($a_prod,'<label>CFOP</label><span>','</span>');
		$cean           =   between($a_prod,'<label>Código EAN Comercial</label><span>','</span>');
		$und            =   between($a_prod,'<label>Unidade Comercial</label><span>','</span>');
		$qtde           =   between($a_prod,'<label>Quantidade Comercial</label><span>','</span>');
		$valor          =   between($a_prod,'<label>Valor unitário de comercialização</label><span>','</span>');
		$tribAproximado =   between($a_prod,'<label>Valor Aproximado dos Tributos</label><span>','</span>');
		// $ipi         =   between($a_prod,'<label>Valor Aproximado dos Tributos</label><span>','</span>');
		// $array_pis= between($a_prod,'<legend class="toggle">PIS</legend>','<legend');
		$array_cst_pis   =  between($linha_pis,'<label>CST</label><span>','</span>');
		$aliquota_pis    =  between($linha_pis,'<label>Alíquota</label><span>','</span>');
		$array_cst_cofins=  between($linha_cofins,'<label>CST</label><span>','</span>');
		$aliquota_cofins =  between($linha_cofins,'<label>Alíquota</label><span>','</span>');
		$array_cst_ipi   =  between($linha_ipi,'<label>CST</label><span>','</span>');
		$aliquota_ipi    =  between($linha_ipi,'<label>Alíquota</label><span>','</span>');
		
		$array_origem    =  between($a_prod,'<label>Origem da Mercadoria</label><span>','</span>');
		$modbcIcms       =  between($a_prod,'<label>Modalidade Definição da BC ICMS NORMAL</label><span>','</span>');
		$modbcIcmsSt     =  between($a_prod,'<label>Modalidade Definição da BC ICMS ST</label><span>','</span>');
		$aliquotaICMS    =  between($a_prod,'<label>Alíquota do ICMS Normal</label><span>','</span>');
		$aliquotaICMSSt  =  between($a_prod,'<label>Alíquota do ICMS ST</label><span>','</span>');
		$reducaoIcmsSt   =  between($a_prod,'<label>Percentual Redução de BC do ICMS ST</label><span>','</span>');
		$mvaIcmsSt       =  between($a_prod,'<label>Percentual do MVA do ICMS ST</label><span>','</span>');
		
		$ipiEnquadramento=  between($a_prod,'<label>Código de Enquadramento</label><span>','</span>');
		$ipiCst          =  between($a_prod,'<label>CST</label><span>','</span>');

		$a_ipiCst = explode("-",$ipiCst);

		$array_cst_pis = explode(' - ',$array_cst_pis);
		$cstPIS = $array_cst_pis[0];
		$array_cst_cofins = explode(' - ',$array_cst_cofins);
		$cstCOFINS = $array_cst_cofins[0];
		$array_origem = explode(' - ',$array_origem);
		$origem = $array_origem[0];

		$sql_imposto = selecionar('impo_nb_id,impo_tx_codigo|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='$ncm' AND impo_tx_tipo = 'ncm' LIMIT 1",0,1);exit;
		$a_impo = carrega_array($sql_imposto);
		$sql_origem = selecionar('impo_nb_id,impo_tx_codigo|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='$origem' AND impo_tx_tipo = 'origem' LIMIT 1");
		$a_orig = carrega_array($sql_origem);
		$sql_csosn = selecionar('impo_nb_id,impo_tx_codigo|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='$cstCsosn' AND impo_tx_tipo = 'CST/CSOSN' LIMIT 1");
		$a_csosn = carrega_array($sql_csosn);
		$sql_pis = selecionar('impo_nb_id,impo_tx_codigo|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='$cstPIS' AND impo_tx_tipo = 'CST/PIS/PASEP' LIMIT 1");
		$a_pis = carrega_array($sql_pis);
		$sql_cofins = selecionar('impo_nb_id,impo_tx_codigo|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='$cstCOFINS' AND impo_tx_tipo = 'CST/COFINS' LIMIT 1");
		$a_cofins = carrega_array($sql_cofins);

		$sql_ipiEnq = selecionar('impo_nb_id,impo_tx_codigo|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='$ipiEnquadramento' AND impo_tx_tipo = 'IPI Enquadramento' LIMIT 1");
		$a_ipiEnq = carrega_array($sql_ipiEnq);
		$sql_ipiCst = selecionar('impo_nb_id,impo_tx_codigo|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='".trim($a_ipiCst[0])."' AND impo_tx_tipo = 'IPI CST' LIMIT 1");
		$a_ipiCst = carrega_array($sql_ipiCst);


		$sql_tributacao = selecionar('tributacao,imposto','impo_tx_status,trib_tx_status','ativo,!inativo'," AND impo_tx_codigo='$ncm' AND impo_tx_tipo = 'ncm'");
		if(num_linhas($sql_tributacao)>0){
			$a_trib = carrega_array($sql_tributacao);
			// atualizar('tributacao',
			//  array(trib_nb_empresa,trib_nb_imposto,trib_nb_cstOrigem,trib_nb_cstCsosn,trib_nb_cstPis,trib_tx_aliquotaPis,trib_nb_cstCofins,trib_tx_aliquotaCofins,trib_tx_status,trib_tx_cest),
			//  array(1,$a_impo[0],$a_orig[0],$a_csosn[0],$a_pis[0],valor($pPIS),$a_cofins[0],valor($pCOFINS),'ativo',$cests),
			//  $a_trib[0]
			// );
		}else{
			
			inserir('tributacao',
				array(trib_nb_empresa,trib_nb_imposto,trib_tx_ncm,trib_nb_cstOrigem,trib_nb_cstCsosn,trib_nb_cstPis,trib_tx_aliquotaPis,trib_nb_cstCofins,trib_tx_aliquotaCofins,trib_tx_status,
					trib_tx_cest,trib_tx_cfopInterno,trib_tx_aliquotaIpi,trib_tx_modbcIcms,trib_tx_modbcIcmsSt,trib_tx_aliquotaIcms,trib_tx_aliquotaIcmsSt,trib_tx_reducaoIcmsSt,trib_tx_mvaIcmsSt,
					trib_nb_ipiEnquadramento,trib_nb_ipiCst),
				array(1,$a_impo[0],$a_impo[impo_tx_codigo],$a_orig[0],$a_csosn[0],$a_pis[0],valor($aliquota_pis),$a_cofins[0],valor($aliquota_cofins),'aguardando',
					$cests,$cfop,valor($aliquota_ipi),$modbcIcms,$modbcIcmsSt,valor($aliquotaICMS),valor($aliquotaICMSSt),valor($reducaoIcmsSt),valor($mvaIcmsSt),
					$a_ipiEnq[0],$a_ipiCst[0]),
				1
			);
		}


		$sql_lifo = selecionar('lifornecedor','lifo_tx_status','ativo'," AND lifo_tx_codigo = '$cod' AND lifo_nb_entidade = '$_POST[entidade]'");
		if(num_linhas($sql_lifo)>0){
			$a_lifo = carrega_array($sql_lifo);
			$id_produto = $a_lifo[lifo_nb_produto];
		}else{

			//-----------------------
			// $campos = array(prod_tx_nome,prod_nb_categoria,prod_nb_unidade,prod_tx_valorCusto,prod_tx_ncm,prod_tx_cfop,prod_tx_cest,prod_tx_codbarras,prod_tx_extipi,prod_tx_totalTributo,prod_tx_status);
			// $valores=array($nome,1,1,valor($valor),$ncm,$cfop,$cests,$cean,$extipi,$porcentagem,'ativo');
			// inserir('produto',$campos,$valores,1);
			// $id_produto = ultimo_reg('produto');

			// $cam = array(lifo_nb_entidade,lifo_nb_produto,lifo_tx_codigo,lifo_tx_data,lifo_nb_user,lifo_tx_status);
			// $val = array($_POST[entidade],$id_produto,$cod,date("Y-m-d"),$_SESSION[user_nb_id],'ativo');
			// inserir('lifornecedor',$cam,$val,1);
			//------------------------

			$id_produto = '';

		}


		$valores=array($_POST[id],$nome,$id_produto,valor($qtde),valor($valor),'ativo',$und,$ncm,$cfop,$cests,$cod,$cean);
		$campos=array(list_nb_compra,list_tx_produto,list_nb_produto,list_tx_qtde,list_tx_valor,list_tx_status,list_tx_unidade,list_tx_ncm,list_tx_cfop,list_tx_cest,list_tx_codigoFornecedor,list_tx_ean);
		inserir('listacompra',$campos,$valores,1);
		$ultimo_lista = ultimo_reg('listacompra');
		$a_list = carregar('listacompra',$ultimo_lista);
		$total += $a_list[list_tx_qtde] * $a_list[list_tx_valor];



		// echo "nome -> !$nome!<br>";
		// echo "cProd -> !$cod!<br>";
		// echo "ncm -> !$ncm!<br>";
		// echo "cests -> !$cests!<br>";
		// echo "extipi -> !$extipi!<br>";
		// echo "cfop -> !$cfop!<br>";
		// echo "cean -> !$cean!<br>";
		// echo "und -> !$und!<br>";
		// echo "qtde -> !$qtde!<br>";
		// echo "valor -> !$valor!<br>";
		// echo "tribAproximado -> !$tribAproximado!<br>";
		// echo "cst_pis -> !$array_cst_pis!<br>";
		// echo "aliquota_pis -> !$aliquota_pis!<br>";
		// echo "cst_cofins -> !$array_cst_cofins!<br>";
		// echo "aliquota_cofins -> !$aliquota_cofins!<br>";
		// echo "aliquota_ipi -> !$aliquota_ipi!<hr>";

	}

	// echo $page;
	if($total == ''){
		atualizar('compra',array('comp_tx_valor','comp_nb_entidade','comp_tx_status'),array($total,$_POST[entidade],'inativo'),$_POST[id]);
		set_status('ERRO: Chave não localizada, tente novamente!');
		index();
		exit;
	}

	atualizar('compra',array('comp_tx_valor','comp_nb_entidade','comp_tx_status'),array($total,$_POST[entidade],'Recebido'),$_POST[id]);


	if($_POST[opcao_financeiro]=='Sim'){
		//-------------------INICIO FINANCEIRO--------------
		$n_fatura = between($page,'<label>Número</label><span>','</span>');
		$html_cobranca = between($page,'<legend>Duplicatas</legend><table class="box"><tr class="col-3"><td><label>Número</label></td><td><label>Vencimento</label></td><td><label>Valor</label></td></tr>','</table>');
		$array_parcelas = explode('<td><span>',$html_cobranca);
		unset($valor,$nDuplicata,$vencimento);
		for($i=1;$i<count($array_parcelas);$i++){
			$nDuplicata[] = strip_tags($array_parcelas[$i++]);
			$vencimento[] = strip_tags($array_parcelas[$i++]);
			$valor[] = valor(strip_tags($array_parcelas[$i]));

			$valorNf += valor(strip_tags($array_parcelas[$i]));

		}
		
		$campos=array(movi_tx_tipo,movi_nb_centrocusto,movi_nb_planoconta,movi_nb_ref,movi_tx_data,movi_tx_valordoc,
				movi_tx_notafiscal,movi_tx_parcelas,movi_tx_status,movi_nb_compra);
		$valores=array(Saída,1,2,$_POST[entidade],gera_data("hoje",1),$valorNf,
				$n_fatura,count($valor),ativo,$_POST[id]);
		
		inserir('movimento',$campos,$valores,1);

		$id_mov = ultimo_reg('movimento');


		for($i=0;$i<count($valor);$i++){

			$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro);
			$valores=array($id_mov,gera_data($vencimento["$i"],1),gera_data($vencimento["$i"],1),($i+1),'encerrado',"Compra: $_POST[id]; NF: ".$nDuplicata["$i"]." no valor R$ ".mostra_valor($valorNf),$valor["$i"],gera_data("hoje",1),$_SESSION[user_nb_id]);
			inserir('boleto',$campos,$valores,1);
			
			// $ultimo_boleto=ultimo_reg('boleto');
			
			// $valores2=array($ultimo_boleto,1,$valor["$i"],gera_data($vencimento["$i"],1),ativo,2,gera_data("hoje",1),$_SESSION[user_nb_id]);
			// $campos2=array(fobo_nb_boleto,fobo_nb_forma,fobo_tx_valor,fobo_tx_data,fobo_tx_status,fobo_nb_planoconta,fobo_tx_dataBaixa,fobo_nb_userBaixa);
			// inserir('fobo',$campos2,$valores2,1);
		}
	}
	//-------------------FIM FINANCEIRO--------------
	layout_xml();

	exit;
}



function carrega_produto(){


	$sql_prod = selecionar('produto','prod_tx_status','!inativo'," AND (prod_tx_codbarras = '$_GET[busca_prod]' OR prod_nb_id = '$_GET[busca_prod]' OR prod_tx_nome LIKE '%$_GET[busca_prod]%') ORDER BY prod_tx_nome LIMIT 15 ");


	if(num_linhas($sql_prod)>0 && $_GET[busca_prod]!=''){
		javascript("window.parent.document.getElementById('ul_produto$_GET[indice]').innerHTML='';");
		$cont=0;
		while($a_prod = carrega_array($sql_prod)){

			javascript("window.parent.document.getElementById('ul_produto$_GET[indice]').innerHTML=window.parent.document.getElementById('ul_produto$_GET[indice]').innerHTML+'<li id=id_li".$cont++." onclick=\"seleciona_produto(\'$a_prod[prod_tx_nome]\',$a_prod[prod_nb_id],$_GET[indice])\" data-value=".$a_prod[prod_nb_id].">".$a_prod[prod_tx_nome]."<span style=\'float:right;\'>R$ ".mostra_valor($a_prod[prod_tx_valorVenda])."<span></li>';");
			javascript("window.parent.document.getElementById('lista_produto[$_GET[indice]]').style.display='block';");

			
			// if($primeiro == ''){
			// 	javascript("window.parent.document.getElementById('id_produto[$_GET[indice]]').value='$a_prod[prod_nb_id]';");
			// 	$primeiro=2;
			// }
			javascript("window.parent.carrega_li('$_GET[indice]');");
		}

	} else {
		javascript("window.parent.document.getElementById('ul_produto$_GET[indice]').innerHTML='';");
		javascript("window.parent.document.getElementById('lista_produto[$_GET[indice]]').style.display='none';");
		// javascript("window.parent.document.getElementById('nome_produto[$_GET[indice]]').value='';");
		javascript("window.parent.document.getElementById('id_produto[$_GET[indice]]').value='';");
	}
}



function dados_produto(){

	// javascript(" parent.alert('$_GET[id_fornecedor]'+'TESTE'); ");

	if ( trim($_GET[codbarras])!='' ) {
		$sql_prod = selecionar('produto','prod_tx_status,prod_tx_codbarras',"!inativo,$_GET[codbarras]"," LIMIT 1 ");
		$a_prod = carrega_array($sql_prod);

	} else {
		$a_prod=carregar('produto',$_GET[id_produto]);
	}


	if ( $a_prod[prod_nb_id] > 0 ) {
		// SE ESTIVER LOCALIZADO O PRODUTO

		if ( $_GET[id_fornecedor]>0 ) {
			$sql_linha = selecionar('lifo_tx_caixa|lifornecedor','lifo_tx_status,lifo_nb_produto,lifo_nb_entidade',"!inativo,$a_prod[prod_nb_id],$_GET[id_fornecedor]"," LIMIT 1 ");
			$a_linha = carrega_array($sql_linha);
			$a_prod[prod_tx_caixa] = $a_linha[lifo_tx_caixa];
		}

		if ( $a_prod[prod_tx_caixa]=='' || $a_prod[prod_tx_caixa]==0 ) {
			// SE ESTIVER VAZIO DEIXA COMO 1
			$a_prod[prod_tx_caixa] = 1;
		}
	
		javascript("
			window.parent.document.getElementById('id_produto[$_GET[cont]]').value='$a_prod[prod_nb_id]';
			window.parent.document.getElementById('nome_produto[$_GET[cont]]').value='$a_prod[prod_tx_nome]';
			window.parent.document.getElementById('caixa[$_GET[cont]]').value='$a_prod[prod_tx_caixa]';
			var sel = window.parent.document.getElementById('categoria[$_GET[cont]]');

			var val = '$a_prod[prod_nb_categoria]';
			var opts = sel.options;
			for (var opt, j = 0; opt = opts[j]; j++) {
				if (opt.value == val) {
					sel.selectedIndex = j;
					break;
				}
			}
		");
	}
	exit;
}






function layout_preco() {
// print_r($_POST);

	$msg_status = $_POST['msg_status'];

	$_POST[valor_frete] = valor($_POST[valor_frete],1);
	// ATUALIZA O VALOR DO FRETE ANTES DE CARREGAR OS DADOS DO BANCO DE DADOS
	atualizar('compra',array(comp_tx_frete),array($_POST[valor_frete]),$_POST[id]);
	
	// AQUI ELE JÁ ATUALIZA A TABELA LISTACOMPRA COM OS PRODUTOS QUE FORAM PREENCHIDOS NA TELA ANTERIOR
	// PARA EVITAR QUE SE CLICAR NO BOTOA VOLTAR E PERDER AS INFORMACOES
	foreach( $_POST[id_lista] as $chave=>$id_listacompra ) {
		
		atualizar('listacompra',array(list_nb_produto),array($_POST[id_produto][$chave]),$id_listacompra);
	}

	$_POST['msg_status'] = $msg_status;// EVITA A PERDA DA MENSAGEM COM A UTILIZAÇÃO DO ATUALIZAR


	$a_empresa = carregar('empresa',1);
	
	$sql_comp=selecionar('compra,setor,entidade.user','comp_nb_id',"$_POST[id]"," AND user_nb_id=comp_nb_userCadastro");
	$a_comp= carrega_array($sql_comp);

	
	if( intval($_POST[total_unidades]) == 0 )
		$_POST[total_unidades] = 1;
	if( intval($_POST[valor_frete]) == 0 )
		$_POST[valor_frete] = 0;
		
	// $frete_unitario = number_format($_POST[valor_frete]/$_POST[total_unidades],2,'.','');
	

	// DEFINE PARA TESTES
	// $a_empresa[empr_tx_icmsPadrao] = 18;
	// $a_empresa[empr_tx_percentualDespesasFixas] = 10;
	
	
	cabecalho('Solicitação de Compra');


	echo '<style>
		input[type="text"]:disabled {
			background-color:lightgray;
		}

		input:-moz-read-only { /* For Firefox */
			background-color: lightgray;
		}
		input:read-only {
			background-color: lightgray;
		}
	</style>';
	
	
	cactux::abre_form();


	$cont=0;
	$total_itens=0;
	$sql = selecionar('listacompra,compra','list_nb_compra,list_tx_status,list_tx_status',"$_POST[id],!inativo,!Negado");
	while ( $a=carrega_array($sql) ) {
		// $total_caixa += $_POST[caixa][$cont];
		$total_itens += ($a[list_tx_qtde]*$_POST[caixa][$cont]);
		$cont++;
	}
	$_POST[total_unidades] = $total_itens;
	// if ($total_caixa>0) {
	// 	$_POST[total_unidades] = $_POST[total_unidades]*$total_caixa;
	// }

	$frete_unitario = number_format($_POST[valor_frete]/$_POST[total_unidades],2,'.','');

		
	$t1[] = cactux::texto('Código:',zeros($a_comp[comp_nb_id],3),2);
	$t1[] = cactux::texto('Setor:',$a_comp[seto_tx_nome],2);
	$t1[] = cactux::texto('Comprador:',$a_comp[user_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_comp[comp_tx_dataCadastro],1),2);

	$t2[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
	// $t2[] = cactux::texto('Descrição/Forma de Pagamento:',$a_comp[comp_tx_obsCadastro],4);
	$t2[] = cactux::campo('Frete:','valor_frete',mostra_valor($_POST[valor_frete],1),2," id='valor_frete' onfocus='foco_atual(this.id,this.value)' onkeyup='mascara_reais(this);atualiza_geral(this.id,this.value);' ");
	$t2[] = cactux::campo('Itens:','total_itens',mostra_valor($_POST[total_unidades],1),2," readonly=true ");
	$t2[] = cactux::campo('Despesas Fixas (%):','despesas_fixas',mostra_valor($a_empresa[empr_tx_percentualDespesasFixas],1),2," id='despesas_fixas' onfocus='foco_atual(this.id,this.value)' onkeyup='mascara_reais(this);atualiza_geral(this.id,this.value);' ");

	$b[] = cactux::botao("Voltar",2,'voltar');
	if($a_comp[comp_tx_status] != 'Finalizado')
		$b[] = cactux::botao_submit("Finalizar",2,'cadastra_listacompra',"opcao_financeiro,opcao_estoque,id,valor_frete","$_POST[opcao_financeiro],$_POST[opcao_estoque],$_POST[id],$_POST[valor_frete]");
//		$b[] = cactux::botao_submit("Avançar",2,'cadastra_listacompra',"opcao_financeiro,opcao_estoque,id,valor_frete","$_POST[opcao_financeiro],$_POST[opcao_estoque],$_POST[id],$_POST[valor_frete]");		

	$status = cactux::msg_status(10);
//  $t2[] = cactux::texto('Valor:',"R$ ".mostra_valor($a_comp[comp_tx_valor],1),2);
//	$combo_net = cactux::combo_net('!Fornecedor:','busca_fornecedor',$a_fornacedor[enti_nb_id],$a_fornacedor[enti_tx_nome],3,array('busca_div.php?c=entidade','busca_net.php?c=entidade'));

	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3]);
	cactux::linha_fieldset($t2[0],$t2[1],$t2[2],$t2[3]);
	cactux::linha_fieldset($b[0],$b[1]);
	cactux::linha_fieldset($status);
	cactux::fecha_fieldset();
	
	echo "<input type=hidden id=campo_atual>";



	$i_impostos=0;
	$cont=0;
	$sql = selecionar('listacompra,compra','list_nb_compra,list_tx_status,list_tx_status',"$_POST[id],!inativo,!Negado");
	while ( $a=carrega_array($sql) ) {

		if( intval($a[list_nb_produto])==0 && $_POST[id_produto][$cont]==0 ){
			$a_prod=array();
		} elseif ( $_POST[id_produto][$cont]>0 && $_POST[id_produto][$cont]!=50 && $_POST[id_produto][$cont]!=51 && $_POST[id_produto][$cont]!=52 ) {
			$a_prod=carregar('produto',$_POST[id_produto][$cont]);
		} else{
			$a_prod=carregar('produto',$a[list_nb_produto]);
		}
		if (@$a_prod[prod_tx_nome]!='' && $a_prod[prod_nb_id]!=50 && $a_prod[prod_nb_id]!=51 && $a_prod[prod_nb_id]!=52) {// SE TIVER UM PRODUTO ASSOCIADO QUE NÃO SEJA UM PRODUTO DE NÃO CADASTRAR OU CADASTRAR NOVO
			$modifica_novo_nome=$a_prod[prod_tx_nome];
		}else{
			$modifica_novo_nome=$a[list_tx_produto];
		}

		if ( $a_prod[prod_nb_marca]>0 ) {
			$a_marca = carregar('marca',$a_prod[prod_nb_marca]);
		} else {
			unset($a_marca);
		}

		// echo "<hr>|".$_POST[id_produto][$cont]."|=>|$a[list_nb_produto]|=>|$a_prod[prod_nb_id]|<hr>";

		if ( $_POST[id_produto][$cont]==50 || $_POST[id_produto][$cont]==51 || $_POST[id_produto][$cont]==52 ) {
			$codigo_barras_prod = $a[list_tx_ean];
		} else {
			$codigo_barras_prod = $a_prod[prod_tx_codbarras];
		}

		// ATUALIZA O VALOR DA EMBALAGEM
		@$a[list_tx_valor] = $a[list_tx_valor]/$_POST[caixa][$cont];

		if ( $_POST[icms][$cont]>0 ) {
			$diferenca_icms = number_format( $a_empresa[empr_tx_icmsPadrao]-$_POST[icms][$cont] ,2,'.','');
			$mostra_icms_origem = mostra_valor($_POST[icms][$cont],1).'%';
		} else {
			$diferenca_icms = 0;
			$mostra_icms_origem = '';
		}
		if ( $diferenca_icms<0 )
			$diferenca_icms=0;// NÃO PERMITE QUE A DIFERENÇA SEJA ZERO
	
		@$icms_unitario = number_format( (($diferenca_icms)/100)*$a[list_tx_valor] ,2,'.','');
		$ipi_unitario = number_format( ($_POST[ipi][$cont]/100)*$a[list_tx_valor] ,2,'.','');
		$valor_custo = number_format($a[list_tx_valor]+$icms_unitario+$ipi_unitario+$frete_unitario,2,'.','');
		$fixo_unitario = number_format( ($a_empresa[empr_tx_percentualDespesasFixas]/100)*$valor_custo ,2,'.','');
		$varejo_unitario = number_format( ($a_empresa[empr_tx_margemVarejo]/100)*$a[list_tx_valor] ,2,'.','');
		$atacado_unitario = number_format( ($a_empresa[empr_tx_margemAtacado]/100)*$a[list_tx_valor] ,2,'.','');	
		$venda_sugestao_atacado_unitario = number_format( $a[list_tx_valor] + $icms_unitario + $ipi_unitario + $frete_unitario + $fixo_unitario + $atacado_unitario ,2,'.','');
		$venda_sugestao_varejo_unitario = number_format( $a[list_tx_valor] + $icms_unitario + $ipi_unitario + $frete_unitario + $fixo_unitario + $varejo_unitario ,2,'.','');


		if ( $a_prod[prod_nb_id]>0 && $a_prod[prod_nb_id]!=50 && $a_prod[prod_nb_id]!=51 && $a_prod[prod_nb_id]!=52 ) {// SE FOR UM PRODUTO QUE JÁ ESTÁ CADASTRADO, OBTEM OS PREÇOS ATUAIS
			// COMO O ATACADO PODE TER MAIS DE UM VALOR, ESTOU CARREGANDO O DE MAIOR QUANTIDADE (SE SERÁ O MENOR PREÇO DE VENDA)
			$sql_atacado = selecionar('atacado','atac_tx_status,atac_nb_produto',"!inativo,$a_prod[prod_nb_id]"," ORDER BY atac_tx_qtde ASC LIMIT 1 ");
			$a_atacado   = carrega_array($sql_atacado);
			$venda_atacado_unitario = $a_atacado[atac_tx_valor];
			$venda_varejo_unitario  = $a_prod[prod_tx_valorVenda];
			$venda_varejo_anterior  = $a_prod[prod_tx_valorVenda];
		} else {
			$venda_atacado_unitario = $venda_sugestao_atacado_unitario;
			$venda_varejo_unitario  = $venda_sugestao_varejo_unitario;
			$venda_varejo_anterior  = 0;
		}


		$campos_hidden 	= "";
		$campos_hidden .= "\n<input type=hidden name=id_lista[] value='".$_POST[id_lista][$cont]."'>";
		$campos_hidden .= "\n<input type=hidden name=id_produto[] value='".$_POST[id_produto][$cont]."'>";
		$campos_hidden .= "\n<input type=hidden name=ncm[] value='".$_POST[ncm][$cont]."'>";
		// $campos_hidden .= "\n<input type=hidden name=nome_produto[] value='".$_POST[nome_produto][$cont]."'>";
		$campos_hidden .= "\n<input type=hidden name=caixa[] value='".$_POST[caixa][$cont]."'>";
		$campos_hidden .= "\n<input type=hidden name=categoria[] value='".$_POST[categoria][$cont]."'>";
		$campos_hidden .= "\n<input type=hidden name=novo_nome[] value='".$_POST[novo_nome][$cont]."'>";
		$campos_hidden .= "\n<input type=hidden name=ipi[] value='".$_POST[ipi][$cont]."'>";
		$campos_hidden .= "\n<input type=hidden name=icms[] value='".$_POST[icms][$cont]."'>";		
		$campos_hidden .= "\n<input type=hidden name=cfop[] value='".$_POST[cfop][$cont]."'>";
		$campos_hidden .= "\n<input type=hidden name=cest[] value='".$_POST[cest][$cont]."'>";
		$campos_hidden .= "\n<input type=hidden name=tipo_produto[] value='".$a_prod[prod_tx_tipo]."'>";// SERVE PARA IDENTIFICAR NA ATUALIZAÇÃO SE ELE É INSUMO
		echo $campos_hidden;




		$d1[] = cactux::campo('Código:<br>&nbsp;','desabilitado',$a_prod[prod_tx_codigo],1," readonly=true ");
		$d1[] = cactux::campo('Código<br>Barras:','codigo_barras[]',$codigo_barras_prod,2);
		$d1[] = cactux::campo('Produto: ('.$_POST[ncm][$cont].')<br>&nbsp;','nome_produto[]',$modifica_novo_nome,3);
		$d1[] = cactux::campo('Quantidade:<br>&nbsp;','desabilitado',mostra_valor($a[list_tx_qtde],1),1," readonly=true ");
		$d1[] = cactux::campo('UN:<br>&nbsp;','desabilitado',$a[list_tx_unidade],1," readonly=true ");
		$d1[] = cactux::campo('Embalagem:<br>&nbsp;','desabilitado',$_POST[caixa][$cont],1," readonly=true ");
		$d1[] = cactux::campo('Total Qtde.:<br>&nbsp;','desabilitado',mostra_valor($a[list_tx_qtde]*$_POST[caixa][$cont],1),1," readonly=true ");
		
		
		$d2[] = cactux::campo('Valor<br>Nota:','compra_unitario[]',mostra_valor($a[list_tx_valor]),1," id='compra_unitario_".$a[0]."' onfocus='foco_atual(this.id,this.value)' onkeyup='mascara_reais(this);somatorio_atual($a[0]);' readonly='' ");
		$d2[] = cactux::campo('ICMS<br>Origem:','desabilitado',$mostra_icms_origem,1," readonly=true ");
		$d2[] = cactux::campo('ICMS<br>Destino:','desabilitado',mostra_valor($a_empresa[empr_tx_icmsPadrao],1).'%',1," readonly=true ");
		$d2[] = cactux::campo('Diferença<br>ICMS:','icms_unitario[]',mostra_valor($diferenca_icms,1),1," id='icms_".$a[0]."' onfocus='foco_atual(this.id,this.value)' onkeyup='mascara_reais(this);percentual_atual(this.id,this.value,$a[0],\"icms\");' ");
		$d2[] = cactux::campo('Valor<br>ICMS:','desabilitado',mostra_valor($icms_unitario,1),1," id=div_icms_$a[0] readonly=true ");		
		$d2[] = cactux::campo('Aliquota<br>IPI:','ipi_unitario[]',mostra_valor($_POST[ipi][$cont]),1," id='ipi_".$a[0]."' onfocus='foco_atual(this.id,this.value)' onkeyup='mascara_reais(this);percentual_atual(this.id,this.value,$a[0],\"ipi\");' ");
		$d2[] = cactux::campo('Valor<br>IPI:','desabilitado',mostra_valor($ipi_unitario,1),1," readonly=true id=div_ipi_$a[0] ");
		$d2[] = cactux::campo('Rateio<br>Frete:','frete_unitario[]',mostra_valor($frete_unitario),1," id='frete_".$a[0]."' onfocus='foco_atual(this.id,this.value)' onkeyup='mascara_reais(this);somatorio_atual($a[0]);' ");
		$d2[] = cactux::campo('Valor<br>Custo:','valor_custo_unitario[]',mostra_valor($valor_custo,1),2," id='valor_custo_".$a[0]."' readonly=true ");

		if ( $a_prod[prod_nb_id]==52 || strtolower($a_prod[prod_tx_tipo])=='insumos' ) {
			// $d3[] = cactux::campo('Despesas<br>Fixas (R$):','desabilitado',mostra_valor($fixo_unitario,1),1," id='despesas_fixas_".$a[0]."' readonly=true ");
			// $d3[] = cactux::campo('Outras<br>Despesas(R$):','outras_unitario[]','',1," id='outras_".$a[0]."' onfocus='foco_atual(this.id,this.value)' onkeyup='mascara_reais(this);somatorio_atual($a[0]);' ");
			// $d3[] = cactux::campo('Margem (%):<br>&nbsp;','varejo_unitario[]',mostra_valor($a_empresa[empr_tx_margemVarejo]),1," id='varejo_".$a[0]."' onfocus='foco_atual(this.id,this.value)' onkeyup='mascara_reais(this);percentual_atual(this.id,this.value,$a[0],\"varejo\");' ");
			// $d3[] = cactux::campo('Margem (R$):<br>&nbsp;','desabilitado',mostra_valor($varejo_unitario,1),1," readonly=true id=div_varejo_$a[0] ");
			// $d3[] = cactux::campo('Valor<br>Sugestão:','desabilitado',mostra_valor($venda_sugestao_varejo_unitario,1),1," id='varejo_final_".$a[0]."' readonly=true ");
			// $d3[] = cactux::campo('Valor Venda<br>Atual:','venda_varejo_anterior[]',mostra_valor($venda_varejo_anterior,1),1," readonly='' ");
			// $d3[] = cactux::campo('Valor<br>Venda:','venda_final_varejo_unitario[]',mostra_valor($venda_varejo_unitario,1),1,"  onfocus='foco_atual(this.id,this.value)' onkeyup='mascara_reais(this);verifica_valor_venda($a[0]);'  id='varejo_final_varejo_unitario".$a[0]."'");
			$d3[] = cactux::combo_net('!Marca:<br>(opcional)','marca_produto_'.$cont,$a_marca[marc_nb_id],$a_marca[marc_tx_nome],3,array("../combonet/busca_div.php?c=marca","../combonet/busca_net.php?c=marca"));
			$d3[] = cactux::texto('Tipo:','CADASTRADO COM INSUMO',2);

		} else {
			$d3[] = cactux::campo('Despesas<br>Fixas (R$):','desabilitado',mostra_valor($fixo_unitario,1),1," id='despesas_fixas_".$a[0]."' readonly=true ");
			$d3[] = cactux::campo('Outras<br>Despesas(R$):','outras_unitario[]','',1," id='outras_".$a[0]."' onfocus='foco_atual(this.id,this.value)' onkeyup='mascara_reais(this);somatorio_atual($a[0]);' ");
			$d3[] = cactux::campo('Margem (%):<br>&nbsp;','varejo_unitario[]',mostra_valor($a_empresa[empr_tx_margemVarejo]),1," id='varejo_".$a[0]."' onfocus='foco_atual(this.id,this.value)' onkeyup='mascara_reais(this);percentual_atual(this.id,this.value,$a[0],\"varejo\");' ");
			$d3[] = cactux::campo('Margem (R$):<br>&nbsp;','desabilitado',mostra_valor($varejo_unitario,1),1," readonly=true id=div_varejo_$a[0] ");
			$d3[] = cactux::campo('Valor<br>Sugestão:','desabilitado',mostra_valor($venda_sugestao_varejo_unitario,1),1," id='varejo_final_".$a[0]."' readonly=true ");
			$d3[] = cactux::campo('Valor Venda<br>Atual:','venda_varejo_anterior[]',mostra_valor($venda_varejo_anterior,1),1," readonly='' ");
			$d3[] = cactux::campo('Valor<br>Venda:','venda_final_varejo_unitario[]',mostra_valor($venda_varejo_unitario,1),1,"  onfocus='foco_atual(this.id,this.value)' onkeyup='mascara_reais(this);verifica_valor_venda($a[0]);'  id='varejo_final_varejo_unitario".$a[0]."'");
			$d3[] = cactux::combo_net('!Marca:<br>(opcional)','marca_produto_'.$cont,$a_marca[marc_nb_id],$a_marca[marc_tx_nome],3,array("../combonet/busca_div.php?c=marca","../combonet/busca_net.php?c=marca"));
		}

		// CHAMA A FUNÇÃO APÓS CARREGAR A PÁGINA, ANTES ISSO NÃO FUNCIONA
		javascript("			
			window.onload = function(){
				verifica_valor_venda('$a[0]');
			}
		");
	

		cactux::abre_fieldset('Item '.zeros($cont+1,2));
		cactux::linha_fieldset($d1[0],$d1[1],$d1[2],$d1[3],$d1[4],$d1[5],$d1[6]);
		cactux::linha_fieldset($d2[0],$d2[1],$d2[2],$d2[3],$d2[4],$d2[5],$d2[6],$d2[7],$d2[8],$d2[9]);
		// cactux::linha_fieldset($d3[0],$d3[1],$d3[2],$d3[3],$d3[4],$d3[5],$d3[6],$d3[7],$d3[8],$d3[9]);
		cactux::linha_fieldset($d3[0],$d3[1],$d3[2],$d3[3],$d3[4],$d3[5],$d3[6],$d3[7]);
		cactux::fecha_fieldset();


		unset($d1,$d2,$d3);

		$cont++;
	}


	echo "</table>";


	
	//$valores[] = array( '', '','','','','','', '', '<B>TOTAL:', "R$ ".'<B>'.mostra_valor($a_comp[comp_tx_valor],1) ,'');

	echo"<br>";
	// grid::gerar($cabecalho,$valores);
	echo"<br>";
	
	cactux::fecha_form();
	// cactux::acao_botao('voltar','layout_xml','id',$_POST[id]);
	echo"
		<form method=post name=voltar>".
			cactux_cookie::hidden_sistema()."
			<input type=hidden name=acao value=layout_xml>
			<input type=hidden name=id value=$_POST[id]>";

			foreach ($_POST[ipi] as $valor_ipi) {
				// $ARRAY_IPI = $_POST[ARRAY_IPI];
				echo "<input type=hidden name=ARRAY_IPI[] value='$valor_ipi'>";
			}
			foreach ($_POST[icms] as $valor_icms) {
				// $ARRAY_ICMS = $_POST[ARRAY_ICMS];
				echo "<input type=hidden name=ARRAY_ICMS[] value='$valor_icms'>";
			}
	echo "</form>
	";
	
	?>
	<script>
	function foco_atual(id,valor) {
	
		console.log('foco_atual() id='+id+' -> valor:'+valor);
		window.document.getElementById('campo_atual').value=id;	
	}
	

	function percentual_atual(id,valor,linha,campo) {
		
		var compra = gera_valor(window.document.getElementById('valor_custo_'+linha).value);
		var novo_valor;

		var despesas_fixas = gera_valor(window.document.getElementById('despesas_fixas_'+linha).value);
		var despesas_outras = gera_valor(window.document.getElementById('outras_'+linha).value);
		
		valor = gera_valor(valor);
				
		console.log(campo+'_atual() id='+id+' -> valor:'+valor+' -> linha='+linha+' -> compra_unitario='+compra);

		novo_valor = valor/100*compra;
		novo_valor += (despesas_fixas+despesas_outras);
	
		window.document.getElementById('div_'+campo+'_'+linha).value = novo_valor.formatMoney();
		
		somatorio_atual(linha);
	}
	

	function somatorio_atual(linha) {

		var compra = gera_valor(window.document.getElementById('compra_unitario_'+linha).value);
		var icms = gera_valor(window.document.getElementById('div_icms_'+linha).value);		
		var ipi = gera_valor(window.document.getElementById('div_ipi_'+linha).value);				
		var frete = gera_valor(window.document.getElementById('frete_'+linha).value);
		var valor_custo = compra+icms+ipi+frete;

		var percentual_desp_fixas = gera_valor(window.document.getElementById('despesas_fixas').value);// OBTÊM O PERCENTUAL DAS DESPESAS FIXAS

		if (percentual_desp_fixas>0)
			var fixo = (percentual_desp_fixas/100)*valor_custo;
		else
			var fixo = 0;
		
		// var fixo = gera_valor(window.document.getElementById('despesas_fixas_'+linha).value);
		var outras = gera_valor(window.document.getElementById('outras_'+linha).value);				
		var varejo = gera_valor(window.document.getElementById('div_varejo_'+linha).value);						
		// var atacado = gera_valor(window.document.getElementById('div_atacado_'+linha).value);
		var atacado = 0;//CRIEI PARA EVITAR ERROR NO JS APÓS COMENTAR ESSES CAMPOS								
		var novo_valor;


		// alert(window.document.getElementById('frete_'+linha).value);
		
		console.log('somatorio() compra='+compra+' -> icms='+icms+' -> ipi='+ipi+' -> frete='+frete+' -> fixo='+fixo+' -> outras='+outras+' -> varejo='+varejo+' -> atacado='+atacado+''); 

		// ATUALIZA OS CAMPOS A SEREM ALTERADOS
		window.document.getElementById('valor_custo_'+linha).value = valor_custo.formatMoney();
		window.document.getElementById('despesas_fixas_'+linha).value = fixo.formatMoney();

		// CALCULA O VALOR DO VAREJO
		novo_valor = compra + icms + ipi + frete + fixo + outras + varejo;
		window.document.getElementById('varejo_final_'+linha).value = novo_valor.formatMoney();
		
		// ESSE É O CAMPO DE VALOR FINAL
		// MARCELO PEDIU PRA ATUALIZAR EM 2019-09-23
		window.document.getElementById('varejo_final_varejo_unitario'+linha).value = novo_valor.formatMoney();
		
		verifica_valor_venda(linha);
		
		// CALCULA O VALOR DO ATACADO
		novo_valor = compra + icms + ipi + frete + fixo + outras + atacado;
		// window.document.getElementById('atacado_final_'+linha).value = novo_valor.formatMoney();
		
	}


	function verifica_valor_venda(linha){
		// VERIFICA SE O VALOR DE VENDA NO VAREJO ESTÁ MENOR QUE O DE ATACADO

		var v_compra = gera_valor(window.document.getElementById('valor_custo_'+linha).value);
		var v_varejo = gera_valor(window.document.getElementById('varejo_final_varejo_unitario'+linha).value);

		// DEIXA O CAMPO EM VERMELHO SE ELE ESTIVER ZERADO
		if ( v_varejo<=0 || v_varejo<v_compra ) {
			window.document.getElementById('varejo_final_varejo_unitario'+linha).style.backgroundColor = 'red';
		} else {			
			window.document.getElementById('varejo_final_varejo_unitario'+linha).style.backgroundColor = 'white';
		}
	}



	function atualiza_geral(id,valor_cp){

		// alert(id+'|=>|'+valor_cp);

		var ids_listas = window.document.getElementsByName('id_lista[]');
		var qtde_listas= ids_listas.length;

		var valor_cp= gera_valor(valor_cp);
		var total_unidades = '<?=$_POST[total_unidades]?>';
		// if (qtde_listas>0)
		// 	var despesas_fixas_rateio = valor_cp/qtde_listas;
		// else
		// 	var despesas_fixas_rateio = 0;
		// despesas_fixas_rateio = despesas_fixas_rateio.formatMoney();

		// IDENTIFICA QUAL CAMPO DEVE SER ATUALIZADO
		if ( id=='despesas_fixas' ) {
			for (var i=0; i<qtde_listas; i++) {
				var custo_fixo = window.document.getElementById('valor_custo_'+ids_listas[i].value).value;
				custo_fixo = gera_valor(custo_fixo);

				if ( valor_cp>0 ) {
					var custo_fixo_reais = (valor_cp/100)*custo_fixo;
				} else {
					var custo_fixo_reais = 0;
				}

				window.document.getElementById('despesas_fixas_'+ids_listas[i].value).value = custo_fixo_reais.formatMoney();
				somatorio_atual(ids_listas[i].value);//ATUALIZA O CÁLCULO DE TODOS OS CAMPOS
			}

		} else if ( id=='valor_frete' ) {
			if (total_unidades>0)
				var rateio_valor_frete = valor_cp/total_unidades;
			else
				var rateio_valor_frete = 0;
			rateio_valor_frete = rateio_valor_frete.formatMoney();

			for (var i=0; i<qtde_listas; i++) {
				window.document.getElementById('frete_'+ids_listas[i].value).value = rateio_valor_frete;
				somatorio_atual(ids_listas[i].value);//ATUALIZA O CÁLCULO DE TODOS OS CAMPOS
			}
		}
	}


	
/*
	function icms_atual(id,valor,linha) {
		
		var compra = gera_valor(window.document.getElementById('compra_unitario_'+linha).value);
		var novo_valor;
		
		valor = gera_valor(valor);
				
		console.log('icms_atual() id='+id+' -> valor:'+valor+' -> linha='+linha+' -> compra_unitario='+compra);

		novo_valor = valor/100*compra;
	
		window.document.getElementById('div_icms_'+linha).innerHTML = novo_valor.formatMoney();
	}
	
	function ipi_atual(id,valor,linha) {
		
		var compra = gera_valor(window.document.getElementById('compra_unitario_'+linha).value);
		var novo_valor;
		
		valor = gera_valor(valor);
				
		console.log('ipi_atual() id='+id+' -> valor:'+valor+' -> linha='+linha+' -> compra_unitario='+compra);
		//$ipi_unitario = round( ($_POST[ipi][$cont]/100)*$a[list_tx_valor] ,2);
		novo_valor = valor/100*compra;
	
		window.document.getElementById('div_ipi_'+linha).innerHTML = novo_valor.formatMoney();
	}

	function fixo_atual(id,valor,linha) {
		
		var compra = gera_valor(window.document.getElementById('compra_unitario_'+linha).value);
		var novo_valor;
		
		valor = gera_valor(valor);
				
		console.log('fixo_atual() id='+id+' -> valor:'+valor+' -> linha='+linha+' -> compra_unitario='+compra);
		
		novo_valor = valor/100*compra;
	
		window.document.getElementById('div_fixo_'+linha).innerHTML = novo_valor.formatMoney();
	}
*/		
	</script>
	
	<?

	rodape();
	exit;
}





function layout_xml(){
	global $CONFIGURA;

	$ARRAY_IPI = $_POST[ARRAY_IPI];
	$ARRAY_ICMS = $_POST[ARRAY_ICMS];
	

	$sql_comp=selecionar('compra,setor,entidade.user','comp_nb_id',"$_POST[id]"," AND user_nb_id=comp_nb_userCadastro");
	$a_comp  = carrega_array($sql_comp);

	if ( $CONFIGURA[NAO_CADASTRAR_PRODUTO_REQUISICAO]=='SIM' ) {
		// SE ESTIVER CONFIGURADO PARA NÃO CADASTRAR PRODUTOS, JÁ CARREGA O PRODUTO NÃO CADASTRAR
		$a_prod_nao_cadastrar=carregar('produto',50);
	}

	$sql_movimento = selecionar('movimento','movi_tx_status,movi_nb_compra',"!inativo,$a_comp[comp_nb_id]"," ORDER BY movi_nb_id DESC LIMIT 1 ");
	if ( num_linhas($sql_movimento)>0 ) {
		$a_movi = carrega_array($sql_movimento);
		if ($a_movi[movi_nb_centrocusto]>0)
			$a_centro = carregar('centrocusto',$a_movi[movi_nb_centrocusto]);
		if ($a_movi[movi_nb_planoconta]>0)
			$a_plano = carregar('planoconta',$a_movi[movi_nb_planoconta]);
	}


	
	cabecalho('Solicitação de Compra');
	
	
	cactux::abre_form();

	campo_hidden('id_fornecedor',$a_comp[enti_nb_id]);
		
	$t1[] = cactux::texto('Código:',zeros($a_comp[comp_nb_id],3),1);
	$t1[] = cactux::texto('Setor:',$a_comp[seto_tx_nome],2);
	$t1[] = cactux::texto('Comprador:',$a_comp[user_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_comp[comp_tx_dataCadastro],1),1);
	$t1[] = cactux::campo('Valor&nbsp;Frete:','valor_frete',mostra_valor($a_comp[comp_tx_frete],1),2,MASCARA_VALOR);

	$t2[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],3);
	$t2[] = cactux::texto('Descrição/Forma de Pagamento:',$a_comp[comp_tx_obsCadastro],2);
	$t2[] = cactux::texto('Centro Custo:',$a_centro[cent_tx_nome],2);
	$t2[] = cactux::texto('Plano Contas:',$a_plano[plan_tx_nome],3);

	$b[] = cactux::botao("Voltar",2,'voltar');
	if($a_comp[comp_tx_status] != 'Finalizado')
		$b[] = cactux::botao_submit("Avançar",2,'layout_preco',"opcao_financeiro,opcao_estoque,id","$_POST[opcao_financeiro],$_POST[opcao_estoque],$_POST[id]");
//		$b[] = cactux::botao_submit("Avançar",2,'cadastra_listacompra',"opcao_financeiro,opcao_estoque,id,valor_frete","$_POST[opcao_financeiro],$_POST[opcao_estoque],$_POST[id],$_POST[valor_frete]");		

	$status = cactux::msg_status();
//  $t2[] = cactux::texto('Valor:',"R$ ".mostra_valor($a_comp[comp_tx_valor],1),2);
	$combo_net = cactux::combo_net('!Fornecedor:','busca_fornecedor',$a_fornacedor[enti_nb_id],$a_fornacedor[enti_tx_nome],3,array('busca_div.php?c=entidade','busca_net.php?c=entidade'));

	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3],$t1[4]);
	cactux::linha_fieldset($t2[0],$t2[1],$t2[2],$t2[3]);
	cactux::linha_fieldset($b[0],$b[1],$status);

	cactux::fecha_fieldset();
	

	$check_todos = "<input type='checkbox' id='check_novo_todos' onClick='seleciona_novo_todos();'>";
	
	$cabecalho[]=array('','NOME','IDENTIFICAR&nbsp;PRODUTO',$check_todos,'UNIDADE','EMBALAGEM','QTDE','CATEGORIA','VALOR&nbsp;UNIT.','VALOR&nbsp;TOTAL');
	$cabecalho[]='c,e,e,c,c,c,c,c,c';
	$cabecalho[]='3%,20%,,4%,4%,5%,5%,20%,6%,6';

	

	// $sql_produto = selecionar('produto','prod_tx_status',"!inativo"," AND prod_nb_id > 100 ORDER BY prod_tx_nome");
	// $opt="<option value=''><i>Selecione o produto...</i></option>";
	// while($a_pro=carrega_array($sql_produto)){
	// 	$opt.="<option value='$a_pro[0]'>$a_pro[1]</option>";
	// }

	$i_impostos=0;
	$cont=0;
	$sql = selecionar('listacompra,compra','list_nb_compra,list_tx_status,list_tx_status',"$_POST[id],!inativo,!Negado");   
	while ( $a=carrega_array($sql) ) {

		// $select = "<select style='width:100%' name='escolha[".$cont."]' id='escolha_".$cont."' onchange='abre_produto($cont);'>";
		if($a[list_nb_produto] == '' || $a[list_nb_produto] == 0){
		// 	$select.="<option value='Cadastrar'>Cadastrar</option>
		// 		<option value='Novo Fornecedor'>Novo Fornecedor</option>
		// 		<option value='Não Cadastrar'>Não Cadastrar</option>";
				$a_prod=array();
		}else{
		// 	$select.="<option value='Adicionar Estoque'>Adicionar Estoque</option>
		// 		<option value='Não Cadastrar'>Não Cadastrar</option>";
				$a_prod=carregar('produto',$a[list_nb_produto]);
				$a[list_tx_ncm] = $a_prod[prod_tx_ncm];
				$a[list_tx_cfop] = $a_prod[prod_tx_cfop];
				$a[list_tx_cest] = $a_prod[prod_tx_cest];
		}

		if ( $CONFIGURA[NAO_CADASTRAR_PRODUTO_REQUISICAO]=='SIM' ) {
			// PRODUTO NÃO CADASTRAR
			$a_prod=$a_prod_nao_cadastrar;
		}

		// $select.="</select>";

		// $select2 = "
		// <select style='width:100%;display:none' id=produto_$cont name='produto[".$cont."]' onchange='carrega_produto(this.value,$cont);'>
		// $opt
		// </select>";


		$opt_cate='';

		if ( $CONFIGURA[NAO_CADASTRAR_PRODUTO_REQUISICAO]=='SIM' ) {
			$opt_cate.="<option value=''></option>";
		}


		$sql_cate = selecionar('categoria','cate_tx_status',"!inativo"," ORDER BY cate_tx_nome");
		while($a_cate=carrega_array($sql_cate)){
			if(@$a_prod[prod_nb_categoria] == $a_cate[0])
				$selected = " selected=selected";
			else
				$selected = "";
			$opt_cate.="<option $selected value='$a_cate[0]'>$a_cate[1]</option>";
		}
		
		$sel_cate="<select style='width:100%' name='categoria[]' id='categoria[".$cont."]'>";
		$sel_cate.=$opt_cate;
		$sel_cate.="</select>";
	
		$valor_total2+=($a[list_tx_valor]*$a[list_tx_qtde]);

		campo_hidden('id_lista[]',$a[list_nb_id]);

		$sql_trib = selecionar('trib_nb_id,trib_tx_status|tributacao,imposto',"trib_tx_status,impo_tx_status","!inativo,ativo"," AND impo_tx_codigo = '$a[list_tx_ncm]' LIMIT 1");
		$a_trib = carrega_array($sql_trib);
		// echo $a_trib[impo_tx_codigo]." - $a_trib[trib_tx_status]<br>";
		// if($a_trib[trib_tx_status] == 'aguardando')
		// 	$modifica_trib = "<a href=#><img src='../cactus/imagens/visualizar.png' onclick=chama_modificar_tributacao('$a_trib[trib_nb_id]')></a>";
		// 	// $modifica_trib = ".icone_modificar($_POST[id],'layout_imprime','voltar','onclick=alert()','onclick=alert()','onclick=alert()')";
		// else
		// 	$modifica_trib='';



		if ( $a_comp[enti_nb_id]>0 ) {
			$sql_linha = selecionar('lifo_tx_caixa|lifornecedor','lifo_tx_status,lifo_nb_produto,lifo_nb_entidade',"!inativo,$a_prod[prod_nb_id],$a_comp[enti_nb_id]"," LIMIT 1 ");
			$a_linha = carrega_array($sql_linha);
			$a_prod[prod_tx_caixa] = $a_linha[lifo_tx_caixa];
			// echo "|$a_prod[prod_tx_caixa]|";
		}


		if(@$a_prod[prod_tx_caixa]>0)
			$caixa = $a_prod[prod_tx_caixa];
		else
			$caixa = '1';

		if (@$a_prod[prod_tx_nome]!='' && $a_prod[prod_nb_id]!=50 && $a_prod[prod_nb_id]!=51 && $a_prod[prod_nb_id]!=52) {// SE TIVER UM PRODUTO ASSOCIADO QUE NÃO SEJA UM PRODUTO DE NÃO CADASTRAR OU CADASTRAR NOVO
			$modifica_novo_nome=$a_prod[prod_tx_nome];
		}else{
			$modifica_novo_nome=$a[list_tx_produto];
		}

		if ( $CONFIGURA[NAO_CADASTRAR_PRODUTO_REQUISICAO]=='SIM' ) {
			$modifica_novo_nome=$a[list_tx_produto];
		}

		// $ncm = cactux::campo_simples('ncm[]',$a[list_tx_ncm],5,'readonly=readonly style="background-color:lightgray;"');
		// $novo_nome = cactux::campo_simples('novo_nome[]',$modifica_novo_nome,5," id=novo_nome[$cont] style='display:inline'");		
		// $cfop = cactux::campo_simples('cfop[]',$a[list_tx_cfop],5);
		// $cest = cactux::campo_simples('cest[]',$a[list_tx_cest],5);
		campo_hidden('ncm[]',$a[list_tx_ncm]);
		campo_hidden('novo_nome[]',$modifica_novo_nome);
		campo_hidden('cfop[]',$a[list_tx_cfop]);
		campo_hidden('cest[]',$a[list_tx_cest]);
		
		
		// NAO ENTRA MAIS COM O PRECO DE VENDA NESSA TELA E SIM NA PROXIMA
		//$campo_simples = cactux::campo_simples('valorVenda[]',mostra_valor($a_prod[prod_tx_valorVenda]),5," id=valorVenda[$cont] ".MASCARA_VALOR);
		
		$campo_embalagem = cactux::campo_simples('caixa[]',$caixa,5," id=caixa[$cont] ".MASCARA_NUMERO);
		$campo_prod = cactux::campo_simples('nome_produto[]',$a_prod[prod_tx_nome],5," id=nome_produto[$cont] onblur=muda_foco('$cont') oninput=carrega_nome_produto('$cont') data-cont='$cont' required=required2");
		echo"<input type=text name=id_produto[] id=id_produto[$cont] value='$a_prod[prod_nb_id]' style='display:none'>";

		// ESSES DOIS CAMPOS SÃO UTILIZADOS PELO CHECK "CADASTRAR NOVO". COM ELES É POSSÍVEL RETORNAR AO PRODUTO ORIGINAL AO DESMARCAR O CHECK
		echo "<input type=hidden id=nome_prod_padrao[$cont] value='$a_prod[prod_tx_nome]'>";
		echo "<input type=hidden id=id_prod_padrao[$cont] value='$a_prod[prod_nb_id]'>";


		$select_produto ="<div id=lista_produto[$cont] style='margin-left:0%;display:none;width:75%;position:absolute;background:white;z-index: 1;cursor: pointer;'>
			<ul id=ul_produto$cont>
			</ul>
		<div>";

		$hidden_ipi = "\r\n<input type=hidden name=ipi[] value='".$ARRAY_IPI[$i_impostos]."'>";
		$hidden_icms = "\r\n<input type=hidden name=icms[] value='".$ARRAY_ICMS[$i_impostos]."'>";

		$check = "<input type='checkbox' id='check_novo_$cont' onClick='seleciona_novo($cont);' >";
		
		$valores[] = array( ++$j,$modifica_novo_nome,$campo_prod.$select_produto, $check, $a[list_tx_unidade],$campo_embalagem, mostra_valor($a[list_tx_qtde]),$sel_cate, "R$ ".mostra_valor($a[list_tx_valor]),
							"R$ ".mostra_valor($a[list_tx_valor]*$a[list_tx_qtde]).$hidden_ipi.$hidden_icms );//,$campo_simples
							
		//$valores[] = array('','',"<input type=text name=ipi[] value='".$ARRAY_IPI[$i_impostos]."'>",'',"<input type=text name=icms[] value='".$ARRAY_ICMS[$i_impostos]."'>",'',"<input type=text name=frete[] value='".$ARRAY_FRETE[$i_impostos]."'>",'','','','');
		
		$total_unidades += $a[list_tx_qtde] * $caixa;
		
		$i_impostos++;
		// $valores[] = array( ++$j, $a[list_tx_produto], $a[list_tx_unidade],$campo_embalagem, mostra_valor($a[list_tx_qtde]), "R$ ".mostra_valor($a[list_tx_valor]),
		//                  "R$ ".mostra_valor($a[list_tx_valor]*$a[list_tx_qtde]),$sel_cate,$ncm,$campo_simples,$select."<br>".$select2,$modifica_trib );

		$cont++;	
	}

	if( mostra_valor($a_comp[comp_tx_valor],1) != mostra_valor($valor_total2,1))
		$valores[]=array('','','','','','','','','<B>SUB-TOTAL:',"R$ ".'<B>'.mostra_valor($valor_total2,1));
	
	$valores[] = array('','','','','','','','','<B>TOTAL:',"R$ ".'<B>'.mostra_valor($a_comp[comp_tx_valor],1));


	echo"<br>";
	grid::gerar($cabecalho,$valores);
	echo"<br>";
	
	echo"<iframe id=frame_produto src='' style='display:none' /></iframe>";	
	echo "<input type=hidden name=total_unidades value='$total_unidades'>";

	cactux::fecha_form();

	if ( $a_comp[comp_tx_status]=='Incompleto' ) {
		cactux::acao_botao('voltar','excluir_compra','id',"$a_comp[comp_nb_id]");

	} else {
		cactux::acao_botao('voltar','index');
	}

	echo"
		<form method=post action=../cadastro_tributacao.php name=form_tributacao>".
			cactux_cookie::hidden_sistema()."
			<input type=hidden name=acao value=modifica_tributacao>
			<input type=hidden name=id_compra value=$_POST[id]>
			<input type=hidden name=id>
		</form>
	";

	echo "<iframe name=frame_busca_produto id=frame_busca_produto style='display:none;' src=''></iframe>";
	echo "<script src='../jquery.min.js'></script>";
	echo "<style>li.selected {background:lightgray;font-size:17px;font-weight: bold;}</style>";
	echo "<style>ul {font-size:17px;list-style-type: none; padding: 2px;}</style>";

	javascript("

		// function mascara_reais(z){
		// 	v = z.value; 
		// 	v=v.replace(/\D/g,')  //permite digitar apenas números 
		// 	v=v.replace(/[0-9]{12}/,'inválido')   //limita pra máximo 999.999.999,99 
		// 	v=v.replace(/(\d{1})(\d{8})$/,'$1.$2')  //coloca ponto antes dos últimos 8 digitos 
		// 	v=v.replace(/(\d{1})(\d{5})$/,'$1.$2')  //coloca ponto antes dos últimos 5 digitos 
		// 	v=v.replace(/(\d{1})(\d{1,2})$/,'$1,$2') //coloca virgula antes dos últimos 2 digitos 
		// 	z.value = v; 
		// }


		function seleciona_novo(cont){
			var elemento = window.document.getElementById('check_novo_'+cont);
			
			if (elemento.checked == true) {
				seleciona_produto('CADASTRAR NOVO PRODUTO',51,cont);
			} else {
				// SE O CHECK ESTIVER DESMARCADO

				var nome_orig = window.document.getElementById('nome_prod_padrao['+cont+']').value;
				var id_orig = window.document.getElementById('id_prod_padrao['+cont+']').value;
				
				window.document.getElementById('nome_produto['+cont+']').value=nome_orig;
				window.document.getElementById('id_produto['+cont+']').value=id_orig;
			}
		}

		function seleciona_novo_todos(){

			var qtde_checks = $cont;
			var check_todos = window.document.getElementById('check_novo_todos');

			for (i=0; i<qtde_checks; i++){
				var elemento = window.document.getElementById('check_novo_'+i);
				
				if (check_todos.checked == true) {
					elemento.checked = true;
					seleciona_produto('CADASTRAR NOVO PRODUTO',51,i);
				} else {
					// SE O CHECK ESTIVER DESMARCADO
					elemento.checked = false;

					var nome_orig = window.document.getElementById('nome_prod_padrao['+i+']').value;
					var id_orig = window.document.getElementById('id_prod_padrao['+i+']').value;

					window.document.getElementById('nome_produto['+i+']').value=nome_orig;
					window.document.getElementById('id_produto['+i+']').value=id_orig;
				}
			}
		}



		var jq = $.noConflict();


		function carrega_li(cont){
			window.li = jq('ul').eq(cont);
			li=li.find('#id_li0');
			window.liSelected;
			window.liSelected = window.li.addClass('selected');
		}

		jq(window).keydown(function(e){
			if(e.which === 13) {
			//  alert(window.document.getElementById('id_produto['+cont+']').value);
				e.preventDefault();
				var texto2 = window.liSelected.text();
				var cont2 = jq(':focus').data('cont');


				// VERIFICA SE A LISTA DE PRODUTOS FOI CRIADA
				var ul = document.getElementById('ul_produto'+cont2);

				if ( ul.getElementsByTagName('li')[0] ) {
					// SE ESTIVER SELECIONANDO UM ITEM MANUALMENTE
					
					var id_produto2 = window.document.getElementById('id_produto['+cont2+']').value=window.liSelected.data('value');
					carrega_produto(id_produto2,cont2);
					window.document.getElementById('lista_produto['+cont2+']').style.display='none';
					// if(id_produto2=='51'){
					// 	// window.document.getElementById('campo_produto['+cont2+']').style.display='none';
					// 	window.document.getElementById('novo_nome['+cont2+']').style.display='inline';
					// }else{
					// 	// window.document.getElementById('campo_produto['+cont2+']').style.display='inline';
					// 	// window.document.getElementById('novo_nome['+cont2+']').style.display='none';
					// }

				} else {
					// ESSE ELSE SERVE PARA O LEITOR DE CÓDIGO DE BARRAS

					// OBTEM O TEXTO DO CAMPO DE BUSCAS
					var texto_busca = window.document.getElementById('nome_produto['+cont2+']').value;

					window.document.getElementById('frame_busca_produto').src='requisicao.php?".cactux_cookie::url_sistema()."&acao=dados_produto&codbarras='+texto_busca+'&cont='+cont2;

					// window.document.getElementById('frame_busca_produto').src = 'requisicao.php?".cactux_cookie::url_sistema()."&acao=carrega_produto&busca_prod='+texto_busca+'&indice='+cont2+'&seleciona=sim';
				}

				// var busca_produto = window.document.getElementById('nome_produto['+cont2+']').value;
				// window.document.getElementById('frame_busca_produto').src = 'requisicao.php?".cactux_cookie::url_sistema()."&acao=carrega_produto&busca_prod='+busca_produto+'&indice='+cont+'&seleciona=sim';
				
			}

			if (e.which === 27  ) {
				var cont = jq(':focus').data('cont');
				window.document.getElementById('nome_produto['+cont+']').value='';
				window.document.getElementById('id_produto['+cont+']').value='';
				window.document.getElementById('lista_produto['+cont+']').style.display='none';
			}

			if(e.which === 40){



				if(window.liSelected){
					window.liSelected.removeClass('selected');
					next = window.liSelected.next();
					if(next.length > 0){
						window.liSelected = next.addClass('selected');
					}else{
						window.liSelected = window.li.eq(0).addClass('selected');
					}
				}else{
					window.liSelected = window.li.eq(0).addClass('selected');
				}

				var cont = jq(':focus').data('cont');
				window.document.getElementById('id_produto['+cont+']').value=window.liSelected.data('value');
			}else if(e.which === 38){
				
				if(window.liSelected){
					window.liSelected.removeClass('selected');
					next = window.liSelected.prev();
					if(next.length > 0){
						window.liSelected = next.addClass('selected');
					}else{
						window.liSelected = window.li.last().addClass('selected');
					}
				}else{
					window.liSelected = window.li.last().addClass('selected');
				}
				var cont = jq(':focus').data('cont');               
				window.document.getElementById('id_produto['+cont+']').value=window.liSelected.data('value');

			}
		});

		function seleciona_produto(nome,id,cont){

			window.document.getElementById('nome_produto['+cont+']').value=nome;
			window.document.getElementById('id_produto['+cont+']').value=id;
			window.document.getElementById('lista_produto['+cont+']').style.display='none';			
			carrega_produto(id,cont);
			// if(id == '51'){
			// 	// window.document.getElementById('campo_produto['+cont+']').style.display='none';
			// 	window.document.getElementById('novo_nome['+cont+']').style.display='inline';
			// }else{
			// 	if(id != '50'){
			// 		window.document.getElementById('novo_nome['+cont+']').value=nome;
			// 	}
			// 	// window.document.getElementById('campo_produto['+cont+']').style.display='inline';
			// 	// window.document.getElementById('novo_nome['+cont+']').style.display='none';
			// }
			// window.document.cadastro.submit();
		}

		jq('#nome_produto[0]').on('input', function() {
			var busca_produto = window.document.cadastro.nome_produto.value;
			window.document.getElementById('frame_busca_produto').src = 'requisicao.php?".cactux_cookie::url_sistema()."&acao=carrega_produto&busca_prod='+busca_produto;
		});

		function carrega_nome_produto(cont){

			var busca_produto = window.document.getElementById('nome_produto['+cont+']').value;
			window.document.getElementById('frame_busca_produto').src = 'requisicao.php?".cactux_cookie::url_sistema()."&acao=carrega_produto&busca_prod='+busca_produto+'&indice='+cont;
		}

		function carrega_produto(id_produto,cont){
			var id_fornecedor = window.document.cadastro.id_fornecedor.value;
			window.document.getElementById('frame_busca_produto').src='requisicao.php?".cactux_cookie::url_sistema()."&acao=dados_produto&id_produto='+id_produto+'&cont='+cont+'&id_fornecedor='+id_fornecedor;
		}

		function chama_modificar_tributacao(id_tributacao){
			document.form_tributacao.id.value=id_tributacao;
			document.form_tributacao.submit();
		}

		function abre_produto(chave){
			var escolha = document.getElementById('escolha_'+chave).value;
			if(escolha == 'Novo Fornecedor')
				document.getElementById('produto_'+chave).style.display='block';
			else
				document.getElementById('produto_'+chave).style.display='none';

		}

		function muda_foco(cont){

			var ul = document.getElementById('ul_produto'+cont);

			if(window.document.getElementById('id_produto['+cont+']').value == ''){
				if ( !ul.getElementsByTagName('li')[0] ) {
					window.document.getElementById('nome_produto['+cont+']').value='';
					window.document.getElementById('lista_produto['+cont+']').style.display='none';
				}
			}

			// if(window.document.getElementById('id_produto['+cont+']').value == ''){
			// 	window.document.getElementById('nome_produto['+cont+']').value='';
			// 	window.document.getElementById('lista_produto['+cont+']').style.display='none';
			// }
		}


		jq(document).ready(function(){
			jq('input').removeAttr('tabindex');
		});
		
	");
	

}

// function cadastra_listacompra(){
//  for($i=0;$i<count($_POST[id_lista]);$i++){
		
//      $a_lista = carregar('listacompra,compra',$_POST[id_lista][$i]);
		
//      if($_POST[escolha][$i] == 'Cadastrar'){


//          $campos = array(prod_tx_nome,prod_nb_categoria,prod_nb_unidade,prod_tx_valorCusto,prod_tx_valorVenda,prod_tx_qtde,prod_tx_ncm,prod_tx_cfop,prod_tx_cest,prod_tx_status,prod_tx_caixa);
//          $valores=array($a_lista[list_tx_produto],$_POST[categoria][$i],1,$a_lista[list_tx_valor],valor($_POST[valorVenda][$i]),($_POST[caixa][$i]*$a_lista[list_tx_qtde]),$_POST[ncm][$i],$_POST[cfop][$i],$_POST[cest][$i],'ativo',$_POST[caixa][$i]);
//          inserir('produto',$campos,$valores,1);
//          $id_produto = ultimo_reg('produto');

//          $cam = array(lifo_nb_entidade,lifo_nb_produto,lifo_tx_codigo,lifo_tx_data,lifo_nb_user,lifo_tx_status);
//          $val = array($a_lista[comp_nb_entidade],$id_produto,$a_lista[list_tx_codigoFornecedor],date("Y-m-d"),$_SESSION[user_nb_id],'ativo');
//          inserir('lifornecedor',$cam,$val,1);

//          atualizar('listacompra','list_nb_produto',$id_produto,$a_lista[list_nb_id]);
		
//      }elseif($_POST[escolha][$i] == 'Adicionar Estoque'){
			
//          $a_produto = carregar('produto',$a_lista[list_nb_produto]);

//          $campos = array(prod_tx_nome,prod_nb_categoria,prod_nb_unidade,prod_tx_valorCusto,prod_tx_valorVenda,prod_tx_qtde,prod_tx_ncm,prod_tx_cfop,prod_tx_cest,prod_tx_status,prod_tx_caixa);
//          $valores=array($a_lista[list_tx_produto],$_POST[categoria][$i],1,$a_lista[list_tx_valor],valor($_POST[valorVenda][$i]),$a_produto[prod_tx_qtde]+($_POST[caixa][$i]*$a_lista[list_tx_qtde]),$_POST[ncm][$i],$_POST[cfop][$i],$_POST[cest][$i],'ativo',$_POST[caixa][$i]);
//          atualizar('produto',$campos,$valores,$a_lista[list_nb_produto]);

//      }elseif($_POST[escolha][$i] == 'Novo Fornecedor'){

//          $a_produto = carregar('produto',$_POST[produto][$i]);
			
//          $campos = array(prod_nb_categoria,prod_nb_unidade,prod_tx_valorCusto,prod_tx_valorVenda,prod_tx_qtde,prod_tx_ncm,prod_tx_cfop,prod_tx_cest,prod_tx_status,prod_tx_caixa);
//          $valores=array($_POST[categoria][$i],1,$a_lista[list_tx_valor],valor($_POST[valorVenda][$i]),$a_produto[prod_tx_qtde]+($_POST[caixa][$i]*$a_lista[list_tx_qtde]),$_POST[ncm][$i],$_POST[cfop][$i],$_POST[cest][$i],'ativo',$_POST[caixa][$i]);
//          atualizar('produto',$campos,$valores,$a_produto[prod_nb_id]);
			
//          $cam = array(lifo_nb_entidade,lifo_nb_produto,lifo_tx_codigo,lifo_tx_data,lifo_nb_user,lifo_tx_status);
//          $val = array($a_lista[comp_nb_entidade],$_POST[produto][$i],$a_lista[list_tx_codigoFornecedor],date("Y-m-d"),$_SESSION[user_nb_id],'ativo');
//          inserir('lifornecedor',$cam,$val,1);

//          atualizar('listacompra','list_nb_produto',$a_produto[prod_nb_id],$a_lista[list_nb_id]);

//      }elseif($_POST[escolha][$i] == 'Não Cadastrar'){
//          // $a_produto = carregar('produto',$a_lista[list_nb_produto]);
//          // $campos = array(prod_tx_status);
//          // $valores=array('inativo');
//          // atualizar('listacompra','list_tx_status','inativo',$a_lista[list_nb_id]);
//          // atualizar('produto',$campos,$valores,$a_produto[prod_nb_id]);
//          continue;
//      }
		

//  }

//  index();
//  exit;
// }


function cadastra_listacompra(){
	// print_r($_POST);exit;

	for($i=0;$i<count($_POST[id_lista]);$i++){
		if($_POST[id_produto][$i] == ''){
			set_status("ATENÇÃO: Identifique todos os produtos!");
			layout_preco();
			exit;
		}
		if ( $_POST[id_produto][$i]!=52 && strtolower($_POST[tipo_produto][$i])!='insumos' ) {// SE ESTIVER CADASTRANDO UM PRODUTO DO TIPO INSUMO, NÃO VALIDA A PARTE DE PREÇOS
			$valor_custo        = valor($_POST[valor_custo_unitario][$i]);
			$valor_venda_varejo = valor($_POST[venda_final_varejo_unitario][$i]);
			if ( $valor_venda_varejo<=0 ) {
				set_status("ATENÇÃO: Informe o valor de Venda no Varejo para todos os produtos!");
				layout_preco();
				exit;
			}
			if ( $valor_venda_varejo<($valor_custo-0.01) ) {
				set_status("ATENÇÃO: Informe um valor de Venda no Varejo maior que o valor de custo!");
				layout_preco();
				exit;
			}
		}
	}

	$a_comp = carregar('compra',$_POST[id]);
	$_POST[opcao_financeiro] = $a_comp[comp_tx_opcaoFinanceiro];
	$_POST[opcao_estoque] = $a_comp[comp_tx_opcaoEstoque];


	$campos=array(comp_tx_frete);
	$valores=array($_POST[valor_frete]);
	atualizar('compra',$campos,$valores,$_POST[id]);
	


	if ( $_POST[opcao_estoque]=='Sim' ) {
		// SE RECEBER O ESTOQUE

		if ( $_POST[opcao_financeiro]=='Sim' || $_POST[opcao_financeiro]=='Bonificação' ) {
			// SE DER BAIXA NO ESTOQUE E ESCOLHER UMA DESSAS OPÇÕES
			$status_compra = 'Finalizado';

		} else {
			$status_compra = 'Recebido';
		}
		
	} else {
		$status_compra = 'Autorizado';
	}

	atualizar('compra',array('comp_tx_status'),array($status_compra),$_POST[id]);

	for($i=0;$i<count($_POST[id_lista]);$i++){

		$ipi_vez = $_POST[ipi][$i];
		$icms_vez = $_POST[icms][$i];
		
//		echo "IPI=$ipi_vez -> ICMS=$icms_vez<br>";

		if( $_POST[opcao_estoque]!='Sim') {
			// SE NÃO FOR DAR BAIXA NO ESTOQUE

			$a_lista[list_tx_qtde]=0;
		}

		// ATUALIZA O VALOR UNITÁRIO DA LISTA DE COMPRAS ANTES DE CARREGAR AS INFORMAÇÕES DO BANCO DE DADOS
		atualizar('listacompra',array(list_tx_valor),array(valor($_POST[compra_unitario][$i],1)),$_POST[id_lista][$i]);


		$a_lista = carregar('listacompra,compra',$_POST[id_lista][$i]);
		
		if( $_POST[id_produto][$i]=='51' || $_POST[id_produto][$i]=='52' ){
			// CADASTRAR NOVO PRODUTO

			$qtde_efetiva = $_POST[caixa][$i]*$a_lista[list_tx_qtde];
			$qtde_embalagem = $_POST[caixa][$i];

			if ( $_POST[opcao_estoque]=='Sim' ) {
				// SE FOR PARA DAR BAIXA NO ESTOQUE
				$qtde_prod = $qtde_efetiva;

			} else {
				$qtde_prod = 0;
			}

			// IDENTIFICA QUAL O CEST EXATO DO PRODUTO
			$ncm_raiz = raiz_ncm($a_lista[list_tx_ncm]);
			$sql_cest = selecionar('cest','cest_tx_status','!inativo'," AND cest_tx_cest LIKE '".$_POST[cest][$i]."' AND cest_tx_ncm LIKE '$ncm_raiz' LIMIT 1 ");
			$a_cest = carrega_array($sql_cest);
			

			//if($_POST[prod_id]==''){
				$sql_cod=selecionar('prod_tx_codigo|produto','prod_tx_status','ativo'," ORDER BY prod_tx_codigo+0 DESC LIMIT 1");
				$a_cod = carrega_array($sql_cod);
				$_POST[prod_id] = $a_cod[0] + 1;
			//}


			// ESSA PARTE DO CÓDIGO VERIFICA SE A UNIDADE QUE VEIO NA NOTA JÁ ESTÁ CADASTRADA NO SISTEMA. SE NÃO ESTIVER, ELE CADASTRA E UTILIZA NO PRODUTO
			$sql_unidade = selecionar('unidade','unid_tx_status','!inativo'," AND unid_tx_nome LIKE '$a_lista[list_tx_unidade]' LIMIT 1 ");
			if ( num_linhas($sql_unidade)>0 ) {
				$a_unidade  = carrega_array($sql_unidade);
				$id_unidade = $a_unidade[unid_nb_id];
			} else {
				$campos_unidade  = array(unid_tx_nome,unid_tx_status);
				$valores_unidade = array($a_lista[list_tx_unidade],'ativo');
				inserir('unidade',$campos_unidade,$valores_unidade,1);
				$id_unidade = ultimo_reg('unidade');
			}


			// VERIFICA SE É UM INSUMO OU PRODUTO DE COMERCIALIZAÇÃO
			if ( $_POST[id_produto][$i]=='52' ) {
				$tipo_produto = 'Insumos';
			} else {
				$tipo_produto = 'Comercialização';
			}


			$campos = array(prod_tx_nome,prod_nb_categoria,prod_nb_unidade,prod_tx_valorCusto,prod_tx_valorVenda,prod_tx_qtde,prod_tx_ncm,prod_tx_cfop,prod_nb_cest,prod_tx_cest,prod_tx_status,prod_tx_caixa,prod_tx_codbarras,prod_tx_codigo,prod_nb_marca,prod_tx_tipo);
			$valores=array($_POST[nome_produto][$i],$_POST[categoria][$i],$id_unidade,($a_lista[list_tx_valor]),valor($_POST[venda_final_varejo_unitario][$i]),$qtde_prod,$a_lista[list_tx_ncm],$a_lista[list_tx_cfop],$a_cest[cest_nb_id],$_POST[cest][$i],'ativo',$_POST[caixa][$i],$_POST[codigo_barras][$i],$_POST[prod_id],$_POST['marca_produto_'.$i],$tipo_produto);
			inserir('produto',$campos,$valores,1);
			$id_produto = ultimo_reg('produto');

			if(valor($_POST[venda_final_atacado_unitario][$i])>0){
				$cam_atac=array(atac_nb_produto,atac_tx_qtde,atac_tx_valor,atac_tx_status);
				$val_atac=array($id_produto,6,valor($_POST[venda_final_atacado_unitario][$i]),'ativo');
				inserir('atacado',$cam_atac,$val_atac,1);
			}
			
			registro_cactus("CADASTRO DE PRODUTO NA COMPRA: $id_produto - ".$_POST[nome_produto][$i]." - ESTOQUE: ".($qtde_prod),$id_produto);
		
			$cam = array(lifo_nb_entidade,lifo_nb_produto,lifo_tx_codigo,lifo_tx_caixa,lifo_tx_data,lifo_nb_user,lifo_tx_status);
			$val = array($a_lista[comp_nb_entidade],$id_produto,$a_lista[list_tx_codigoFornecedor],$_POST[caixa][$i],date("Y-m-d"),$_SESSION[user_nb_id],'ativo');
			inserir('lifornecedor',$cam,$val,1);

			if ($_POST[opcao_estoque]=='Sim') {
				// SE FOR PARA DAR BAIXA NO ESTOQUE

				if ( $_POST[opcao_financeiro]=='Sim' || $_POST[opcao_financeiro]=='Bonificação' ) {
					// SE FINALIZAR O FINANCEIRO O STATUS DA LISTA FICA ENCERRADO
					$status_lista = 'encerrado';
				} else {
					$status_lista = 'ativo';
				}

				$campos = array('list_nb_produto','list_tx_qtdeEfetiva','list_tx_recebido','list_tx_status',list_tx_icmsOriginal,list_tx_icms,list_tx_ipi,list_tx_frete,list_tx_fixa,list_tx_outras,list_tx_margemVarejo,list_tx_margemAtacado,list_tx_valorFinalVarejo,list_tx_valorFinalAtacado);
				$valores = array($id_produto,$qtde_efetiva,$qtde_efetiva,$status_lista,$_POST[icms][$i],valor($_POST[icms_unitario][$i]),valor($_POST[ipi_unitario][$i]),valor($_POST[frete_unitario][$i]),valor($_POST[fixo_unitario][$i]),valor($_POST[outras_unitario][$i]),valor($_POST[varejo_unitario][$i]),valor($_POST[atacado_unitario][$i]),valor($_POST[venda_final_varejo_unitario][$i]),valor($_POST[venda_final_atacado_unitario][$i]));
				atualizar('listacompra',$campos,$valores,$a_lista[list_nb_id]);

			} else {
				// SE FOR APENAS PARA LANÇAR
				$campos = array('list_nb_produto',list_tx_icmsOriginal,list_tx_icms,list_tx_ipi,list_tx_frete,list_tx_fixa,list_tx_outras,list_tx_margemVarejo,list_tx_margemAtacado,list_tx_valorFinalVarejo,list_tx_valorFinalAtacado);
				$valores = array($id_produto,$_POST[icms][$i],valor($_POST[icms_unitario][$i]),valor($_POST[ipi_unitario][$i]),valor($_POST[frete_unitario][$i]),valor($_POST[fixo_unitario][$i]),valor($_POST[outras_unitario][$i]),valor($_POST[varejo_unitario][$i]),valor($_POST[atacado_unitario][$i]),valor($_POST[venda_final_varejo_unitario][$i]),valor($_POST[venda_final_atacado_unitario][$i]));
				atualizar('listacompra',$campos,$valores,$a_lista[list_nb_id]);
			}
		
		}elseif($_POST[id_produto][$i] == '50'){
			// NÃO CADASTRAR

			// $a_produto = carregar('produto',$a_lista[list_nb_produto]);
			// $campos = array(prod_tx_status);
			// $valores=array('inativo');
			// atualizar('listacompra','list_tx_status','inativo',$a_lista[list_nb_id]);
			// atualizar('produto',$campos,$valores,$a_produto[prod_nb_id]);
			continue;
		}
		// elseif($_POST[id_produto][$i] == 'Adicionar Estoque'){
			
		//  $a_produto = carregar('produto',$a_lista[list_nb_produto]);

		//  $campos = array(prod_tx_nome,prod_nb_categoria,prod_nb_unidade,prod_tx_valorCusto,prod_tx_valorVenda,prod_tx_qtde,prod_tx_ncm,prod_tx_cfop,prod_tx_cest,prod_tx_status,prod_tx_caixa);
		//  $valores=array($a_lista[list_tx_produto],$_POST[categoria][$i],1,$a_lista[list_tx_valor],valor($_POST[valorVenda][$i]),$a_produto[prod_tx_qtde]+($_POST[caixa][$i]*$a_lista[list_tx_qtde]),$_POST[ncm][$i],$_POST[cfop][$i],$_POST[cest][$i],'ativo',$_POST[caixa][$i]);
		//  atualizar('produto',$campos,$valores,$a_lista[list_nb_produto]);

		// }
		elseif($_POST[id_produto][$i] != ''){
			// LANÇAR PRODUTO NO ESTOQUE

			$a_produto = carregar('produto',$_POST[id_produto][$i]);

			
			if($a_produto[prod_tx_codbarras] != '')
				$a_lista[list_tx_ean] = $a_produto[prod_tx_codbarras];


			$qtde_efetiva = $_POST[caixa][$i]*$a_lista[list_tx_qtde];
			$qtde_embalagem = $_POST[caixa][$i];


			if ( $_POST[opcao_estoque]=='Sim' ) {
				// SE FOR PARA DAR BAIXA NO ESTOQUE
				$qtde_prod = $qtde_efetiva;

			} else {
				$qtde_prod = 0;
			}


			// IDENTIFICA QUAL O CEST EXATO DO PRODUTO
			$ncm_raiz = raiz_ncm($a_lista[list_tx_ncm]);
			$sql_cest = selecionar('cest','cest_tx_status','!inativo'," AND cest_tx_cest LIKE '".$_POST[cest][$i]."' AND cest_tx_ncm LIKE '$ncm_raiz' LIMIT 1 ");
			$a_cest = carrega_array($sql_cest);
		
			if($a_produto[prod_tx_codigo]==''){
				$sql_cod=selecionar('prod_tx_codigo|produto','prod_tx_status','ativo'," ORDER BY prod_tx_codigo+0 DESC LIMIT 1");
				$a_cod = carrega_array($sql_cod);
				$a_produto[prod_tx_codigo] = $a_cod[0] + 1;
			}

			$campos = array(prod_tx_nome,prod_nb_categoria,prod_tx_valorCusto,prod_tx_valorVenda,prod_tx_qtde,prod_tx_status,prod_tx_caixa,prod_tx_codbarras,prod_tx_codigo,prod_nb_marca);
			$valores=array($_POST[nome_produto][$i],$_POST[categoria][$i],($a_lista[list_tx_valor]),valor($_POST[venda_final_varejo_unitario][$i]),$a_produto[prod_tx_qtde]+($qtde_prod),'ativo',$_POST[caixa][$i],$_POST[codigo_barras][$i],$a_produto[prod_tx_codigo],$_POST['marca_produto_'.$i]);
		
			if ( trim($a_lista[list_tx_ncm])!='' && $a_lista[list_tx_ncm]!=$a_produto[prod_tx_ncm] ) {
				// ATUALIZA O NCM DO PRODUTO, SE ELE TIVER VINDO DA NOTA E FOR DIFERENTE DO QUE ESTÁ NA TABELA PRODUTO
				array_push($campos, prod_tx_ncm);
				array_push($valores, $a_lista[list_tx_ncm]);
			}
			atualizar('produto',$campos,$valores,$a_produto[prod_nb_id]);

			if(valor($_POST[venda_final_atacado_unitario][$i])>0){//ESSA PARTE DE CÓDIGO NÃO É USADA
				$sql_atacado = selecionar('atacado','atac_tx_status','ativo'," AND atac_tx_qtde = '6' AND atac_nb_produto = '$_POST[id]'");
				while($a_atac=carrega_array($sql_atacado)){
					remover('atacado',$a_atac[atac_nb_id]);
				}
			
				$cam_atac=array(atac_nb_produto,atac_tx_qtde,atac_tx_valor,atac_tx_status);
				$val_atac=array($a_produto[prod_nb_id],6,valor($_POST[venda_final_atacado_unitario][$i]),'ativo');
				inserir('atacado',$cam_atac,$val_atac,1);
			}

			$preco_venda = valor($_POST[venda_final_varejo_unitario][$i]);



			$sql_atacado = selecionar('atacado','atac_tx_status','ativo'," AND atac_nb_produto = '$a_produto[prod_nb_id]'");
			while($a_atac=carrega_array($sql_atacado)){
				if ( $a_atac[atac_tx_descontoPorcentagem]>0 ) {
					// SE TIVER CADASTRADO UMA PORCENTAGEM DE DESCONTO, DEVE ATUALIZAR O VALOR DO ATACADO
					@$desconto_atacado = ($a_atac[atac_tx_descontoPorcentagem]*$preco_venda)/100;
					atualizar('atacado',array(atac_tx_valor),array($preco_venda-$desconto_atacado),$a_atac[atac_nb_id]);
				}
			}


			// NÃO ADICIONEI A COLUNA DA PORCENTAGEM DE DESCONTO NA SQL PARA EVITAR ERROS EM SISTEMA QUE AINDA NÃO TENHAM ESSA COLUNA
			$sql_preco_convenio = selecionar('preco,convenio','prec_nb_produto,prec_tx_status',"$a_produto[prod_nb_id],!inativo");
			while ( $a_preco = carrega_array($sql_preco_convenio) ) {
				if ( $a_preco[prec_tx_descontoPorcentagem]>0 ) {
					// SE TIVER CADASTRADO UMA PORCENTAGEM DE DESCONTO, DEVE ATUALIZAR O VALOR DO CONVÊNIO
					@$desconto_convenio = ($a_preco[prec_tx_descontoPorcentagem]*$preco_venda)/100;
					atualizar('preco',array(prec_tx_valorUnit),array($preco_venda-$desconto_convenio),$a_preco[prec_nb_id]);
				}
			}
			

			registro_cactus("REQUISICAO DE COMPRA : $a_lista[list_nb_compra] - ESTOQUE ATUAL: $a_produto[prod_tx_qtde] - COMPRA: $qtde_prod - ESTOQUE:".($a_produto[prod_tx_qtde]+($qtde_prod)),$a_produto[prod_nb_id]);


			

			if ( $_POST[opcao_estoque]=='Sim' ) {
				// SE FOR PARA DAR BAIXA NO ESTOQUE

				if ( $_POST[opcao_financeiro]=='Sim' || $_POST[opcao_financeiro]=='Bonificação' ) {
					// SE FINALIZAR O FINANCEIRO O STATUS DA LISTA FICA ENCERRADO
					$status_lista = 'encerrado';
				} else {
					$status_lista = 'ativo';
				}

				$campos = array('list_nb_produto','list_tx_qtdeEfetiva','list_tx_recebido','list_tx_status',list_tx_icmsOriginal,list_tx_icms,list_tx_ipi,list_tx_frete,list_tx_fixa,list_tx_outras,list_tx_margemVarejo,list_tx_margemAtacado,list_tx_valorFinalVarejo,list_tx_valorFinalAtacado);
				$valores = array($a_produto[prod_nb_id],$qtde_efetiva,$qtde_efetiva,$status_lista,$_POST[icms][$i],valor($_POST[icms_unitario][$i]),valor($_POST[ipi_unitario][$i]),valor($_POST[frete_unitario][$i]),valor($_POST[fixo_unitario][$i]),valor($_POST[outras_unitario][$i]),valor($_POST[varejo_unitario][$i]),valor($_POST[atacado_unitario][$i]),valor($_POST[venda_final_varejo_unitario][$i]),valor($_POST[venda_final_atacado_unitario][$i]));
				atualizar('listacompra',$campos,$valores,$a_lista[list_nb_id]);

			} else {
				// SE FOR APENAS PARA LANÇAR
				$campos = array('list_nb_produto',list_tx_icmsOriginal,list_tx_icms,list_tx_ipi,list_tx_frete,list_tx_fixa,list_tx_outras,list_tx_margemVarejo,list_tx_margemAtacado,list_tx_valorFinalVarejo,list_tx_valorFinalAtacado);
				$valores = array($a_produto[prod_nb_id],$_POST[icms][$i],valor($_POST[icms_unitario][$i]),valor($_POST[ipi_unitario][$i]),valor($_POST[frete_unitario][$i]),valor($_POST[fixo_unitario][$i]),valor($_POST[outras_unitario][$i]),valor($_POST[varejo_unitario][$i]),valor($_POST[atacado_unitario][$i]),valor($_POST[venda_final_varejo_unitario][$i]),valor($_POST[venda_final_atacado_unitario][$i]));
				atualizar('listacompra',$campos,$valores,$a_lista[list_nb_id]);
			}
			
			$sql_lifo = selecionar('lifornecedor','lifo_tx_status','ativo'," AND lifo_nb_produto = '".$_POST[id_produto][$i]."' AND lifo_nb_entidade = '$a_lista[comp_nb_entidade]'");
			if(num_linhas($sql_lifo)==0){
				$cam = array(lifo_nb_entidade,lifo_nb_produto,lifo_tx_codigo,lifo_tx_caixa,lifo_tx_data,lifo_nb_user,lifo_tx_status);
				$val = array($a_lista[comp_nb_entidade],$_POST[id_produto][$i],$a_lista[list_tx_codigoFornecedor],$_POST[caixa][$i],date("Y-m-d"),$_SESSION[user_nb_id],'ativo');
				inserir('lifornecedor',$cam,$val,1);
			}			
		}
	}

// FALTA INSERIR NA TABELA ATACADO
	index();
	exit;
}




function cadastra_chave_sem_captcha(){
	global $CACTUX_CONF;


	include "importarnfe.php";
	
	$token = "B9C709A0-BC3D-A223-5555-9B93C8265A9B";
	// $chave = "24170523700488000165550010000000061080954558";
	// $token = "F2BAD0D9-C7EB-AA19-303D-8889A7E5CA3D";
	$chave = preg_replace("/[^0-9]/", "",$_POST[chave_acesso]);
	$pasta_xml = date('Ym');
	$arquivo_xml = $chave.'.xml';
	$caminho_xml = $_SERVER[DOCUMENT_ROOT]."$CACTUX_CONF[path]/arquivos/xml/$pasta_xml/";

	// echo "|$caminho_xml|";exit;

	$sql_teste = selecionar('compra','comp_tx_status','!inativo'," AND comp_tx_chave = '$chave'");
	if(num_linhas($sql_teste)>0){
		set_status("ERRO: Chave de acesso já importada!");
		index();
		exit;
	}
			
	try{
		// $xmlDoc = getNFeByWebService($token, $chave);
		$xmlDoc = getNFeByHTTP($token, $chave);
	  
		// ob_clean();
		$arquivo = $xmlDoc->saveXML();

		@mkdir($caminho_xml);// CRIA A PASTA DO XML
		file_put_contents($caminho_xml.$arquivo_xml,$arquivo);//SALVA O ARQUIVO XML
	  
	} catch(Exception $e){
		// echo $e->getMessage();
		unlink($caminho_xml.$arquivo_xml);
		set_status($e->getMessage());
		index();
		exit;
	}
	

	if (file_exists($caminho_xml.$arquivo_xml)) {// SE O ARQUIVO FOI CRIADO, MANDA PARA A FUNÇÃO DE PROCESSAMENTO
		$_POST[abre_arquivo] = $caminho_xml.$arquivo_xml;
		cadastra_xml();
		exit;
	
	} else {
		echo 'Falha ao abrir xml!<br>';
		index();
		exit;
	}
}




function cadastra_xml(){
	global $CACTUX_CONF;
	
	$_POST[chave_acesso] = str_replace(' ','',$_POST[chave_acesso]);
	$_FILES_ORIGINAL = $_FILES;
	if( $_POST[chave_acesso]!='' && $_POST[abre_arquivo]=='' ){

		// cadastra_chave();
		cadastra_chave_sem_captcha();
		exit;
	}
	$pasta_xml = date('Ym');



	if ($_POST[abre_arquivo]!='')// SE ESTIVER PROCESSANDO UM ARQUIVO IMPORTADO POR MEIO DA CHAVE
		$qtde_arquivos = 1;
	else
		$qtde_arquivos = count($_FILES_ORIGINAL[arquivo][name]);

	for($i=0;$i<$qtde_arquivos;$i++){

		$_FILES[arquivo][name] = $_FILES_ORIGINAL[arquivo][name][$i];
		$_FILES[arquivo][type] = $_FILES_ORIGINAL[arquivo][type][$i];
		$_FILES[arquivo][tmp_name] = $_FILES_ORIGINAL[arquivo][tmp_name][$i];
		$_FILES[arquivo][error] = $_FILES_ORIGINAL[arquivo][error][$i];
		$_FILES[arquivo][size] = $_FILES_ORIGINAL[arquivo][size][$i];
		
		$arquivo=$_FILES[arquivo];


		if ($_POST[abre_arquivo]!='')// SE ESTIVER PROCESSANDO UM ARQUIVO IMPORTADO POR MEIO DA CHAVE
			$xml2 = simplexml_load_file($_POST[abre_arquivo]);
		else
			$xml2 = simplexml_load_file($_FILES[arquivo][tmp_name]);

		$chave = $xml2->protNFe->infProt->chNFe;
		$sql_teste = selecionar('compra','comp_tx_status,comp_tx_status','!inativo,!Incompleto'," AND comp_tx_chave = '$chave'");
		if(num_linhas($sql_teste)>0){
			set_status("ERRO: Chave de acesso já importada!");
			index();
			exit;
		}


		$campos=array(comp_nb_entidade,comp_nb_setor,comp_nb_userCadastro,comp_tx_dataCadastro,comp_tx_obsCadastro,comp_tx_opcaoFinanceiro,comp_tx_opcaoEstoque,comp_tx_status);
		$valores=array(1,1,$_SESSION[user_nb_id],date("Y-m-d H:i:s"),$_POST[obs],$_POST[opcao_financeiro],$_POST[opcao_estoque],'inativo'); //Recebido
		inserir('compra',$campos,$valores,1);
		
		$_POST[id] = ultimo_reg('compra');


		// print_r($arquivo); exit;
		if( $arquivo[name]!='' && strtolower(substr($arquivo[name],-3))=='xml' ){

			@mkdir($_SERVER[DOCUMENT_ROOT]."$CACTUX_CONF[path]/arquivos/xml/$pasta_xml/");// CRIA A PASTA DO XML			
			$msg = enviar('arquivo',"$CACTUX_CONF[path]/arquivos/xml/$pasta_xml/",$chave,1);
			if(!bd_erro($msg)) {
				atualizar('compra',array('comp_tx_arquivoImporta'),array(basename($msg)),$_POST[id]);
			}else{
				set_status('ERRO: Falha ao enviar o XML para importação!');
				index();
				exit;
			}

		}
		// elseif($_POST[chave_acesso]){
			
		//  $_POST[id] = ultimo_reg('compra');
		//  $_POST[id]++;
		//  file_put_contents("../arquivos/xml/$_POST[id].xml", fopen("https://server9.fsist.com.br/baixarxml.ashx?m=WEB&UsuarioID=34775&cte=0&pub=n&com=61645c633273&t=xmlsemcert&chave=$_POST[chave_acesso]", 'r'));
		//  // echo "https://server7.fsist.com.br/baixarxml.ashx?m=WEB&UsuarioID=205658240&cte=0&pub=504c11135445&com=504c11135445&t=xmlsemcert&chave=$_POST[chave_acesso]";
		//  file_put_contents("1.xml", fopen("https://server7.fsist.com.br/baixarxml.ashx?m=WEB&UsuarioID=205658240&cte=0&pub=504c11135445&com=504c11135445&t=xmlsemcert&chave=24170617065535000143550000000006381000006389", 'r'));
		//  //user id 34775
		//  //24170817065535000143550000000006931000006930
		//  $campos=array(comp_nb_entidade,comp_nb_setor,comp_nb_userCadastro,comp_tx_dataCadastro,comp_tx_obsCadastro,comp_tx_status);
		//  $valores=array(1,1,$_SESSION[user_nb_id],date("Y-m-d H:i:s"),$_POST[obs],'Autorizado'); //Recebido
		//  inserir('compra',$campos,$valores,1);
			
		//  atualizar('compra',array('comp_tx_arquivoImporta'),array("$_POST[id].xml"),$_POST[id]);

		//  $msg="$_POST[id].xml";

		// }
		else{

			if ( $_POST[abre_arquivo]=='' ) {// SE NÃO ESTIVER IMPORTANDO O XML PELA CHAVE
				set_status('ERRO: Envie o XML para importação!');
				index();
				exit;
			}
		}

		if ( $_POST[abre_arquivo]!='' )// SE ESTIVER PROCESSANDO UM ARQUIVO IMPORTADO POR MEIO DA CHAVE
			$arquivo_processar = $_POST[abre_arquivo];
		else
			$arquivo_processar = $_SERVER[DOCUMENT_ROOT]."$CACTUX_CONF[path]/arquivos/xml/$pasta_xml/".basename($msg);

		if (file_exists($arquivo_processar)) {
			
			
			$xml = simplexml_load_file($arquivo_processar);
			$produto = $xml->NFe->infNFe->det;
			$t_produto = count($produto);

			$n_nota_fiscal = $xml->NFe->infNFe->ide->nNF;

			if ( intval($n_nota_fiscal)==0 ) {
				set_status('ERRO: Falha ao obter o número da nota fiscal!');
				index();
				exit;
			}


			$a_emit = $xml->NFe->infNFe->emit;
			$chave = $xml->protNFe->infProt->chNFe;
			$cnpj_forn = $a_emit->CNPJ;
			$cnpj_forn = substr($cnpj_forn,0,2).".".substr($cnpj_forn,2,3).".".substr($cnpj_forn,5,3)."/".substr($cnpj_forn,8,4)."-".substr($cnpj_forn,12,2);

			$nome_forn = $a_emit->xNome;
			$fantasia_forn = $a_emit->xFant;
			$ie_forn = $a_emit->IE;
			$im_forn = $a_emit->IM;
			$cnae_forn = $a_emit->CNAE;
			

			$logradouro = $a_emit->enderEmit->xLgr;
			$numero = $a_emit->enderEmit->nro;
			$bairro = $a_emit->enderEmit->xBairro;
			$cep = $a_emit->enderEmit->CEP;
			$fone = $a_emit->enderEmit->fone;
			$cidade = $a_emit->enderEmit->cMun;

			$sql_cidade = selecionar('cidade','cida_tx_ibge',"$cidade"," LIMIT 1");
			if(num_linhas($sql_cidade)>0){
				$a_cidade = carrega_array($sql_cidade);
			}else{
				$a_cidade[0];
			}


			$sql_forn = selecionar('entidade','enti_tx_status',"!inativo"," AND enti_tx_cnpj = '$cnpj_forn'");

			if($fantasia_forn == '')
				$fantasia_forn = $nome_forn;

			$campos = array(enti_tx_status,enti_tx_nome,enti_tx_cnpj,enti_tx_estadual,enti_tx_municipal,
						enti_tx_endereco,enti_tx_numero,enti_tx_bairro,enti_nb_cidade,enti_tx_cep,
						enti_tx_fone,enti_tx_razao,enti_tx_tipo,enti_tx_pessoa);
		
			$valores = array('ativo',$fantasia_forn,$cnpj_forn,$ie_forn,$im_forn,
							$logradouro,$numero,$bairro,$a_cidade[0],$cep,
							$fone,$nome_forn,'Fornecedor','Pessoa Jurídica');

			if(num_linhas($sql_forn)==0){
				inserir('entidade',$campos,$valores,1);
				$_POST[entidade] = ultimo_reg('entidade');
			}else{
				$a_forn = carrega_array($sql_forn);
				$_POST[entidade] = $a_forn[0];
			}



			for($i=0;$i<$t_produto;$i++){
				
				$a_pro = $xml->NFe->infNFe->det[$i]->prod;
				$a_imposto = $xml->NFe->infNFe->det[$i]->imposto;
				$cod = $a_pro->cProd;
				$cean = $a_pro->cEAN;
				$extipi = $a_pro->EXTIPI;
				$nome = $a_pro->xProd;
				$ncm = $a_pro->NCM;
				$cest = $a_pro->CEST;
				$cfop = $a_pro->CFOP;
				$qtde = $a_pro->qCom;
				$valor = $a_pro->vUnCom;
				$und = $a_pro->uCom;
				// $ocst = $xml->NFe->infNFe->det[$i]->imposto->ICMS->ICMSSN500->orig.$xml->NFe->infNFe->det[$i]->imposto->ICMS->ICMSSN500->CSOSN;

				$valorIndividual = floatval($a_pro->vUnCom);
				$total_trib = floatval($a_imposto->vTotTrib);
				$porcentagem = ($total_trib/$valorIndividual)*100;

				
				$aliquota_ipi = $a_imposto->IPI->IPITrib->pIPI;
//echo "IPI=$aliquota_ipi<br>";
$ARRAY_IPI[] = floatval($aliquota_ipi);
				$ipiCst = $a_imposto->IPI->IPITrib->CST;
				$ipiEnquadramento = $a_imposto->IPI->cEnq;

				$sql_ipiEnq = selecionar('impo_nb_id|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='$ipiEnquadramento' AND impo_tx_tipo = 'IPI Enquadramento' LIMIT 1");
				$a_ipiEnq = carrega_array($sql_ipiEnq);
				$sql_ipiCst = selecionar('impo_nb_id|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='".$ipiCst."' AND impo_tx_tipo = 'IPI CST' LIMIT 1");
				$a_ipiCst = carrega_array($sql_ipiCst);

				foreach ($a_imposto->ICMS[0] as $a_imp) {
					$origem=$a_imp->orig;
					$cstCsosn=$a_imp->CSOSN;
					$mod_bc_icms = $a_imp->modBC;
					$a_mod_bc_icms = array('0 - Preço tabelado ou máximo sugerido','1 - Lista Negativa (valor)','2 - Lista Positiva (valor)','3 - Lista Neutra (valor)','4 - Margem Valor Agregado (%)','5 - Pauta (valor)');
					$mod_bc_icmsSt = $a_imp->modBCST;
					$a_mod_bc_icmsSt = array('0 - Preço tabelado ou máximo sugerido','1 - Lista Negativa (valor)','2 - Lista Positiva (valor)','3 - Lista Neutra (valor)','4 - Margem Valor Agregado (%)','5 - Pauta (valor)');
					$aliquotaICMS = $a_imp->pICMS;
//echo "ICMS=$aliquotaICMS<br>";	
$ARRAY_ICMS[] = floatval($aliquotaICMS);
					$aliquotaICMSSt = $a_imp->pICMSST;
//echo "ICMSST=$aliquotaICMSSt<br>";
					$reducaoIcmsSt = $a_imp->pRedBCST;
					$mvaIcmsSt = $a_imp->pMVAST;
				}
				foreach ($a_imposto->PIS[0] as $a_imp) {
					$cstPIS=$a_imp->CST;
					$pPIS=$a_imp->pPIS;
				}
				foreach ($a_imposto->COFINS[0] as $a_imp) {
					$cstCOFINS=$a_imp->CST;
					$pCOFINS=$a_imp->pCOFINS;
				}

//echo "<hr>";				

				$sql_imposto = selecionar('impo_nb_id,impo_tx_codigo|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='$ncm' AND impo_tx_tipo = 'ncm' LIMIT 1");
				$a_impo = carrega_array($sql_imposto);
				$sql_origem = selecionar('impo_nb_id,impo_tx_codigo|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='$origem' AND impo_tx_tipo = 'origem' LIMIT 1");
				$a_orig = carrega_array($sql_origem);
				$sql_csosn = selecionar('impo_nb_id,impo_tx_codigo|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='$cstCsosn' AND impo_tx_tipo = 'CST/CSOSN' LIMIT 1");
				$a_csosn = carrega_array($sql_csosn);
				$sql_pis = selecionar('impo_nb_id,impo_tx_codigo|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='$cstPIS' AND impo_tx_tipo = 'CST/PIS/PASEP' LIMIT 1");
				$a_pis = carrega_array($sql_pis);
				$sql_cofins = selecionar('impo_nb_id,impo_tx_codigo|imposto','impo_tx_status','ativo'," AND impo_tx_codigo='$cstCOFINS' AND impo_tx_tipo = 'CST/COFINS' LIMIT 1");
				$a_cofins = carrega_array($sql_cofins);
				
				$sql_tributacao = selecionar('tributacao,imposto','impo_tx_status,trib_tx_status','ativo,!inativo'," AND impo_tx_codigo='$ncm' AND impo_tx_tipo = 'ncm'");
				if(num_linhas($sql_tributacao)>0){
					$a_trib = carrega_array($sql_tributacao);
					// atualizar('tributacao',
					//  array(trib_nb_empresa,trib_nb_imposto,trib_nb_cstOrigem,trib_nb_cstCsosn,trib_nb_cstPis,trib_tx_aliquotaPis,trib_nb_cstCofins,trib_tx_aliquotaCofins,trib_tx_status,trib_tx_cest),
					//  array(1,$a_impo[0],$a_orig[0],$a_csosn[0],$a_pis[0],$pPIS,$a_cofins[0],$pCOFINS,'ativo',$cests),
					//  $a_trib[0]
					// );
				}else{
					
					// inserir('tributacao',
					// 	array(trib_nb_empresa,trib_nb_imposto,trib_nb_cstOrigem,trib_nb_cstCsosn,trib_nb_cstPis,trib_tx_aliquotaPis,trib_nb_cstCofins,trib_tx_aliquotaCofins,
					// 		trib_tx_status,trib_tx_cest,trib_tx_cfopInterno,trib_tx_aliquotaIpi,trib_tx_modbcIcms,trib_tx_modbcIcmsSt,trib_tx_aliquotaIcms,trib_tx_aliquotaIcmsSt,
					// 		trib_tx_reducaoIcmsSt,trib_tx_mvaIcmsSt,trib_nb_ipiEnquadramento,trib_nb_ipiCst),
					// 	array(1,$a_impo[0],$a_orig[0],$a_csosn[0],$a_pis[0],$pPIS,$a_cofins[0],$pCOFINS,
					// 		'aguardando',$cests,$cfop,$aliquota_ipi,$a_mod_bc_icms["$mod_bc_icms"],$a_mod_bc_icmsSt["$mod_bc_icmsSt"],$aliquotaICMS,$aliquotaICMSSt,
					// 		$reducaoIcmsSt,$mvaIcmsSt,$a_ipiEnq[0],$a_ipiCst[0]),
					// 	1
					// );

					if ( $a_impo[0]>0 ) {
						// SELECIONA TODAS AS EMPRESAS PARA CADASTRAR UMA TRIBUTAÇÃO PARA CADA
						$sql_empresa = selecionar('empr_nb_id|empresa','empr_tx_status',"!inativo");
						while ( $a_empresa = carrega_array($sql_empresa) ) {
							// CARREGA A TRIBUTAÇÃO PADRÃO DA EMPRESA
							$sql_tributacao_p = selecionar('tributacao','trib_nb_empresa,trib_tx_status',"$a_empresa[empr_nb_id],padrao"," LIMIT 1 ");
							$a_tributacao_p   = carrega_array($sql_tributacao_p);
							if($a_tributacao_p[0] > 0){

								$campos_trib_p = array(trib_tx_ncm,trib_nb_empresa,trib_nb_cstOrigem,trib_nb_cstCsosn,trib_nb_cstPis,trib_tx_aliquotaPis,trib_nb_cstCofins,trib_tx_aliquotaCofins,
									trib_tx_cest,trib_tx_aliquotaIcms,trib_tx_reducaoIcms,trib_tx_aliquotaIpi,trib_tx_cfopInterno,trib_tx_cfopInterestadual,trib_tx_uf,
									trib_tx_modbcIcms,trib_tx_modbcIcmsSt,trib_tx_mvaIcmsSt,trib_tx_aliquotaIcmsSt,trib_tx_reducaoIcmsSt,trib_tx_obsFisco,trib_nb_ipiEnquadramento,trib_nb_ipiCst,
									trib_tx_cfopDevolucaoVenda,trib_tx_cfopDevolucaoCompra,trib_nb_imposto,trib_tx_status);

								$valores_trib_p= array($ncm,$a_empresa[empr_nb_id],$a_tributacao_p[trib_nb_cstOrigem],$a_tributacao_p[trib_nb_cstCsosn],$a_tributacao_p[trib_nb_cstPis],$a_tributacao_p[trib_tx_aliquotaPis],$a_tributacao_p[trib_nb_cstCofins],$a_tributacao_p[trib_tx_aliquotaCofins],
									$a_tributacao_p[trib_tx_cest],$a_tributacao_p[trib_tx_aliquotaIcms],$a_tributacao_p[trib_tx_reducaoIcms],$a_tributacao_p[trib_tx_aliquotaIpi],$a_tributacao_p[trib_tx_cfopInterno],$a_tributacao_p[trib_tx_cfopInterestadual],$a_tributacao_p[trib_tx_uf],
									$a_tributacao_p[trib_tx_modbcIcms],$a_tributacao_p[trib_tx_modbcIcmsSt],$a_tributacao_p[trib_tx_mvaIcmsSt],$a_tributacao_p[trib_tx_aliquotaIcmsSt],$a_tributacao_p[trib_tx_reducaoIcmsSt],$a_tributacao_p[trib_tx_obsFisco],$a_tributacao_p[trib_nb_ipiEnquadramento],$a_tributacao_p[trib_nb_ipiCst],
									$a_tributacao_p[trib_tx_cfopDevolucaoVenda],$a_tributacao_p[trib_tx_cfopDevolucaoCompra],$a_impo[0],'aguardando');

								inserir('tributacao',$campos_trib_p,$valores_trib_p,1);
							}
						}
					}				
				}


				// $sql_prod = selecionar('produto','prod_tx_status','ativo'," AND prod_tx_nome = '$nome' AND prod_tx_ncm = '$ncm' AND prod_tx_cfop = '$cfop'");
				$sql_lifo = selecionar('lifornecedor','lifo_tx_status','ativo'," AND lifo_tx_codigo = '$cod' AND lifo_nb_entidade = '$_POST[entidade]'");
				if(num_linhas($sql_lifo)>0){
					$a_lifo = carrega_array($sql_lifo);
					$id_produto = $a_lifo[lifo_nb_produto];
				}else{

					//-----------------------
					// $campos = array(prod_tx_nome,prod_nb_categoria,prod_nb_unidade,prod_tx_valorCusto,prod_tx_ncm,prod_tx_cfop,prod_tx_cest,prod_tx_codbarras,prod_tx_extipi,prod_tx_totalTributo,prod_tx_status);
					// $valores=array($nome,1,1,valor($valor),$ncm,$cfop,$ocst,$cean,$extipi,$porcentagem,'ativo');
					// inserir('produto',$campos,$valores,1);
					// $id_produto = ultimo_reg('produto');

					// $cam = array(lifo_nb_entidade,lifo_nb_produto,lifo_tx_codigo,lifo_tx_data,lifo_nb_user,lifo_tx_status);
					// $val = array($_POST[entidade],$id_produto,$cod,date("Y-m-d"),$_SESSION[user_nb_id],'ativo');
					// inserir('lifornecedor',$cam,$val,1);
					//------------------------

					$id_produto = '';

				}

				$valores=array($_POST[id],$nome,$id_produto,$qtde,$valor,'ativo',$und,$ncm,$cfop,$ocst,$cod,$cean);
				$campos=array(list_nb_compra,list_tx_produto,list_nb_produto,list_tx_qtde,list_tx_valor,list_tx_status,list_tx_unidade,list_tx_ncm,list_tx_cfop,list_tx_cest,list_tx_codigoFornecedor,list_tx_ean);
				inserir('listacompra',$campos,$valores,1);
				$ultimo_lista = ultimo_reg('listacompra');
				$a_list = carregar('listacompra',$ultimo_lista);
				$total += $a_list[list_tx_qtde] * $a_list[list_tx_valor];

			}

			@$valor_frete = $xml->NFe->infNFe->total->ICMSTot->vFrete;

			atualizar('compra',array('comp_tx_valor','comp_nb_entidade','comp_tx_status','comp_tx_chave','comp_tx_frete'),array($total,$_POST[entidade],'Incompleto',$chave,$valor_frete),$_POST[id]);

			if($_POST[opcao_financeiro]=='Sim'){
				//-------------------INICIO FINANCEIRO--------------
				unset($valor,$nDuplicata,$vencimento);
				// $n_fatura = $xml->NFe->infNFe->cobr->fat->nFat;
				foreach ($xml->NFe->infNFe->cobr->dup as $a_dup){
					$nDuplicata[] = $a_dup->nDup;
					$vencimento[] = $a_dup->dVenc;
					$valor[] = floatval($a_dup->vDup);

					$valorNf += floatval($a_dup->vDup);
				}

				// SE NÃO SELECIONAR, ADICIONA UM VALOR PADRÃO
				if($_POST[centro]>0)
					$id_centro = $_POST[centro];
				else
					$id_centro = 1;

				if($_POST[planoconta]>0)
					$id_plano = $_POST[planoconta];
				else
					$id_plano = 2;

				$campos=array(movi_tx_tipo,movi_nb_centrocusto,movi_nb_planoconta,movi_nb_ref,movi_tx_data,movi_tx_valordoc,
						movi_tx_notafiscal,movi_tx_parcelas,movi_tx_status,movi_nb_compra);
				$valores=array('Saída',$id_centro,$id_plano,$_POST[entidade],gera_data("hoje",1),$valorNf,
						$n_nota_fiscal,count($valor),'ativo',$_POST[id]);
				
				inserir('movimento',$campos,$valores,1);

				$id_mov = ultimo_reg('movimento');
				for($i=0;$i<count($valor);$i++){

					$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro,bole_tx_duplicata,bole_tx_numNota);
					$valores=array($id_mov,$vencimento["$i"],$vencimento["$i"],($i+1),'ativo',"Compra: $_POST[id]; NF: ".$n_nota_fiscal." no valor R$ ".mostra_valor($valorNf),$valor["$i"],gera_data("hoje",1),$_SESSION[user_nb_id],$nDuplicata["$i"],$n_nota_fiscal);
					inserir('boleto',$campos,$valores,1);
					
					// $ultimo_boleto=ultimo_reg('boleto');
					
					// $valores2=array($ultimo_boleto,1,$valor["$i"],$vencimento["$i"],ativo,2,gera_data("hoje",1),$_SESSION[user_nb_id]);
					// $campos2=array(fobo_nb_boleto,fobo_nb_forma,fobo_tx_valor,fobo_tx_data,fobo_tx_status,fobo_nb_planoconta,fobo_tx_dataBaixa,fobo_nb_userBaixa);
					// inserir('fobo',$campos2,$valores2,1);
				}

				//-------------------FIM FINANCEIRO--------------
			}

			atualizar('compra',array('comp_tx_numNota'),array($n_nota_fiscal),$_POST[id]);
		
		} else {
			echo 'Falha ao abrir xml!<br>';
		}

	}



	$_POST[ARRAY_IPI] = $ARRAY_IPI;
	$_POST[ARRAY_ICMS] = $ARRAY_ICMS;
	// $_POST[valor_frete] = valor($_POST[frete]);
	
	layout_xml();
	exit;
}



function layout_importar(){

	
	cabecalho('Financeiro de Compra',2);

	cactux::abre_form('upload');

	$a_plano = carregar('planoconta',1);


	// $c[] = cactux::Texto('','<center>OU</center>',1);
	if($_POST[chave]=='sim'){
		// faz_login();    
		// $img=pega_captcha();
		// $c[] = cactux::campo($img,'codigo','',1,"placeholder=Captcha");
		$c[] = cactux::campo('Chave:','chave_acesso','',3);
	}else{
		$c[] = cactux::campo_arquivo('Arquivo XML:','arquivo[]',3,'multiple="multiple"');

	}
	// $frete = cactux::campo('Valor Frete:','frete','',2,MASCARA_VALOR);
	$opcao1 = cactux::combo('Gerar&nbsp;Financeiro:','opcao_financeiro',array('Sim','Não','Bonificação'),'',1);
	$opcao2 = cactux::combo('Baixar&nbsp;Estoque:','opcao_estoque',array('Sim','Não'),'',1);

	$centro = cactux::combo_bd('Centro de Custo:','centro','','',2,'centrocusto','',"1  ORDER BY cent_tx_nome");
	$plano  = cactux::combo_net('Plano Conta:','planoconta',$a_plano[plan_nb_id],$a_plano[plan_tx_nome],3,array('../'.$CONFIGURA[MODULO]."combonet/busca_div.php?c=planoconta",'../'.$CONFIGURA[MODULO]."combonet/busca_net.php?c=planoconta"));

	$botao = cactux::botao("Voltar",2,'voltar');
	$botao2 = cactux::botao_submit_busca("Enviar",2,'cadastra_xml');

	cactux::abre_fieldset('Arquivo de retorno');
	cactux::linha_fieldset($c[0],$opcao1,$opcao2,$centro,$plano);
	cactux::linha_fieldset();
	cactux::linha_fieldset($botao,$botao2);
	cactux::fecha_fieldset();


	cactux::fecha_form();

	cactux::acao_botao('voltar','index');

	// echo "<script src='../jquery.min.js'></script>";
	// javascript("



	// 	var jq = $.noConflict();
		
	// 	jq(document).ready(function(){
	// 		jq('input').removeAttr('tabindex');
	// 		jq('#cadastro').find('input:first').focus();
	// 	});

	// ");
}





function index(){

	//print_r($_SESSION);
	global $CACTUX_CONF;

	// SETOR 6, 8 e 2 = ALMOXARIFADO ,CONSTRUCAO, farmacia
	//SE O USUARIO FOR DO NIVEL COMPRADOR OU INFORMATICA E O SETOR for diferente de 6 , 8 e 2 ele exibe SOMENTE SUAS PROPRIAS REQUISICOES
	if( $_SESSION[user_tx_nivel]=="Comprador" || $_SESSION[user_tx_nivel]=="Informatica" ){
	
		$extra .=" AND comp_nb_userCadastro='$_SESSION[user_nb_id]'";
	
	
	}
	
		
	// if($_SESSION[user_nb_setor]==6 &&  $_POST[busca_setor]=='')
	//  $extra .= " AND comp_nb_setor = '6'";
	

	if( $_POST[busca_data1] )
		$extra .= " AND comp_tx_dataCadastro >= '".gera_data($_POST[busca_data1],1)." 00:00:00'";
	if( $_POST[busca_data2] )
		$extra .= " AND comp_tx_dataCadastro <= '".gera_data($_POST[busca_data2],1)." 23:59:59'";
	if( $_POST[busca_setor] != '1' && $_POST[busca_setor]!= '') {
		$extra .= " AND comp_nb_setor = '$_POST[busca_setor]'";
		$a_setor = carregar('setor',$_POST[busca_setor]);
	}
	if( $_POST[busca_fornecedor] ) {
		$extra .= " AND comp_nb_entidade = '$_POST[busca_fornecedor]'";
		$a_fornacedor = carregar('entidade',$_POST[busca_fornecedor]);
	}
	if( $_POST[busca_status] ) {

		if ( $_POST[busca_status] == 'Finalizado' )
			$extra .= " AND (comp_tx_status='Finalizado' OR comp_tx_status='Finalizado Pendente') ";
		elseif ( $_POST[busca_status] == 'Recebido' )
			$extra .= " AND (comp_tx_status='Recebido' OR comp_tx_status='Pendente') ";
		else
			$extra .= " AND comp_tx_status = '$_POST[busca_status]'";
	}
	if ( $_POST[busca_nota] ) {
		$extra .= " AND comp_tx_numNota = '$_POST[busca_nota]'";
	}
	if ( $_POST[busca_chave] ) {
		$extra .= " AND comp_tx_chave = '$_POST[busca_chave]'";
	}


	cabecalho('Requisição de Compra',2);

	
	cactux::abre_form();
	
	//CAMPOS
	$c[] = cactux::campo('Data Inicial:','busca_data1',$_POST[busca_data1],1,MASCARA_DATA);
	$c[] = cactux::campo('Data Final:','busca_data2',$_POST[busca_data2],1,MASCARA_DATA);
	$c[] = cactux::combo_bd('!Setor:','busca_setor',$a_setor[seto_nb_id],$a_setor[seto_tx_nome],2,'setor','',"1  ORDER BY seto_tx_nome");
	$c[] = cactux::combo_net('!Fornecedor:','busca_fornecedor',$a_fornacedor[enti_nb_id],$a_fornacedor[enti_tx_nome],2,array('busca_div.php?c=entidade','busca_net.php?c=entidade'));
	$c[] = cactux::campo('Chave:','busca_chave',$_POST[busca_chave],1);
	$c[] = cactux::campo('Nota Fiscal:','busca_nota',$_POST[busca_nota],1);
	$c[] = cactux::combo('Situação:','busca_status',array('','Solicitado','Autorizado','Recebido','Finalizado','Negado'),$_POST[busca_status],1);

	
	//BOTOES
	$buscar = cactux::botao_submit_busca('Buscar',2,'index');
	$inserir = cactux::botao('Inserir',2,'inserir');
	$imprimir_busca = cactux::botao('Imprimir',2,'imprimir_busca');
	$importar = cactux::botao('Importar Chave',2,'importar_chave');
	$importar2 = cactux::botao('Importar XML',2,'importar_xml');
	$status = cactux::msg_status();
	
	cactux::abre_fieldset('Filtro de Busca');
	cactux::linha_fieldset($c[0],$c[1],$c[2],$c[3],$c[4],$c[5],$c[6]);
	cactux::linha_fieldset($buscar,$inserir,$imprimir_busca,$importar,$importar2);
	cactux::linha_fieldset($status);
	cactux::fecha_fieldset();
	

	$sql = selecionar('compra,setor,entidade.user','comp_tx_status',"!inativo"," $extra AND user_nb_id=comp_nb_userCadastro ORDER BY comp_nb_id DESC",1);
	$BUSCA = grid::gerar_paginacao($sql,'','',30);
	
	$cabecalho[] = array('','CÓD','COMPRADOR','SETOR','FORNECEDOR','CHAVE','NOTA FISCAL','CADASTRO','VALOR','SITUAÇÃO','','','','');
	$cabecalho[] = 'c,c,e,e,e,e,C,c,c,c';
	$cabecalho[] = '2%,5%,,10%,15%,15%,10%,5%,6%,6%,2%,2%,2%,2%';
	
	while($a=carrega_array($BUSCA[0])){
	
		$check = "<input type=checkbox value=Sim id=check_".$a[comp_nb_id]." onClick=seleciona_check('$a[comp_nb_id]')>";


		// O FINALIZADO PENDENTE É EQUIVALENTE AO STATUS FINALIZADO
		if ( $a[comp_tx_status] == 'Finalizado Pendente' )
			$a[comp_tx_status] = 'Finalizado';

		// O STATUS PENDENTE É O MESMO QUE O STATUS RECEBIDO, SÓ QUE INTERNAMENTE ELE TEM QUE FICAR COM O STATUS PENDENTE
		if ( $a[comp_tx_status] == 'Pendente' )
			$a[comp_tx_status] = 'Recebido';

		
		if( $a[comp_tx_status] != 'Finalizado' ) {
			if( $a[comp_tx_status] == 'Solicitado' )
				$modificar=".icone_modificar($a[0],'modifica_compra')";
			if( $a[comp_tx_status] == 'Autorizado' )
				$modificar = "";    
				// $modificar = "<a href=# onclick='faz_pagamento($a[comp_nb_id])' alt='Finalizar' ><img src='$CACTUX_CONF[path]/cactus/imagens/boleto.gif' border=0></a>"; 
				
				$excluir = ".icone_modificar($a[0],'layout_imprime','','','','target=_blank','Imprimir','/cactus/imagens/imprimir.png')";
				//$excluir = ".icone_excluir($a[0],'exclui_compra')";
				// $ver_anexo = "";
		
		} else {
			$modificar="";
			$excluir = ".icone_modificar($a[0],'layout_imprime','','','','target=_blank','Imprimir','/cactus/imagens/imprimir.png')";           
			// $ver_anexo = ".icone_modificar($a[comp_nb_id],'layout_anexo','','','','','Anexo','/cactus/imagens/visualizar2.png')";
		}
		
		if($a[comp_tx_status] == 'Finalizado') {
			//$modificar=".icone_modificar($a[0],'layout_finaliza')";
			if ( $a[comp_nb_movimento] > 0 ) {
				$modificar = ".icone_modificar($a[comp_nb_id],'layout_anexo','','','','','Anexo','/cactus/imagens/visualizar2.png')";
			}
		}
		if($_SESSION[user_tx_nivel]=='Administrativo' && $a[comp_tx_status]=='Finalizado'){
		
			//$modificar=".icone_modificar($a[0],'layout_finaliza','','','','','','cactus/imagens/boleto.gif')";
			$modificar = ".icone_modificar($a[comp_nb_id],'layout_anexo','','','','','','/cactus/imagens/visualizar2.png')";
		
		}
		
		if($a[comp_tx_status] == 'Negado') {
			$modificar = "";    
		}
		
		// if(($_SESSION[user_tx_nivel]=='Administrador' || $a[comp_nb_userCadastro] == $_SESSION[user_nb_id]) && $a[comp_tx_status]=='Solicitado'){
		// 	$excluir2=".icone_excluir($a[comp_nb_id],'excluir_compra')";
		// }else
		// 	$excluir2='';
		$excluir2=".icone_excluir($a[comp_nb_id],'excluir_compra')";


		// SE ESTIVER AUTORIZADO, CRIA O ÍCONE DE ENVIO DO E-MAIL
		// if ( $a[comp_tx_status] == 'Autorizado' ) {

			if( $_SESSION[user_tx_nivel] == 'Administrador' ||  $_SESSION[user_tx_nivel] == 'Gerente' || $_SESSION[user_tx_nivel]=='Gestor' || $_SESSION[user_tx_nivel]=='Administrativo'){
				if($a[comp_nb_userEmail]>0)
					$enviar_email = ".icone_modificar($a[comp_nb_id],'layout_email','busca_volta_pagina','requisicao.php','autorizacao.php?".cactux_cookie::url_sistema()."','','E-mail','/cactus/imagens/email_enviado.png')";
				else
					$enviar_email = ".icone_modificar($a[comp_nb_id],'layout_email','busca_volta_pagina','requisicao.php','autorizacao.php?".cactux_cookie::url_sistema()."','','E-mail','/cactus/imagens/email.png')";
			}
		// }
		
		$modificar = ".icone_modificar($a[comp_nb_id],layout_xml)";
		
		$valores[] = array( $check, $a[comp_nb_id], $a[user_tx_nome], $a[seto_tx_nome], $a[enti_tx_nome], $a[comp_tx_chave], $a[comp_tx_numNota], data($a[comp_tx_dataCadastro],1), mostra_valor($a[comp_tx_valor]),
							$a[comp_tx_status], $enviar_email, $excluir, $modificar, $excluir2 );
	
		$total_valor+=$a[comp_tx_valor];

		unset($enviar_email,$excluir,$modificar,$excluir2);
	}
	
	$valores[] = array( '', '', '','', '', '', '', '<b>TOTAL: </b>', mostra_valor($total_valor), '', '', '', '', '' );
	
	cactux::fecha_form();   
	cactux::acao_botao('inserir','layout_compra');
	cactux::acao_botao('imprimir_busca','layout_imprimi_busca','','','','',' target=_blank');
	cactux::acao_botao('importar_xml','layout_importar');
	cactux::acao_botao('importar_chave','layout_importar','chave','sim');


	grid::gerar($cabecalho,$valores);
	grid::paginar($BUSCA);
	
	rodape();
	
	cactux::acao_botao('faz_pagamento_form','seleciona_layout_finaliza','ids_agrupados','0');
	
	javascript("
		
		var IDS_AGRUPA = Array();
		
		function seleciona_check(id) {
			
			var t = IDS_AGRUPA.length;
			var achou=0;
			
			// VARRE O ARRAY E TESTA SE O ID JAH EXISTE, SE JAH EXISTIR ENTAO APAGA
			for(i=0; i!=t; i++) {
				
				if( IDS_AGRUPA[i] == id ) {
					achou = 1;
					IDS_AGRUPA[i]='';
					break;
				}
				
			}
			
			// SE NAO EXISTIR, ENTAO INSERE NO ARRAY
			if( achou != 1 ) {
				
				IDS_AGRUPA[t] = id;
				
			}
			
		}
		
		function faz_pagamento(id_atual) {
			
			// JUNTA O ARRAY EM UMA STRING SEPARADA POR '-'
			var agrupados = IDS_AGRUPA.join('-');
			
			// CONCATENA COM A STRING O ID DO PAGAMENTO CLICADO
			agrupados += '-'+id_atual;
			
			document.faz_pagamento_form.ids_agrupados.value=agrupados;
			document.faz_pagamento_form.submit();
			
		}
		
	");
	
}




controle();
?>
