<?php
// include "../ver_sessao.php";
include "../conecta.php";

// let's print the international format for the en_US locale
setlocale(LC_MONETARY, 'pt_BR');
//echo money_format('%.3i', $number) . "\n";  
// USD 1,234.56

// NOVA FUNCAO QUE EXIBE 3 CASAS DECIMAIS
function mostra_valor3casas($valor = '') {

	if( trim($valor) != ''  ) {
		$valor = substr(money_format('%.3i', $valor),4);
	}
	
	
	return $valor;	
	
}




$LOJA = carregar('empresa',1);




function cabecalho_cotacao() {
	global $LOJA;



	// VARIÁVEIS PARA CONFIGURAR AS CORES DO LAYOUT
	$cor_layout = '#187045';
	$cor_layout2 = '#5D5D5D';
	$cor_fonte = '#FFFFFF';



	$html = "
		<!-- Put IE into quirks mode -->
		<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
			\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
		<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"pt-br\" id=html>
		<head>

		<meta http-equiv=\"Content-Language\" content=\"en-us\">
		<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">
		<title>COTAÇÃO ON-LINE</title>





		<style type=\"text/css\">

		/* the bit that does the work */

		body {
		  margin:0;
		  border:0;
		  padding:0;
		  height:100%; 
		  max-height:100%; 
		  background:#fff; 
		  font-family:arial, verdana, sans-serif; 
		  font-size:76%;
		  overflow: hidden; 
		  }

		/* for internet explorer */
		* html body {
		  padding:154px 0 30px 0; 
		  }

		#container {
		  font-family:\"times new roman\", serif;
		  font-size: 1.2em;
		  position:fixed; 
		  top:154px;
		  left:0;
		  bottom:35px; 
		  right:0; 
		  overflow:auto; 
		  background: #E4F1FA url(imagens_sistema/FundoMeio.jpg) no-repeat fixed;
		  padding:20px;
		  text-align:center;
		  }

		* html #container {
		  height:100%; 
		  width:100%; 
		  }

		#header {
		  position:absolute; 
		  top:0; 
		  left:0; 
		  width:100%; 
		  height:154px; 
		  overflow:none; 
		  background: $cor_layout;
		  }
		* html #header {height:154px;}


		#footer {
		  position:absolute; 
		  bottom:0; 
		  left:0;
		  width:100%; 
		  height:38px; 
		  overflow:none; 
		  text-align:right; 
		  background-color: $cor_layout;
		  border-top:2px solid $cor_layout;
		  }
		* html #footer {height:30px;}





		</style>


		</head>

		<body>

		<div id=\"header\">

			<img src=\"http://sistemascactus.com.br/agropet/galeria/cabecalho_cotacao.png\" border=\"0\" align=\"bottom\">

		</div>





		<div id=\"container\">

	";


		echo $html;

}




function rodape_cotacao() {
	global $LOJA;



	// VARIÁVEIS PARA CONFIGURAR AS CORES DO LAYOUT
	$cor_layout = '#187045';
	$cor_layout2 = '#a9c62d';
	$cor_fonte = '#FFFFFF';


	if ( $LOJA[empr_nb_cidade] > 0 ) {
		$LOJA_CIDADE = carregar('cidade',$LOJA[empr_nb_cidade]);

		$NOME_CIDADE = $LOJA_CIDADE[cida_tx_nome];
		$LOJA_CIDADE[cida_tx_nome] = $LOJA_CIDADE[cida_tx_nome].'/'.$LOJA_CIDADE[cida_tx_uf];
	}


			$html .="

				</div> <!-- end of container -->



				<div id=\"footer\">

					<span style='color: $cor_fonte; font-family: arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: left; text-indent: 0px; text-transform: uppercase; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: left; padding-left:20px; padding-top:10px; background-color: $cor_layout;'>$LOJA[empr_tx_razao]</span>
					<div style='text-align:right;'><a href='http://cactustecnologia.com/' target=_blank><img border='0' src='../galeria/cactus-logo.png' style='height:30px;padding-top:2px;padding-right:5px'></a></div>
					rodapé
				</div>

				</body>
				</html>

			";


		echo $html;

}


function cadastra_preco_ajax() {
	
	echo date("H:i:s");
	print_r($_GET);
	
	$hoje = date("Y-m-d H:i:s");
	$_GET[venc] = base64_decode($_GET[venc]);
	
	
	if($hoje > $_GET[venc] ){
		echo "ERRO: Cotação já encerrada!";
		exit;
	}

	
	$_GET[valor] = base64_decode($_GET[valor]);
	$_GET[valor] = str_replace(array("\"","'","`"),array("","",""),$_GET[valor]);

	switch( $_GET[campo] ) {
		case 'valor':
			$msg = atualizar('cova',array(cova_tx_valor),array(valor($_GET[valor])),$_GET[id_cova],'','','',1);				break;
		case 'qtde':
			$msg = atualizar('cova',array(cova_tx_qtdeCx),array($_GET[valor]),$_GET[id_cova],'','','',1);					break;
		case 'fabricante':
			$msg = atualizar('cova',array(cova_tx_fabricante),array($_GET[valor]),$_GET[id_cova],'','','',1);				break;
		case 'validade':
			$msg = atualizar('cova',array(cova_tx_validade),array(gera_data($_GET[valor],1)),$_GET[id_cova],'','','',1);	break;
		case 'obs':
			$msg = atualizar('cova',array(cova_tx_obs),array($_GET[valor]),$_GET[id_cova],'','','',1);						break;
		case 'forma':
			$msg = atualizar('cofo',array(cofo_tx_pagamento),array($_GET[valor]),$_GET[id_cova],'','','',1);				break;
		case 'prazo':
			$msg = atualizar('cofo',array(cofo_tx_prazo),array($_GET[valor]),$_GET[id_cova],'','','',1);					break;
	}

		
	echo "<hr>$msg";
	if( !bd_erro() ) {
	
		javascript("
//						window.parent.document.getElementById('status_ajax').innerHTML = 
//						window.parent.document.getElementById('status_ajax').innerHTML + 
//						' Pronto!';
						
						// MUDA A COR DO CAMPO PARA DIZER QUE GRAVOU
						window.parent.document.getElementById('".$_GET[campo]."_".$_GET[id_cova]."').style.background = '#98FB98'; 

			");
			
	} else {

		javascript("
//						window.parent.document.getElementById('status_ajax').innerHTML = 
//						window.parent.document.getElementById('status_ajax').innerHTML + 
//						' ERRO AO GRAVAR!';
						
						// MUDA A COR DO CAMPO PARA DIZER QUE DEU ERRADO
						window.parent.document.getElementById('".$_GET[campo]."_".$_GET[id_cova]."').style.background = '#FF6347'; 

			");

	
	}
	
	exit;
}

function inicia_cotacao() {

	// carrega os dados da entidade
	$a_entidade = carregar('entidade',$_POST[entidade]);
	
	$a_cofo = carregar('cofo','','cofo_nb_cotacao,cofo_nb_entidade,cofo_tx_status',"$_POST[id],$_POST[entidade],ativo");
	
	// carrega os dados da cotação para exibir
	$a_comp = carregar('cotacao,setor.user',$_POST[id],'cota_nb_userCadastro','.user_nb_id');

	// PROCURA SE A EMPRESA JAH COLOCOU ALGUM PRECO, SE NAO COLOCOU NENHUM ENTAO INSERE TUDO COM VALOR 0
	$sql = selecionar('cova,copr,entidade','cova_tx_status,cova_nb_entidade,copr_nb_cotacao',"!inativo, $_POST[entidade],$_POST[id]");

	if( num_linhas($sql) == 0 ) {
		
		$sql2 = selecionar('copr','copr_tx_status,copr_nb_cotacao',"!inativo,$_POST[id]");
		while( $a2 = carrega_array($sql2) ) {

				$campos = array(cova_nb_copr, cova_nb_entidade, cova_tx_status);
				$valores = array($a2[0], $_POST[entidade], ativo);
				inserir('cova',$campos,$valores,1);	
		}
		
	}
	
	
}


function cadastra_preco(){

	$id_copr = $_POST[id_copr];
	$valor = $_POST[valor];
	$qtdeCx = $_POST[qtde_cx];
	$fabricante = $_POST[fabricante];
	$validade = $_POST[validade];
	$obs = $_POST[obs];
	
	$hoje = date("Y-m-d H:i:s");

	
	//carrega informações da cotação
	$_POST[id] = $_POST[cotacao];
	$a_cotacao = carregar('cotacao',$_POST[id]);
	
	
	if($hoje > $a_cotacao[cota_tx_dataEncerra]){
		set_status("ERRO: Cotação já encerrada!");
		index();
		exit;
	}
	
	$t_copr = count($id_copr);
	for($i = 0; $i < $t_copr; $i++){

		$obs[$i] = str_replace(array("\"","'","`"),array("","",""),$obs[$i]);

		$a2 = carregar('cova_nb_id|cova','','cova_nb_copr,cova_nb_entidade',"$id_copr[$i],$_POST[entidade]");	
		
		$campos = array(cova_nb_copr, cova_nb_entidade, cova_tx_valor, cova_tx_qtdeCx, cova_tx_fabricante,cova_tx_validade,cova_tx_obs,cova_tx_dataCadastro,cova_tx_status);
		$valores = array($id_copr[$i], $_POST[entidade], valor($valor[$i]), $qtdeCx[$i], $fabricante[$i], gera_data($validade[$i],1), $obs[$i], $hoje, ativo);
		atualizar('cova',$campos,$valores,$a2[cova_nb_id]);	
		
	}
	
	$campos=array(cofo_tx_pagamento,cofo_tx_prazo);
	$valores=array($_POST[pagamento],$_POST[prazo]);
	atualizar('cofo',$campos,$valores,'','cofo_nb_cotacao,cofo_nb_entidade,cofo_tx_status',"$_POST[id],$_POST[entidade],ativo");
	
	index();
	exit;
}


function cadastra_preco_antigo(){

	$id_copr = $_POST[id_copr];
	$valor = $_POST[valor];
	$qtdeCx = $_POST[qtde_cx];
	$fabricante = $_POST[fabricante];
	$validade = $_POST[validade];
	$obs = $_POST[obs];
	
	$hoje = date("Y-m-d H:i:s");

	
	
	//carrega informações da cotação
	$_POST[id] = $_POST[cotacao];
	$a_cotacao = carregar('cotacao',$_POST[id]);
	

	
	if($hoje > $a_cotacao[cota_tx_dataEncerra]){
		set_status("ERRO: Cotação já encerrada!");
		index();
		exit;
	}
	
	$t_copr = count($id_copr);
	for($i = 0; $i < $t_copr; $i++){

		//carregar consultas
		$sql2 = selecionar('cova,copr','cova_tx_status, cova_nb_copr, cova_nb_entidade',"!inativo, $id_copr[$i], $_POST[entidade]");	
		while($a_ex=carrega_array($sql2)){

			remover('cova',$a_ex[cova_nb_id]);

		}
		
	
		
			if( valor($valor[$i]) > 0 ){


//echo valor($valor[$i])."<br>";
			
				$campos = array(cova_nb_copr, cova_nb_entidade, cova_tx_valor, cova_tx_qtdeCx, cova_tx_fabricante,cova_tx_validade,cova_tx_obs,cova_tx_dataCadastro,cova_tx_status);
				$valores = array($id_copr[$i], $_POST[entidade], valor($valor[$i]), $qtdeCx[$i], $fabricante[$i], gera_data($validade[$i],1), $obs[$i], $hoje, ativo);
				inserir('cova',$campos,$valores);	
				
				
				set_status('Cadastrado com sucesso!');
			}
		
	}
	
//	$a_cofo = carregar('cofo','','cofo_nb_cotacao,cofo_nb_entidade,cofo_tx_status',"$_POST[id],$_POST[entidade],ativo");
	
	$campos=array(cofo_tx_pagamento,cofo_tx_prazo);
	$valores=array($_POST[pagamento],$_POST[prazo]);
	atualizar('cofo',$campos,$valores,'','cofo_nb_cotacao,cofo_nb_entidade,cofo_tx_status',"$_POST[id],$_POST[entidade],ativo");
	
	index();
	exit;
}

function index(){

	cabecalho_cotacao();



	// VERIFICA O HASH QUE DEVE VIR JUNTO DA URL

	if($_GET[c]>0)
		$_POST[id] = $_GET[c];

	if($_GET[e]>0)
		$_POST[entidade]=$_GET[e];

	if($_GET[h]!='')
		$_POST[h]=$_GET[h];
	

	if( md5($_POST[entidade].$_POST[id]) != $_POST[h] ) {
		
		echo "<br><br><center>ERRO: URL Inválida!!</center>";
		exit;
	}

	// VERIFICA SE VEIO CAMPO EM BRANCO

	if( intval($_POST[entidade]) == 0 ||  intval($_POST[id]) == 0 || $_POST[h] == '' ) {
		
		echo "<br><br><center>ERRO: URL Inválida!</center>";
		exit;
	}


	// pega o id da cotação
	
	// carrega os dados da entidade
	$a_entidade = carregar('entidade',$_POST[entidade]);
	
	
	$a_cofo = carregar('cofo','','cofo_nb_cotacao,cofo_nb_entidade,cofo_tx_status',"$_POST[id],$_POST[entidade],ativo");
	
	
	// carrega os dados da cotação para exibir
	$a_comp = carregar('cotacao,setor.user',$_POST[id],'cota_nb_userCadastro','.user_nb_id');
	
	
	frame_interno(0);
//	echo "<div id=status_ajax style='width:100%; background:yellow;'>&nbsp;</div>";
	inicia_cotacao();
	
	cabecalho('Requisição de Compra',3);
	
	cactux::abre_form();
		
	$t1[] = cactux::texto('Fornecedor:',$a_entidade[enti_tx_nome],2);
	$t1[] = cactux::texto('Código:',$a_comp[cota_nb_id],1);
	$t1[] = cactux::texto('Setor:',$a_comp[seto_tx_nome],2);
	$t1[] = cactux::texto('Objeto da Cotação:',$a_comp[cota_tx_nome],3);
	$t1[] = cactux::texto('Data Encerramento:(Brasília)',data($a_comp[cota_tx_dataEncerra],3),2);
	
	$gravar = cactux::botao_submit('Gravar',2,'cadastra_preco','id, entidade, cotacao, h',"$_POST[id], $_POST[entidade], $_POST[id], $_POST[h]");
	$status = cactux::msg_status();
	
	//LIBERA O BOTAO FINALIZAR SOMENTE SE HOUVER NO MINIMO 1 PRODUTO
	$a_teste1 = carregar('copr','','copr_nb_cotacao,copr_tx_status',"$_POST[id],Ativo");
	
	cactux::abre_fieldset('Informações da Cotação');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3],$t1[4]);

	echo "<br>";
	
	if($a_mod[copr_tx_unidade] != '')
		$a_un = carregar('unidade','','unid_tx_status,unid_tx_nome',"!inativo,$a_mod[copr_tx_unidade]");

	
	// SE TIVER ATUALIZANDO, ENTAO CARREGA OS PRODUTOS JAH CADASTRADOS
	$sql = selecionar('copr,unidade,cotacao,produto','copr_nb_cotacao,copr_tx_status',"$_POST[id],ativo"," ORDER BY prod_tx_nome");	
	
/*	
	$cabeca[]=array('COD','PRODUTO','UNIDADE','QUANTIDADE','OBSERVAÇÃO','VALOR','QUANTIDADE<br>MÍNIMA','VALIDADE<br>(SE HOUVER)','OBSERVAÇÃO');
	$cabeca[]='c,e,c,c';
	$cabeca[]='5%,,4%,4%,12%,8%,10%,7%,';
*/
/*
	$cabeca[]=array('COD','PRODUTO','UNIDADE','QUANTIDADE','OBSERVAÇÃO','VALOR','FABRICANTE','VALIDADE<br>(SE HOUVER)','QUANTIDADE<br>POR CAIXA');
	$cabeca[]='c,e,c,c';
	$cabeca[]='5%,,6%,6%,15%,8%,12%,8%,8%';
*/	
	$cabeca[]=array('COD','PRODUTO','UNIDADE','QUANTIDADE','OBSERVAÇÃO','VALOR','QUANTIDADE<br>MÍNIMA','FABRICANTE','VALIDADE<br>(SE HOUVER)','OBSERVAÇÃO');
	$cabeca[]='c,e,c,c';
	$cabeca[]='5%,,6%,6%,15%,8%,12%,8%,8%';
	
	
	while( $a = carrega_array($sql) ) {
	
		$sql2 = selecionar('cova,copr','cova_nb_copr,cova_nb_entidade,cova_tx_status',"$a[copr_nb_id],$_POST[entidade],ativo");	
		$a2 = carrega_array($sql2);
		
		// SE O VALOR ENTIVER COM 0 ENTAO SETA COMO VAZIO PARA NAO FICAR COM 0,000 NO CAMPO
		if( $a2[cova_tx_valor] == 0 )	$a2[cova_tx_valor] = '';
		
		campo_hidden('id_copr[]',"$a[copr_nb_id]");
		$valor_uni = cactux::campo_simples('valor[]', mostra_valor($a2[cova_tx_valor]) ,'',"onkeyup='mascara_reais(this);' onblur=salva_valor('$a[copr_nb_id]','$a2[cova_nb_id]','valor',this.value) id=valor_".$a2[cova_nb_id]." onfocus=this.style.background='#ffffff'"); 
		$qtde = cactux::campo_simples('qtde_cx[]',$a2[cova_tx_qtdeCx],'', " onkeyup='mascara_numeros(this);' onblur=salva_valor('$a[copr_nb_id]','$a2[cova_nb_id]','qtde',this.value) id=qtde_".$a2[cova_nb_id]." onfocus=this.style.background='#ffffff' "); 
		$fabricante = cactux::campo_simples('fabricante[]',$a2[cova_tx_fabricante],''," onblur=salva_valor('$a[copr_nb_id]','$a2[cova_nb_id]','fabricante',this.value) id=fabricante_".$a2[cova_nb_id]." onfocus=this.style.background='#ffffff' "); 
		$validade = cactux::campo_simples('validade[]',data($a2[cova_tx_validade],1),'', " onkeyup='mascara_data(this);' onblur=salva_valor('$a[copr_nb_id]','$a2[cova_nb_id]','validade',this.value) id=validade_".$a2[cova_nb_id]." onfocus=this.style.background='#ffffff' "); 
		$obs = cactux::campo_simples('obs[]',$a2[cova_tx_obs],''," onblur=salva_valor('$a[copr_nb_id]','$a2[cova_nb_id]','obs',this.value) id=obs_".$a2[cova_nb_id]." onfocus=this.style.background='#ffffff' "); 
		
		$valores[] = array($a[copr_nb_id], $a[prod_tx_nome], $a[unid_tx_nome], $a[copr_tx_qtde], $a[copr_tx_obs], $valor_uni, $qtde,$fabricante, $validade,$obs);
		
		
		$valor_total += $a2[cova_tx_valor];
	}
	
	grid::gerar($cabeca,$valores);

	$c2[] = cactux::campo('Forma de Pagamento:','pagamento',$a_cofo[cofo_tx_pagamento],5," onfocus=this.style.background='#ffffff' onblur=salva_valor('0','".$a_cofo[0]."','forma',this.value) id=forma_".$a_cofo[0]);
	$c2[] = cactux::campo('Prazo de Entrega:','prazo',$a_cofo[cofo_tx_prazo],5," onfocus=this.style.background='#ffffff' onblur=salva_valor('0','".$a_cofo[0]."','prazo',this.value) id=prazo_".$a_cofo[0]);
	
		
	cactux::linha_fieldset();
	cactux::linha_fieldset($c2[0],$c2[1]);
	cactux::linha_fieldset($gravar,$status);
	cactux::fecha_fieldset();
	cactux::fecha_fieldset();
	
	cactux::fecha_form();
		
//"onkeyup='mascara_reais3(this);' "		
?>
	<script>

		function salva_valor(id_copr,id_cova,campo,valor) {
			
//			window.document.getElementById('status_ajax').innerHTML='Salvando campo '+campo+' no id '+id+' com valor '+valor;
//			frame_interno('cotacao.php?acao=cadastra_preco_ajax&id_copr='+id+'&campo='+campo+'&valor='+valor+"&entidade=<?= $_POST[entidade]?>");

			valor = base64_encode(valor);
//			window.document.getElementById('status_ajax').innerHTML='Salvando campo '+campo+' no id_cova '+id_cova+' com valor '+valor+'. Aguarde...';
			window.document.getElementById(campo+'_'+id_cova).style.background='#CDC8B1';
			frame_interno('cotacao.php?acao=cadastra_preco_ajax&id_copr='+id_copr+'&campo='+campo+'&valor='+valor+"&id_cova="+id_cova+'&venc=<?= base64_encode($a_comp[cota_tx_dataEncerra])?>');
			
		}

		function mascara_reais3(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{9})$/,"$1.$2")  //coloca ponto antes dos últimos 8 digitos 
			v=v.replace(/(\d{1})(\d{6})$/,"$1.$2")  //coloca ponto antes dos últimos 5 digitos 
			v=v.replace(/(\d{1})(\d{1,3})$/,"$1,$2") //coloca virgula antes dos últimos 2 digitos 
			z.value = v; 
		}
	
		
		function base64_encode(data) {
		  var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
		  var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
			ac = 0,
			enc = '',
			tmp_arr = [];
		
		  if (!data) {
			return data;
		  }
		
		  do { // pack three octets into four hexets
			o1 = data.charCodeAt(i++);
			o2 = data.charCodeAt(i++);
			o3 = data.charCodeAt(i++);
		
			bits = o1 << 16 | o2 << 8 | o3;
		
			h1 = bits >> 18 & 0x3f;
			h2 = bits >> 12 & 0x3f;
			h3 = bits >> 6 & 0x3f;
			h4 = bits & 0x3f;
		
			// use hexets to index into b64, and append result to encoded string
			tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
		  } while (i < data.length);
		
		  enc = tmp_arr.join('');
		
		  var r = data.length % 3;
		
		  return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 3);
		}
			

	</script>

<?
		
	rodape();



	rodape_cotacao();


}

controle();
?>