<script>
    //Fonction pour le panel tab
    function openContent(evt, contentId) {

        var i, tabcontent, tablinks;


        tabcontent = document.getElementsByClassName("contenu-block");

        for (i = 0; i < tabcontent.length; i++) {
            tabcontent[i].style.display = "none";
            //console.log(tabcontent[i])
        }


        tablinks = document.getElementsByClassName("tab");
        for (i = 0; i < tablinks.length; i++) {
            tablinks[i].className = tablinks[i].className.replace("is-active", "");
            //console.log(tablinks[i])
        }


        document.getElementById(contentId).style.display = "flex";
        if (evt == null) {
            document.getElementById('default').className += " is-active";
        } else {
            evt.currentTarget.className += " is-active";
        }

    }
    openContent(event, 'tout');

    //Hide classe
    $('#niveau_prof_id').change(() => {
        if ($('#niveau_prof_id option:selected').val() == 'Primaire') {
            $('.classe_prof_primaire').removeClass('is-hidden');
            if (!$('.classe_prof_secondaire').hasClass('is-hidden')) {
                $('.classe_prof_secondaire').addClass('is-hidden');
            }
        } else {
            $('.classe_prof_secondaire').removeClass('is-hidden');
            if (!$('.classe_prof_primaire').hasClass('is-hidden')) {
                $('.classe_prof_primaire').addClass('is-hidden');
            }
        }
    });

    //Hide matiere
    $('#niveau_prof_id').change(() => {
        if ($('#niveau_prof_id option:selected').val() == 'Primaire') {
            $('.matiere_prof_primaire').removeClass('is-hidden');
            if (!$('.matiere_prof_secondaire').hasClass('is-hidden')) {
                $('.matiere_prof_secondaire').addClass('is-hidden');
            }
        } else {
            $('.matiere_prof_secondaire').removeClass('is-hidden');
            if (!$('.matiere_prof_primaire').hasClass('is-hidden')) {
                $('.matiere_prof_primaire').addClass('is-hidden');
            }
        }
    });

    //Add classes
    let lesClasses = [];
    $(document).ready(function() {
        $('.classe_prof').change(function() {
            if ($(this).prop("checked") == true) {
                lesClasses.push($(this).val());
            } else if ($(this).prop("checked") == false) {
                lesClasses = lesClasses.filter(uneClasse => uneClasse !== $(this).val())
            }
        });
    });

    //Add matieres
    let lesMatieres = [];
    $(document).ready(function() {
        $('.matiere_prof').change(function() {
            if ($(this).prop("checked") == true) {
                lesMatieres.push($(this).val());
            } else if ($(this).prop("checked") == false) {
                lesMatieres = lesMatieres.filter(uneMatiere => uneMatiere !== $(this).val())
            }
        });
    });

    //Ajout professeur
    $('#btn_submit_form_ajouter_prof').on('click', function() {
        $('#form_ajouter_prof').validate({
            rules: {
                nom_prof: {
                    required: true,
                },
                prenom_prof: {
                    required: true,
                },
                date_naissance_prof: {
                    required: true,
                },
                lieu_naissance_prof: {
                    required: true,
                },
                adresse_prof: {
                    required: true,
                },
                telephone_prof: {
                    required: true,
                },
                email_prof: {
                    required: false,
                },
                niveau_prof: {
                    required: true,
                },
                salaire_prof: {
                    required: false,
                },
            },
            messages: {
                nom_prof: {
                    required: "Le nom est obligatoire!",
                },
                prenom_prof: {
                    required: "Le prénom est obligatoire!",
                },
                date_naissance_prof: {
                    required: "La date de naissance est obligatoire!",
                },
                lieu_naissance_prof: {
                    required: "Le lieu de naissance est obligatoire!",
                },
                adresse_prof: {
                    required: "L'adresse est obligatoire!",
                },
                telephone_prof: {
                    required: "Le numéro de téléphone est obligatoire!",
                },
                niveau_prof: {
                    required: "Le niveau est obligatoire!",
                },
                salaire_prof: {
                    required: "Le salaire est obligatoire!",
                },
            },
            submitHandler: function() {
                $.ajaxSetup({
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    }
                });

                $.ajax({
                    url: "/accueil/professeurs/ajouterProf",
                    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: {
                        nom: $('#nom_prof_id').val(),
                        prenom: $('#prenom_prof_id').val(),
                        date_naissance: $('#date_naissance_prof_id').val(),
                        lieu_naissance: $('#lieu_naissance_prof_id').val(),
                        adresse: $('#adresse_prof_id').val(),
                        telephone: $('#telephone_prof_id').val(),
                        email: $('#email_prof_id').val(),
                        niveau: $('#niveau_prof_id').val(),
                        salaire: Number($('#salaire_prof_id').val().replace(/\s/g, '')),
                        lesMatieres: lesMatieres,
                        lesClasses: lesClasses,
                    },
                    success: function(response) {
                        if (response == true) {
                            window.location.replace('/accueil/professeurs');
                        }
                    },
                    error: function(response) {
                        console.log(response);
                    }
                });
            }
        });
    });

    var cleave = new Cleave('#telephone_prof_id', {
        phone: true,
        phoneRegionCode: 'SN'
    });

    var cleave = new Cleave('#salaire_prof_id', {
        delimiter: ' ',
        numeral: true,
        numeralThousandsGroupStyle: 'thousand'
    });
</script>
