<!DOCTYPE html>
<html lang="en-ie">
<head>
    <meta charset="UTF-8" />
    <title>Modify user</title>
    <link rel="icon" type="image/png" href="images/favicon/favicon-16x16.png" />
</head>
<body>
<form id="reset">
    <label for="user">Username</label>
    <input type="text" id="user" name="user" /> <br />
    <label for="pass">Password</label>
    <input type="password" id="pass" name="pass" /> <br />
    <label for="field">Field</label>
    <select id="field">
        <option value="" selected="selected">Please select an option</option>
        <option value="email">Email</option>
    </select>
    <br />
    <label for="value">Value</label>
    <input type="text" id="value" name="value" /> <br />
    <input type="Submit" value="Submit" />
</form>
<p id="formStatus"></p>
<footer>
    UL Computer Society 2023-<span id="year">2023</span>
</footer>
<script>
    const formEl = document.getElementById("reset");
    formEl.addEventListener('submit', (listener) => formHandler(listener));

    function formHandler(listener){
        listener.preventDefault();
        const formData = new FormData(formEl);
        const user = formData.get("user");
        const pass = formData.get("pass");
        const newEmail = formData.get("value");
        const object = {user: user, pass: pass, field: "mail", value: newEmail}
        fetch('https://api.sso.skynet.ie/ldap/update', {
            method: 'POST',
            body: JSON.stringify(object)
        }).then(res => {
            if(res.status === 200) {
                document.getElementById('formStatus').innerHTML = "<span style='background-color: green; color: white'>Success</span>";
            } else if (res.status === 500){
                document.getElementById('formStatus').innerHTML = "<span style='background-color: red; color: white'>Failure</span>";
            } else {
                document.getElementById('formStatus').innerHTML = "<span style='background-color: red; color: white'>Failure: Failed to communicate to server</span>";
            }
        }).catch(() => document.getElementById('formStatus').innerHTML = "<span style='background-color: yellow; color: black'>Please try again</span>");
    }
</script>
</body>
<script>
    document.getElementById('year').textContent = new Date().getFullYear().toString();
</script>
</html>