<h1>Sign up for
    <?php echo $SERVICE_NAME;?>
</h1>

<form class="needs-validation" novalidate action="" method="POST">
    <!-- Username input -->
    <div class="form-outline mb-3">
        <label class="form-label font-weight-bold" for="form3Example3">Username*</label>
        <input pattern="[^\s]{<?php echo $VAL_USER->min_username.','.$VAL_USER->max_username;?>}" required
            title="At least 5 not whitespace characters" name="username" type="text" id="form3Example0"
            class="form-control <?php if(isset($error) && $error && !isset($_POST['username'])){echo 'border-danger';}?>"
            placeholder="johndoe"
            value="<?php echo isset($_POST['username']) ? htmlspecialchars($_POST['username']) : '' ?>" />
        <div class="invalid-feedback">
            Please choose a username with at least 5 not whitespace characters.
        </div>
    </div>
    <!-- 2 column grid layout with text inputs for the first and last names -->
    <div class="row mb-3">
        <div class="col">
            <div class="form-outline">
                <label class="form-label font-weight-bold" for="form3Example1">First name*</label>
                <input pattern="[^\s]{<?php echo $VAL_USER->min_first_name.','.$VAL_USER->max_first_name;?>}" required
                    title="At least 2 not whitespace characters" name="name" type="text" id="form3Example1"
                    class="form-control <?php if(isset($error) && $error && !isset($_POST['name'])){echo 'border-danger';}?>"
                    placeholder="John"
                    value="<?php echo isset($_POST['name']) ? htmlspecialchars($_POST['name']) : '' ?>" />
                <div class="invalid-feedback">
                        Please provide a first name with at least 2 characters.
                </div>
            </div>
        </div>
        <div class="col">
            <div class="form-outline">
                <label class="form-label font-weight-bold" for="form3Example2">Last name*</label>
                <input pattern="[^\s]{<?php echo $VAL_USER->min_last_name.','.$VAL_USER->max_last_name;?>}" required
                    title="At least 2 not whitespace characters" name="last_name" type="text" id="form3Example2"
                    class="form-control <?php if(isset($error) && $error && !isset($_POST['last_name'])){echo 'border-danger';}?>"
                    placeholder="Doe"
                    value="<?php echo isset($_POST['last_name']) ? htmlspecialchars($_POST['last_name']) : '' ?>" />
                <div class="invalid-feedback">
                   Please provide a last name with at least 2 characters.
                </div>
            </div>
        </div>
    </div>

    <!-- Email input -->
    <div class="form-outline mb-3">
        <label class="form-label font-weight-bold" for="form3Example3">Email address*</label>
        <input required name="email" type="email" id="form3Example3"
            class="form-control <?php if(isset($error) && $error && !isset($_POST['email'])){echo 'border-danger';}?>"
            placeholder="myemail@example.com"
            value="<?php echo isset($_POST['email']) ? htmlspecialchars($_POST['email']) : '' ?>" />
            <div class="invalid-feedback">
                Please provide a valid email address.
            </div>
    </div>

    <!-- Password input -->
    <div id="password-div" class="form-outline mb-3">
        <label class="form-label font-weight-bold" for="pw1">Password*</label>
        <input required
            title="Combination of upper and lowercase letters, numbers, punctuation, and special symbols" name="password" type="password" id="pw1"
            class="form-control"
            placeholder="********"  oninput="check_password_match()"
            value="<?php echo isset($_POST['password']) ? htmlspecialchars($_POST['password']) : '' ?>" />
        <div class="progress mt-2">
            <div class="progress-bar bg-danger" role="progressbar" id="pwqbar" aria-valuenow="0" aria-valuemin="0"
                aria-valuemax="100"></div>
        </div>
        <input class="form-control" type="text" name="pwqinfo" id="pwqinfo" readonly>
    </div>
    <!--
    <div class="form-group">
        <label for="pwqinfo">Password rating</label>
        <input class="form-control" type="text" name="pwqinfo" id="pwqinfo" readonly>
        <div class="progress mt-2">
            <div class="progress-bar bg-danger" role="progressbar" id="pwqbar2" aria-valuenow="0" aria-valuemin="0"
                aria-valuemax="100"></div>
        </div>
    </div>
    -->
    <!-- Password confirmation input -->
    <div id="pwconfirm" class="form-outline mb-3">
        <label class="form-label font-weight-bold" for="pw2">Confirm your Password*</label>
        <input  required
            name="password_confirm" type="password" id="pw2"
            class="form-control <?php if(isset($error) && $error && !isset($_POST['password_confirm'])){echo 'border-danger';}?>"
            placeholder="********" oninput="check_password_match()" />
            <div class="invalid-feedback">
                Passwords do not match.
            </div>
    </div> 
    <hr class="mt-2 mb-3" />
    <div class="form-outline mb-3">
        <label class="form-label font-weight-bold" for="eula">End User License Agreement*</label>
        <div class="form-group form-check">
            <input type="checkbox" class="form-check-input" id="eula" required
                title="You need to agree to the EULA in order to proceed">
            <label class="form-check-label" for="eula">I have read and agree to to the
                <?php echo $SERVICE_NAME; ?> <a
                    href="https://www2.ids-mannheim.de/cosmas2/projekt/register/license_agreement.html">End User License
                    Agreement</a> and will use
                <?php echo $SERVICE_NAME; ?> only for academic and non-commercial purposes.
            </label>
            <div class="invalid-feedback">
                You need to agree to the EULA in order to proceed.
            </div>
        </div>
    </div>
    <hr class="mt-2 mb-3" />
    <div class="form-outline mb-3">
        <label class="form-label font-weight-bold" for="privacy_policy">Privacy Policy*</label>
        <div class="form-group form-check">
            <input type="checkbox" class="form-check-input" name="privacy_policy" id="privacy_policy" required
                title="You need to agree to the privacy policy in order to proceed">
            <label class="form-check-label" for="privacy_policy">I have read and agree
                to to the
                <?php echo $SERVICE_NAME; ?> <a
                    href="https://www2.ids-mannheim.de/cosmas2/web-app/datenschutz.html">Privacy Policy</a>.
            </label>
            <div class="invalid-feedback">
                You need to agree to the privacy policy in order to proceed.
            </div>
        </div>
    </div>

    <hr class="mt-2 mb-3" />
    <!--captcha here-->
    <div class="form-outline mb-3">

        <label class="form-label font-weight-bold" for="form3Example4">Captcha:</label>
        <div class="container mb-2 offset-md-2">
            <img id="captcha" src="<?php echo $BASE_URL.'/captcha.php?token='.$_SESSION['captcha_token']; ?>" />
            <div id="reload_captcha">
                <button id="reload" class="btn btn-outline-info" type="button"> <span
                        class="glyphicon glyphicon-refresh" aria-hidden="true"></span></button>
            </div>
        </div>
        <input pattern="[^\s]{<?php echo $CAPTCHA_LENGTH; ?>,}" required
            title="Please fill the captcha. It has 5 characters" name="captcha" type="text" id="form3Example6"
            class="form-control" placeholder="Type what you see on the image above" />
    </div>

    <!-- Submit button -->
    <button name="type" value="register" type="submit" class="btn btn-primary float-right btn-md">Sign up</button>

</form>
</div>
