<?php
error_reporting(E_ALL^(E_NOTICE|E_WARNING));
ini_set('display_errors',1);
error_reporting(0);
require './kalenderhijriah.php';
?>
<!-- Content Header (Page header) -->
<div class="content-header">
  <div class="container-fluid">
    <div class="row mb-2">
      <div class="col-sm-12">
        <h1 class="m-0 text-dark"></h1>
      </div><!-- /.col -->
    </div><!-- /.row -->
  </div><!-- /.container-fluid -->
</div>
<!-- /.content-header -->

<!-- Main content -->
    <section class="content">
      <div class="container-fluid">
        <div class="row">
          <div class="col-12">
            <!-- Default box -->
            <div class="card">
              <div class="card-header bg-info">
                <h3 class="card-title "> Laporan Jurnal Umum</h3>
                <div class="card-tools">
                  <button type="button" class="btn btn-tool" data-card-widget="collapse" title="Collapse">
                    <i class="fas fa-minus"></i>
                  </button>
                  <button type="button" class="btn btn-tool" data-card-widget="remove" title="Remove">
                    <i class="fas fa-times"></i>
                  </button>
                </div>
              </div>
              <!-- /.card-header -->
        <div class="card-body">
          <?php
          
          
          if(isset($_POST['par1'])){

            $par1 = date('Y-m-d',strtotime($_POST['par1']));
            $par2 = date('Y-m-d',strtotime($_POST['par2']));
            $kode=$_SESSION['kode'];
            $no_bukti= $_POST['no_bukti'];

            if($_POST['no_bukti']!=='')
              $where="where a.kode='$kode'  and no_bukti='$no_bukti' group by a.id_jurnal";
            else
              $where="where a.kode='$kode' and no_bukti='$no_bukti'  Or a.kode='$kode' and  (a.tanggal between '$par1' and '$par2') group by a.id_jurnal";

          }else{
            $par1="";
            $par2="";
            $kode="";

            $where="where a.kode='$kode'";
          }
          ?>
          <form role="form" id="quickForm" action="home.php?home=<?php echo md5("jurnal_umum");?>" method="post">
            <div class="form-group row">

              <label for="nama" class="col-1 m-2">Faktur</label>
              <input type="text" name="no_bukti" id="no_bukti" class="form-control col-sm-2" value="<?php if(isset($_POST['no_bukti'])){ echo $_POST['no_bukti'];}else{ echo "";} ?>">
              
              
              <!-- Input tanggal pertama -->
              <div id="datepicker1" class="ml-2 " >
                    <input id="par1" name="par1" type="text" class="form-control d-inline-block" style="width: 100px; display: inline;" value="<?php if(isset($_POST['par1'])){ echo $_POST['par1']; }else{ echo sprintf('%02d', $hijri[1]) . '-' . $calendar->monthName($hijri[0]) . '-' . $hijri[2];} ?>"  />
                    <img id="pick-button1" src="kalender.png" alt="Pick Date" style="cursor: pointer; width: 24px; height: 24px;" onclick="pickADate1();" class="d-inline-block"/>
                    <div id="calendar-popup1" class="datepicker" style="display:none;"></div>
                </div>

                <!-- Input tanggal kedua -->
                <div id="datepicker2" class="ml-2">
                    <input id="par2" name="par2" type="text" class="form-control d-inline-block" style="width: 100px; display: inline;"  value="<?php if(isset($_POST['par2'])){ echo $_POST['par2']; }else{ echo sprintf('%02d', $hijri[1]) . '-' . $calendar->monthName($hijri[0]) . '-' . $hijri[2];} ?>" />
                    <img id="pick-button2" src="kalender.png" alt="Pick Date" style="cursor: pointer; width: 24px; height: 24px;" onclick="pickADate2();" class="d-inline-block"/>
                    <div id="calendar-popup2" class="datepicker" style="display:none;"></div>
                

                <input type="submit" name="proses" class="btn btn-info" style="float: right" value="Preview">
              </div>
            </div>
          </form>

          <hr>
          
          <!-- <table id="example3" class="table table-bordered table-hover">
           -->
          <?php if(isset($_POST['proses'])){?>  
           <table id="sortTable" class="table table-bordered table-hover">
            <thead>
              <tr>
                <th width="10%">Tanggal</th>
                <th width="12%">No Transaksi</th>
                <th width="10%">Rekening</th>                
                <th width="13%">Debet</th>
                <th width="13%">Kredit</th>
                <th>Keterangan</th>
                <th>UserName</th>
                
              </tr>
            </thead>

            <tbody>
              <?php
              $saldo=0;
              $queryj      = "SELECT a.no_bukti as no_bukti,a.tanggal as tanggal,a.kode_akun as kode_akun,a.keterangan as keterangan,a.debet as debet,a.kredit as kredit,a.username as usersys from bukubesar a left join user b ON a.kode_akun=b.kode $where ";
              $result     = $mysqli->query($queryj);
              $num_result = $result->num_rows;
              if ($num_result > 0) {
                $no = 0;
                while ($data = mysqli_fetch_assoc($result)) {
                  extract($data);
                  $saldo+=$debet;
                  $saldo-=$kredit;
                  ?>
                  <tr>
                    
                    <td style="text-align: center; width: 5%;"><?php echo tgl_indo($tanggal); ?></td>
                    <td style="text-align: left; width: 16%;"><?php echo $no_bukti; ?></td>
                    <td style="text-align: left; width: 11%;"><?php echo $kode_akun; ?></td>
                    <td style="text-align: right; width: 11%;"><?php echo number_format($debet,0); ?></td>
                    <td style="text-align: right; width: 11%;"><?php echo number_format($kredit,0); ?></td>
                    <td style="text-align: left; width: 33%;"><?php echo substr($keterangan,0,38); ?></td>
                    <td style="text-align: left; width: 33%;"><?php echo substr($usersys,0,38); ?></td>
                  </tr>
                <?php }}?>
              </table>

              </tbody>
              
              <script type="text/javascript" charset="utf8" src="./assets/jquery.dataTables.js"></script>
             
              <link rel="stylesheet" type="text/css" href="./assets/jquery.dataTables.css">
                  <script>
              $('#sortTable').DataTable(); //https://www.sahretech.com/2020/04/cara-membuat-pencarian-sorting-dan.html?m=1/ cara buat sorter table
              </script>
              <?php if(isset($_POST['par1'])){
                $_SESSION['jurnalumum']['periode'] =date('d-m-Y',strtotime($_POST['par1'])). " S/d ". date('d-m-Y',strtotime($_POST['par2']));
                $_SESSION['jurnalumum']['kode']['sqlj']=$queryj;
          
                ?>
                <a href="pdf/lap_jurnal_umum_pdf.php" target="_blank" style="float: right;margin-top: 10px;" class="btn btn-success"><i class="fa fa-print"></i>PDF</a>

              <?php } }?>
            </div>
            <!-- /.card-body -->
          </div>
          <!-- /.card -->
        </div>
        <!-- /.col -->
      </div>
      <!-- /.row -->
    </section>
    <!-- /.content -->

    <link rel="stylesheet" href="calendar.css"/>
<script type="text/javascript" src="hijri-date.js"></script>
<script type="text/javascript" src="calendar.js"></script>
<!-- https://zulns.github.io/libs/calendar-api-doc.html -->



<script type="text/javascript">
    var pickedTxt1 = document.getElementById('par1'),
        datepicker1 = new Calendar(true, 0, false, true);
    document.getElementById('datepicker1').appendChild(datepicker1.getElement());
    datepicker1.getElement().style.marginTop = '10px';
    
    datepicker1.callback = function() {
        var selectedDate = datepicker1.getDate();
        var day = selectedDate.getDate().toString().padStart(2, '0');
        var month = (selectedDate.getMonth() + 1).toString().padStart(2, '0');
        var year = selectedDate.getFullYear();
        pickedTxt1.value = day + '-' + month + '-' + year;
        pickedTxt1.selectionStart = 0;
        pickedTxt1.selectionEnd = pickedTxt1.value.length;
        pickedTxt1.focus();
        datepicker1.hide();
    };

    function pickADate1() {
        datepicker1.show();
        datepicker1.getElement().style.position = 'absolute'; // Pastikan posisi kalender tidak mengganggu layout
    }

    var pickedTxt2 = document.getElementById('par2'),
        datepicker2 = new Calendar(true, 0, false, true);
    document.getElementById('datepicker2').appendChild(datepicker2.getElement());
    datepicker2.getElement().style.marginTop = '10px';
    
    datepicker2.callback = function() {
        var selectedDate = datepicker2.getDate();
        var day = selectedDate.getDate().toString().padStart(2, '0');
        var month = (selectedDate.getMonth() + 1).toString().padStart(2, '0');
        var year = selectedDate.getFullYear();
        pickedTxt2.value = day + '-' + month + '-' + year;
        pickedTxt2.selectionStart = 0;
        pickedTxt2.selectionEnd = pickedTxt2.value.length;
        pickedTxt2.focus();
        datepicker2.hide();
    };

    function pickADate2() {
        datepicker2.show();
        datepicker2.getElement().style.position = 'absolute'; // Pastikan posisi kalender tidak mengganggu layout
    }
</script>
<style>
    /* Mengatur posisi datepicker agar tidak mempengaruhi layout lain */
    .datepicker {
        position: absolute; /* Mencegah pergeseran elemen lain */
        z-index: 1000; /* Agar kalender muncul di atas elemen lain */
    }
</style>
<script type="text/javascript">
function addClickOutsideListener(datepicker, popupId) {
        function onClick(event) {
            var popup = document.getElementById(popupId);
            if (popup && !popup.contains(event.target) && !datepicker.getElement().contains(event.target)) {
               
                datepicker.hide(); // Menyembunyikan kalender
                document.removeEventListener('click', onClick); // Menghapus event listener setelah digunakan
            }
        }
        
        // Menambahkan event listener untuk mendeteksi klik di luar kalender
        document.addEventListener('click', onClick);
    }
</script>

