jQuery(document).ready(function($) {
jQuery('.clickdate').off('click');
jQuery('.clickdate').click(function(event) {
event.preventDefault();
jQuery('.selcal').removeClass('selcal');
jQuery(this).addClass('selcal');
jQuery('.input_reservation').val($(this).data('dt'));
jQuery( '.inpdate' ).trigger('change');
if(jQuery('.button_service_sub').length == 1) jQuery('.button_service_sub').trigger('click');
jQuery('.selnbradulte').focus();
if(jQuery('.block_reservation').length) {
var scrollPosition = jQuery('.block_reservation').offset().top - 50;
if(scrollPosition > 1000) {
jQuery('html, body').animate({
scrollTop: jQuery('.block_reservation').offset().top-50
}, 800, function() {
// Mettre le focus sur l'élément une fois le défilement terminé
jQuery('.selnbradulte').focus();
});
}
}
});
setTimeout(function() {
initcalmove();
}, 500);
});
function initcalmove() {
jQuery('.cal-month-select').off('change');
jQuery('.cal-month-select').on('change', function () {
let val = jQuery(this).val();
let parts = val.split('-');
let m = parts[0];
let a = parts[1];
let idi = jQuery(this).data('id');
let url = "/en/reservation-en-ligne-terrain-de-camping-1530-pret-camper-toolbox/?item=P33877&m=" + m + "&a=" + a;
url = url + "&vplan=1&hide=1&seldate=" + jQuery('.input_reservation').val() + "&ajax=1&getcal=1";
jQuery('#loca_calendar33877').html('');
jQuery.ajax({
url: url
})
.done(function (data) {
jQuery('#loca_calendar' + idi).html(data);
initcalmove(); // pour les flèches existantes
});
});
jQuery('.calmove').off('click');
jQuery('.calmove').click(function(event) {
event.preventDefault();
var url = jQuery(this).attr('href');
jQuery('#loca_calendar33877').html('');
url = url + '&vplan=1&item=P33877&hide=1&seldate='+jQuery('.input_reservation').val()+'&ajax=1&getcal=1';
jQuery.ajax({
url: url
})
.done(function( data ) {
jQuery('#loca_calendar33877').html(data);
initcalmove();
});
});
}
Date
Date in red are non availlable. (Complete)
Person quantity
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100(18 years +)
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100(Between 3 and 17 years old)
function initir949863() {
var inpdate = jQuery('#dtdebut949863').val();
jQuery( ".selnbrpers949863" ).off('change').change(function() {
updatedeparts949863();
});
var seldt = '';
jQuery( "#dtdebut949863" ).off('change').change(function() {
if($(this).val() != seldt) {
seldt = $(this).val();
if($(this).val() != '') updatedeparts949863();
}
});
}
initir949863();
jQuery( document ).ready(function() {
jQuery('#dtdebut949863').val('');
//updatedeparts949863();
});
function updatedeparts949863() {
console.log('updatedepart');
var sum = 0;
var param = '';
jQuery('.selnbrpers949863').each(function(){
var name = jQuery(this).attr('name'); // Récupère le nom de l'input
var value = jQuery(this).val(); // Récupère la valeur de l'input
if(value != '') {
sum += parseInt(value);
param += '&' + name + '=' + value; // Ajoute le nom et la valeur à la chaîne de paramètres
}
});
jQuery('#dtyper1949863').html('Loading ...');
jQuery.ajax({url:'/en/reservation-en-ligne-terrain-de-camping-1530-pret-camper-toolbox/?item=P33877&t=daily-access-to-the-site&&h&u&gdepart=1&vplan=1&nbrperstot='+sum+'&rnd=949863&idpac=33877&dtdebut='+jQuery('#dtdebut949863').val()+param})
.done(function(data){ jQuery('#dtyper1949863').html(data);
if(jQuery('.additional-services').length) initsub(); else { initbtn(); }
});
}
Select person quantity
var verifdate1949863 = function( currentDateTime,it){
var dt1 = currentDateTime.getFullYear()+'-'+("0" + (currentDateTime.getMonth() + 1)).slice(-2)+'-01';
jQuery('.xdsoft_calendar td').addClass('xdsoft_disabled');
var data = {
"dt": dt1,
"duree" : jQuery('.nbrnuit949863').val(),
"idpac": jQuery('#item949863').val(),
"qtp": jQuery('.selnbradulte949863').val(),
"qte": jQuery('.selnbrenfant949863').val(),
"qty": jQuery('.selnbrpenf949863').val(),
"qta": jQuery('.selnbraine949863').val(),
"qts": jQuery('.selnbretud949863').val(),
"qto": jQuery('.selnbrgenf949863').val()
};
var data1 = jQuery(this).serialize() + "&" + jQuery.param(data);
console.log("/en/reservation-en-ligne-terrain-de-camping-1530-pret-camper-toolbox/?item=P33877&t=daily-access-to-the-site&gd=1&vplan=1"+data1);
var j = jQuery.ajax({
type: "POST",
url: "/en/reservation-en-ligne-terrain-de-camping-1530-pret-camper-toolbox/?item=P33877&t=daily-access-to-the-site&gd=1&vplan=1"+data1,
data: data1,
success: function(data) {
it.setOptions({
disabledDates: data
});
}
});
j.fail(function( jqXHR, textStatus ) {
console.log(" /en/reservation-en-ligne-terrain-de-camping-1530-pret-camper-toolbox/?item=P33877&t=daily-access-to-the-site&gd=1&vplan=1"+data1);
});
};
let currentRequest949863 = null;
let debouncedFetchAvailability949863 = _.debounce(function(data, it) {
if (currentRequest949863) {
currentRequest949863.abort();
}
currentRequest949863 = jQuery.ajax({
type: "POST",
url: "/en/reservation-en-ligne-terrain-de-camping-1530-pret-camper-toolbox/?item=P33877&t=daily-access-to-the-site&gd=1&vplan=1"+'&'+data,
success: function(response) {
console.log(response);
it.setOptions({
disabledDates: response
});
},
complete: function() {
currentRequest949863 = null;
}
});
currentRequest949863.fail(function(jqXHR, textStatus) {
console.log("/en/reservation-en-ligne-terrain-de-camping-1530-pret-camper-toolbox/?item=P33877&t=daily-access-to-the-site&gd=1&vplan=1" + data);
});
}, 300); // 300 ms delay
var verifdate2 = function(currentDateTime, it, l) {
var dt1 = currentDateTime.getFullYear() + '-' + ("0" + (currentDateTime.getMonth() + 1)).slice(-2) + '-01';
jQuery('.xdsoft_calendar td').addClass('xdsoft_disabled');
var iditem = l[0].id;
var item = jQuery('#' + iditem).data('id');
var data = {
"dt": dt1,
"itemonly": 1,
"duree": 1,
"idpac": item,
"idi": item,
"qtp": jQuery('.selnbradulte').val(),
"qte": jQuery('.selnbrenfant').val(),
"qto": jQuery('.selnbrgenf').val(),
"qty": jQuery('.selnbrpenf').val(),
"qta": jQuery('.selnbraine').val(),
"qts": jQuery('.selnbretud').val()
};
var data1 = jQuery.param(data);
debouncedFetchAvailability949863(data1, it);
};
function pdate_ajax() {
jQuery('.xdsoft_date').off('click');
jQuery('.xdsoft_date').on('click', function(){
if(!jQuery(this).hasClass('xdsoft_disabled')) {
var month = jQuery(this).data('month')+1;
var date1 = jQuery(this).data('date');
if(month < 10) month = '0'+month;
if(date1 < 10) date1 = '0'+date1;
jQuery('#'+idi).val(jQuery(this).data('year')+'-'+month+'-'+date1);
jQuery('.xdsoft_datetimeinput_reservation').hide();
}
});
}
function pdatet(idi) {
jQuery('.xdsoft_date').off('click');
jQuery('.xdsoft_date').on('click', function(){
if(!jQuery(this).hasClass('xdsoft_disabled')) {
var month = jQuery(this).data('month')+1;
var date1 = jQuery(this).data('date');
if(month < 10) month = '0'+month;
if(date1 < 10) date1 = '0'+date1;
jQuery('#'+idi).val(jQuery(this).data('year')+'-'+month+'-'+date1);
jQuery('.xdsoft_datetimeinput_reservation').hide();
}
});
}
function pdate949863(idi){
jQuery('#'+idi).dtpicker({
lang:'en',
timepicker:false,
format:'Y-m-d',
scrollMonth : false,
scrollInput : false,
formatDate:'Y-m-d',
minDate:'-1970/01/01',
onShow: function (ct, l) {verifdate2(ct,this, l); pdatet(idi); },
onChangeMonth: function (ct, l) { verifdate2(ct,this, l); pdatet(idi); },
onChangeMonth:function( ct) {
verifdate1949863(ct,this);
},
onShow:function( ct ){
verifdate1949863(ct,this);
},
});
var seldt = '';
jQuery('#dtdebut949863').off('change');
jQuery('#dtdebut949863').on('change', function(){
if($(this).val() != seldt) {
seldt = $(this).val();
jQuery('.xdsoft_datetimepicker').hide();
updatedeparts949863();
}
});
jQuery('.inpdate').on('focus', function(){
//jQuery(this).trigger('blur');
});
jQuery.dtpicker.setLocale('en');
}
jQuery( document ).ready(function($) {
var today = new Date();
today.setHours(0, 0, 0, 0);
var refreshcal = false;
$('.inpdate').each(function() {
var inputDate = new Date($(this).val()+ ' 12:00:00');
inputDate.setHours(0, 0, 0, 0);
if (inputDate -1) {
url += '&';
} else {
url += '?';
}
url += 'vplan=1&hide=1&ajax=1&item=P33877&getcal=1&month=' + moiscourant + '&a=' + anneecourante;
console.log(url);
// Effectuer la requête AJAX
$.ajax({
url: url
})
.done(function(data) {
$('.loca_calendar').html(data);
});
}
}
pdate949863('dtdebut949863');
});
function sendform(f) {
var tthis = jQuery(f);
tthis.prop('disabled', true);
// Récupérer le formulaire et son URL
var form = tthis.closest('form');
var url = '/en/reservation-en-ligne-terrain-de-camping-1530-pret-camper-toolbox/?item=P33877&t=daily-access-to-the-site'+'&ajax=1&rnd=949863&vplan=1';
var id = 'rep'+form.attr('class');
var divid = id.replace(/\s+/g, '-');
jQuery('#'+divid).remove();
var loader = '
';
form.before(loader);
// Récupérer les données du formulaire et ajouter 'getcart'
var formData = form.serializeArray();
formData.push({name: 'redirect', value: '1'});
console.log(formData);
console.log(url);
var successIcon = form.find('.success-icon');
// Afficher l'icône avec animation
successIcon.show().addClass('animate');
// Effectuer la requête AJAX
jQuery.post(url, formData, function(response) {
response = response.trim();
jQuery('.loadinggen').remove();
// Vérifier si la réponse commence par 'redirect:'
console.log(response);
if (response.startsWith('redirect:')) {
// Extraire l'URL de redirection
var redirectUrl = response.substring(9); // Enlever 'redirect:' du début de la réponse
// Faire la redirection
//console.log(redirectUrl);
jQuery('#' + divid).html('Redirection en cours...');
window.location.href = redirectUrl;
} else {
//console.log(response);
// Afficher la réponse dans le div spécifié
jQuery('#' + divid).html(response);
tthis.prop('disabled', false);
setTimeout(function() {
successIcon.hide().removeClass('animate');
}, 500);
}
});
return false;
}
function initbtn() {
console.log('init btn');
jQuery('.btnaddcart').off('click');
jQuery('.btnaddcart').click(function(event) {
event.preventDefault();
var tthis = jQuery(this);
tthis.prop('disabled', true);
// Récupérer le formulaire et son URL
var form = tthis.closest('form');
var url = '/en/reservation-en-ligne-terrain-de-camping-1530-pret-camper-toolbox/?item=P33877&t=daily-access-to-the-site'+'&ajax=1&rnd=949863&vplan=1';
var id = 'rep'+form.attr('class');
var divid = id.replace(/\s+/g, '-');
jQuery('#'+divid).remove();
var loader = '
';
jQuery(form).before(loader);
// Récupérer les données du formulaire et ajouter 'getcart'
var formData = form.serializeArray();
formData.push({name: 'redirect', value: '1'});
console.log(formData);
console.log(url);
var successIcon = form.find('.success-icon');
// Afficher l'icône avec animation
successIcon.show().addClass('animate');
// Effectuer la requête AJAX
jQuery.post(url, formData, function(response) {
response = response.trim();
jQuery('.loadinggen').remove();
// Vérifier si la réponse commence par 'redirect:'
console.log(response);
if (response.startsWith('redirect:')) {
// Extraire l'URL de redirection
var redirectUrl = response.substring(9); // Enlever 'redirect:' du début de la réponse
// Faire la redirection
//console.log(redirectUrl);
jQuery('#' + divid).html('Redirection en cours...');
window.location.href = redirectUrl;
} else {
//console.log(response);
// Afficher la réponse dans le div spécifié
jQuery('#' + divid).html(response);
tthis.prop('disabled', false);
setTimeout(function() {
successIcon.hide().removeClass('animate');
}, 500);
}
});
return false;
});
}
jQuery( document ).ready(function($) {
initbtn();
});
function submitfrmajx() {
var form = jQuery('#frmdreservation');
var tthis = form.find('.btnaddcart');
tthis.prop('disabled', true);
var url = '/en/reservation-en-ligne-terrain-de-camping-1530-pret-camper-toolbox/?item=P33877&t=daily-access-to-the-site'+'&ajax=1&rnd=949863&vplan=1';
var id = 'rep'+form.attr('class');
var divid = id.replace(/\s+/g, '-');
jQuery('#'+divid).remove();
var loader = '