<!DOCTYPE html>
<html lang="en" data-bs-theme="dark">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ဂိုဒေါင်စာရင်း</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha2/dist/css/bootstrap.min.css">
<script src="https://kit.fontawesome.com/ae360af17e.js" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="css/style.css">
<link rel="icon" href="image/logo.png" type="image/png">
</head>
<style> 
      video {
        width:100%;
        height: 200px;

    object-fit: cover; /* Ensures the video fills the container */
    display: block;
  }

</style>

<script>
        function formatNumber(input) {
            // Remove all non-digit characters
            let value = input.value.replace(/\D/g, '');
            
            // Format the number with commas
            let formattedValue = new Intl.NumberFormat().format(value);
            
            // Update the input value
            input.value = formattedValue;
        }

        document.addEventListener('DOMContentLoaded', function () {
            const formattedInput = document.getElementById('formatted');
            formattedInput.addEventListener('input', function () {
                formatNumber(this);
            });
        });
    </script>


<?php
session_start();
                                
if (isset($_SESSION['browser_id'])) {
    $browserId = $_SESSION['browser_id'];
} else {
    // Generate a new browser ID
    $browserId = generateUniqueBrowserId();

    // Store the browser ID in the session for future use
    $_SESSION['browser_id'] = $browserId;
}


include "database/database.php";
include "database/data.php";
include "login_check.php";



if (isset($_POST['add'])) {

    $cargo_name = $_POST['cargo_name'];
    $password = $_POST['password'];
    $ph_no = $_POST['ph_no'];
    $address = $_POST['address'];



      $sql = "INSERT INTO ".$cargo." (cargo_name, password, ph_no, address)
      VALUES ('$cargo_name','$password','$ph_no','$address')";

      if (mysqli_query($connection, $sql)) {
          header('location:cargo.php');
          echo '<script>alert("Add New Cargo Name Success") ;</script>';
          // echo "Insert successful";
      } else {
          echo "Error: " . $sql . "
  " . mysqli_error($connection);
      }
      mysqli_close($connection);
    }

    


?>

<script>
    function refreshPage() {
        location.reload();
    }
</script>


<body>
<div class="wrapper">
    <?php 
    include "database/database.php";
    include "database/data.php";
    include "sidebar.php";
    ?>

    <div class="main">
        <nav class="navbar navbar-expand px-3 border-bottom">
            <button class="btn" id="sidebar-toggle" type="button">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="navbar-collapse navbar">
                <ul class="navbar-nav">
                <div class="mb-3" style="margin-right:30px">
                <h4 style="font-size:25px">ဂိုဒေါင်စာရင်း</h4>
                </div>

                    <li class="nav-item dropdown">
                        <a href="#" data-bs-toggle="dropdown" class="nav-icon pe-md-0">
                            <img src="image/logo.png" class="avatar img-fluid rounded" alt="">
                        </a>
                        <?php include "logo_profile.php";?>
                    </li>
                </ul>
            </div>
        </nav>

        <main class="content px-3 py-2">
            <div class="container-fluid">


                <div class="row">


                
                <!-- Table Element -->
                <div class="col">

                <div class="card-header gx-5">
                    <form class="d-flex flex-row-reverse ">
                    <div class="col-auto" style="margin-left:10px">
                        <input type="text" class="form-control" id="searchInput" placeholder="Search">
                    </div>
                    <div class="col-auto">
                        <button type="submit" class="btn btn-primary mb-3"><i class="fa-solid fa-magnifying-glass"></i></button>
                    </div>
                    </form> 
                    </div>

                    <div class="scrollable-table" style="height:60vh;">
                        <table class="table table-bordered rounded table-hover" style="color:white;font-size:18px;"  id="dataTable">
                        <thead style="background-color:#19242e" class="text-center align-middle">
                        <tr>
                            <th>no</th>
                            <th>ဂိုဒေါင်အမည်</th>
                            <th>password</th>
                            <th>ဖုန်းနံပါတ်</th>
                            <th>လိပ်စာ</th>
                            <th>ပစ္စည်းစစ်ရန်</th>
                            <th>Login ဝင်ရန်</th>
  
                            </tr>
                        </thead>
                            <tbody>
                                <?php 
                                $sql = "Select * from ".$cargo." order by id limit 1";
                                $result = mysqli_query($connection, $sql);
                                if ($result) {
                                    while ($row = mysqli_fetch_assoc($result)) {

                                        echo '  
                                        <tr>  
                                        <td contenteditable="true">' . ($row['id']) . '</td>   
                                        <td contenteditable="true">' . ($row['cargo']) . '</td>   
                                        <td contenteditable="true">' . ($row['password']) . '</td>
                                        <td contenteditable="true">' . ($row['ph_no']) . '</td>      
                                        <td contenteditable="true">' .($row['address']) . '</td>                                          

                                        <td>
                                            <form action="cargo_view.php" method="POST">
                                                <input type="hidden" name="cargo" value="' . $row['cargo'] . '">
                                                <button type="submit" class="btn btn-success">ပစ္စည်းစစ်ရန်</button>
                                            </form>
                                        </td>

                                        <td><a href="cargo/login_user.html" target="_blank"> Login ဝင်ရန်</a></td>     


                                        </tr>';
                                    }
                                }
                                    mysqli_free_result($result);
                                
                                ?>
                            </tbody>
                        </table>

                        <form id="actionForm" method="POST" action="cargo.php" style="display:none;">
                                <input type="hidden" name="id" id="formId">
                                <input type="hidden" name="action" id="formAction">
                            </form>

                            <script>
document.addEventListener('DOMContentLoaded', function() {
    document.getElementById('dataTable').addEventListener('click', function(event) {
        if (event.target.tagName === 'BUTTON') {
            const action = event.target.getAttribute('data-action');
            const row = event.target.closest('tr');
            const id = row.cells[0].innerText;

            // Create a FormData object and append the necessary data
            const formData = new FormData();
            formData.append('id', id);
            formData.append('action', action);

            // Send the form data using Fetch API
            fetch('cargo.php', {
                method: 'POST',
                body: formData
            })
            .then(response => response.text())
            .then(data => {
                if (action === 'delete') {
                    // Refresh the page if the delete action is performed
                    location.reload();
                } else {
                    // Insert the returned HTML into a container element
                    const modalContainer = document.createElement('div');
                    modalContainer.innerHTML = data;
                    document.body.appendChild(modalContainer);

                    // Display the modal
                    const modal = new bootstrap.Modal(modalContainer.querySelector('.modal'));
                    modal.show();

                    // Add event listener to refresh the page when the modal is hidden
                    modalContainer.querySelector('.modal').addEventListener('hidden.bs.modal', function () {
                        location.reload();
                    });
                }
            })
            .catch(error => {
                console.error('Error:', error);
            });
        }
    });
});




                        </script>

<script>
    $(document).ready(function() {
        $('#infoModal').on('hidden.bs.modal', function () {
            location.reload();
        });
    });
</script>

                        <!-- Search for js code -->
                        <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

                        <script> 
                        $(document).ready(function() {
                            $("#searchInput").on("keyup", function() {
                                var value = $(this).val().toLowerCase();
                                
                                $("#dataTable tbody tr").filter(function() {
                                    $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);
                                });
                            });
                        });
                        </script>


                       

        <!-- ရောင်းဈေးကို check ပြန်လုပ်ရန် -->
        <!-- Edit Data by click -->
        <?php 
        if ($_SERVER["REQUEST_METHOD"] == "POST") {
            $data = json_decode(file_get_contents('php://input'), true);
            
            // Assuming 'no' is the primary key for your product table
            if (isset($data['no'])) {
                $no = $connection->real_escape_string($data['no']);
                $name = $connection->real_escape_string($data['ဂိုဒေါင်အမည်']);
                $password = $connection->real_escape_string($data['password']);
                $ph_no = $connection->real_escape_string($data['ဖုန်းနံပါတ်']);
                $address = $connection->real_escape_string($data['လိပ်စာ']);

                //update barcode,name.....
                $sql = "UPDATE ".$cargo." SET cargo_name='$name',password='$password',ph_no='$ph_no',address='$address' WHERE id='$no'";
                //$sql = "UPDATE product SET barcode='$barcode' WHERE id='$no'";
                if ($connection->query($sql) === TRUE) {
                    echo json_encode(['status' => 'success', 'message' => 'Record updated successfully']);
                } else {
                    echo json_encode(['status' => 'error', 'message' => 'Error updating record: ' . $connection->error]);
                }
                    
            
            } else {
                // echo json_encode(['status' => 'error', 'message' => 'Invalid data format.']);
            }
            
            }
        ?>
        <script>
            //get colspan data
            
            function getFlattenedHeaders(headerRow) {
const headers = [];
let colIndex = 0;

for (let i = 0; i < headerRow.cells.length; i++) {
    const cell = headerRow.cells[i];
    const colspan = cell.colSpan || 1;
    const headerText = cell.textContent.trim();

    for (let j = 0; j < colspan; j++) {
        headers[colIndex] = headerText;
        colIndex++;
    }
}

console.log('Flattened Headers:', headers);
return headers;
}

function saveChangesForRow(row) {
const data = {};
console.log('Row being processed:', row);

const headerRow = document.getElementById('dataTable').rows[0];
const headers = getFlattenedHeaders(headerRow);

for (let j = 0; j < row.cells.length; j++) {
    const cell = row.cells[j];

    if (j >= headers.length) {
        console.warn(`Skipping cell ${j} as it exceeds header length`);
        continue; // Skip if there are more cells in the row than in the headers
    }

    const headerText = headers[j];
    console.log(`Processing cell ${j}: Header=${headerText}, Cell=`, cell);

    if (cell && cell.hasAttribute('contenteditable')) {
        data[headerText] = cell.textContent.trim();
    }

    // Handle select dropdowns separately
    if (cell.querySelector('select')) {
        data[headerText] = cell.querySelector('select').value;
    }
}

console.log('Data to be sent:', data);

const xhr = new XMLHttpRequest();
xhr.open('POST', 'cargo.php', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function() {
    if (xhr.readyState === XMLHttpRequest.DONE) {
        if (xhr.status === 200) {
            console.log('Data updated successfully!');
        } else {
            // alert('Error updating data. Please try again!');
        }
    }
};
xhr.send(JSON.stringify(data));
}

const editableCells = document.querySelectorAll('#dataTable td[contenteditable="true"]');
editableCells.forEach(cell => {
cell.addEventListener('input', function() {
    saveChangesForRow(this.parentElement);  // this.parentElement refers to the row
});
});

const dropdowns = document.querySelectorAll('#dataTable select');
dropdowns.forEach(dropdown => {
dropdown.addEventListener('change', function() {
    saveChangesForRow(this.closest('tr'));  // 'closest' gets the nearest parent row element
});
});

</script>



                    </div>
                </div>


            </div>
            </div>
        </main>


        <a href="#" class="theme-toggle">
            <i class="fa-regular fa-moon"></i>
            <i class="fa-regular fa-sun"></i>
        </a>
        <footer class="footer">
            <div class="container-fluid">
                <div class="row text-muted">
                    <div class="col-6 text-start">
                        <p class="mb-0">
                            <a href="#" class="text-muted">
                                <?php 
                                    include "version.php";
                                ?>
                            </a>
                        </p>
                    </div>
                    <div class="col-6 text-end">
                        <ul class="list-inline">
                            <li class="list-inline-item">
                                <a href="#" class="text-muted">Contact</a>
                            </li>
                            <li class="list-inline-item">
                                <a href="#" class="text-muted">About Us</a>
                            </li>
                            <li class="list-inline-item">
                                <a href="#" class="text-muted">Terms</a>
                            </li>
                            <li class="list-inline-item">
                                <a href="#" class="text-muted">Booking</a>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </footer>
    </div>
</div>

<!-- Number Format -->
<script>
    function formatNumber() {
        const inputField = document.getElementById('package_price');
        let value = inputField.value;

        // Remove any non-numeric characters (except for decimal points)
        value = value.replace(/[^0-9.]/g, '');

        // Format the number
        const formattedValue = new Intl.NumberFormat().format(value);

        // Set the formatted value back to the input field
        inputField.value = formattedValue;
    }
</script>


<!-- <script src="lat_li.js"></script> -->
<!-- get data auto from input barcode/banking -->
<!-- <script>
    document.addEventListener('DOMContentLoaded', (event) => {
const barcodeInput = document.getElementById('barcodeInput');
const bankingInput = document.getElementById('bankingInput');
const outputDiv = document.getElementById('output');

// Simulate a barcode scanner by listening for input events
barcodeInput.addEventListener('input', handleBarcodeInput);

let barcode = '';
let timeout;

function handleBarcodeInput(event) {
    clearTimeout(timeout);
    
    // Check for input data and append to barcode
    barcode += event.data || event.target.value; 
    
    // Clear the input field
    event.target.value = '';

    // Wait for a short period to determine if input is complete
    timeout = setTimeout(() => {
        processBarcode(barcode);
        barcode = ''; // Reset barcode
    }, 100); // Adjust timeout as needed
}

async function processBarcode(barcode) {
    // Get banking input value
    const bankingData = bankingInput.value;

    // Display the processed barcode and banking data on the page
    outputDiv.innerHTML = `Processed Barcode: ${barcode} <br> Banking Data: ${bankingData}`;
    console.log(`Processed Barcode: ${barcode}`);
    console.log(`Banking Data: ${bankingData}`);

    // Send the barcode and banking data to the server
    try {
        const response = await fetch('lat_li.php', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({ 
                barcode: barcode,
                bankingData: bankingData
            })
        });

        if (!response.ok) {
            throw new Error('Network response was not ok');
        }

        const responseData = await response.json();
        console.log('Server response:', responseData);
    } catch (error) {
        console.error('Error sending data:', error);
    }
}
});
</script>
<div id="output"></div>


<?php
// header('Content-Type: application/json');
// $input = file_get_contents('php://input');
// $data = json_decode($input, true);

// if ($data && isset($data['barcode']) && isset($data['bankingData'])) {
//     // Process the barcode and banking data here
//     $barcode = $data['barcode'];
//     $bankingData = $data['bankingData'];

//     include 'database/database.php';

//     // Log received data for debugging purposes
//     error_log("Received barcode: " . $barcode);
//     error_log("Received bankingData: " . $bankingData);

//     $query = "UPDATE imv_account SET account='$barcode', amount='$bankingData' WHERE id='1'";
//     if ($connection->query($query)) {
//         // Example response
//         echo json_encode([
//             'status' => 'success', 
//             'receivedBarcode' => $barcode,
//             'receivedBankingData' => $bankingData
//         ]);
//     } else {
//         die("ERROR: Query failed. " . $connection->error);
//     }
// } else {
//     echo json_encode(['status' => 'error', 'message' => 'Invalid data']);
// }


?> -->


<?php 

function generateUniqueBrowserId()
{
    $randomString = bin2hex(random_bytes(16));
    $timestamp = time();

    return $randomString . $timestamp;
}

?>

    


 
<script src="js/script.js"></script>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>

</html>
