
$(document).ready(function () {
    // Mapping ville-site pour les salles de sport
    const villeSiteMapping = {
        'AGADIR': ['SALLE OMNISPORT'],
        'AL HOCEIMA': ['SALLE OMNISPORT AL HOCEIMA'],
        'BENGUERIR': ['SALLE OMNISPORT OMNISPORTS'],
        'CASABLANCA': ['SALLE COUVERTE MOHAMED V', 'Salle Couverte Ben M\'Sik'],
        'KELAAT ES SRAGHNA': ['SALLE COUVERTE'],
        'KENITRA': ['SALLE COUVERTE LA VILLE HAUTE'],
        'MARRAKECH': ['SALLE OMNISPORT M\'HAMID'],
        'RABAT': ['PALAIS DES SPORTS CSPMA', 'SALLE IBN YASSINE'],
        'SAFI': ['SALLE COUVERTE LAARISSA'],
        'TANGER': ['SALLE COUVERTE FUTSAL', 'ARENA HALL DE TANGER'],
        'TETOUAN': ['SALLE OMNISPORTS']
    };

    // Mapping inverse site-ville
    const siteVilleMapping = {
        'SALLE OMNISPORT': 'AGADIR',
        'SALLE OMNISPORT AL HOCEIMA': 'AL HOCEIMA',
        'SALLE OMNISPORT OMNISPORTS': 'BENGUERIR',
        'SALLE COUVERTE MOHAMED V': 'CASABLANCA',
        'Salle Couverte Ben M\'Sik': 'CASABLANCA',
        'SALLE COUVERTE': 'KELAAT ES SRAGHNA',
        'SALLE COUVERTE LA VILLE HAUTE': 'KENITRA',
        'SALLE OMNISPORT M\'HAMID': 'MARRAKECH',
        'PALAIS DES SPORTS CSPMA': 'RABAT',
        'SALLE IBN YASSINE': 'RABAT',
        'SALLE COUVERTE LAARISSA': 'SAFI',
        'SALLE COUVERTE FUTSAL': 'TANGER',
        'ARENA HALL DE TANGER': 'TANGER',
        'SALLE OMNISPORTS': 'TETOUAN'
    };

    let updating = false;

    // Fonction pour mettre à jour les options du site
    function updateSiteOptions(selectedVille) {
        const siteSelect = $('#site');
        siteSelect.empty();
        
        if (selectedVille && villeSiteMapping[selectedVille]) {
            siteSelect.append('<option value="">Sélectionnez un site</option>');
            villeSiteMapping[selectedVille].forEach(function(site) {
                siteSelect.append('<option value="' + site + '">' + site + '</option>');
            });
            
            // Sélectionner automatiquement si un seul site
            if (villeSiteMapping[selectedVille].length === 1) {
                siteSelect.val(villeSiteMapping[selectedVille][0]);
            }
        } else {
            siteSelect.append('<option value="">Sélectionnez d\'abord une ville</option>');
        }
    }

    // Quand la ville change, mettre à jour les sites
    $('#ville').on('change', function() {
        if (updating) return;
        const selectedVille = $(this).val();
        updateSiteOptions(selectedVille);
    });

    // Quand le site change, mettre à jour la ville
    $('#site').on('change', function() {
        if (updating) return;
        
        const selectedSite = $(this).val();
        if (selectedSite && siteVilleMapping[selectedSite]) {
            updating = true;
            $('#ville').val(siteVilleMapping[selectedSite]);
            updateSiteOptions(siteVilleMapping[selectedSite]);
            $('#site').val(selectedSite);
            updating = false;
        }
    });

    // Initialiser les options du site
    updateSiteOptions($('#ville').val());

    $('#inscription').validate({
        rules: {
            nom: { required: true },
            prenom: { required: true },
            telephone: {
                required: true,
                digits: true,
                minlength: 10,
            },
            email: {
                email: true,
            },
            ville: { required: true },
            site: { required: true },
        },
        messages: {
            nom: 'Champ obligatoire!',
            prenom: 'Champ obligatoire!',
            telephone: {
                required: 'Champ obligatoire!',
                digits: 'Téléphone incorrect!',
                minlength: 'Téléphone incorrect!',
            },
            email: {
                email: 'Email incorrect!',
            },
            ville: 'Champ obligatoire!',
            site: 'Champ obligatoire!',
        },
        submitHandler: function (form) {
            var $btn = $('.submit-btn');
            var $spinner = $btn.find('.spinner-border');
            var $label = $btn.find('.btn-label');

            $btn.prop('disabled', true);
            $spinner.removeClass('d-none');
            $label.text('Envoi...');

            form.submit();
        },
    });
});

    