jQuery(document).ready(function () {
    closeModalSpinner();

    $('#HdnLogoImgTopPosition').val(parseInt($(".university-logo-container").position().top));
});

const selfRegistrationValidationCheck = () => {
    $(".needs-validation")
        .find("input")
        .on("input", function () {
            /* check validity and change class */
            $(this).removeClass("is-valid is-invalid");

            if ($(this).attr("id") == "FirstName") {
                if (this.value.trim().length === 0) {
                    $(this).addClass("is-invalid");
                    $("#FirstNameInvalidError").css("display", "none");
                    $("#FirstNameEmptyError").css("display", "block");

                }
                else if (!(this.checkValidity() && isAsciiCompatible(this.value))) {
                    $(this).addClass("is-invalid");
                    $("#FirstNameEmptyError").css("display", "none");
                    $("#FirstNameInvalidError").css("display", "block");
                }
                else {
                    $(this).addClass("is-valid");
                    $("#FirstNameEmptyError").css("display", "none");
                    $("#FirstNameInvalidError").css("display", "none");
                }
            }
            else if ($(this).attr("id") == "Email") {
                if (this.value.trim().length === 0) {
                    $(this).addClass("is-invalid");
                    $("#EmailInvalidError").css("display", "none");
                    $("#EmailEmptyError").css("display", "block");
                }
                else if (!(this.checkValidity() && isAsciiCompatible(this.value))) {
                    $(this).addClass("is-invalid");
                    $("#EmailEmptyError").css("display", "none");
                    $("#EmailInvalidError").css("display", "block");
                }
                else {
                    $(this).addClass("is-valid");
                    $("#EmailEmptyError").css("display", "none");
                    $("#EmailInvalidError").css("display", "none");
                }
            }
            else if ($(this).attr("id") == "EmailOrPhone") {
                if (this.value.trim().length === 0) {
                    $(this).addClass("is-invalid");
                    $("#EmailOrPhoneInvalidError").css("display", "none");
                    $("#EmailOrPhoneEmptyError").css("display", "block");

                }
                else if (!(this.checkValidity() && isAsciiCompatible(this.value))) {
                    $(this).addClass("is-invalid");
                    $("#EmailOrPhoneEmptyError").css("display", "none");
                    $("#EmailOrPhoneInvalidError").css("display", "block");
                }
                else {
                    $(this).addClass("is-valid");
                    $("#EmailOrPhoneEmptyError").css("display", "none");
                    $("#EmailOrPhoneInvalidError").css("display", "none");
                }
            }
            else if ($(this).attr("id") == "Birthday") {
                if (this.value.trim().length === 0) {
                    $(this).addClass("is-invalid");
                    $("#BirthdayInvalidError").css("display", "none");
                    $("#BirthdayEmptyError").css("display", "block");
                }
                else if (this.value < parseInt($(this).attr("min")) || !(this.checkValidity() && isAsciiCompatible(this.value))) {
                    $(this).addClass("is-invalid");
                    $("#BirthdayEmptyError").css("display", "none");
                    $("#BirthdayInvalidError").css("display", "block");
                }
                else {
                    $(this).addClass("is-valid");
                    $("#BirthdayEmptyError").css("display", "none");
                    $("#BirthdayInvalidError").css("display", "none");
                }
            }
            else {
                $(this).addClass(
                    this.checkValidity() &&
                        isAsciiCompatible(this.value) &&
                        this.value.trim().length > 0
                        ? "is-valid"
                        : "is-invalid"
                );
            }

        });
}