<!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>

<style>
        /* Basic styling for dropdown suggestions */
        #suggestions {
            border: 1px solid #ddd;
            max-height: 150px;
            overflow-y: auto;
            display: none;
            position: absolute;
            margin-left: 130px;
            margin-top:50px;
            background-color: darkslategray;
            
        }

        #suggestions div {
            padding: 8px;
            cursor: pointer;
        }

        #suggestions div:hover {
            background-color: #f0f0f0;
        }
</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 "cal_pro_remain.php";
include "login_check.php";


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

    $barcode = $_POST['barcode'];
    if ($barcode == ''){ 

    }else{ 
        $sql = "SELECT * FROM ".$cargo." WHERE browser_id='$b_id'";
    $result = mysqli_query($connection, $sql);
    if ($result) {
          while ($row = mysqli_fetch_assoc($result)) {
          $cargo_data = $row["cargo_name"];

          $barcode = $_POST['barcode'];
          $amount = $_POST['amount'];
          $change_type = $_POST['change_type'];

          
          $today = date('Y-m-d');
          $sql = "SELECT * FROM ".$cargo_data." WHERE barcode='$barcode' or barcode_1='$barcode'";
          $result = mysqli_query($connection, $sql);
          if ($result) {
                  while ($row = mysqli_fetch_assoc($result)) {
                    $product_name = $row['product_name'];
                    $unit = $row['unit'];
                    $pieces = $row['pieces'];
                    $package_remain = $row['package_remain'];
                    $unit_remain = $row['unit_remain'];
                    $pieces_remain = $row['pieces_remain'];

                    $date = date('Y-m-d');
                
                //unit ဖြစ်ခဲ့ရင်
                if($change_type == 'unit'){ 
                    $package_exist = $row['package_exist'];

                    if ($package_exist > $amount){

                        // $package_change = $package_remain - $amount;
                        // $unit_change = ($amount * $unit) + $unit_remain;

                        $sql = "INSERT INTO ".$cargo_data."_change (barcode, name, unit, pieces,amount_unit,amount_pieces,user_name,date)
                        VALUES ('$barcode','$product_name','$amount','0','$unit','$pieces','$cargo_data','$date')";
                        if (mysqli_query($connection, $sql)) {
                            echo "<script>
                           
                                window.location.href = 'product_change.php';
                        </script>";
                        
                        } else {
                            // echo "Error: " . $sql . " " . mysqli_error($connection);
                        }
                    }

                } else { 
                    $unit_exist = $row['unit_exist'];
                    if ($unit_exist > $amount){ 
                        
                        $sql = "INSERT INTO ".$cargo_data."_change (barcode, name, unit, pieces,amount_unit,amount_pieces,user_name,date)
                        VALUES ('$barcode','$product_name','0','$amount','$unit','$pieces','$cargo_data','$date')";
                        if (mysqli_query($connection, $sql)) {
                            echo "<script>
                          
                                window.location.href = 'product_change.php';
                        </script>";
                        
                        } else {
                            // echo "Error: " . $sql . " " . mysqli_error($connection);
                        }


                    } else{ 
                        echo "
                        <script>
                        alert('".$product_name." လက်ကျန်မလုံလောက်ပါ')
                        </script>";
                        header('location:product_change.php');     
                    }
                }
                  
                  }
              }

      }
    }

    }
    // Perform a database query to check if the browser ID exists in the user_database table
    

      }


    

// delete Data



if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    $id = isset($_POST['id']) ? $_POST['id'] : null;
    $action = isset($_POST['action']) ? $_POST['action'] : null;

    switch ($action) {
        case 'info':
            $sql = "SELECT * FROM ".$product." WHERE id = '$id'";
                $result = $connection->query($sql);
                if ($result->num_rows > 0) {
                    $row = $result->fetch_assoc();
                    $imageData = $row['image'];
                    echo ' 
                    <div class="modal fade" id="infoModal" tabindex="-1" aria-labelledby="infoModalLabel" aria-hidden="true">
                    <div class="modal-dialog">
                        <div class="modal-content">
                            <div class="modal-header bg-info text-white">
                                <h5 class="modal-title" id="infoModalLabel">'.$row["product_name"].'</h5>
                                <button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="refreshPage()">
                                    <span aria-hidden="true">&times;</span>
                                </button>
                            </div>
                            <div class="modal-body">
                                <!-- Dynamically inserted Image -->
                                <div class="text-center">
                                <img src="data:image/jpeg;base64,' . base64_encode($imageData) . '" class="img-fluid mb-3" alt="Sample Image" style="margin-left:auto;margin-right:auto;">
                                    </div>
                                        <p class="card-text" style="font-size:15px">ပစ္စည်းအမည်: <a style="color:white">'.$row["product_name"].'</a></p>
                                        <p class="card-text" style="font-size:15px">code နံပါတ်: <a style="color:white">'.$row["barcode"].'</a></p>
                                        <p class="card-text" style="font-size:15px">အမျိုးစား: <a style="color:white">'.$row["type"].'</a></p>

                                        <p class="card-text" style="font-size:15px">ရောင်းဈေးဖာ: <a style="color:white">'.$row["round_package_price"].'&nbsp'.$row["currency_buy"].'</a></p>
                                        <p class="card-text" style="font-size:15px">ရောင်းဈေးကဒ်: <a style="color:white">'.$row["round_unit_price"].'&nbsp'.$row["currency_buy"].'</a></p>
                                        <p class="card-text" style="font-size:15px">ရောင်းဈေးဘူး: <a style="color:white">'.$row["round_pieces_price"].'&nbsp'.$row["currency_buy"].'</a></p>

                                        <p class="card-text" style="font-size:15px">လက်ကျန်ဖာ: <a style="color:white">'.$row["package_exist"].'</a></p>
                                        <p class="card-text" style="font-size:15px">လက်ကျန်ကဒ်: <a style="color:white">'.$row["unit_exist"].'</a></p>
                                        <p class="card-text" style="font-size:15px">လက်ကျန်ဘူး: <a style="color:white">'.$row["pieces_exist"].'</a></p>

                           
                                        <a href="#" class="btn btn-primary">Learn More</a>
                                    </div>
                                </div>
                                </div>
                            </div>
                            ';
                        } else {
                            echo "Image not found.";
                        }           
                    echo '
                    ';
            
            

            break;

        case 'upload':

            break;


        case 'delete':
            $query = "DELETE FROM ".$product_change." WHERE id = '$id'";
            if ($connection->query($query)) {
                echo 'Deleted successfully.';
            } else {
                echo 'alert("Update failed!");';
            }
            break;

        default:
            
    }
} else {
  
}


?>

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


<body>
<div class="wrapper">
    <?php 
    include "sidebar.php";
    include "../database/database.php";
    include "../database/data.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">

                    <div class="col-sm-4" style="background-color:#19242e;border-radius:20px;color:orange;margin-bottom:20px">

                    <form id="myForm" action="product_change.php" method="POST" style="margin-top:20px;margin-left:20px" enctype="multipart/form-data">
                    
                    <table style="border:none;">

                    <tr style="height: 50px;">
                            <th> <label for="pwd" alt="hi" style="font-size:20px">Barcode:</label></th>
                            <th>
                            <div style="display:flex;">
                                <input type="text" class="form-control" name="barcode" id="barcodeInput" placeholder=""  style="width:80%" autofocus>
                                <button type="button" id="start-scan-btn" class="btn btn-outline-warning" style="margin-left:10px">Scan</button>
                            </div>
                            </th>
                            <!-- <th><button type="button" name="print" id="print" class="btn btn-outline-warning">Print</button></th> -->
                        </tr>
                        
                        <script>
                            document.addEventListener('DOMContentLoaded', () => {
                            const video = document.getElementById('barcode-scanner');
                            const barcodeInput = document.getElementById('barcodeInput');
                            const startScanButton = document.getElementById('start-scan-btn');
                            let stream = null; // To store the camera stream

                            startScanButton.addEventListener('click', async () => {
                                try {
                                stream = await navigator.mediaDevices.getUserMedia({ video: { facingMode: 'environment' } });
                                video.srcObject = stream;

                                video.addEventListener('loadedmetadata', () => {
                                    video.play();
                                    detectBarcode();
                                });
                                } catch (error) {
                                console.error('Error accessing camera:', error);
                                }
                            });

                            async function detectBarcode() {
                                const barcodeDetector = new BarcodeDetector();
                                
                                try {
                                const barcodes = await barcodeDetector.detect(video);
                                if (barcodes.length > 0) {
                                    const detectedBarcode = barcodes[0].rawValue;
                                    barcodeInput.value = detectedBarcode;
                                    // Close the camera stream
                                    closeCamera();
                                } else {
                                    setTimeout(detectBarcode, 200); // Check again after 200ms
                                }
                                } catch (error) {
                                console.error('Barcode detection error:', error);
                                }
                            }

                            function closeCamera() {
                                if (stream) {
                                const tracks = stream.getTracks();
                                tracks.forEach(track => track.stop());
                                video.srcObject = null;
                                }
                            }
                            });
                        </script>

<?php 
                        $data = [];

                        // SQL query to fetch product names
                        $sql = "SELECT product_name FROM ".$product."";
                        $result_inner = $connection->query($sql);
                        
                        // Check if the query returned any results
                        if ($result_inner && $result_inner->num_rows > 0) {
                            while ($row_inner = $result_inner->fetch_assoc()) {
                                // Append each product name to the $data array
                                $data[] = $row_inner['product_name'];
                            }
                        }
                        
                        // Convert PHP array to a JSON array for use in JavaScript
                        $jsonData = json_encode($data);
                        ?>

                        <tr style="height: 50px;">
                            <th> <label for="pwd" alt="hi"> ပစ္စည်းအမည်:</label></th>
                            <th><input type="text" class="form-control"  id="product_name" name="product_name" placeholder="barcode သုံးပါကထည့်ရန်မလို" autocomplete="off" onkeyup="showSuggestions(this.value)"></th>
                            <div id="suggestions"></div>
                        </tr>
                        <!-- Scrip for product -->
                        <script>
                            // Convert PHP data to JavaScript
                            const data = <?php echo $jsonData; ?>;

                            // Function to filter and display suggestions
                            function showSuggestions(input) {
                                const suggestionsDiv = document.getElementById('suggestions');
                                suggestionsDiv.innerHTML = '';  // Clear suggestions

                                // Check if input is not empty
                                if (input.length > 0) {
                                    const filteredData = data.filter(item => item.toLowerCase().startsWith(input.toLowerCase()));

                                    // Display matching results
                                    if (filteredData.length > 0) {
                                        filteredData.forEach(item => {
                                            const suggestionItem = document.createElement('div');
                                            suggestionItem.textContent = item;
                                            suggestionItem.onclick = function() {
                                                document.getElementById('product_name').value = item;
                                                suggestionsDiv.style.display = 'none';
                                            };
                                            suggestionsDiv.appendChild(suggestionItem);
                                        });
                                        suggestionsDiv.style.display = 'block';  // Show suggestions
                                    } else {
                                        suggestionsDiv.style.display = 'none';  // Hide if no matches
                                    }
                                } else {
                                    suggestionsDiv.style.display = 'none';  // Hide if input is cleared
                                }
                            }
                        </script>

          
                        <tr style="height: 50px;">
                        <th><label for="package_price" alt="hi">ပြောင်းလိုသည့်:</label></th>
                        <th style="display:flex;">
                            <input type="text" class="form-control" id="data_1" name="amount"  value="1">
                            <select name="change_type" id="currency_package_price" class="form-control ms-3">        
                                <option value="unit">ကဒ်</option>
                                <option value="pieces">ဗူး</option>
                            </select>
                        </th>
                        </tr>

                        </tr>

                    </table>


                    <div style="margin-top: 20px; display: flex; justify-content: center;" class="container-fluid">
                        <button type="submit" name="add" class="btn btn-outline-warning" style="margin: 10px;width:100%">ပြောင်းရန်</button>
                        <!-- <button type="button" class="btn btn-outline-danger" style="margin: 10px;" data-toggle="modal" data-target="#infoModal">ပုံပြောင်းရန်</button> -->
                    </div>

                    </form>

                    <script>
                    document.getElementById('myForm').addEventListener('keydown', function(event) {
                        if (event.key === 'Enter') {
                        event.preventDefault(); // Prevent the default action (form submission)
                        }
                    });
                    </script>

                    </div>
                
                <!-- Table Element -->
                <div class="col-sm-8">

                <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="myTable">
                            <thead style="background-color:#19242e" class="text-center align-middle">
                            <tr>

                            <tr>
                            <th rowspan="2">no</th>
                            <th rowspan="2">info</th>
                            <th rowspan="2">barcode</th>
                            <th rowspan="2">ပစ္စည်းအမည်</th>
                            <th rowspan="2">အမျိုးအစား</th>
                            <th rowspan="2" style="color:#ACE1AF">မူရင်းကဒ်</th>
                            <th rowspan="2" style="color:#ACE1AF">မူရင်းဗူး</th>
                            <th colspan="3" style="color:#FFA62F">ပစ္စည်းလက်ကျန်</th>
                        </tr>
                        <tr>
                            <th style="color:#FFA62F">ဖာ</th>
                            <th style="color:#FFA62F">ကဒ်</th>
                            <th style="color:#FFA62F">ဗူး</th>
                        </tr>
                        </tr>
                            </thead>
                            <tbody>
                                <?php 
                                $sql = "SELECT * FROM ".$cargo." WHERE browser_id='$b_id'";
                                $result = $connection->query($sql);
                                
                                if ($result->num_rows > 0) {
                                    $row = $result->fetch_assoc(); // Fetch the row here
                                    $cargo_data = $row["cargo_name"];

                                    $sql = "Select * from ".$cargo_data." where delete_d='0'";
                                    $result = mysqli_query($connection, $sql);
                                    if ($result) {
                                        while ($row = mysqli_fetch_assoc($result)) {
                                            echo '<tr>
                                            <td contenteditable="true" class="fixed-column">' . htmlspecialchars($row['id']) . '</td>       
                                            <td><button type="button" class="btn btn-success" data-action="info" name="info" data-toggle="modal" data-target="#infoModal">Info</button></td>     
                                            <td contenteditable="true" class="fixed-column-2">' . htmlspecialchars($row['barcode']) . '</td>
                                            <td contenteditable="true" class="fixed-column-3">' . htmlspecialchars($row['product_name']) . '</td>
                                            <td contenteditable="true" class="fixed-column-3">' . htmlspecialchars($row['type']) . '</td>  
                                            <td contenteditable="true">' . htmlspecialchars($row['unit']) . '</td>
                                            <td contenteditable="true">' . htmlspecialchars($row['pieces']) . '</td>             
                                            <td contenteditable="true">' . number_format($row['package_exist']) . '</td>
                                            <td contenteditable="true">' . number_format($row['unit_exist']) . '</td>
                                            <td contenteditable="true">' . number_format($row['pieces_exist']) . '</td>                                                                                                               
                                            </tr>';
                                        }
                                    }


                                }

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


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

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