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

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Bin Packing</title>
    <link rel="icon" type="image/png" href="/favicon.ico">

    <!-- Bootstrap CSS (CDN) -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous" />
    <link rel="stylesheet" href="/style.css">
</head>

<body class="bg-light">
    <div class="container py-3">
        <div class="card mb-3">
            <div class="card-body">
                <h1 class="h3 mb-1">Bin Packing — Genetic Algorithm + WoC</h1>
                <p class="text-secondary mb-0">Hit the "Run" button below to run the Genetic Algorithm.</p>
            </div>
        </div>

        <div class="row g-3">
            <div class="col-12 col-lg-4">
                <div class="card">
                    <div class="card-body">
                        <form action="/" method="post" class="needs-validation" novalidate>
                            <div class="row g-3">
                                <div class="col-12 col-md-6">
                                    <label for="capacity" class="form-label">Capacity</label>
                                    <input id="capacity" name="capacity" type="number" min="1" class="form-control"
                                        value="10" required />
                                </div>

                                <div class="col-12 col-md-6">
                                    <label for="decodeStrategy" class="form-label">Decode Strategy</label>
                                    <select id="decodeStrategy" name="decodeStrategy" class="form-select">
                                        <option value="" disabled> -- select method -- </option>
                                        <option value="NEXT_FIT">NEXT_FIT</option>
                                        <option value="FIRST_FIT">FIRST_FIT</option>
                                        <option value="BEST_FIT">BEST_FIT</option>
                                        <option value="WORST_FIT">WORST_FIT</option>
                                    </select>
                                </div>

                                <div class="col-12 col-md-6">
                                    <label for="populationSize" class="form-label">Population Size</label>
                                    <input id="populationSize" name="populationSize" type="number" min="2"
                                        class="form-control"
                                        value="150"
                                        required />
                                </div>

                                <div class="col-12 col-md-6">
                                    <label for="generationSize" class="form-label">Generations</label>
                                    <input id="generationSize" name="generationSize" type="number" min="1"
                                        class="form-control"
                                        value="300"
                                        required />
                                </div>

                                <div class="col-12 col-md-6">
                                    <label for="crossoverRate" class="form-label">Crossover Rate</label>
                                    <input id="crossoverRate" name="crossoverRate" type="number" step="0.01" min="0"
                                        max="1" class="form-control"
                                        value="0.9"
                                        required />
                                </div>

                                <div class="col-12 col-md-6">
                                    <label for="mutationRate" class="form-label">Mutation Rate</label>
                                    <input id="mutationRate" name="mutationRate" type="number" step="0.01" min="0"
                                        max="1" class="form-control"
                                        value="0.05" required />
                                </div>

                                <div class="col-12 col-md-6">
                                    <label for="mutationType" class="form-label">Mutation Type</label>
                                    <select id="mutationType" name="mutationType" class="form-select">
                                        <option value="" disabled> -- select method -- </option>
                                        <option value="SWAP">SWAP</option>
                                        <option value="INVERSION">INVERSION</option>
                                    </select>
                                </div>

                                <div class="col-12 col-md-6">
                                    <label for="elitePercentage" class="form-label">Elite %</label>
                                    <input id="elitePercentage" name="elitePercentage" type="number" min="0" max="30"
                                        class="form-control"
                                        value="10"
                                        required />
                                </div>

                                <div class="col-12">
                                    <label for="items" class="form-label">Items (comma-separated)</label>
                                    <textarea id="items" name="items" rows="3" class="form-control">9,1,8,2,7,3,5</textarea>
                                </div>

                                <div class="col-12">
                                    <div class="form-check mb-2">
                                        <input class="form-check-input" type="checkbox" id="wisdomOfCrowds"
                                            name="wisdomOfCrowds">
                                        <label class="form-check-label" for="wisdomOfCrowds">
                                            Use Wisdom of Crowds
                                        </label>
                                    </div>
                                </div>

                                <div class="col-12">
                                    <button class="btn btn-primary w-100" type="submit">Run</button>
                                </div>

                            </div>
                        </form>
                    </div>
                </div>
            </div>

            <div class="col-12 col-lg-8">
                <div class="card right-scroll">
                    <div class="card-body">
                        <div>
                            <p class="text-secondary mb-0">No results yet. Hit the "Run" button to run the Genetic Algorithm.</p>
                        </div>

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

        <div class="row g-3">
            <div class="col-12 col-lg-4">
                <div class="card">
                    <div class="card-body">
                        <form action="/bin" method="post" class="needs-validation" novalidate>
                            <div class="row g-3">
                                <div class="col-12 col-md-6">
                                    <label for="binCapacity" class="form-label">Capacity</label>
                                    <input id="binCapacity" name="capacity" type="number" min="1" class="form-control"
                                        value="10" required />
                                </div>

                                <div class="col-12 col-md-6">
                                    <label for="binDecodeStrategy" class="form-label">Decode Strategy</label>
                                    <select id="binDecodeStrategy" name="decodeStrategy" class="form-select">
                                        <option value="" disabled> -- select method -- </option>
                                        <option value="NEXT_FIT">NEXT_FIT</option>
                                        <option value="FIRST_FIT">FIRST_FIT</option>
                                        <option value="BEST_FIT">BEST_FIT</option>
                                        <option value="WORST_FIT">WORST_FIT</option>
                                    </select>
                                </div>

                                <div class="col-12">
                                    <label for="binItems" class="form-label">Items (comma-separated)</label>
                                    <textarea id="binItems" name="items" rows="3" class="form-control">9,1,8,2,7,3,5</textarea>
                                </div>

                                <div class="col-12">
                                    <button class="btn btn-secondary w-100" type="submit">
                                        Run Regular Bin Packing
                                    </button>
                                </div>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"
        crossorigin="anonymous"></script>
</body>

</html>