<?php

session_start();

if (isset($_SESSION["security_Level"]) && $_SESSION["security_Level"] < 2) {
    require_once "../Config/session_check.php";
} else {
    header("location: ../index.php");
}
$_SESSION["last_Active"] = time();

$staffID = $foreN = $surN = $email = $phoneN = $DOB = $houseN = $street = $city = $postC = '';
$staffID_err = $foreN_err = $surN_err = $email_err = $phoneN_err = $DOB_err = $houseN_err = $street_err = $city_err = $postC_err = '';

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    require_once "../Config/config.php";

    $staffID = trim($_POST['StaffID']);
    $SQL = mysqli_query($link, "SELECT STAFF_ID FROM staff");

    while ($row = mysqli_fetch_array($SQL)) {
        if ($row == $staffID) {
            $staffID_err = 'This staff ID is already in use.';
        }

    }
    $foreN = trim($_POST['ForeN']);
    $surN = trim($_POST['surN']);
    $email = trim($_POST['email']);
    $phoneN = trim($_POST['phoneN']);
    $DOB = trim($_POST['DOB']);
    $houseN = trim($_POST['HouseN']);
    $street = trim($_POST['street']);
    $city = trim($_POST['city']);
    $postC = trim($_POST['postC']);

    if (empty($staffID) || strlen($staffID) != 10) {

        $staffID_err = 'Please enter a valid staff ID, it must be 10 characters long. Use the generate button for help.';
    }

    if (empty($foreN) || strlen($foreN) > 30) {
        $foreN_err = 'Please enter a valid name.';
    }

    if (empty($surN) || strlen($surN) > 30) {
        $surN_err = 'Please enter a valid name.';
    }
    //Thanks to https://www.w3schools.com/php/php_form_url_email.asp
    if (empty($email) || strlen($email) > 50 || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $email_err = 'Please enter a valid email.';
    }

    if (empty($phoneN) || strlen($phoneN) > 11) {
        $phoneN_err = 'Please enter a valid phone number';
    }

    if (empty($DOB)) {
        $DOB_err = 'please enter a date of birth';
    } else {
        $arrayOfOfBirth = explode('-', $DOB);
        $age = date('Y') - $arrayOfOfBirth[0];
        if (date('m') < $arrayOfOfBirth[1]) {
            $age = $age - 1;
        }


        if ($age < 16) {
            $DOB_err = 'This employee is too young to work.';
        } else if ($age > 80) {
            $DOB_err = 'This employee is too old to work.';
        }
    }

    if (empty($houseN) || strlen($houseN) > 5) {
        $houseN_err = 'please enter a valid house number.';
    }

    if (empty($street) || strlen($street) > 50) {
        $street_err = 'Please enter a valid street name.';
    }

    if (empty($city) || strlen($city) > 50) {
        $city_err = 'please enter a valid city.';
    }

    if (empty($postC) || strlen($postC) > 8) {
        $postC_err = 'please enter a valid postcode.';
    }


    if (empty($staffID_err) && empty($foreN_err) &&
        empty($email_err) && empty($phoneN_err) && empty($DOB_err) && empty($houseN_err) &&
        empty($street_err) && empty($surN_err) && empty($city_err) && empty($postC_err)) {

        $sql = "INSERT INTO staff (Staff_ID, Forename, Surname, Email_Address, Phone_Number, DateOFBirth, House_Number, Street_Name, City, PostCode) VALUES (?,?,?,?,?,?,?,?,?,?)";
        if ($stmt = mysqli_prepare($link, $sql)) {
            mysqli_stmt_bind_param($stmt, "ssssssssss", $staffID, $foreN, $surN, $email, $phoneN, $par_DOB, $houseN, $street, $city, $postC);


            $time = strtotime($DOB);
            $nwFormat = date('Y-m-d', $time);
            $par_DOB = $nwFormat;

            if (mysqli_stmt_execute($stmt)) {
                // Redirect to login page
                header("location: ../Staff");
            } else {
                echo "Something went wrong. Please try again later.";
            }


        } else {
            echo "Something went wrong. Please try again later.";
        }


    }


}

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <?php include "../Templates/Header.php"; ?>
    <title>Dashboard</title>
</head>
<body>

<?php
//Staff ID generator

echo '<script>
    function GenerateUsername(){
        var lastName = $("#surN").val();
        if(lastName=="" || lastName.length < 3){
            alert("You must enter the last name for this feature, or have a last name that is at least 3 characters long.");
            exit;
        }
        var staffStart = lastName[0]+lastName[1]+lastName[2];
        var staffStart =staffStart.toUpperCase();
        var datenw = "" +' . date("ym") . '
        var staffFull = staffStart+datenw+getRandom(9)+getRandom(9)+getRandom(9);
        document.getElementById("StaffID").value = staffFull;
        
    }
    //generates random number
    function getRandom(num){
        var ranNum = Math.floor(Math.random()*num);
        return ranNum;
    }
</script>'
?>

<div id="page-container">

    <div id="content-wrap">
        <?php include "../Templates/navBar.php"; ?>
        <div class="container-fluid">
            <div class="row">
                <?php include "../Templates/SideBar.php"; ?>

                <main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
                    <h1>Add new employee</h1>
                    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
                        <div class="form-row">
                            <div class="col">
                                <label for="StaffID">Staff ID</label>
                                <input id="StaffID" name="StaffID" type="text"
                                       class="form-control  <?php echo (!empty($staffID_err)) ? 'is-invalid' : ''; ?>"
                                       placeholder="Enter Staff ID or press button to generate.">
                                <span><?php echo "<p class='error'>" . $staffID_err . "</p>"; ?></span>
                            </div>
                            <div class="col">
                                <label STYLE="color: #ffffff">Press</label>
                                <input type="button" class="btn btn-block btn-success" onclick="GenerateUsername();"
                                       value="Generate Staff ID">
                            </div>
                        </div>
                        <div class="form-row">
                            <div class="col">
                                <label for="ForeN">First Name</label>
                                <input id="ForeN" name="ForeN" type="text"
                                       class="form-control <?php echo (!empty($foreN_err)) ? 'is-invalid' : ''; ?>"
                                       placeholder="Enter First Name">
                                <span><?php echo "<p class='error'>" . $foreN_err . "</p>"; ?></span>
                            </div>
                            <div class="col">
                                <label for="surN">Last name</label>
                                <input id="surN" name="surN" type="text"
                                       class="form-control <?php echo (!empty($surN_err)) ? 'is-invalid' : ''; ?>"
                                       placeholder="Enter Last name">
                                <span><?php echo "<p class='error'>" . $surN_err . "</p>"; ?></span>
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="email">Email Address</label>
                            <input id="email" name="email" type="email"
                                   class="form-control <?php echo (!empty($email_err)) ? 'is-invalid' : ''; ?>"
                                   placeholder="Enter Email Address">
                            <span><?php echo "<p class='error'>" . $email_err . "</p>"; ?></span>
                        </div>
                        <div class="form-row">
                            <div class="col">
                                <label for="phoneN">Phone number</label>
                                <input id="phoneN" name="phoneN" type="text"
                                       class="form-control <?php echo (!empty($phoneN_err)) ? 'is-invalid' : ''; ?>"

                                       placeholder="Enter Phone number">
                                <span><?php echo "<p class='error'>" . $phoneN_err . "</p>"; ?></span>
                            </div>
                            <div class="col">
                                <label for="DOB">Date OF Birth</label>
                                <input id="DOB" name="DOB"
                                       class="form-control <?php echo (!empty($DOB_err)) ? 'is-invalid' : ''; ?>>"
                                       type="date" value=""
                                <span><?php echo "<p class='error'>" . $DOB_err . "</p>"; ?></span>
                            </div>
                        </div>
                        <div class="form-row">
                            <div class="col">
                                <label for="HouseN">House number</label>
                                <input id="HouseN" name="HouseN" type="text"
                                       class="form-control <?php echo (!empty($houseN_err)) ? 'is-invalid' : ''; ?>"
                                       placeholder="Enter House number">
                                <span><?php echo "<p class='error'>" . $houseN_err . "</p>"; ?></span>
                            </div>
                            <div class="col">
                                <label for="street">Street name</label>
                                <input id="street" name="street" type="text"
                                       class="form-control <?php echo (!empty($street_err)) ? 'is-invalid' : ''; ?>"
                                       placeholder="Enter Street name">
                                <span><?php echo "<p class='error'>" . $street_err . "</p>"; ?></span>
                            </div>
                        </div>
                        <div class="form-row">
                            <div class="col">
                                <label for="city">City</label>
                                <input id="city" name="city" type="text"
                                       class="form-control <?php echo (!empty($city_err)) ? 'is-invalid' : ''; ?>"
                                       placeholder="Enter City">
                                <span><?php echo "<p class='error'>" . $city_err . "</p>"; ?></span>
                            </div>
                            <div class="col">
                                <label for="postC">Post code</label>
                                <input id="postC" name="postC" type="text"
                                       class="form-control <?php echo (!empty($postC_err)) ? 'is-invalid' : ''; ?>"
                                       placeholder="Enter postcode">
                                <span><?php echo "<p class='error'>" . $postC_err . "</p>"; ?></span>
                            </div>
                        </div>
                        <div class="form-group">
                            <input type="submit" class="btn btn-danger btn-block" value="Create Employee">
                        </div>
                    </form>

                </main>
            </div>
        </div>


    </div>
    <?php include "../Templates/Footer.php"; ?>

</div>

</body>
</html>
