<script>
    jQuery.validator.addMethod("notEqual", function(value, element, param) {
        return this.optional(element) || value.toLowerCase() != param;
    }, "Please specify a different (non-default) value");

    $('#afficher_mot_de_passe').on('change', function() {
        if (this.checked) {
            $('#nv_mot_de_passe_id').attr('type', 'text')
        } else {
            $('#nv_mot_de_passe_id').attr('type', 'password')
        }
    })

    var user_slug = "";

    function get_user_slug(slug) {
        user_slug = slug;
    }

    $('#btn_reinitialiser').on('click', function() {
        $('#form_reinitialiser').validate({
            rules: {
                nv_mot_de_passe: {
                    required: true,
                    minlength: 8,
                    notEqual: "{{ env('DEFAULT_PASSWORD') }}"
                },
                nv_mot_de_passe_confirm: {
                    required: true,
                    equalTo: '#nv_mot_de_passe_id',
                },
            },
            messages: {
                nv_mot_de_passe: {
                    required: "Le mot de passe est obligatoire !",
                    minlength: "Le mot de passe doit faire au moins 8 caractères !",
                    notEqual: "Choisissez un autre mot de passe",
                },
                nv_mot_de_passe_confirm: {
                    required: "La confirmation du mot de passe est obligatoire !",
                    equalTo: "Les deux mots de passe ne correspondent pas !",
                },
            },
            submitHandler: function() {
                $.ajaxSetup({
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    }
                });

                $.ajax({
                    url: "/upschool/reinitialisationMotDePasse/" + user_slug,
                    type: "POST",
                    dataType: 'json',
                    beforeSend: function() {
                        $('#loader').removeClass('is-hidden')
                        $('*').css('pointer-events', 'none')
                    },
                    complete: function() { // Set our complete callback, adding the .hidden class and hiding the spinner.
                        $('#loader').addClass('is-hidden')
                        $('*').css('pointer-events', 'all')
                    },
                    data: {
                        nv_mot_de_passe: $('#nv_mot_de_passe_id').val(),
                        user_slug: user_slug,
                    },
                    success: function(response) {
                        if (response == true) {
                            window.location.replace('/');
                        }
                    },
                    error: function(response) {
                        console.log(response);
                    }
                });
            }
        });
    });
</script>
