<?
  /* Não incluir o cabeçalho do ERP, caso a requisição seja do PDV*/
  if(!isset($_GET['codepdv'])){
    require_once "header.php";
  }
    require_once "inc/nfc_xml_cancela.php";
    require_once "inc/nfc_class.php";
    require_once "inc/messages.php";

?>
<head>
<?
if(isset($_GET['codepdv'])){
  echo '<link href="css/mystyles.css" rel="stylesheet" type="text/css">';
  echo '<link href="css/bootstrap/bootstrap.min.css" rel="stylesheet" type="text/css">';
  echo '<script type="text/javascript" src="js/plugins/jquery/jquery.min.js"></script>';
  echo '<script type="text/javascript" src="js/plugins/jquery/jquery-ui.min.js"></script>';
  echo '<script type="text/javascript" src="js/plugins/ibutton/jquery.ibutton.js"></script>';
  }
?>
  <script type="text/javascript" src="js\jquery-3.1.1.min.js"></script>
  <script type="text/javascript" src="js\easysat_cancela.js"></script>
</head>
<body>
<?php
    require_once "connect.php";
    require_once 'inc/parametros.php';
    require_once 'inc/parametros_sat.php';

if(!isset($_SESSION['p_cd_ativa'])){
    
}else{
    $parametros = parametros_getByNome('p_cd_ativa');
    if($parametros !== false){
        $_SESSION['p_cd_ativa'] = $parametros['ds_valor'];
    }else{
      $parametros = parametros_create();
      $parametros['ds_parametro'] = 'p_cd_ativa';
      $parametros['ds_valor'] =  'c0d3S4t1';
      $_SESSION['p_cd_ativa'] = $parametros['ds_valor'];
      parametros_insert($parametros);
    }
}

$ok   = true; // Recebe true como padrão
$chave= "";
$tpAmb= "2"; // Recebe como padrão homologacao, se não setado a qr a variavel de ambiente php
$set_msg = array();   // varáveis de retorno de status;

$id = $_GET['id'];
$id_doc = base64_decode($id);
$bo_return= true;
$bo_confirm=false;
$p_ds_xml = '';
$p_url_return = $p_url_nuvem . "erpc_nfccode_cancela_finaliza_local.php";
$p_url_print  = $p_url_nuvem . "erpc_nfccode_cancela_imprimir.php?id=$id";

if(isset($_GET['bo_return'])){
	$bo_return=true;
}

if(isset($_GET['bo_confirm'])){
	$bo_confirm=true;
}

// $NfeXml = new NfeXml();
$redirect = "erpc_faturar_pedidos_list.php";
$NfcXml   = New NfcXmlCancela();

$r_xml     = $NfcXml->getDados($id_doc);
$p_ds_chave= $NfcXml->getChaveCancela();

// Se retornou a chave vazia, é porque o cupom não pode ser cancelado
if($p_ds_chave==""){
  addError("Não foi possível cancelar. Chave do Cupom não encontrado");
  Header("location:$redirect");
}

// transforma o xml em objeto JSON para enviar ao EASYSAT
$dados_cancela= setFormatJS($r_xml);

	// função para enviar os dados da venda
	function setFormatJS($r_xml){
		global $id_doc;
		global $NfcXml;
		global $p_ds_chave;
		global $p_url_return;
		global $p_url_print;
		
		$ret_xml = false;
		$p_nr_sessao= str_pad(rand(05,99999), 05, "0", STR_PAD_LEFT); // número da sessão aleatório
		// $p_cd_ativa = "99999999";
		// $p_cd_ativa = "c0d3S4t1";
		$p_cd_ativa = $_SESSION['p_cd_ativa'];
		
		$p_ds_numnf     = $NfcXml->getCupomOriginal();
		$p_vl_total_cfe = $NfcXml->getTotalCancela();

		// formata o xml para envio no formato JSON
		$p_ds_xml = str_replace("<?xml version='1.0' encoding='UTF-8'?>", '', $r_xml);
		// $p_ds_xml = preg_replace("/(\t+)/", "", $p_ds_xml);
		$p_ds_xml = preg_replace("/[\n\r\t]/","",$p_ds_xml);
		
		// cria um array, para função enviar via JSON para EasySat
		$dados_cancela = array(
		  'id_documento'    => $id_doc,
		  'link_return'     => $p_url_return,
		  'link_print'      => $p_url_print ,
		  'numeroSessao'    => $p_nr_sessao ,
		  'codigoDeAtivacao'=> $p_cd_ativa  ,
		  'chave'             => $p_ds_chave,
		  'nr_cupom_original' => $p_ds_numnf,
		  'vl_total_cfe'      => $p_vl_total_cfe,
		  'dadosCancelamento' => $p_ds_xml,
		  'qrcode' => ''
		);

		// exibe o conteudo do XML
		// echo '<pre>', htmlentities($p_ds_xml), '</pre>';

		/* escreve o arquivo no diretorio temporario */
		$myfile = fopen("xml/xml_cancela.xml", "w+") or die("Unable to open file!");
		//header( 'Content-type: text/xml' ); preg_replace("/(\t+)/", "", $r_xml)
		fwrite($myfile, $p_ds_xml);
		fclose($myfile);
	
		// return json_encode($dados_venda);
		return $dados_cancela;
	}

	function redirect_post($url, array $data, array $headers = null){
		
		foreach($data as $key => $value) {
		   $urlArray[] =  $key."=".$value;  
		}
		$urlString = implode("&", $urlArray);
		$urlString    = http_build_query($data);
		
		
		$url_redirect = $url . "?" . $urlString;
		$url_redirect = preg_replace("/(\t\n+)/", "", $url_redirect);
		
		$myfile = fopen("xml/link_criado_get.xml", "w+") or die("Unable to open file!");
		//header( 'Content-type: text/xml' ); preg_replace("/(\t+)/", "", $r_xml)
		fwrite($myfile, $url_redirect);
		fclose($myfile);	
		
		header("Location:$url_redirect");
	}
	
$p_mensagem = "Faturamento do Documento Sat $id_doc... Por Favor aguarde.!";
$p_confirm  = "Tem certeza que deseja cancelar o cupom:<br>$p_ds_chave ?";


?>

  <div class="progress">
      <?=$p_mensagem;?>
      <div id="theBar" class="progress-bar progress-bar-info progress-bar-striped active" role="progressbar" aria-valuenow="1" aria-valuemin="0" aria-valuemax="100" style="width: 00%">
          <!-- <span class="sr-only"></span>-->

      </div>
  </div>
  
  <div class="block">
    <div id="dialog" title="Confirmação" >
      <form method="get" action="#" id=validateCustom>
        <input hidden type="text" name="id" id="id" value="<?=$id?>"/>
		<input hidden type="text"           id = "bo_confirm" name = "bo_confirm" value = "true">
 		<span><?php echo $p_confirm;?>?</span>
      <br>
      <br>
        <!--
        <input type="button" name="btn-fatura" id="btn-fatura" class="btn btn-primary">Faturar/>
        <input type="button" name="btn-recibo" id="btn-fatura" class="btn btn-default btn-cleanx">Recibo/>
        -->

		<?if($p_sat_web==0 and $bo_confirm==false){?>
        <button name="btn-cancela" id="btn-cancela" class="btn btn-primary">Sim</button>
        <button name="btn-fechar"  id="btn-fechar"  class="btn btn-default btn-cleanx">Não</button>
		<?}?>
		
      </form>
    </div>
</div>


  <?
  
	if($p_sat_web==0 and $bo_confirm==true){
		global $id_doc;
		global $p_url_local_cancela;
		
		$dados_cancela['id_documento'] = base64_encode($dados_cancela['id_documento']);
		
		echo "<br>REDIRECIONANDO PARA A LOCAL!$p_url_local_cancela";
		redirect_post($p_url_local_cancela, $dados_cancela);
	
		if(!isset($_GET['codepdv'])){
			include_once "footer.php";
		}else{
			include_once "erpc_codepdv_footer_mensagem.php";
		}
	}	
?>

<? include_once "footer.php";?>

<?php if($p_sat_web==0 and $bo_confirm==false){ ?>
    <script type="text/javascript">
      $(document).ready(function(data){

	    $("#dialog").dialog({
		  autoOpen: false,
		  modal: true,
		  resizable: false,
		  width:'auto'
		});

		$("#dialog").dialog("open");

        $("#btn-cancela").click(function(){
		  // $("#validateCustom").attr('action', 'erpc_venda_rapida_ws.php');
		  $("#validateCustom").submit();
		});

		$("#btn-fechar").click(function(){
		  $("#dialog").dialog("close");
		  window.close();
		});
		
		$(document).keyup(function(e) {
			if (e.key === "Escape") { // escape key maps to keycode `27`
				window.close();
			}
		});
	  
      // Barra de prograsso para comunicação com o Sat
      var i = 40;
      var counterBack = setInterval(function () {
        i--;
        if (i > 0) {
          $('.progress-bar').css('width', i + '%');
          $("#theBar").html(i + '% do ');
        } else {
          clearInterval(counterBack);
        }
      }, 1000);
	  
	  }(jQuery));
    </script>
<? }
	else if($p_sat_web==1){?>
	  <script type="text/javascript" src="js\jquery-3.1.1.min.js"></script>
	 <script type="text/javascript">
      $(document).ready(function(data){

        var r = confirm("Tem certeza que deseja cancelar o cupom?");

        if(r == true){
          satCancelarUltimaVenda(<?php echo json_encode($dados_cancela);?>);
        }else{
          window.close();
        }

        // buttonEnviarDadosVenda();
        }
      );

      // Barra de prograsso para comunicação com o Sat
      var i = 40;
      var counterBack = setInterval(function () {
        i--;
        if (i > 0) {
          $('.progress-bar').css('width', i + '%');
          $("#theBar").html(i + '% do ');
        } else {
          clearInterval(counterBack);
        }
      }, 1000);
    </script>
	
<? } ?>
</body>
</html>
