<?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";


    $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($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 < 15) {
            $DOB_err = 'This person is too young to become customer.';
        }
    }

    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.';
    }

//, House_Number, Street_Name, City, PostCode
//,?,?,?,?
//
    if (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 customers (Customer_ID, Forename, Surname, EmailAddress, PhoneNumber, DateOFBirth) VALUES (?,?,?,?,?,?)";
        if ($stmt = mysqli_prepare($link, $sql)) {
            mysqli_stmt_bind_param($stmt, "ssssss", $custID, $foreN, $surN, $email, $phoneN, $par_DOB);

            $time = strtotime($DOB);
            $nwFormat = date('Y-m-d', $time);
            $par_DOB = $nwFormat;
            $CustIDNotTested = true;
            $custID = '';
            $SQL = mysqli_query($link, "SELECT Customer_ID FROM customers");

            while ($CustIDNotTested) {
                $custID = $surN[0] . $surN[1] . $surN[2] . $surN[3] . date('y') . rand(1000, 9999);
                while ($row = mysqli_fetch_array($SQL)) {
                    if ($row == $custID) {
                        $CustIDNotTested = false;
                    }
                }
                if ($CustIDNotTested == false) {
                    $CustIDNotTested = true;
                } else {
                    $CustIDNotTested = false;
                }
            }

            if (mysqli_stmt_execute($stmt)) {
                // Redirect to login page
                $sql = "INSERT INTO addresses (Customer_ID, House_Number, Street_Name, City, PostCode) VALUES (?,?,?,?,?)";
                if ($stmt = mysqli_prepare($link, $sql)) {
                    mysqli_stmt_bind_param($stmt, "sssss", $custID, $houseN, $street, $city, $postC);
                    if (mysqli_stmt_execute($stmt)) {
                        header("location: ../customer");
                    } else {
                        echo "Something went wrong. Please try again later.";
                    }

                } 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>

<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 customer</h1>
                    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
                        <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 customer">
                        </div>
                    </form>

                </main>
            </div>
        </div>


    </div>
    <?php include "../Templates/Footer.php"; ?>

</div>

</body>
</html>
