Déposer vos photos

$(document).ready(function() { $("#inscription_index").hide(); /* // Au clic sur un bouton de la barre de navigation $('nav ul li a').on('click', function(e) { e.preventDefault(); // Ajoute la classe active au bouton cliqué $('nav ul li a').removeClass('active'); $(this).addClass('active'); if ($(this).data('info')=="logout"){ window.location.href = "admin.login.php"; return; } if ($(this).data('info')=="inscrit"){ window.location.href = "inscriptionProvenJeep.php"; return; } // Scroll jusqu'à la section correspondante var target = $(this.hash); $('html, body').animate({scrollTop: target.offset().top}, 1000); }); */ const checkboxVehicle = $('#checkbox-vehicle'); const fieldsetVehicle = $('#fieldset-vehicle'); // Écouteur d'événement pour la case à cocher checkboxVehicle.on('change', function() { if (this.checked) { // Si la case est cochée, masquer le fieldset fieldsetVehicle.hide(); $('#montant_jeep').val(0); const inputFields = fieldsetVehicle.find('input, select, textarea'); // Suppression de l'attribut "required" de chaque champ de saisie inputFields.removeAttr('required'); updateTotal(); } else { // Si la case n'est pas cochée, afficher le fieldset fieldsetVehicle.show(); $('#montant_jeep').val(35); updateTotal(); } }); let mybutton = $("#myBtn"); mybutton.hide(); // When the user scrolls down 20px from the top of the document, show the button $(window).scroll(function() { if ($(this).scrollTop() > 50) { mybutton.show(); } else { mybutton.hide(); } }); // When the user clicks on the button, scroll to the top of the document mybutton.click(function() { $("html, body").animate({ scrollTop: 0 }, "slow"); return false; }); /************************************************************************************************************************/ // Validation du formulaire function test_saisie() { const requiredFields = ['#nom', '#prenom', '#adresse', '#cp', '#ville']; const emptyFields = []; requiredFields.forEach(field => { if ($(field).val() === '') { emptyFields.push(field); } }); if ( (emptyFields.length > 0) || !$('#conditions').prop('checked') ) { let message = 'Veuillez remplir tous les champs obligatoires'; if (emptyFields.length > 0) { message += ' : ' + emptyFields.join(', '); } if (!$('#conditions').prop('checked')) { message += ' et accepter les conditions générales'; } alert(message + '.'); return false; }else { return true; } } const PRIX = { samedi_adulte: 30, samedi_enfant: 18, dimanche: 15, goodies: 10, inscription: 35 }; function calculTotalRepas() { const qSamediAdulte = parseInt($('#samedi_soir_adulte').val()) || 0; const qSamediEnfant = parseInt($('#samedi_soir_enfant').val()) || 0; const qDimanche = parseInt($('#dimanche_midi').val()) || 0; const totalSamediAdulte = qSamediAdulte * PRIX.samedi_adulte; const totalSamediEnfant = qSamediEnfant * PRIX.samedi_enfant; const totalDimanche = qDimanche * PRIX.dimanche; $('#total_samedi_adulte').text(totalSamediAdulte + ' €'); $('#total_samedi_enfant').text(totalSamediEnfant + ' €'); $('#total_dimanche_midi').text(totalDimanche + ' €'); const totalRepas = totalSamediAdulte + totalSamediEnfant + totalDimanche; $('#total_repas').text(totalRepas + ' €'); return totalRepas; } function calculTotalGoodies() { const qGoodies = parseInt($('#goodies').val()) || 0; const totalGoodies = qGoodies * PRIX.goodies; $('#total_goodies').text(totalGoodies + ' €'); return totalGoodies; } function updateTotalInscription() { const totalRepas = calculTotalRepas(); const totalGoodies = calculTotalGoodies(); const totalInscription = PRIX.inscription; console.log(totalGoodies) const totalRepasGoodies = totalRepas + totalGoodies; console.log(totalRepasGoodies); const totalFinal = totalRepas + totalGoodies + totalInscription; $('#total_inscription').text(totalFinal + ' €'); $('#total_repas_goodies').text(totalRepasGoodies + ' €'); // Si tu envoies le montant au serveur $('#montant_form').val(totalFinal); } $('#samedi_soir_adulte, #samedi_soir_enfant, #dimanche_midi, #goodies') .on('input change', function () { updateTotalInscription(); }); $("#myForm").submit(function(e) { e.preventDefault(); if (test_saisie()){ var my_data = $(this).serialize(); $.ajax({ type: "POST", url: $('#myForm').attr('action'), data: $(this).serialize(), dataType: 'json', success: function(response) { // Récupérer l'élément form et le message de confirmation console.log(response.status); if (response.status=='success') { // Réinitialiser le formulaire $("#myForm")[0].reset(); //const form = $('#monFormulaire'); my_message = "

Merci, votre bulletin d'inscription a été envoyé avec succès.
"; my_message += "Vous recevrez sous peu un e-mail pour confirmer votre adresse e-mail.
"; my_message += "Un second e-mail suivra avec les coordonnées bancaires pour le règlement de l'inscription par virement.
"; my_message += "Contrôler les spam / courriers indésirables de votre messagerie.

"; const messageConfirmation = $(my_message); // Cacher le formulaire et afficher le message de confirmation $("#myForm").hide().after(messageConfirmation); } else if (response.status=='error'){ //alert("error "+response.status); $(".form-messages").text("Une erreur est survenue lors de l'enregistrement de votre inscription. Veuillez réessayer."); } else if (response.status=='existe'){ //alert("error "+response.status); $(".form-messages").text(response.message); } else if (response.status=='captcha'){ //alert("captcha "+response.status); $(".form-messages").text("Le Captcha que vous avez saisi est incorrect. Veuillez réessayer."); } else { //alert("erreur autre "+response.status); $(".form-messages").text("Une erreur est survenue. Veuillez réessayer."); } }, error: function(xhr, status, error) { alert("Une erreur est survenue : " + error); } }); } }); /************************************************************************************************************************************ POPUP CONTACT *************************************************************************************************************************************/ var $openPopup = $('#open-popup'); var $closePopup = $('.popup-close-button'); var $popup = $('.popup'); var $overlay = $('.overlay'); $("#reglement").on('click', function() { $(".reglement").show(); $overlay.show(); }); $(".reglement-close-button").on('click', function() { $(".reglement").hide(); $overlay.hide(); }); $('#contact-form').submit(function(e) { e.preventDefault(); $.ajax({ url: $(this).attr('action'), type: 'POST', data: $(this).serialize(), dataType: 'json', success: function(response) { if (response.status=='success'){ $('#popup-messages').html('

' + response.message + '

'); $('#contact-form')[0].reset(); $popup.hide(); $overlay.hide(); } else if (response.status=='captcha'){ $('#popup-messages').html('

' + response.message + '

'); } }, error: function(response) { $('#popup-messages').html('

' + response.responseJSON.message + '

'); } }); }); $openPopup.on('click', function() { $popup.show(); $overlay.show(); }); $closePopup.on('click', function() { $popup.hide(); $overlay.hide(); }); $overlay.on('click', function() { $popup.hide(); $(".reglement").hide(); $overlay.hide(); }); /******************************************************************************************************************************* GESTION DES COOCKIES ********************************************************************************************************************************/ function checkCookie() { if (document.cookie.indexOf('provenjeep=true') !== -1) { // Le cookie d'acceptation existe, cacher la bannière $('#cookie-consent').hide(); } } // Fonction pour définir le cookie d'acceptation function setCookie(name, value, days) { var expires = ''; if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = '; expires=' + date.toUTCString(); } document.cookie = name + '=' + (value || '') + expires + '; path=/'; } // Vérifier le cookie d'acceptation lors du chargement de la page checkCookie(); // Ajouter un événement de clic au bouton d'acceptation des cookies $('#accept-cookies').click(function() { // Définir le cookie d'acceptation pour 30 jours setCookie('provenjeep', 'true', 30); // Cacher la bannière $('#cookie-consent').hide(); }); }); $(document).ready(function () { let allFiles = []; // Store all selected files let totalUploaded = 0; allFiles = []; $('#preview-container').empty(); $('#fileToUpload').on('change', function(e) { const files = e.target.files; for (let i = 0; i < files.length; i++) { if (files[i].size > 5000000) { Swal.fire('Erreur', files[i].name + ' dépasse 5 Mo', 'error'); continue; } allFiles.push(files[i]); } updatePreview(); }); $('#upload-container').on('dragover', function (e) { e.preventDefault(); e.stopPropagation(); $(this).addClass('dragging'); }); $('#upload-container').on('dragleave', function (e) { e.preventDefault(); e.stopPropagation(); $(this).removeClass('dragging'); }); $('#upload-container').on('drop', function (e) { e.preventDefault(); e.stopPropagation(); $(this).removeClass('dragging'); const files = e.originalEvent.dataTransfer.files; for (let i = 0; i < files.length; i++) { allFiles.push(files[i]); // Add new files to allFiles array } updatePreview(); }); function updatePreview() { $('#preview-container').empty(); for (let i = 0; i < allFiles.length; i++) { let reader = new FileReader(); reader.onload = function (e) { $('#preview-container').append( '
' + 'Preview' + '' + '
' ); } reader.readAsDataURL(allFiles[i]); } // Add click event for remove buttons $('.remove-button').off('click').on('click', function () { const index = $(this).data('index'); allFiles.splice(index, 1); updatePreview(); }); // Update the file input with the new FileList const dataTransfer = new DataTransfer(); allFiles.forEach(file => dataTransfer.items.add(file)); $('#fileToUpload')[0].files = dataTransfer.files; } $('#upload-form').on('submit', function (e) { e.preventDefault(); if (allFiles.length > 0) { totalUploaded = 0; showLoadingOverlay(); uploadInChunks(allFiles); } }); function uploadInChunks(files) { let chunkSize = 20; let index = 0; let totalFiles = files.length; function uploadNextChunk() { if (index < files.length) { let chunk = files.slice(index, index + chunkSize); index += chunkSize; let formData = new FormData(); formData.append('csrf_token', $('input[name="csrf_token"]').val()); for (let i = 0; i < chunk.length; i++) { formData.append('fileToUpload[]', chunk[i]); } $.ajax({ url: 'upload.php', type: 'POST', data: formData, processData: false, contentType: false, success: function (response) { if (response.messages) { totalUploaded += chunk.length; let percentage = (totalUploaded / totalFiles) * 100; updateLoadingBar(percentage); if (index < files.length) { uploadNextChunk(); } else { hideLoadingOverlay(); Swal.fire({ title: 'Upload terminé', html: totalUploaded + ' image(s) téléchargée(s) avec succès.', icon: 'info', confirmButtonText: 'OK' }).then(() => { location.reload(); }); } } else { hideLoadingOverlay(); Swal.fire({ title: 'Erreur', text: 'Réponse du serveur non valide.', icon: 'error', confirmButtonText: 'OK' }); } }, error: function () { hideLoadingOverlay(); Swal.fire({ title: 'Erreur', text: 'Une erreur est survenue lors de l\'upload.', icon: 'error', confirmButtonText: 'OK' }); } }); } } uploadNextChunk(); } // Affiche les messages à l'utilisateur if (typeof messages !== 'undefined' && messages.length > 0) { Swal.fire({ title: 'Résultat de l\'upload', html: messages.join('
'), icon: 'info', confirmButtonText: 'OK' }); } // Lightbox functionality const images = $('.gallery img'); const lightbox = $('#lightbox'); const lightboxImg = $('#lightbox img'); const leftArrow = $('.arrow.left'); const rightArrow = $('.arrow.right'); let currentIndex; function showLightbox(index) { currentIndex = index; const imgSrc = images.eq(index).attr('data-large'); lightboxImg.attr('src', imgSrc); lightbox.fadeIn(); } function hideLightbox() { lightbox.fadeOut(); } function showNext() { currentIndex = (currentIndex + 1) % images.length; showLightbox(currentIndex); } function showPrev() { currentIndex = (currentIndex - 1 + images.length) % images.length; showLightbox(currentIndex); } function showLoadingOverlay() { $('#loading-overlay').show(); $('#loading-bar').css('width', '0%'); } function updateLoadingBar(percentage) { $('#loading-bar').css('width', percentage + '%'); } function hideLoadingOverlay() { $('#loading-overlay').hide(); } images.on('click', function () { const index = images.index(this); showLightbox(index); }); lightbox.on('click', function (e) { if (e.target !== lightboxImg[0] && !$(e.target).hasClass('arrow')) { hideLightbox(); } }); rightArrow.on('click', function () { showNext(); }); leftArrow.on('click', function () { showPrev(); }); $(document).on('keydown', function (e) { if (lightbox.is(':visible')) { if (e.key === 'ArrowRight') { showNext(); } else if (e.key === 'ArrowLeft') { showPrev(); } else if (e.key === 'Escape') { hideLightbox(); } } }); });