<?php
  $Seccion      = 'Finanzas';
  $SubSeccion   = 'Facturacion';
  $NameSec      = 'Facturar';
  $NameSin      = 'Facturar';
  $SecLine      = array('Finanzas', 'Facturación', 'Facturar');
  $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 Factura
      $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']));

      $RelacionTipo       = addslashes(strip_tags($_POST['RelacionTipo']));
      $RelacionadosUuids  = $_POST['RelacionadosUuids'];

      $ProductoPos        = $_POST['ProductoPos'];
      $Producto           = $_POST['Producto'];
      //var_dump($Producto);

      if( $CreditosFac >= 1 ){
        //Plataforma de Salida
        if( $PlataformaFac[Id] ){
          //Guarda datos de la Factura
          require_once('plataformas/facturama.php');
        }
        //End Plataforma de Salida
      }
    }
    //End Si Configuracion Ok
  }
  //End Guardar Registro

  //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);

  //Relaciones Tipos
  $Query = "
    SELECT
      tip.Id, tip.Clave, tip.Nombre
    FROM FacturasRelacionesTipos tip
    ORDER BY tip.Clave ASC
  ";
  $RelacionesTipos = $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);

?>

<!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">
                        <button type="button" class="btn btn-secondary">
                          <?php echo $CreditosFac; ?> Creditos
                        </button>
                        <?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);
                              //echo $response;
                            	$obj = json_decode($response);

                          ?>
                            <?php if($obj->Plan == 'API') { ?>

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

                            <?php }else{ ?>

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

                            <?php } ?>
                          <?php //}  ?>
                        <?php } ?>
                        <button type="submit" class="HiddenBtn" id="BtnGoDo"></button>
                        <input type="hidden" name="Facturar" value="Ok">
                        <?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 Datos del Emisor -->
                    <div class="card">
                      <div class="card-body">
                        <h4 class="card-title"><?php if( $Pro['Id'] ){ echo "Editar "; }else{ echo "Nueva "; } echo $NameSin; ?></h4>
                        <h6 class="card-subtitle">Datos del Emisor</h6>
                        <hr />

                        <div class="row">
                          <div class="col-sm-12">

                            <!-- Emisor -->
                            <div class="form-group">
                              <label>Emisor <span class="text-danger">*</span></label>
                              <div class="controls">
                                <input
                                  readonly
                                  class="form-control"
                                  value="<?php echo $PerfilSel[NombreFiscal]; ?>"
                                />
                              </div>
                            </div>
                            <!-- End Emisor -->

                            <!-- Emisor Rfc -->
                            <div class="form-group">
                              <label>Emisor <span class="text-danger">*</span></label>
                              <div class="controls">
                                <input
                                  readonly
                                  class="form-control"
                                  value="<?php echo $PerfilSel[Rfc]; ?>"
                                />
                              </div>
                            </div>
                            <!-- End Emisor Rfc -->

                          </div>
                        </div>

                      </div>
                    </div>
                    <!-- End Card Datos del Emisor -->

                    <!-- Card Datos del Receptor -->
                    <div class="card">
                      <div class="card-body">
                        <h4 class="card-title">Receptor</h4>
                        <h6 class="card-subtitle">Datos del Receptor</h6>
                        <hr />

                        <div class="row">

                          <div class="col-sm-12">

                            <!-- 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 echo $Cli['Nombre']; ?></option>
                                  <?php } ?>
                                </select>
                              </div>
                            </div>
                            <!-- End Cliente -->

                            <!-- Datos de Cliente -->
                            <div class="row" id="DatosCliente">
                            </div>
                            <!-- End Datos de Cliente -->

                          </div>

                        </div>
                      </div>
                    </div>
                    <!-- End Card Datos del Receptor -->

                    <!-- Card Datos de Factura -->
                    <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">
                                <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 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">
                                <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 echo $Ser['Nombre'];?></option>
                                <?php
                                  }
                                  //require_once($Position.'config/cerrarconexion.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">
                                <!--<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">
                                <option></option>
                                <?php
                                mysqli_data_seek($FormasPagos, 0);
                                while($ForPag = mysqli_fetch_array($FormasPagos)) {
                                ?>
                                  <option value="<?php echo $ForPag['Clave']; ?>"><?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">
                                <option></option>
                                <?php
                                  mysqli_data_seek($MetodosPagos, 0);
                                  while($MetPag = mysqli_fetch_array($MetodosPagos)) {
                                ?>
                                  <option value="<?php echo $MetPag['Clave']; ?>"><?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"
                                >
                                  <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 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="1" type="text" class="form-control" autocomplete="off">
                              </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="" type="text" class="form-control" autocomplete="off">
                              </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="" type="text" class="form-control" autocomplete="off">
                              </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="" type="text" class="form-control" autocomplete="off">
                              </div>
                            </div>
                            <!-- End Condiciones de Pago -->

                            <div class="col-sm-12">
                              <hr>
                            </div>

                            <!-- CFDI Relacionados -->
                            <div class="form-group col-sm-12">
                              <label>CFDI Relacionados</label>
                              <div class="controls">
                                <select
                                  name="RelacionTipo"
                                  class="form-control chosen-select"
                                >
                                  <option value="0">...</option>
                                  <?php
                                    mysqli_data_seek($RelacionesTipos, 0);
                                    while($Tip = mysqli_fetch_array($RelacionesTipos)) {
                                  ?>
                                    <option
                                      value="<?php echo $Tip['Clave']; ?>"
                                    >
                                      <?php echo $Tip['Clave'].' - '.$Tip['Nombre']; ?>
                                    </option>
                                  <?php } ?>
                                </select>
                              </div>
                            </div>
                            <!-- End CFDI Relacionados -->

                            <!-- CFDI Relacionados -->
                            <div class="form-group col-sm-12">

                              <!-- Uuid Relaccionados -->
                              <div id="CfdiRelDiv" class="m-b-20">
                              </div>
                              <!-- End Uuid Relaccionados -->

                              <div>
                                <!-- Btn Add Uuid -->
                                <button
                                  type="button"
                                  class="btn btn-secondary brn-sm BtnAddUuid"
                                >
                                  Agregar Uuid
                                  <i class="fa fa-plus m-l-5"></i>
                                </button>
                                <!-- End Btn Add Uuid -->
                              </div>
                            </div>
                            <!-- End CFDI Relacionados -->

                          </div>



                        </div>

                      </div>
                    </div>
                    <!-- End Card Datos de Factura -->

                    <!-- Card Conceptos -->
                    <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">
                                </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"></span></th>
                                    <!--<th>Descuento</th>-->
                                    <th class="text-right"><span id="AImpuestos"></span></thth>
                                    <th class="text-right"><span id="ATotal"></span></th>
                                    <th></th>
                                  </tr>
                                </tfoot>
                              </table>

                        </div>

                        <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" data-required="true" 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>

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

                  </div>
                </div>
              </form>
              <!-- ============================================================== -->
              <!-- End Page Content -->
              <!-- ============================================================== -->
            </div>
            <!-- ============================================================== -->
            <!-- End Container fluid  -->
            <!-- ============================================================== -->

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

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

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

      //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 = 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

      //Btn Add Uuid
      $(document.body).on('click', '.BtnAddUuid' ,function(){
        $('#CfdiRelDiv').append('\
        <div class="CfdiRelDivItem card">\
          <div class="card-body" style="padding-top:8px;">\
            <label>Uuid</label>\
            <input\
              class="form-control"\
              name="RelacionadosUuids[]"\
              autocomplete="off"\
            />\
          </div>\
          <button\
            type="button"\
            class="btn btn-sm btn-danger BtnDelUuid"\
            style="position:absolute;top:0px;right:0px;"\
          >\
            <i class="fa fa-times"></i>\
          </button>\
        </div>\
        ');
      });
      //End Btn Add Uuid

      //Btn Del Uuid
      $(document.body).on('click', '.BtnDelUuid' ,function(){
        $(this).parents('.CfdiRelDivItem').remove();
      });
      //End Btn Del Uuid

      //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 } ?>

    </script>

</body>

</html>
