<?php
  $Seccion      = 'Facturacion';
  $SubSeccion   = 'Facturacion';
  $NameSec      = 'Pre-Factura';
  $NameSin      = 'Pre-Factura';
  $SecLine      = array('Facturación', 'Pre-Facturas', 'Pre-Factura');
  $Position   = '../../../';
  require_once($Position.'config/config.php');
  require_once($Position.'config/conexion.php');
  require_once($Position.'config/user.php');
  require_once($Position.'funciones/acces.php');
  require_once($Position.'funciones/logout.php');
  require_once($Position.'funciones/funciones.php');

  //Crea Factura
  if( $_POST['Facturar'] == 'Ok' ){

    //Si Configuracion Ok
    if( $DoFactura == 'Ok' ){

      //echo "Facturar Ok<hr>";

      //Datos de PreFactura
      $IdPre            = $_POST['Id'];
      $IdPrefacturaGo   = $IdPre;

      $Query = "
        SELECT
          pre.Id,
          pre.ClavePreFac,
          pre.Fk_Origen,
          pre.IdFactura,
          pre.Fk_Status, pre.Fk_Cliente, pre.Fk_Lugar,
          pre.Fecha,
          pre.RfcEmisor, pre.Emisor,
          pre.RfcReceptor, pre.Receptor,
          pre.Subtotal, pre.Impuesto, pre.Total,
          pre.Serie,
          pre.Moneda, pre.CambioMoneda, pre.CondicionesPago,
          pre.Fk_FormaPago, pre.Fk_MetodoPago,
          pre.Fk_Tipo, pre.Fk_Uso,
          pre.NumeroCuenta
        FROM FacturasPre pre
        LEFT JOIN Cuentas cue ON cue.Id = pre.Fk_Cuenta
        WHERE pre.Fk_Cuenta = '$Cuenta_Id'
          AND pre.Id = '$IdPre'
      ";
      $Result = mysqli_query($mysqli, $Query);
      $Prefac = mysqli_fetch_assoc($Result);

      //Datos de Factura
      $Cliente 		      = addslashes(strip_tags($_POST['Cliente']));
      $ReceptorRfc      = addslashes(strip_tags($_POST['ReceptorRfc']));
      $Receptor         = addslashes(strip_tags($_POST['Receptor']));
      $Uso 		          = addslashes(strip_tags($_POST['Uso']));

      $Lugar            = addslashes(strip_tags($_POST['Lugar']));
      //Lugar
      $Query = "
      	SELECT
      	 suc.Id, suc.CodigoPostal
      	FROM Sucursales suc
      	WHERE suc.Id = '$Lugar'
    	";
      $Result = mysqli_query($mysqli, $Query);
      $Sucursal = mysqli_fetch_assoc($Result);
      $Lugar = $Sucursal[CodigoPostal];
      //End Lugar
      $Serie            = addslashes(strip_tags($_POST['Serie']));
      //Serie y Folio
      $Query = "
      	SELECT
      	 ser.Id, ser.Nombre, ser.Folio
      	FROM Series ser
      	WHERE ser.Id = '$Serie'
    	";
      $Result = mysqli_query($mysqli, $Query);
      $Ser = mysqli_fetch_assoc($Result);
      $SerieId          = $Ser[Id];
      $Serie            = $Ser[Nombre];
      $Folio            = $Ser[Folio] + 1;
      //End Serie y Folio
      $Moneda           = addslashes(strip_tags($_POST['Moneda']));
      $CambioMoneda     = addslashes(strip_tags($_POST['CambioMoneda']));
      if( $$CambioMoneda == '' ){ $CambioMoneda == 1; }
      $Tipo             = addslashes(strip_tags($_POST['Tipo']));
      $Forma            = addslashes(strip_tags($_POST['FormaPago']));
      $Metodo           = addslashes(strip_tags($_POST['MetodoPago']));
      $Moneda           = addslashes(strip_tags($_POST['Moneda']));
      $CondicionesPago  = addslashes(strip_tags($_POST['CondicionesPago']));
      $ProductoPos      = $_POST['ProductoPos'];
      $Producto         = $_POST['Producto'];
      //var_dump($Producto);
      //echo "<hr>";

      //Actualiza datos de Prefactura
      if( $Cliente == 'x' ){ $CliSel = 0; }else{ $CliSel = $Cliente; }

      //Update
      $Query = "
        UPDATE FacturasPre
        SET
          Fk_Cliente = '$Cliente',
          RfcReceptor = '$ReceptorRfc', Receptor = '$Receptor',
          Fk_Uso = '$Uso'
        WHERE Id = '$Prefac[Id]'
      ";
      $Result = mysqli_query($mysqli, $Query);
      //End Actualiza datos de Prefactura

      if( $CreditosFac >= 1 ){
        //Plataforma de Salida
        if( $PlataformaFac[Id] ){
          //echo "Timbrar";
          //Timbra Factura
          require_once($Position.'facturacion/facturar/plataformas/facturama.php');
        }
        //End Plataforma de Salida
      }
    }
    //End Si Configuracion Ok
  }
  //End Guardar Registro

  //Guardar Prefactura
  if( $_POST['Save'] ){

    //Datos de Factura
    $FechaPre         = date('Y-m-d H:i:s');
    $Action           = $_POST['Action'];
    $Cliente 		      = addslashes(strip_tags($_POST['Cliente']));
    $Uso 		          = addslashes(strip_tags($_POST['Uso']));
    $Lugar            = addslashes(strip_tags($_POST['Lugar']));
    //Lugar
    $Query = "
      SELECT
       suc.Id, suc.CodigoPostal
      FROM Sucursales suc
      WHERE suc.Id = '$Lugar'
    ";
    $Result = mysqli_query($mysqli, $Query);
    $Sucursal = mysqli_fetch_assoc($Result);
    $Lugar = $Sucursal[CodigoPostal];
    //End Lugar
    $Serie            = addslashes(strip_tags($_POST['Serie']));
    //Serie y Folio
    $Query = "
      SELECT
       ser.Id, ser.Nombre, ser.Folio
      FROM Series ser
      WHERE ser.Id = '$Serie'
    ";
    $Result = mysqli_query($mysqli, $Query);
    $Ser = mysqli_fetch_assoc($Result);
    $SerieId          = $Ser[Id];
    $Serie            = $Ser[Nombre];
    $Folio            = $Ser[Folio] + 1;
    //End Serie y Folio
    $Moneda           = addslashes(strip_tags($_POST['Moneda']));
    $CambioMoneda     = addslashes(strip_tags($_POST['CambioMoneda']));
    if( $$CambioMoneda == '' ){ $CambioMoneda == 1; }
    $Tipo             = addslashes(strip_tags($_POST['Tipo']));
    $Forma            = addslashes(strip_tags($_POST['FormaPago']));
    $Metodo           = addslashes(strip_tags($_POST['MetodoPago']));
    $Moneda           = addslashes(strip_tags($_POST['Moneda']));
    $CondicionesPago  = addslashes(strip_tags($_POST['CondicionesPago']));
    $ProductoPos      = $_POST['ProductoPos'];
    $Producto         = $_POST['Producto'];

    $TSubtotal        = 0;
    $TTotal           = 0;
    $TIva             = 0;

    foreach( $ProductoPos AS $Pro ){

      $Descripcion    = $Producto[$Pro][Descripcion];
      $Clave          = $Producto[$Pro][Clave];
      $Unidad         = $Producto[$Pro][Unidad];
      $Precio         = $Producto[$Pro][Precio];
      $Cantidad       = $Producto[$Pro][Cantidad];
      $Subtotal       = $Producto[$Pro][Subtotal];
      $DescuentoTipo  = $Producto[$Pro][DescuentoTipo];
      $Descuento      = $Producto[$Pro][Descuento];

      $TSubtotal = $TSubtotal + $Subtotal;

      //echo $DatosFactura;

      //Impuestos de Producto
      $TotalImpuesto = 0;
      $ProImpuesto = 0;
      foreach( $Producto[$Pro][Impuesto] AS $Impuesto ){
        $Iva = $Iva + $Impuesto[Monto];
        $TotalImpuesto  = $TotalImpuesto + $Impuesto[Monto];
        $ProImpuesto    = $ProImpuesto + $Iva;
        $TIva           = $TIva + $Iva;
      }
      //End Impuestos de Producto

      $TTotal = $TSubtotal + $ProImpuesto;

    }
    //End Armado de Productos

    //Datos de Emisor
    $Query = "
      SELECT
        per.Id, per.NombreFiscal, per.Rfc, per.Email,
        reg.Clave AS Regimen
      FROM FacturasPerfiles per
      LEFT JOIN RegimenesFiscales reg ON reg.Id = per.Fk_RegimenFiscal
      WHERE per.Fk_Cuenta = '$Cuenta_Id'
        AND per.Id = '$PerfilSel_Id'
    ";
    $Result = mysqli_query($mysqli, $Query);
    $Emisor = mysqli_fetch_assoc($Result);

    //Datos de Receptor
    $Query = "
      SELECT
        cli.Id, cli.Nombre, cli.Rfc
      FROM CatalogoClientes cli
      WHERE cli.Id = '$Cliente'
    ";
    $Result = mysqli_query($mysqli, $Query);
    $Receptor = mysqli_fetch_assoc($Result);

    //Uso de Factura
  	$Query = "
    	SELECT
    	 uso.Id, uso.Clave, uso.Uso
    	FROM FacturasUsos uso
    	WHERE uso.Id = '$Uso'
  	";
    $Result = mysqli_query($mysqli, $Query);
    $UsoO = mysqli_fetch_assoc($Result);

    //New PreFac
    if( $Action == 'New' ){

      //Insert Prefac
      $Query = "
        INSERT INTO FacturasPre
        (
          Fk_Cuenta, Fk_Perfil, Fk_Usuario,
          Serie, Fecha, Fk_Cliente,
          RfcEmisor, Emisor,
          RfcReceptor, Receptor,
          Fk_FormaPago, Fk_MetodoPago,
          Moneda, CambioMoneda, CondicionesPago,
          Subtotal, Impuesto, Total,
          Fk_Tipo, Fk_Uso, Fk_Lugar,
          CodigoPostal
        ) VALUES (
          '$Cuenta_Id', '$PerfilSel_Id', '$User[Id]',
          '$Serie', '$FechaPre', '$Receptor[Id]',
          '$Emisor[Rfc]', '$Emisor[NombreFiscal]',
          '$Receptor[Rfc]', '$Receptor[Nombre]',
          '$Forma', '$Metodo',
          '$Moneda', '$CambioMoneda', '$CondicionesPago',
          '$TSubtotal', '$TIva', '$TTotal',
          '1', '$UsoO[Id]', '$Sucursal[Id]',
          '$Sucursal[CodigoPostal]'
        )
      ";
      $Result = mysqli_query($mysqli, $Query);
      $IdPre = mysqli_insert_id($mysqli);
      //End New PreFac

      //Insert Conceptos
      foreach( $ProductoPos AS $Pro ){

        $IdProducto     = $Producto[$Pro][IdProducto];
        $Descripcion    = $Producto[$Pro][Descripcion];
        $Clave          = $Producto[$Pro][Clave];
        $Unidad         = $Producto[$Pro][Unidad];
        $Precio         = $Producto[$Pro][Precio];
        $Cantidad       = $Producto[$Pro][Cantidad];
        $Subtotal       = $Producto[$Pro][Subtotal];
        $DescuentoTipo  = $Producto[$Pro][DescuentoTipo];
        $Descuento      = $Producto[$Pro][Descuento];

        //Calcula el Total con relación a los impuestos
        $TotalConcepto = 0;
        $TotalImpuesto = 0;
        foreach( $Producto[$Pro][Impuesto] AS $Impuesto ){
          $Iva = $Impuesto[Monto];
          $TotalImpuesto = $TotalImpuesto + $Impuesto[Monto];
          //Porcentaje de Impuesto solo unico ( En caso de multiple cambiar fuera de la función )
          $ImpuestoPorcenaje = $Impuesto[Valor];
        }
        $TotalConcepto = $Precio + $TotalImpuesto;
        //End Calcula el Total con relación a los impuestos

        //Inserta Concepto
        $Query = "
          INSERT INTO FacturasPreConceptos
          (
            Fk_FacturaPre, Fk_Producto,
            Descripcion, Clave, Unidad, Precio, Cantidad,
            Subtotal, Descuento, DescuentoTipo, ImpuestoPor, Iva, Total
          ) VALUES (
            '$IdPre', '$IdProducto',
            '$Descripcion', '$Clave', '$Unidad', '$Precio', '$Cantidad',
            '$Subtotal', '$Descuento', '$DescuentoTipo', '$ImpuestoPorcenaje', '$Iva', '$TotalConcepto'
          )
        ";
        $Result = mysqli_query($mysqli, $Query);
        //echo "<hr>";
        //End Inserta Concepto

      }
      //End Insert Conceptos

      //Redirect
      if( $IdPre ){
        echo '<script type="text/javascript">document.location.href="index.php?Id='.$IdPre.'&Saved=Ok"</script>';
      }
      //End Redirect

    }
    //End New PreFac

    //Edit PreFac
    if( $Action == 'Edit' ){

      $IdPre = $_POST['Id'];

      //Update Factura Pre
      $Query = "
        UPDATE FacturasPre
        SET
          Serie = '$Serie', Fk_Cliente = '$Receptor[Id]',
          RfcEmisor = '$Emisor[Rfc]', Emisor = '$Emisor[NombreFiscal]',
          RfcReceptor = '$Receptor[Rfc]', Receptor = '$Receptor[Nombre]',
          Fk_FormaPago = '$Forma', Fk_MetodoPago = '$Metodo',
          Moneda = '$Moneda', CambioMoneda = '$CambioMoneda', CondicionesPago = '$CondicionesPago',
          Subtotal = '$TSubtotal', Impuesto = '$TIva', Total = '$TTotal',
          Fk_Tipo = '1', Fk_Uso = '$UsoO[Id]',
          Fk_Lugar = '$Sucursal[Id]', CodigoPostal = '$Sucursal[CodigoPostal]'
        WHERE Id = '$IdPre'
      ";
      $Result = mysqli_query($mysqli, $Query);

      //Update Conceptos Borrar 1
      $Query = "
        UPDATE FacturasPreConceptos
        SET
          Borrar = '1'
        WHERE Fk_FacturaPre = '$IdPre'
      ";
      $Result = mysqli_query($mysqli, $Query);
      //End Update Conceptos Borrar 1

      //Insert Conceptos
      foreach( $ProductoPos AS $Pro ){

        $Action         = $Producto[$Pro][Action];
        $IdConcepto     = $Producto[$Pro][Id];
        $IdProducto     = $Producto[$Pro][IdProducto];
        $Descripcion    = $Producto[$Pro][Descripcion];
        $Clave          = $Producto[$Pro][Clave];
        $Unidad         = $Producto[$Pro][Unidad];
        $Precio         = $Producto[$Pro][Precio];
        $Cantidad       = $Producto[$Pro][Cantidad];
        $Subtotal       = $Producto[$Pro][Subtotal];
        $DescuentoTipo  = $Producto[$Pro][DescuentoTipo];
        $Descuento      = $Producto[$Pro][Descuento];

        //Calcula el Total con relación a los impuestos
        $TotalConcepto = 0;
        $TotalImpuesto = 0;
        foreach( $Producto[$Pro][Impuesto] AS $Impuesto ){
          $Iva = $Impuesto[Monto];
          $TotalImpuesto = $TotalImpuesto + $Impuesto[Monto];
          //Porcentaje de Impuesto solo unico ( En caso de multiple cambiar fuera de la función )
          $ImpuestoPorcenaje = $Impuesto[Valor];
        }
        $TotalConcepto = $Precio + $TotalImpuesto;
        //End Calcula el Total con relación a los impuestos

        if( $Action == 'New' ){

          //Inserta Concepto
          $Query = "
            INSERT INTO FacturasPreConceptos
            (
              Fk_FacturaPre, Fk_Producto,
              Descripcion, Clave, Unidad, Precio, Cantidad,
              Subtotal, Descuento, DescuentoTipo, ImpuestoPor, Iva, Total
            ) VALUES (
              '$IdPre', '$IdProducto',
              '$Descripcion', '$Clave', '$Unidad', '$Precio', '$Cantidad',
              '$Subtotal', '$Descuento', '$DescuentoTipo', '$ImpuestoPorcenaje', '$Iva', '$TotalConcepto'
            )
          ";
          $Result = mysqli_query($mysqli, $Query);
          //End Inserta Concepto

        }elseif( $Action == 'Edit' ){

          //Udate Concepto
          $Query = "
            UPDATE FacturasPreConceptos
            SET
              Descripcion = '$Descripcion', Clave = '$Clave', Unidad = '$Unidad',
              Precio = '$Precio', Cantidad = '$Cantidad',
              Subtotal = '$Subtotal', Descuento = '$Descuento', DescuentoTipo = '$DescuentoTipo',
              ImpuestoPor = '$ImpuestoPorcenaje', Iva = '$Iva', Total = '$TotalConcepto',
              Borrar = '0'
            WHERE Id = '$IdConcepto'
          ";
          $Result = mysqli_query($mysqli, $Query);
          //End Udate Concepto

        }

      }
      //End Insert Conceptos

      //Borra Conceptos eliminados
      $Query = "
        SELECT
          con.Id
        FROM FacturasPreConceptos con
        WHERE con.Fk_FacturaPre = '$IdPre'
          AND con.Borrar = '1'
        ORDER BY con.Id ASC
      ";
      $Conceptos = $mysqli->query($Query);
      mysqli_data_seek($Conceptos, 0);
      while($Con = mysqli_fetch_array($Conceptos)) {

        if( $Con[Id] ){
          //Delete Concepto
          $Query = "
            DELETE FROM FacturasPreConceptos
            WHERE Fk_FacturaPre = '$IdPre'
              AND Id = '$Con[Id]' AND Borrar = '1'
          ";
          $Result = mysqli_query($mysqli, $Query);
          //End Delete Concepto
        }

      }
      //End Borra Conceptos eliminados

    }
    //End Edit PreFac

    $Saved = 'Ok';

  }
  //End Guardar Prefactura

  //Catalogo Clientes
  $Query = "
    SELECT
      cli.Id, cli.Nombre, cli.Rfc, cli.Email
    FROM CatalogoClientes cli
    WHERE cli.Id != '0' AND cli.Fk_Cuenta = '$Cuenta_Id'
    ORDER BY cli.Nombre DESC
  ";
  $Clis = $mysqli->query($Query);

  //Sucursales
  $Query = "
    SELECT
      suc.Id, suc.Principal, suc.Nombre, suc.CodigoPostal
    FROM Sucursales suc
    WHERE suc.Fk_Cuenta = '$Cuenta_Id'
      AND suc.Fk_Perfil = '$PerfilSel_Id'
    ORDER BY suc.Nombre ASC
  ";
  $Sucursales = $mysqli->query($Query);

  //Tipos
  $Query = "
    SELECT
      tip.Id, tip.Clave, tip.Tipo
    FROM FacturasTipos tip
    WHERE tip.Id = '1'
    ORDER BY tip.Tipo ASC
  ";
  $Tipos = $mysqli->query($Query);

  //Usos
  $Query = "
    SELECT
      uso.Id, uso.Clave, uso.Uso
    FROM FacturasUsos uso
    WHERE ( uso.Pre = 'P' OR uso.Pre = 'G' OR uso.Pre = 'I' )
    ORDER BY uso.Clave ASC
  ";
  $Usos = $mysqli->query($Query);

  //Formas de Pago
  $Query = "
    SELECT
      forma.Id, forma.Clave, forma.Forma
    FROM FacturasFormasPagos forma
    WHERE forma.Activo = '1'
    ORDER BY forma.Clave ASC
  ";
  $FormasPagos = $mysqli->query($Query);

  //Metodos de Pago
  $Query = "
    SELECT
      met.Id, met.Clave, met.Metodo
    FROM FacturasMetodosPagos met
    WHERE met.Activo = '1'
    ORDER BY met.Clave ASC
  ";
  $MetodosPagos = $mysqli->query($Query);

  //Metodos de Pago
  $Query = "
    SELECT
      mon.Id, mon.Clave, mon.Nombre
    FROM Monedas mon
    ORDER BY mon.Nombre ASC
  ";
  $Monedas = $mysqli->query($Query);

  //Paises
  $Query = "
    SELECT
      pai.Id, pai.Nombre
    FROM Paises pai
    WHERE pai.Activo = '1'
    ORDER BY pai.Nombre ASC
  ";
  $Paises = $mysqli->query($Query);

  //Estados
  $Query = "
    SELECT
      est.Id, est.Nombre
    FROM Estados est
    WHERE est.Fk_Pais = '$Pro[Fk_Pais]'
    ORDER BY est.Nombre ASC
  ";
  $Estados = $mysqli->query($Query);

  //Municipios
  $Query = "
    SELECT
      mun.Id, mun.Nombre
    FROM Municipios mun
    WHERE mun.Fk_Estado = '$Pro[Fk_Estado]'
    ORDER BY mun.Nombre ASC
  ";
  $Municipios = $mysqli->query($Query);

  //Productos
  $Query = "
    SELECT
      pro.Id, pro.NombreInterno
    FROM CatalogoProductos pro
    WHERE pro.Fk_Cuenta = '$Cuenta_Id'
    ORDER BY pro.NombreInterno ASC
  ";
  $Prods = $mysqli->query($Query);

  //Prefactura
  if( $_GET['Id'] ){
    $Query = "
      SELECT
        pre.Id,
        pre.ClavePreFac,
        pre.Fk_Origen,
        pre.IdFactura, pre.Fk_Factura,
        pre.Fk_Status, pre.Fk_Cliente, pre.Fk_Lugar,
        pre.Fecha,
        pre.RfcEmisor, pre.Emisor,
        pre.RfcReceptor, pre.Receptor,
        pre.Subtotal, pre.Impuesto, pre.Total,
        pre.Serie,
        pre.Moneda, pre.CambioMoneda, pre.CondicionesPago,
        pre.Fk_FormaPago, pre.Fk_MetodoPago,
        pre.Fk_Tipo, pre.Fk_Uso,
        pre.NumeroCuenta
      FROM FacturasPre pre
      WHERE
        pre.Id = '$_GET[Id]'
    ";
    $Result = mysqli_query($mysqli, $Query);
    $Prefac = mysqli_fetch_assoc($Result);

    if( !$Prefac[Id] ){
      // echo '<script type="text/javascript">document.location.href="../"</script>';
    }
  }

?>

<!DOCTYPE html>
<html lang="en">

<?php require_once($Position.'head.php'); ?>

<body class="fix-sidebar fix-header card-no-border">
    <!-- ============================================================== -->
    <!-- Preloader - style you can find in spinners.css -->
    <!-- ============================================================== -->
    <div class="preloader">
        <svg class="circular" viewBox="25 25 50 50">
            <circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10" /> </svg>
    </div>

    <!-- Main wrapper - style you can find in pages.scss -->
    <div id="main-wrapper">
      <?php require_once($Position.'header.php'); ?>
      <?php require_once($Position.'menu.php'); ?>

      <!-- Page wrapper  -->
      <div class="page-wrapper">

        <!-- Container fluid  -->
        <div class="container-fluid">
          <form method="post" enctype="multipart/form-data" data-validate="parsley" role="form" id="FormPer">

            <!-- Bread crumb and right sidebar toggle -->
            <div class="row page-titles page-titles-fixed">

              <?php require_once($Position.'title.php'); ?>

              <!-- Botones -->
              <div class="col-md-7 align-self-center text-right">
                <div class="btn-group" role="group" aria-label="Basic example">

                  <!-- Btn Guardar -->
                  <button
                    type="button"
                    class="btn btn-sm btn-secondary"
                    onclick="window.location.href='../'"
                  >
                    <i class="fa fa-arrow-left m-r-5"></i>
                    Regresar
                  </button>
                  <!-- End Btn Guardar -->

                  <?php if( $Prefac[Id] ){ ?>
                    <?php if( $Prefac[Fk_Factura] ){ ?>
                      <!-- Btn Tinbrar Factura -->
                      <button
                        onclick="window.location.href='<?php echo $Position; ?>facturacion/facturas/factura?Id=<?php echo $Prefac['Fk_Factura']; ?>'"
                        type="button"
                        class="btn btn-sm btn-warning"
                      >
                        Ver Factura
                        <i class="fa fa-file m-l-5"></i>
                      </button>
                      <!-- End Btn Tinbrar Factura -->
                    <?php }else{ ?>

                      <!-- Btn Pdf -->
                      <button
                        type="button"
                        class="btn btn-sm btn-secondary"
                        onclick="window.open('../pdf?Id=<?php echo $Prefac['Id']; ?>')"
                      >
                        Descargar PDF <i class="fa fa-file m-l-10"></i>
                      </button>
                      <!-- End Btn Pdf -->

                      <!-- Btn Tinbrar Factura Btn-ModalTimbrar -->
                      <button
                        type="button"
                        class="btn btn-sm btn-secondary"
                      >
                        Timbrar
                        <?php
                          if( $PlataformaFac[Sandbox] == 1 ){
                            echo "SandBox";
                          }
                        ?>
                        <i class="fa fa-file m-l-5"></i>
                      </button>
                      <!-- End Btn Tinbrar Factura -->
                    <?php } ?>
                  <?php } ?>

                  <?php if( $Prefac[Fk_Origen] == 1 || !$Prefac[Id] ){ ?>
                    <!-- Btn Guardar -->
                    <button
                      type="submit"
                      class="btn btn-sm btn-success"
                    >
                      Guardar
                      <i class="fa fa-check m-l-5"></i>
                    </button>
                    <!-- End Btn Guardar -->
                  <?php } ?>

                  <?php if( !$Prefac[Fk_Origen] || $Prefac[Fk_Origen] == 1 ){ ?>
                    <!-- Input Save -->
                    <input
                      type="hidden"
                      name="Save"
                      value="Ok"
                    >
                    <!-- End Input Save -->
                  <?php } ?>

                  <!-- Input Action -->
                  <input
                    type="hidden"
                    name="Action"
                    value="<?php if( $Prefac[Id] ){ echo "Edit"; }else{ echo "New"; } ?>"
                  />
                  <!-- End Input Action -->

                  <!-- Input Id -->
                  <input
                    type="hidden"
                    name="Id"
                    value="<?php if( $Prefac[Id] ){ echo $Prefac[Id]; } ?>"
                  />
                  <!-- End Input Id -->

                  <?php if( !empty($Pro['Id']) ){ ?>
                    <input type="hidden" name="Id" value="<?php echo $Pro['Id']; ?>">
                  <?php }else{ ?>
                    <input type="hidden" name="New" value="Ok">
                  <?php } ?>
                </div>

                <!-- Modal Wait -->
                <div id="WaitModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                  <div class="modal-dialog modal-danger">
                    <div class="modal-content">
                      <div class="modal-body">
                        <h5>Por favor espera esto puede demorar un tiempo.</strong></h5>

                      </div>
                    </div>
                    <!-- /.modal-content -->
                  </div>
                  <!-- /.modal-dialog -->

                </div>
                <!-- End Modal Wait -->

              </div>
              <!-- End Botones -->

            </div>
            <!-- End Bread crumb and right sidebar toggle -->

            <!-- Page Content -->
            <div class="row inner-fixed-content">
              <div class="col-12">

                <?php /*if( $Save == 'Ok' || $_GET['New'] == Ok ){ ?>
                  <!-- Alerta Save -->
                  <div class="alert alert-success"> <i class="fa fa-check m-r-10"></i> Guardado !
                    <button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">×</span> </button>
                  </div>
                  <!-- End Alerta Save -->
                <?php }*/ ?>

                <?php if( $ErrorTimbrado == 'Ok' ){ ?>
                  <!-- Alerta de Error de Timbrado -->
                  <div class="alert alert-danger">
                    <h3>¡Error de Timbrado!</h3>
                    <p>
                      <?php echo $ErrorMsn; ?>
                    </p>
                  </div>
                  <!-- End Alerta de Error de Timbrado -->
                <?php } ?>

                <!-- Card -->
                <div class="card">
                  <div class="card-body">
                    <h4 class="card-title"><?php echo $NameSin; ?></h4>
                    <h6 class="card-subtitle">Datos del Cliente</h6>
                    <hr />

                    <div class="row">

                      <!-- Origen Plataforma -->
                      <?php if( $Prefac[Fk_Origen] == 1 || !$Prefac[Id] ){ ?>
                        <div class="col-sm-12">

                          <div class="row">

                            <!-- Emisor -->
                            <div class="form-group col-sm-6">
                              <label>Emisor</label>
                              <input
                                class="form-control"
                                disabled
                                value="<?php
                                  if( $Prefac[Id] ){
                                    echo $Prefac[Emisor];
                                  }else{
                                    echo $PerfilSel[NombreFiscal];
                                  }
                                ?>"
                              />
                            </div>
                            <!-- End Emisor -->

                            <!-- Emisor RFC -->
                            <div class="form-group col-sm-6">
                              <label>Emisor</label>
                              <input
                                class="form-control"
                                disabled
                                value="<?php
                                  if( $Prefac[Id] ){
                                    echo $Prefac[RfcEmisor];
                                  }else{
                                    echo $PerfilSel[Rfc];
                                  }
                                ?>"
                              />
                            </div>
                            <!-- End Emisor RFC -->

                          </div>

                          <!-- Cliente -->
                          <div class="form-group">
                            <label>Cliente <span class="text-danger">*</span></label>
                            <div class="controls">
                              <select data-required="true" name="Cliente" id="Cliente" class="form-control chosen-select">
                                <option value="">-</option>
                                <?php
                                mysqli_data_seek($Clis, 0);
                                while($Cli = mysqli_fetch_array($Clis)) {
                                ?>
                                  <option
                                    value="<?php echo $Cli[Id]; ?>"
                                    <?php
                                      if( $Prefac[Fk_Cliente] == $Cli[Id] ){
                                    ?>
                                      selected="selected"
                                    <?php } ?>
                                  >
                                    <?php echo $Cli['Nombre']; ?>
                                  </option>
                                <?php } ?>
                              </select>
                            </div>
                          </div>
                          <!-- End Cliente -->

                          <!-- Datos de Cliente -->
                          <div class="row" id="DatosCliente">
                            <?php
                              if( $Prefac[Id] && $Prefac[Fk_Cliente] ){
                                $Action = 'Edit';
                                require_once('cliente.php');
                              }
                            ?>
                          </div>
                          <!-- End Datos de Cliente -->

                        </div>
                      <?php } ?>
                      <!-- End Origen Plataforma -->

                      <!-- Origen Api -->
                      <?php if( $Prefac[Fk_Origen] == 2 ){ ?>

                        <!-- RfcEmisor -->
                        <div class="col-sm-6 form-group">
                          <label>RFC Emisor</label>
                          <input class="form-control" readonly value="<?php echo $Prefac[RfcEmisor]; ?>" />
                        </div>
                        <!-- End RfcEmisor -->

                        <!-- RfcEmisor -->
                        <div class="col-sm-6 form-group">
                          <label>Emisor</label>
                          <input class="form-control" readonly value="<?php echo $Prefac[Emisor]; ?>" />
                        </div>
                        <!-- End RfcEmisor -->

                        <!-- Cliente -->
                        <div class="col-sm-12 form-group">
                          <label>Cliente <span class="text-danger">*</span></label>
                          <div class="controls">
                            <select name="Cliente" class="DoFac-Cliente form-control chosen-select">
                              <option value="x">Ingresar RFC y Nombre</option>
                              <?php
                                mysqli_data_seek($Clis, 0);
                                while($Cli = mysqli_fetch_array($Clis)) {
                              ?>
                                <option
                                  value="<?php echo $Cli[Id]; ?>"
                                  <?php
                                    if( $Prefac[Fk_Cliente] == $Cli[Id] ){
                                  ?>
                                    selected="selected"
                                  <?php } ?>
                                >
                                  <?php echo $Cli['Nombre']; ?>
                                </option>
                              <?php } ?>
                            </select>
                          </div>
                        </div>
                        <!-- End Cliente -->

                        <!-- ReceptorData -->
                        <div class="col-sm-12">
                          <div class="row DoFac-ReceptorData">
                            <?php
                              if( $Prefac[Id] ){
                                $Action = 'Edit';
                              }
                              require_once('receptordata.php');
                            ?>
                          </div>
                        </div>
                        <!-- End ReceptorData -->

                      <?php } ?>
                      <!-- End Origen Api -->

                    </div>
                  </div>
                </div>
                <!-- End Card -->

                <!-- Card -->
                <div class="card">
                  <div class="card-body">
                    <h4 class="card-title">Datos de Factura</h4>
                    <h6 class="card-subtitle"><?php echo $NameSec; ?></h6>
                    <hr />

                    <div class="row">

                      <!-- Lugar -->
                      <div class="form-group col-sm-6">
                        <label>Lugar de Expedición <span class="text-danger">*</span></label>
                        <div class="controls">
                          <select
                            data-required="true"
                            name="Lugar"
                            id="Lugar"
                            class="form-control chosen-select"
                            <?php if( $Prefac[Fk_Origen] == '2' ){ ?>
                              readonly
                            <?php } ?>
                          >
                            <option value=""></option>
                            <?php
                              mysqli_data_seek($Sucursales, 0);
                              while($Suc = mysqli_fetch_array($Sucursales)) {
                            ?>
                              <option
                                <?php
                                  if( $Suc[Principal] == '1' ){
                                    echo "selected='selected'";
                                    $SucursalId = $Suc[Id];
                                  }
                                ?>
                                value="<?php echo $Suc['Id']; ?>"
                                <?php
                                  if( $Prefac[Id] && $Prefac[Fk_Lugar] == $Suc[Id] ){
                                    echo "selected='selected'";
                                  }
                                ?>
                              >
                                <?php echo $Suc['Nombre'].' ( '.$Suc['CodigoPostal'].' )'; ?>
                              </option>
                            <?php } ?>
                          </select>
                        </div>
                      </div>
                      <!-- End Lugar -->

                      <!-- Serie -->
                      <div class="form-group col-sm-6">
                        <label>Serie <span class="text-danger">*</span></label>
                        <div class="controls">
                          <select
                            data-required="true"
                            name="Serie"
                            id="Serie"
                            class="form-control chosen-select"
                            <?php if( $Prefac[Fk_Origen] == '2' ){ ?>
                              readonly
                            <?php } ?>
                          >
                            <option></option>
                            <?php
                              //Series
                              $Query = "
                                SELECT
                                  ser.Id, ser.Nombre
                                FROM Series ser
                                WHERE ser.Fk_Sucursal = '$SucursalId'
                                ORDER BY ser.Nombre ASC
                              ";
                              $Series = $mysqli->query($Query);
                            ?>
                            <option value=""></option>
                            <?php
                              mysqli_data_seek($Series, 0);
                              while($Ser = mysqli_fetch_array($Series)) {
                            ?>
                              <option
                                value="<?php echo $Ser['Id']; ?>"
                                <?php
                                  if( $Prefac[Id] && $Prefac[Serie] == $Ser[Nombre] ){
                                    echo "selected='selected'";
                                  }
                                ?>
                              >
                                <?php echo $Ser['Nombre'];?>
                              </option>
                            <?php } ?>
                          </select>
                        </div>
                      </div>
                      <!-- End Serie -->

                      <!-- Tipo -->
                      <div class="form-group col-sm-6">
                        <label>Tipo de Factura <span class="text-danger">*</span></label>
                        <div class="controls">
                          <select
                            name="Tipo"
                            class="form-control chosen-select"
                            <?php if( $Prefac[Fk_Origen] == '2' ){ ?>
                              readonly
                            <?php } ?>
                          >
                            <!--<option></option>-->
                            <?php
                              mysqli_data_seek($Tipos, 0);
                              while($Tip = mysqli_fetch_array($Tipos)) {
                            ?>
                              <option value="<?php echo $Tip['Clave']; ?>"><?php echo $Tip['Tipo']; ?></option>
                            <?php } ?>
                          </select>
                        </div>
                      </div>
                      <!-- End Tipo -->

                      <!-- Forma de Pago -->
                      <div class="form-group col-sm-6">
                        <label>Forma de Pago <span class="text-danger">*</span></label>
                        <div class="controls">
                          <select
                            data-required="true"
                            name="FormaPago"
                            class="form-control chosen-select"
                            <?php if( $Prefac[Fk_Origen] == '2' ){ ?>
                              readonly
                            <?php } ?>
                          >
                            <option></option>
                            <?php
                            mysqli_data_seek($FormasPagos, 0);
                            while($ForPag = mysqli_fetch_array($FormasPagos)) {
                            ?>
                              <option
                                value="<?php echo $ForPag['Clave']; ?>"
                                <?php
                                  if( $Prefac[Id] && $Prefac[Fk_FormaPago] == $ForPag[Clave] ){
                                    echo "selected='selected'";
                                  }
                                ?>
                              >
                                <?php echo $ForPag['Clave'].' - '.$ForPag['Forma']; ?>
                              </option>
                            <?php } ?>
                          </select>
                        </div>
                      </div>
                      <!-- End Forma de Pago -->

                      <!-- Metodo de Pago -->
                      <div class="form-group col-sm-6">
                        <label>Metodo de Pago <span class="text-danger">*</span></label>
                        <div class="controls">
                          <select
                            data-required="true"
                            name="MetodoPago"
                            class="form-control chosen-select"
                            <?php if( $Prefac[Fk_Origen] == '2' ){ ?>
                              readonly
                            <?php } ?>
                          >
                            <option></option>
                            <?php
                              mysqli_data_seek($MetodosPagos, 0);
                              while($MetPag = mysqli_fetch_array($MetodosPagos)) {
                            ?>
                              <option
                                value="<?php echo $MetPag['Clave']; ?>"
                                <?php
                                  if( $Prefac[Id] && $Prefac[Fk_MetodoPago] == $MetPag[Clave] ){
                                    echo "selected='selected'";
                                  }
                                ?>
                              >
                                <?php echo $MetPag['Clave'].' - '.$MetPag['Metodo']; ?>
                              </option>
                            <?php } ?>
                          </select>
                        </div>
                      </div>
                      <!-- End Metodo de Pago -->

                      <div class="col-sm-12">
                        <hr style="margin-top: 0px;">
                      </div>

                      <div class="form-group col-sm-6">
                        <button type="button" class="btn btn-success BtnOpcAdi"><i class="fa fa-eye m-r-10"></i>Ver Opciones Adicionales</button>
                      </div>

                      <div class="col-sm-12 row OpcAdi" style="display:none;">

                        <!-- Moneda -->
                        <div class="form-group col-sm-6">
                          <label>Moneda <span class="text-danger">*</span></label>
                          <div class="controls">
                            <select
                              data-required="true"
                              name="Moneda"
                              class="form-control chosen-select"
                              <?php if( $Prefac[Fk_Origen] == '2' ){ ?>
                                readonly
                              <?php } ?>
                            >
                              <option></option>
                              <?php
                                mysqli_data_seek($Monedas, 0);
                                while($Mon = mysqli_fetch_array($Monedas)) {
                              ?>
                                <option
                                  <?php if( $Mon['Id'] == 1 ){ echo "selected='selected'"; } ?>
                                  value="<?php echo $Mon['Clave']; ?>"
                                  <?php
                                    if( $Prefac[Id] && $Prefac[Moneda] == $MetPag[Clave] ){
                                      echo "selected='selected'";
                                    }
                                  ?>
                                >
                                  <?php echo $Mon['Nombre'].' - '.$Mon['Clave']; ?>
                                </option>
                              <?php } ?>
                            </select>
                          </div>
                        </div>
                        <!-- End Moneda -->

                        <!-- Tipo de Cambio -->
                        <div class="form-group col-sm-6">
                          <label>Tipo de Cambio</label>
                          <div class="controls">
                            <input
                              name="CambioMoneda"
                              value="<?php
                                if( $Prefac[Id] && $Prefac[CambioMoneda] ){
                                  echo $Prefac[CambioMoneda];
                                }else{
                                  echo "1";
                                }
                              ?>"
                              type="text"
                              class="form-control"
                              autocomplete="off"
                              <?php if( $Prefac[Fk_Origen] == '2' ){ ?>
                                readonly
                              <?php } ?>
                            >
                          </div>
                        </div>
                        <!-- End Tipo de Cambio -->

                        <!-- Numero de Cuenta -->
                        <div class="form-group col-sm-4">
                          <label>Número de Cuenta</label>
                          <div class="controls">
                            <input
                              name="NumeroCuenta"
                              value="<?php
                                if( $Prefac[Id] && $Prefac[NumeroCuenta] ){
                                  echo $Prefac[NumeroCuenta];
                                }
                              ?>"
                              type="text"
                              class="form-control"
                              autocomplete="off"
                              <?php if( $Prefac[Fk_Origen] == '2' ){ ?>
                                readonly
                              <?php } ?>
                            >
                          </div>
                        </div>
                        <!-- End Numero de Cuenta -->

                        <!-- Nombre de Banco -->
                        <div class="form-group col-sm-4">
                          <label>Nombre de Banco</label>
                          <div class="controls">
                            <input
                              name="NombreBanco"
                              value="<?php
                                if( $Prefac[Id] && $Prefac[NombreBanco] ){
                                  echo $Prefac[NombreBanco];
                                }
                              ?>"
                              type="text"
                              class="form-control"
                              autocomplete="off"
                              <?php if( $Prefac[Fk_Origen] == '2' ){ ?>
                                readonly
                              <?php } ?>
                            >
                          </div>
                        </div>
                        <!-- End Nombre de Banco -->

                        <!-- Condiciones de Pago -->
                        <div class="form-group col-sm-4">
                          <label>Condiciones de Pago</label>
                          <div class="controls">
                            <input
                              name="CondicionesPago"
                              value="<?php
                                if( $Prefac[Id] && $Prefac[CondicionesPago] ){
                                  echo $Prefac[CondicionesPago];
                                }
                              ?>"
                              type="text"
                              class="form-control"
                              autocomplete="off"
                              <?php if( $Prefac[Fk_Origen] == '2' ){ ?>
                                readonly
                              <?php } ?>
                            >
                          </div>
                        </div>
                        <!-- End Condiciones de Pago -->

                      </div>

                    </div>

                  </div>
                </div>
                <!-- End Card -->

                <?php if( $Prefac[Id] && $Prefac[Fk_Origen] == 2 ){ ?>
                  <!-- Card -->
                  <div class="card">
                    <div class="card-body">
                      <h4 class="card-title">Codigo QR</h4>
                      <h6 class="card-subtitle"><?php echo $NameSec; ?></h6>
                      <hr />

                      <div class="row">

                        <!-- Qr -->
                        <div class="col-sm-12 form-group">
                          <div id="QrView"></div>
                        </div>
                        <!-- End Qr -->

                        <!-- Url -->
                        <div class="col-sm-12 form-group">
                          <?php echo $UrlApp; ?>/?c=<?php echo $Prefac[ClavePreFac]; ?>
                        </div>
                        <!-- End Url -->

                      </div>
                    </div>
                  </div>
                  <!-- End Card -->
                <?php } ?>

                <!-- Card -->
                <div class="card">
                  <div class="card-body">
                    <h4 class="card-title">Conceptos</h4>
                    <h6 class="card-subtitle"><?php echo $NameSec; ?></h6>
                    <hr />
                    <div class="">
                      <div class="table-responsive m-t-20">
                        <table id="example23" class="display nowrap table table-hover table-striped table-bordered" cellspacing="0" width="100%">
                          <thead>
                            <tr>
                              <th style="min-width: 200px;">Descripción</th>
                              <th>Claves</th>
                              <th>Precio</th>
                              <th>Cant.</th>
                              <th>Subtotal</th>
                              <!--<th>Descuento</th>-->
                              <th>Impuestos</th>
                              <th>Total</th>
                              <th></th>
                            </tr>
                          </thead>
                          <tbody class="Productos">
                            <?php
                              if( $_POST['PreFacturar'] == 1 ){

                                $Rutas = $_POST['Rutas'];
                                foreach ($Rutas AS $Ruta) {

                                  require('producto.php');

                                }

                              }
                            ?>
                            <?php

                              if( $Prefac[Id] ){

                                $CountConceptos = 0;

                                //Conceptos
                                $Query = "
                                  SELECT
                                    con.Id,
                                    con.Fk_Producto,
                                    con.Descripcion, con.Clave, con.Unidad,
                                    con.Precio, con.Cantidad, con.Subtotal, con.Descuento,
                                    con.Iva, con.DescuentoTipo, con.Total,
                                    con.ImpuestoPor
                                  FROM FacturasPreConceptos con
                                  WHERE con.Fk_FacturaPre = '$Prefac[Id]'
                                  ORDER BY con.Id ASC
                                ";
                                $Conceptos = $mysqli->query($Query);
                                mysqli_data_seek($Conceptos, 0);
                                while($Con = mysqli_fetch_array($Conceptos)) {

                            ?>
                              <?php
                                $Action = 'Edit';
                                $CountConceptos = $CountConceptos + 1;
                                require('producto.php');
                              ?>
                            <?php
                                }
                              }
                            ?>
                          </tbody>
                          <tfoot>
                            <tr>
                              <th></th>
                              <th></th>
                              <th></th>
                              <th></th>
                              <th class="text-right">Subtotal</th>
                              <!--<th>Descuento</th>-->
                              <th class="text-right">Impuestos</th>
                              <th class="text-right">Total</th>
                              <th></th>
                            </tr>
                            <tr>
                              <th></th>
                              <th></th>
                              <th></th>
                              <th></th>
                              <th class="text-right"><span id="ASubTotal"><?php echo number_format($ASubTotal,2,'.',''); ?></span></th>
                              <!--<th>Descuento</th>-->
                              <th class="text-right"><span id="AImpuestos"><?php echo number_format($AImpuestos,2,'.',''); ?></span></thth>
                              <th class="text-right"><span id="ATotal"><?php echo number_format($ATotal,2,'.',''); ?></span></th>
                              <th></th>
                            </tr>
                          </tfoot>
                        </table>
                      </div>
                    </div>

                    <?php if( $Prefac[Fk_Origen] == '1' || !$Prefac[Id] ){ ?>
                      <div class="row">

                        <div class="col-sm-6">
                          <!-- Producto o Servicio -->
                          <div class="form-group">
                            <label>Agregar Producto o Servicio <span class="text-danger">*</span></label>
                            <div class="controls">
                              <select id="Pro" class="form-control chosen-select">
                                <option></option>
                                <?php
                                mysqli_data_seek($Prods, 0);
                                while($Pro = mysqli_fetch_array($Prods)) {
                                ?>
                                  <option value="<?php echo $Pro['Id']; ?>"><?php echo $Pro['NombreInterno']; ?></option>
                                <?php } ?>
                              </select>
                            </div>
                          </div>
                          <!-- End Producto o Servicio -->
                        </div>
                        <div class="col-sm-6">
                          <div>
                            <label>.</label>
                          </div>
                          <button id="AddPro" type="button" class="btn btn-success"><i class="fa fa-plus m-r-10"></i>Agregar Concepto</button>
                        </div>

                      </div>
                    <?php } ?>

                  </div>
                </div>
                <!-- End Card -->

              </div>
            </div>

            <!-- Modal Timbrar -->
            <div id="ModalTimbrar" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
              <div class="modal-dialog">
                <div class="modal-content">
                  <div class="modal-header">
                    <h4 class="modal-title" id="myModalLabel">Timbrar Prefactura</h4>
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                  </div>
                  <div class="modal-body text-center">

                    <h5>¿Estás seguro de Timbrar esta Prefactura ?</h5>
                    <input type="hidden" name="Facturar" id="Facturar" value="">

                  </div>
                  <div class="modal-footer">

                    <?php if( $CreditosFac >= 1 ){ ?>
                      <?php
                        //if( $PlataformaFac[Id] == 1 ){
                          //Si la conección con Proveedor de Facturas es valido
                          $curl = curl_init();
                          curl_setopt_array($curl, array(
                            CURLOPT_URL => $PlataformaFac[UrlConexion],
                            CURLOPT_RETURNTRANSFER => true,
                            CURLOPT_ENCODING => "",
                            CURLOPT_MAXREDIRS => 10,
                            CURLOPT_TIMEOUT => 30,
                            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                            CURLOPT_CUSTOMREQUEST => "GET",
                            CURLOPT_HTTPHEADER => array(
                              "Authorization: $PlataformaFac[Autorization]",
                              "Cache-Control: no-cache",
                              "Content-Type: application/json",
                              "Postman-Token: $PlataformaFac[Token]"
                            ),
                          ));

                          $response = curl_exec($curl);
                          $err = curl_error($curl);
                          curl_close($curl);
                          $response;
                          $obj = json_decode($response);
                      ?>
                        <?php if($obj->Plan == 'API') { ?>

                          <!-- Btn Crear Factura -->
                          <button
                            type="button"
                            class="btn btn-success Btn-Timbrar"
                          >
                            Timbrar Factura
                            <?php
                              if( $PlataformaFac[Sandbox] == 1 ){
                                echo "SandBox";
                              }
                            ?>
                          </button>
                          <button type="submit" class="HiddenBtn" id="BtnGoDo"></button>
                          <!-- End Btn Crear Factura -->

                        <?php }else{ ?>

                          <!-- Btn Sin Conexion -->
                          <button
                            type="button"
                            class="btn btn-danger"
                          >
                            <i class="fa fa-exclamation-triangle m-r-10"></i>
                            Sin conexión
                          </button>
                          <!-- End Btn Sin Conexion -->

                        <?php } ?>
                      <?php //}  ?>

                    <?php } ?>

                    <!-- Btn No -->
                    <button
                      type="button"
                      class="btn btn-secondary waves-effect"
                      data-dismiss="modal"
                    >
                      No
                    </button>
                    <!-- End Btn No -->

                  </div>
                </div>
                <!-- /.modal-content -->
              </div>
              <!-- /.modal-dialog -->

            </div>
            <!-- End Modal Timbrar -->

          </form>
        </div>
        <!-- End Container fluid  -->

        <?php require_once($Position.'footer.php'); ?>

      </div>
      <!-- End Page wrapper  -->

    </div>

    <?php require_once($Position.'scripts.php'); ?>
    <script>

      <?php if( $_GET['Saved'] == 'Ok' || $Saved == 'Ok' ){ ?>
        // swal({
        //   title: "¡Gurdado!",
        //   text: "...",
        //   showConfirmButton: true
        // });
      <?php } ?>

      <?php if( $Prefac[Id] && $Prefac[Fk_Origen] == '2' ){ ?>
        //Qr Code
        //Get UrlQr
        console.log('Qr Go');
        Id = '<?php if( $Prefac[Id] ){ echo $Prefac[Id]; }else{ echo 0; } ?>';
        $.post("prefac-url.php",
        {
          Id: Id
        }, function(data){

          $(function(){
          	$('#QrView').qrcode('data');
          })

        });
        //End Get UrlQr
        //End Qr Code
      <?php } ?>

      //Selección de Cliente
      $("#Cliente").change(function () {
        $("option:selected", this).each(function () {
          cli = $(this).val();
          //Actualiza Estados
          $.post("cliente.php", { cli: cli }, function(data){
            $('#DatosCliente').html(data);
            $(".chosen-select").chosen();
            $('.chosen-select').trigger("chosen:updated");
          });
        });
      });
      //End Selección de Cliente

      //Seleccion de Lugar de Expedición
      $("#Lugar").change(function () {
        $("option:selected", this).each(function () {
          val = $(this).val();
          //Actualiza Estados
          $.post("series.php", { val: val }, function(data){
            $('#Serie').html(data);
            $(".chosen-select").chosen();
            $('.chosen-select').trigger("chosen:updated");
          });
        });
      });
      //End Seleccion de Lugar de Expedición

      //Add Producto
      var pos = <?php if( $CountConceptos ){ echo $CountConceptos; }else{ echo 0; } ?>;
      $("#AddPro").click(function () {

        pos = pos + 1;
        pro = $('#Pro').val();
        if(pro){

          //Agrega Producto
          $.post("producto.php", { pro: pro, pos: pos }, function(data){
            $('#FormPer').parsley().destroy();
            $( ".Productos" ).append( data );
            $('#FormPer').parsley();

            //console.log(data);
            $(".chosen-select").chosen();
            $('.chosen-select').trigger("chosen:updated");

            //Suma los Totales
            var Total = 0;
            $('.TotalProDiv').each(function(){
  						Tot = parseFloat($(this).html());
  						Total = Total + Tot;
  					});
  					$('#ATotal').html(Total.toFixed(2));
            //End Suma los Totales

            //Suma de Impuestos
            var Total = 0;
            $('.ProductoImpuesto').each(function(){
  						Tot = parseFloat($(this).val());
  						Total = Total + Tot;
  					});
  					$('#AImpuestos').html(Total.toFixed(2));
            //End Suma de Impuestos

            //Suma los Subtotales
            var Total = 0;
            $('.Subtotal').each(function(){
  						Tot = parseFloat($(this).val());
  						Total = Total + Tot;
  					});
  					$('#ASubTotal').html(Total.toFixed(2));
            //End Suma los Subtotales

          });

        }

      });
      //End Add Producto

      //Quitar Producto
      $(document.body).on('click', '.DelPro' ,function(){
      	$(this).parents('.Producto').remove();
      });
      //End Quitar Producto

      //Ver Opciones Adicionales
      $(document.body).on('click', '.BtnOpcAdi' ,function(){
      	$('.OpcAdi').toggle();
      });
      //End Ver Opciones Adicionales

      //Edimción de Costos
      /*function toFixed(num) {
        num = num.toString(); //If it's not already a String
        num = num.slice(0, (num.indexOf("."))+3); //With 3 exposing the hundredths place
        return Number(num);
      }*/

        //Cambio de Precio
          $(document.body).on('change keyup', '.Precio' ,function(){
            $(this).val($(this).val().replace(',', ''));
            $(this).val($(this).val().replace('$', ''));
            Producto   = $(this).parents('.Producto');
          	Precio     = $(this).val();
            Cantidad   = Producto.find('.Cantidad').val();
            Subtotal   = Cantidad * Precio;
            TotalPro   = Subtotal;
            Producto.find('.Subtotal').val(Subtotal);
            Cont = 0;

            //Descuento
            Descuento       = Producto.find('.Descuento').val();
            DescuentoTipo   = Producto.find('.DescuentoTipo').val();

            if( DescuentoTipo == 'amount' || DescuentoTipo == 'percentage' ){
              if( DescuentoTipo == 'amount' ){
                TotalPro = Subtotal - Descuento;
              }
              if( DescuentoTipo == 'percentage' ){
                Des = Descuento / 100;
                Descuento = Subtotal * Des;
                TotalPro = Subtotal - Descuento;
              }
            }
            //End Descuento

            //Calculo de Impuestos
            Producto.find('.Impuesto').each(function(index){
              console.log('Impuesto');
              Cont = Cont + 1;
              ProductoImpuesto = $(this).next('.ProductoImpuesto');
              Impuesto = $(this).val();
              Operador = $(this).data('operador');
              if( Operador == '+' ){
                Imp = Subtotal * Impuesto;
                //Imp = toFixed(Imp);
                TotalPro = TotalPro + Imp;
                Imp = Imp.toFixed(2);
                ProductoImpuesto.val(Imp);
                console.log(Impuesto + '- Imp: ' + Imp);
              }
              if( Operador == '-' ){
                Imp = Subtotal * Impuesto;
                Imp = Imp.toFixed(2);
                TotalPro = TotalPro - Imp;
                Imp = Imp.toFixed(2);
                ProductoImpuesto.val(Imp);
                console.log(Impuesto + '- Imp: ' + Imp);
              }
            });
            //End Calculo de Impuestos

            TotalPro = TotalPro.toFixed(2);
            console.log(TotalPro);
            Producto.find('.TotalPor').val(TotalPro);
            Producto.find('.TotalProDiv').html(TotalPro);

            //Suma los Totales
            var Total = 0;
            $('.TotalProDiv').each(function(){
              Tot = parseFloat($(this).html());
              Total = Total + Tot;
            });
            $('#ATotal').html(Total.toFixed(2));
            //End Suma los Totales

            //Suma de Impuestos
            var Total = 0;
            $('.ProductoImpuesto').each(function(){
              Tot = parseFloat($(this).val());
              Total = Total + Tot;
            });
            $('#AImpuestos').html(Total.toFixed(2));
            //End Suma de Impuestos

            //Suma los Subtotales
            var Total = 0;
            $('.Subtotal').each(function(){
              Tot = parseFloat($(this).val());
              Total = Total + Tot;
            });
            $('#ASubTotal').html(Total.toFixed(2));
            //End Suma los Subtotales

          });
        //End Cambio de Precio

        //Cambio de Cantidad
          $(document.body).on('change keyup', '.Cantidad' ,function(){
            Producto   = $(this).parents('.Producto');
          	Cantidad   = $(this).val();
            Precio     = Producto.find('.Precio').val();
            Subtotal   = Cantidad * Precio;
            TotalPro   = Subtotal;
            Producto.find('.Subtotal').val(Subtotal);

            //Descuento
            Descuento       = Producto.find('.Descuento').val();
            DescuentoTipo   = Producto.find('.DescuentoTipo').val();

            if( DescuentoTipo == 'amount' || DescuentoTipo == 'percentage' ){
              if( DescuentoTipo == 'amount' ){
                TotalPro = Subtotal - Descuento;
              }
              if( DescuentoTipo == 'percentage' ){
                Des = Descuento / 100;
                Descuento = Subtotal * Des;
                TotalPro = Subtotal - Descuento;
              }
            }
            //End Descuento

            //Calculo de Impuestos
            var Cont = 0;
            Producto.find('.Impuesto').each(function(index){
              console.log('Impuesto');
              Cont = Cont + 1;
              ProductoImpuesto = $(this).next('.ProductoImpuesto');
              Impuesto = $(this).val();
              Operador = $(this).data('operador');
              if( Operador == '+' ){
                Imp = Subtotal * Impuesto;
                //Imp = toFixed(Imp);
                TotalPro = TotalPro + Imp;
                Imp = Imp.toFixed(2);
                ProductoImpuesto.val(Imp);
                console.log(Impuesto + '- Imp: ' + Imp);
              }
              if( Operador == '-' ){
                Imp = Subtotal * Impuesto;
                Imp = Imp.toFixed(2);
                TotalPro = TotalPro - Imp;
                Imp = Imp.toFixed(2);
                ProductoImpuesto.val(Imp);
                console.log(Impuesto + '- Imp: ' + Imp);
              }
            });
            //End Calculo de Impuestos

            TotalPro = TotalPro.toFixed(2);
            console.log(TotalPro);
            Producto.find('.TotalPor').val(TotalPro);
            Producto.find('.TotalProDiv').html(TotalPro);

            //Suma los Totales
            var Total = 0;
            $('.TotalProDiv').each(function(){
              Tot = parseFloat($(this).html());
              Total = Total + Tot;
            });
            $('#ATotal').html(Total.toFixed(2));
            //End Suma los Totales

            //Suma de Impuestos
            var Total = 0;
            $('.ProductoImpuesto').each(function(){
              Tot = parseFloat($(this).val());
              Total = Total + Tot;
            });
            $('#AImpuestos').html(Total.toFixed(2));
            //End Suma de Impuestos

            //Suma los Subtotales
            var Total = 0;
            $('.Subtotal').each(function(){
              Tot = parseFloat($(this).val());
              Total = Total + Tot;
            });
            $('#ASubTotal').html(Total.toFixed(2));
            //End Suma los Subtotales

          });
        //End Cambio de Cantidad

        //Cambio de Descuento
          $(document.body).on('change', '.Descuento' ,function(){
            console.log('------------------');
            Producto        = $(this).parents('.Producto');
            Subtotal        = Producto.find('.Subtotal').val();
            Descuento       = Producto.find('.Descuento').val();
            DescuentoTipo   = Producto.find('.DescuentoTipo').val();
            if( DescuentoTipo == 'amount' ){
              TotalPro = Subtotal - Descuento;
            }
            if( DescuentoTipo == 'percentage' ){
              Des = Descuento / 100;
              Descuento = Subtotal * Des;
              TotalPro = Subtotal - Descuento;
            }

            //Calculo de Impuestos
            Producto.find('.Impuesto').each(function(index){
              console.log('Impuesto');
              Cont = Cont + 1;
              ProductoImpuesto = $(this).next('.ProductoImpuesto');
              Impuesto = $(this).val();
              Operador = $(this).data('operador');
              if( Operador == '+' ){
                Imp = Subtotal * Impuesto;
                //Imp = toFixed(Imp);
                TotalPro = TotalPro + Imp;
                Imp = Imp.toFixed(2);
                ProductoImpuesto.val(Imp);
                console.log(Impuesto + '- Imp: ' + Imp);
              }
              if( Operador == '-' ){
                Imp = Subtotal * Impuesto;
                Imp = Imp.toFixed(2);
                TotalPro = TotalPro - Imp;
                Imp = Imp.toFixed(2);
                ProductoImpuesto.val(Imp);
                console.log(Impuesto + '- Imp: ' + Imp);
              }
            });
            //End Calculo de Impuestos

            TotalPro = TotalPro.toFixed(2);
            console.log(TotalPro);
            Producto.find('.TotalPor').val(TotalPro);
            Producto.find('.TotalProDiv').html(TotalPro);

          });
        //End Cambio de Descuento

      //End Edición de Costos

      //Validación de Formulario
      /*$(".BtnGoFac").click(function () {
        $('#FormPer').parsley().validate();
        if ($('#FormPer').parsley().isValid()) {
            console.log('valid');
            swal({
              title: "¡Timbrando Factura!",
              text: "Esto puede demorar algun tiempo, por favor espera.",
              showConfirmButton: false
            });
            $('#BtnGoDo').click();
        } else {
            console.log('not valid');
            swal("", "Falta llenar algunos campos", "error");
        }
      });*/
      //End Validación de Formulario

      //End Boton GoFac
      <?php if( $ErrorTimbrado == 'Ok' ){ ?>
        //Si hubo error al Timbrar
        $( document ).ready(function() {
          swal("Error de Timbrado", "", "error");
        });
        //End Si hubo error al Timbrar
      <?php } ?>

      //Selección de Cliente para Facturación
      $(".DoFac-Cliente").change(function () {
        $("option:selected", this).each(function () {
          cli = $(this).val();
          $('#FormPer').parsley().destroy();
          //Actualiza Estados
          $.post("receptordata.php", { sel: 'Ok', cli: cli }, function(data){
            $('.DoFac-ReceptorData').html(data);
            $(".chosen-select").chosen();
            $('.chosen-select').trigger("chosen:updated");
            $('#FormPer').parsley();
          });
        });
      });
      //Selección de Cliente para Facturación

      //Modal Timbrar
      $(document.body).on('click', '.Btn-ModalTimbrar' ,function(){
        $('#ModalTimbrar').modal('show');
      });
      //End Modal Timbrar

      //Validación de Formulario
      $(".Btn-Timbrar").click(function () {

        $('#FormPer').parsley().validate();
        if ($('#FormPer').parsley().isValid()) {

          $('#Facturar').val('Ok');

          console.log('valid');
          swal({
            imageUrl: '<?php echo $Position; ?>images/wait/wait1.gif',
            title: "¡Timbrando Factura!",
            text: "Esto puede demorar algun tiempo, por favor espera.",
            showConfirmButton: false
          });
          $("#FormPer").submit();
          //$('#BtnGoDo').click();
        }else{
          console.log('not valid');
          swal("", "Falta llenar algunos campos", "error");
        }
      });
      //End Validación de Formulario

    </script>

</body>

</html>
