$(document).ready(function(){ var handle = $("#slider-time"); $("#slider").slider({ min: 300, max: 960, step: 15, value: 360, create: function() { handle.text("06:00"); }, slide: function( event, ui ) { var h = ("0"+Math.floor(ui.value / 60)).slice(-2); var m = ("0"+Math.floor(ui.value % 60)).slice(-2); handle.text(h+":"+m); }, stop: function( event, ui ) { updateTable(); } }); $('.datepicker').datepicker({ dateFormat: 'MM dd, yy', altFormat: 'yymmdd', minDate: '0', maxDate: new Date(2024, 11, 31), defaultDate: '+1', autoSize: true }).each(function() { $(this).datepicker("option", "altField", $(this).next()); $(this).val("Choose a date"); }) .on("change", function(event, param) { var dateSelected = $('#datevalue').val(); $.ajax({ url: 'choice_populate-ajax.php', data: 'date='+dateSelected, cache: false, dataType: 'json', success: function (data) { $.each(data, function(index, value){ $('#counter-'+value.code).html(value.spaces); if(value.status!='A') $('#counter-'+value.code).removeClass('spacesA'); // Plus de places disponibles if(value.status!='B') $('#counter-'+value.code).removeClass('spacesB'); // Délai trop court if(value.status!='C') $('#counter-'+value.code).removeClass('spacesC'); // Pas assez de places if(value.status!='D') $('#counter-'+value.code).removeClass('spacesD'); // Ok if(value.status!='E') $('#counter-'+value.code).removeClass('spacesE'); // Date dépassée $('#counter-'+value.code).addClass('spaces'+value.status); switch(value.status) { case 'A': $('#comment-'+value.code).html("No spaces left"); break; case 'B': $('#comment-'+value.code).html("Too short delay to purchase
(less than 1 days)"); break; case 'C': $('#comment-'+value.code).html("Not enough spaces (at least 15 spaces needed)"); break; case 'D': $('#comment-'+value.code).html(''); break; case 'E': $('#comment-'+value.code).html("Date exceeded"); break; } $('#status-'+value.code).val(value.status); var tr = $('#comment-'+value.code).parents('tr'); if(value.status!='D') tr.addClass('ticket-na'); else tr.removeClass('ticket-na'); }); updateTable(); } }); }); updateTable(); }); function updateTable() { var dateSelected = $('#datevalue').val(); var timeSelected = $('#slider').slider('option', 'value'); $('.ticket').each(function(){ var tr = $(this); var code = tr.data('code'); var status = (dateSelected!='') ? $('#status-'+code).val() : 'D'; hour_min = tr.data('min'); if(status=='D') { if(timeSelected>hour_min) { tr.addClass('ticket-na'); $('#comment-'+code).html("Arrival to the site after the maximum hour"); } else { tr.removeClass('ticket-na'); if(dateSelected=='') $('#comment-'+code).html(""); else { var url = "/purchase-"+encode_url("s="+code+"&d="+dateSelected)+"#1"; $('#comment-'+code).html("Purchase the tickets"); } } } }); }