www.vosgescycling.com
Open in
urlscan Pro
51.77.240.240
Public Scan
Submitted URL: https://vosgescycling.com/
Effective URL: https://www.vosgescycling.com/
Submission: On July 24 via api from US — Scanned from FR
Effective URL: https://www.vosgescycling.com/
Submission: On July 24 via api from US — Scanned from FR
Form analysis
2 forms found in the DOMName: booking — POST /fr/nos-plus-belles-randos.html?1=1
<form name="booking" data-dnc-nummoteur="1" data-dnc-urlbase_ajax="https://www.rando-bruche.fr/index.php" data-dnc-urlbase_ajax-communes="" data-dnc-paramsurl_ajax="&option=com_joomlei&view=listeproduits&layout=liste&format=json"
action="/fr/nos-plus-belles-randos.html?1=1" method="post" id="booking" class="" onsubmit="return joomlei_validation_moteurbooking('booking');">
<input type="hidden" name="id" value="">
<input type="hidden" name="task" value="poste">
<input type="hidden" name="calctot" id="calctot" value="0">
<input type="hidden" name="multimoteur_ouvert" id="multimoteur_ouvert" value="">
<input type="hidden" name="dncdebug" value="">
<input type="hidden" name="produit" value="">
<input type="hidden" data-dnc-flag="" name="limitstart" value="">
<input type="hidden" name="filter_order" value="">
<input type="hidden" name="filter_order_dir" value="">
<script type="text/javascript">
var jleim_serialiser = function(idmoteur) {
jQuery("#" + idmoteur).find('input[name^="modalidad"]').each(function() {
var letemp;
var letemp2;
var letemp3;
// Si le critère est non vide, on met des DNCNULL dans moda minimo et maximo pour empecher leur suppression et le décalage
letemp = jQuery(this).attr('id');
letemp2 = letemp.indexOf('modalidad');
letemp3 = jQuery("#" + letemp.substring(0, letemp2) + 'champ');
// Si c'est un critère coché, on met des dncnull
if (letemp3.attr('name') == 'elcriterio[]' && letemp3.val() != '') {
// console.log('TROUVE');
if (jQuery("#" + letemp.substring(0, letemp2) + 'modalidad').val() == '') jQuery("#" + letemp.substring(0, letemp2) + 'modalidad').val('DNCNULL!!');
if (jQuery("#" + letemp.substring(0, letemp2) + 'minimo').val() == '') jQuery("#" + letemp.substring(0, letemp2) + 'minimo').val('DNCNULL!!');
if (jQuery("#" + letemp.substring(0, letemp2) + 'maximo').val() == '') jQuery("#" + letemp.substring(0, letemp2) + 'maximo').val('DNCNULL!!');
} else {
// Si vide, On marque son minimo et ùmaximo pour suppression en effacant la valeur à toutes fins utiles
jQuery("#" + letemp.substring(0, letemp2) + 'modalidad').val('');
jQuery("#" + letemp.substring(0, letemp2) + 'minimo').val('');
jQuery("#" + letemp.substring(0, letemp2) + 'maximo').val('');
}
});
// On récupère les infos avec DNCNULL dans tabparams
var tabparams = jQuery("#" + idmoteur).serializeArray();
// Puis on remet les vides en place
jQuery("#" + idmoteur).find('input').each(function() { // [name^="modalidad"]
// console.log(jQuery(this).attr('id') + '-' + this.value);
if (this.value == 'DNCNULL!!') this.value = '';
// console.log(jQuery(this).attr('id') + '-' + this.value);
});
var lurl = "";
var lenom = "";
jQuery.each(tabparams, function(i, leparam) {
lenom = leparam.name;
if (lenom != 'limitstart' && lenom != 'produit' && lenom != 'limit' && lenom.substring(0, 3) != 'hid' && lenom != 'task' && lenom != 'jleimoteur_groupe')
if (leparam.value != '')
if (leparam.value == 'DNCNULL!!') lurl += "&" + leparam.name + "=";
else lurl += "&" + leparam.name + "=" + leparam.value;
});
// Cas particulier de la rech par dispo => on force un tsdispo=N
if (lurl.indexOf("dispodu") >= 0 && lurl.indexOf("tsdispo") < 0) lurl += "&inputlei_tsdispo=N";
return lurl;
};
var jleim_soustot_reqs = [];
jQuery(document).ready(function() {
// On calcule le moteur au chargement
joomlei_calcule_moteur("booking");
});
// Patch 10/2017 : optimisation : on retarde ce calcul
// jQuery(document).ready(function () {
jQuery(window).load(function() {
// Dispos et tsdispo
// On regarde s'il existe un champ caché tsdispo
// S'il n'existe pas, on le créé si le moteur contient des champs de disspos
// -> on le mettra à N lors du post s'il y a des dispos recherchées
if (jQuery('#pnames_dispodu').length != 0)
if (jQuery('#inputlei_tsdispo').length == 0) jQuery('#letsdispos').html('<input type="hidden" name="inputlei_tsdispo" id="inputlei_tsdispo" value=""/>');
// On calcule le moteur au chargement
joomlei_calcule_moteur();
// On gère le js des multimoteurs
// cas du groupe en liste select qui gère le multimoteur
jQuery('select[data-dnc-gestionmultimoteur="combo"]').change(function() {
var lenum = this.selectedIndex;
var idmoteur = "#div_globaljoomleimoteur_" + jQuery(this).attr('data-dnc-nummoteur');
var montre = false; // pour voir si on a montre qqchose (1er coup)
// On masque toutes les rubriques > 1
var lstdiv = jQuery(idmoteur).find('.joomlei_moteur_rubrique');
for (var i = 1; i < lstdiv.length; i++) {
if (jQuery(lstdiv[i]).css('display') == 'block') jQuery(lstdiv[i]).slideUp('slow', function() {
// jQuery(lstdiv[i]).css('display','none');
// On affiche la rubrique à montrer
jQuery(lstdiv[lenum]).slideDown(function() {
joomlei_calcule_moteur();
}, 'slow'); //('display','block')
montre = true;
});
viderChamps(lstdiv[i]);
}
if (!montre) jQuery(lstdiv[lenum]).slideDown(); //('display','block')
// On met le numéro de la rubrique ouverte en hidden field
// Afin de pouvoir la réafficher après le post
jQuery(idmoteur).find('#multimoteur_ouvert').val(lenum);
});
// cas du groupe en option group radio qui gère le multimoteur
jQuery('input[data-dnc-gestionmultimoteur="radio"]').change(function() {
var lenum = jQuery(this).attr('data-dnc-numrubrique');
var idmoteur = "#div_globaljoomleimoteur_" + jQuery(this).attr('data-dnc-nummoteur');
var montre = false; // pour voir si on a montre qqchose (1er coup)
// On masque toutes les rubriques > 1
var lstdiv = jQuery(idmoteur).find('.joomlei_moteur_rubrique');
for (var i = 1; i < lstdiv.length; i++) {
if (jQuery(lstdiv[i]).css('display') == 'block') jQuery(lstdiv[i]).slideUp('slow', function() {
// jQuery(lstdiv[i]).css('display','none');
// On affiche la rubrique à montrer
jQuery(lstdiv[lenum]).slideDown('slow'); //('display','block')
montre = true;
});
viderChamps(lstdiv[i]);
}
if (!montre) jQuery(lstdiv[lenum]).slideDown(function() {
joomlei_calcule_moteur();
}); //('display','block')
// On met le numéro de la rubrique ouverte en hidden field
// Afin de pouvoir la réafficher après le post
jQuery(idmoteur).find('#multimoteur_ouvert').val(lenum);
});
});
//permet de vider tous les champs enfants du moteur
function viderChamps(champs) {
//traitement des checkbox
jQuery(champs).find('input:checked').each(function() {
jQuery(this).attr('checked', false);
});
//traitement des select
jQuery(champs).find('option:selected').each(function() {
if (console && console.log) console.log(this);
jQuery(this).attr('selected', false);
});
//traitement des input text (dates)
jQuery(champs).find('input[type=text]').each(function() {
if (console && console.log) console.log(this);
jQuery(this).val('');
});
}
// Fonction pour le moteur SIMPLE / AVANCE
function joomleimoteur_afficherplusdecriteres(nummoteur) {
var idmoteur = "#div_globaljoomleimoteur_" + nummoteur;
var lstdiv = jQuery(idmoteur).find('div.cached');
if (lstdiv.length > 0) {
for (var i = 1; i < lstdiv.length; i++) jQuery(lstdiv[i]).slideDown('slow', function() {
//jQuery(this).removeClass('uk-hidden');
});
jQuery(idmoteur).find('#multimoteur_ouvert').val('1');
jQuery('.joomleimoteur_plusdecriteres').addClass('uk-hidden');
jQuery('.joomleimoteur_moinsdecriteres, hr.cached').removeClass('uk-hidden');
} else {
// Mode legacy
lstdiv = jQuery(idmoteur).find('.joomlei_moteur_rubrique');
for (var i = 1; i < lstdiv.length; i++) jQuery(lstdiv[i]).slideDown('slow');
jQuery(idmoteur).find('#multimoteur_ouvert').val('1');
jQuery(idmoteur).find('.joomleimoteur_moinsdecriteres').css('display', 'block');
jQuery(idmoteur).find('.joomleimoteur_plusdecriteres').css('display', 'none');
}
}
//Fonction pour le moteur SIMPLE / AVANCE
function joomleimoteur_affichermoinsdecriteres(nummoteur) {
var idmoteur = "#div_globaljoomleimoteur_" + nummoteur;
var lstdiv = jQuery(idmoteur).find('div.cached');
if (lstdiv.length > 0) {
for (var i = 1; i < lstdiv.length; i++) jQuery(lstdiv[i]).slideUp('slow', function() {
//jQuery(this).addClass('uk-hidden');
});
jQuery(idmoteur).find('#multimoteur_ouvert').val('0');
jQuery('.joomleimoteur_plusdecriteres').removeClass('uk-hidden');
jQuery('.joomleimoteur_moinsdecriteres, hr.cached').addClass('uk-hidden');
} else {
// Mode Legacy
lstdiv = jQuery(idmoteur).find('.joomlei_moteur_rubrique');
for (var i = 1; i < lstdiv.length; i++) jQuery(lstdiv[i]).slideUp('slow');
jQuery(idmoteur).find('#multimoteur_ouvert').val('0');
jQuery(idmoteur).find('.joomleimoteur_moinsdecriteres').css('display', 'none');
jQuery(idmoteur).find('.joomleimoteur_plusdecriteres').css('display', 'block');
}
}
function joomlei_majtot_moteur(total) {
alert(total);
}
function joomlei_calcule_moteur(idmoteur) {
var el;
var lechk;
var lavaleur;
var letemp;
var lavaleur = "";
var lamodalidad = "";
var lemini = 999999999999;
var lemaxi = 0;
var cmptmoda = 0;
var cmptval = 0;
var lechamp = "";
var gp;
var idgroupe;
var idchamp;
var lstel;
var j;
var str_url_form;
// On récupère la liste de tous les groupes du moteur
var lstgp = jQuery('input[name=jleimoteur_groupe]');
if (!idmoteur) var idmoteur = "form_joomleimoteur";
// On parcours la liste des groupes
for (var i = 0; i < lstgp.length; i++) {
gp = lstgp[i];
idgroupe = gp.value;
lavaleur = "";
lutilisador = "";
lamodalidad = "";
lemini = 999999999999; // ""
lemaxi = 0; // ""
cmptmoda = 0;
cmptval = 0;
// On retrouve le nom du champ du groupe
// alert(idgroupe + ': ' + lechamp);
lechamp = jQuery('#groupe_' + idgroupe + '_champ').attr('name');
// On parcours toutes les cases à cocher du groupe
lstel = jQuery('input[id^=chkjelm_' + idgroupe + '_]');
for (j = 0; j < lstel.length; j++) {
el = lstel[j];
// Si case cochée, on comptabilise les modalités valeurs
if (el.checked == true) {
// Si le champ est un critère
if (lechamp == "elcriterio[]") {
// On ne concatène pas le num de crit
lavaleur = jQuery('#hid' + el.id + '_valeur').val();
// Si critère non Quantitatif : on concatène les modalités
letemp = jQuery('#hid' + el.id + '_minimo').val() + '';
if (letemp == '') {
// C'est pas la première moda chéckée, on met un |
if (cmptmoda > 0) lamodalidad += "|";
lamodalidad += jQuery('#hid' + el.id + '_modalidad').val();
cmptmoda++;
} else {
// Quantitatif : pas de concat de la moda
// mais un calcul mini maxi absolu des cases cochées
lamodalidad = jQuery('#hid' + el.id + '_modalidad').val();
if (jQuery('#hid' + el.id + '_minimo').val() != '' && jQuery('#hid' + el.id + '_minimo').val() != '@') lemini = Math.min(lemini, parseInt(jQuery('#hid' + el.id + '_minimo').val()));
else lemini = jQuery('#hid' + el.id + '_minimo').val();
if (jQuery('#hid' + el.id + '_maximo').val() != '' && jQuery('#hid' + el.id + '_maximo').val() != '@') lemaxi = Math.max(lemaxi, parseInt(jQuery('#hid' + el.id + '_maximo').val()));
else lemaxi = jQuery('#hid' + el.id + '_maximo').val();
}
} else {
// Pas un crit : on concatène la valeur et on s'occupe pas du reste
// On ne concatène pas le num de crit
if (cmptval > 0) lavaleur += "|";
lavaleur += jQuery('#hid' + el.id + '_valeur').val();
// Cas particulier du secteur : il faut aussi metre à jour le hidden utilisadoe
lutilisador = jQuery('#hid' + el.id + '_valeur').attr('data-dnc-utilisador');
// alert(lutilisador + ' - ' + '#hid' + el.id + '_valeur');
cmptval++;
}
}
}
// Cas du groupe en liste déroulante
lstel = jQuery('input[id=lstjelm_' + idgroupe + ']');
var laliste = document.getElementById('lstjelm_' + idgroupe); // jQuery('#lstjelm_' + idgroupe );
if (laliste + '' != 'null' && laliste + '' != 'undefined') {
// 10/2016 : support du mode multiple
var selectedvalues = [];
var selectedtexts = [];
var seloptions = [];
var lesoptions = laliste && laliste.options;
var opt;
var txtsel = '';
for (var cmptopt = 0, iLen = lesoptions.length; cmptopt < iLen; cmptopt++) {
opt = lesoptions[cmptopt];
if (opt.selected) {
seloptions.push(cmptopt);
selectedvalues.push(opt.value);
selectedtexts.push(opt.text);
}
}
// var lesel = laliste.selectedIndex;
var lid = null;
lamodalidad = '';
// Patch 12/2016 : bug minimo sur listes deroulantes multiples
lemini = 999999999999; // ""
lemaxi = 0; // ""
// lemini = '';
// lemaxi = '';
cmptmoda = 0;
if (selectedvalues.length > 0) {
for (cmptopt = 0, iLen = selectedvalues.length; cmptopt < iLen; cmptopt++) {
// lid = laliste.options[seloptions[cmptopt]].value;
lid = selectedvalues[cmptopt];
// Si le champ est un critère
if (lechamp == "elcriterio[]") {
// On ne concatène rien car un seul élément checkable
lavaleur = jQuery('#hid' + lid + '_valeur').val();
// lamodalidad = jQuery('#hid' + lid + '_modalidad').val();
// Si critère non Quantitatif : on concatène les modalités
letemp = jQuery('#hid' + lid + '_minimo').val() + '';
if (letemp == '') {
// C'est pas la première moda chéckée, on met un |
if (cmptmoda > 0) lamodalidad += "|";
lamodalidad += jQuery('#hid' + lid + '_modalidad').val();
cmptmoda++;
} else {
// Quantitatif : pas de concat de la moda
// mais un calcul mini maxi absolu des cases cochées
lamodalidad = jQuery('#hid' + lid + '_modalidad').val();
if (jQuery('#hid' + lid + '_minimo').val() != '' && jQuery('#hid' + lid + '_minimo').val() != '@') lemini = Math.min(lemini, parseInt(jQuery('#hid' + lid + '_minimo').val()));
else lemini = jQuery('#hid' + lid + '_minimo').val();
if (jQuery('#hid' + lid + '_maximo').val() != '' && jQuery('#hid' + lid + '_maximo').val() != '@') lemaxi = Math.max(lemaxi, parseInt(jQuery('#hid' + lid + '_maximo').val()));
else lemaxi = jQuery('#hid' + lid + '_maximo').val();
}
// alert(lamodalidad);
} else {
// if(idgroupe='42000077')
// alert('cououc');
lavaleur = jQuery('#hid' + lid + '_valeur').val();
// Cas particulier du secteur : il faut aussi metre à jour le hidden utilisadoe
lutilisador = jQuery('#hid' + lid + '_valeur').attr('data-dnc-utilisador');
}
}
}
}
// Quel que soit le type d'affichage, on termine ainsi :
// On met à jour le champ valeur du groupe et vide le reste
jQuery('#groupe_' + idgroupe + '_champ').val(lavaleur);
// Cas particulier du secteur : il faut mettre à jour le deuxième hidden utilisador
if (lutilisador != '') jQuery('#groupe_' + idgroupe + '_utilisador').val(lutilisador);
// if(idgroupe='42000077')
// alert('valeur du ctrl du groupe ' + idgroupe + ' après : ' + lavaleur);
// On met à jour les éléments du groupe relatifs au cas critère
if (lechamp == 'elcriterio[]') {
jQuery('#groupe_' + idgroupe + '_modalidad').val('');
jQuery('#groupe_' + idgroupe + '_minimo').val('');
jQuery('#groupe_' + idgroupe + '_maximo').val('');
jQuery('#groupe_' + idgroupe + '_modalidad').val(lamodalidad);
if (lemini != 0 && lemini != 999999999999) jQuery('#groupe_' + idgroupe + '_minimo').val(lemini);
if (lemaxi != 0) jQuery('#groupe_' + idgroupe + '_maximo').val(lemaxi);
// alert('modalité(s) : ' + lamodalidad);
}
}
// Calcul Ajax du nombre total de fiches si nécessaire
var lemoteur = document.getElementById(idmoteur);
// if(console && console.log) console.log(lemoteur);
var calcul_total = 0;
if (lemoteur != null) calcul_total = lemoteur.calctot.value;
if (calcul_total == "1") {
// portion d'url avec les paramètres uniquement
var lurl = jleim_serialiser(idmoteur);
urlbase = jQuery('#' + idmoteur).attr('data-dnc-urlbase_ajax'); // '';
lurl = jQuery('#' + idmoteur).attr('data-dnc-paramsurl_ajax') + lurl; // '' + lurl ;
// alert(urlbase + '?' + lurl);
// console.log(urlbase + '?' + lurl);
jleim_lasturl = urlbase + '&' + lurl;
jQuery.ajax({
url: urlbase,
data: lurl,
dataType: 'json'
}).done(function(lejson) {
// alert(lejson['TOTAL']);
var nummoteur = jQuery("#" + idmoteur).attr('data-dnc-nummoteur');
jQuery('#joomlei_moteur_' + nummoteur + '_total span').replaceWith('<span>' + lejson['TOTAL'] + '</span>');
});
// Patch 10/2017 : on annule toutes les requtes en cours
if (!jleim_soustot_reqs) window.jleim_soustot_reqs = [];
for (var i = jleim_soustot_reqs.length - 1; i >= 0; i--) {
jleim_soustot_reqs[i].abort();
jleim_soustot_reqs.splice(i);
}
// Ici on va recalculer tous les totaux devant les cases à cocher
jQuery("#" + idmoteur + " input[name^='chkjelm_']").each(function() {
var obj = jQuery(this);
var jleim_idobj = obj.attr('id');
var lurltemp = lurl;
var xhrtemp;
if (obj.attr('data-dnc-champ') != '') {
lurltemp = lurl + '&' + obj.attr('data-dnc-champ') + "=" + jQuery("#hid" + jleim_idobj + "_valeur").val();
if (obj.attr('data-dnc-champ') == 'elcriterio[]') {
lurltemp += '&modalidad[]=' + jQuery("#hid" + jleim_idobj + "_modalidad").val();
lurltemp += '&minimo[]=' + jQuery("#hid" + jleim_idobj + "_minimo").val();
lurltemp += '&maximo[]=' + jQuery("#hid" + jleim_idobj + "_maximo").val();
}
xhrtemp = jQuery.ajax({
url: urlbase,
data: lurltemp,
dataType: 'json'
}).done(function(lejson) {
// alert(lejson['TOTAL']);
var nummoteur = jQuery("#" + idmoteur).attr('data-dnc-nummoteur');
console.log("jleim_idobj : " + jleim_idobj);
jQuery('#' + idmoteur + ' #' + jleim_idobj).parent().find('.jleim_soustotal').html('<span>' + lejson['TOTAL'] + '</span>');
/*if (lejson['TOTAL'] == 0)
jQuery('#' + idmoteur + ' #' + jleim_idobj).parent().find('input[type=checkbox],input[type=radio], label').attr('disabled', 'disabled');
else
jQuery('#' + idmoteur + ' #' + jleim_idobj).parent().find('input[type=checkbox],input[type=radio], label').removeAttr('disabled');*/
});
jleim_soustot_reqs.push(xhrtemp);
}
});
}
}
</script>
</form>
Name: booking — GET //www.booking.com/searchresults.html
<form name="booking" action="//www.booking.com/searchresults.html" method="get" target="_blank" id="form_booking_booking" onsubmit="return joomlei_validation_booking_booking('booking');" class="uk-form uk-form-horizontal">
<input type="hidden" name="aid" value="389588">
<input type="hidden" name="selected_currency" value="EUR">
<input type="hidden" name="lang" value="fr">
<input type="hidden" name="checkin_monthday" id="checkin_monthday_booking" value="23">
<input type="hidden" name="checkin_year_month" id="checkin_year_month_booking" value="2022-11">
<input type="hidden" name="checkout_monthday" id="checkout_monthday_booking" value="24">
<input type="hidden" name="checkout_year_month" id="checkout_year_month_booking" value="2022-11">
<input type="hidden" name="do_availability_check" value="1">
<input type="hidden" name="city" value="-1470025">
<div uk-grid="" class="uk-flex-middle uk-grid">
<div class="rubrique uk-width-small-1-1 uk-width-2-3@m uk-first-column">
<div id="joomlei_moteur_1_1" class="joomlei_moteur_rubrique ">
<div class="joomlei_moteur_contenurubrique ">
<div class="joomlei_moteur_sousrubrique jleimoteur">
<div class="joomlei_moteur_contenusousrubrique">
<script type="text/javascript">
var date_du = new Date();
var date_au = new Date();
jQuery(document).ready(function($) {
//on récupère les dates qui sont dans l'url si GET précédent
//f_recup_dates_booking();
});
//permet de mettre à jour les dates avec la vérification.
function f_verif_dates_booking(id_parent) {
//on récupère les dates du et au
var tmp_date_du = jQuery('#booking_dispodu_booking').val();
jour_du = tmp_date_du.split('.')[0];
mois_du = tmp_date_du.split('.')[1] - 1;
annee_du = tmp_date_du.split('.')[2];
var tmp_date_au = jQuery('#booking_dispoau_booking').val();
jour_au = tmp_date_au.split('.')[0];
mois_au = tmp_date_au.split('.')[1] - 1;
annee_au = tmp_date_au.split('.')[2];
if (jour_du != '' && mois_du != '') {
date_du.setFullYear(annee_du);
date_du.setMonth(mois_du);
date_du.setDate(jour_du);
}
if (jour_au != '' && mois_au != '') {
date_au.setFullYear(annee_au);
date_au.setMonth(mois_au);
date_au.setDate(jour_au);
}
//si date_du valide et que l'appel de la fonction vient de la date_du
if ((id_parent == 'jour_du' || id_parent == 'mois_du' || id_parent == 'calendar_du') && mois_du != '' && jour_du != '') {
//ici on change date_au = date_du + 1 jour si inférieure à date_du
//si les deux dates existent
if (mois_au != '' && jour_au != '') {
if (date_du > date_au) {
date_au.setFullYear(annee_du);
date_au.setMonth(mois_du);
date_au.setDate((parseInt(jour_du) + 1));
jour_au = parseInt(jour_du) + 1;
mois_au = mois_du;
annee_au = annee_du;
//f_jour_au_booking();
//jQuery('#liste_mois_au_booking .'+date_au.getMonth()+date_au.getFullYear()).prop('selected', 'selected');
}
//else rien
} else {
date_au.setFullYear(annee_du);
date_au.setMonth(mois_du);
date_au.setDate((parseInt(jour_du) + 1));
jour_au = parseInt(jour_du) + 1;
mois_au = mois_du;
annee_au = annee_du;
//f_jour_au_booking();
//jQuery('#liste_mois_au_booking .'+date_au.getMonth()+date_au.getFullYear()).prop('selected', 'selected');
}
}
//si date_au valide et que l'appel vient de la date_au et que date_du vide
if ((id_parent == 'jour_au' || id_parent == 'mois_au' || id_parent == 'calendar_au') && mois_au != '' && jour_au != '' && (mois_du == '' || jour_du == '')) {
date_du.setFullYear(annee_au);
date_du.setMonth(mois_au);
date_du.setDate((parseInt(jour_au) - 1));
jour_du = parseInt(jour_au) - 1;
mois_du = mois_au;
annee_du = annee_au;
//f_jour_du_booking();
//jQuery('#liste_mois_du_booking .'+date_du.getMonth()+date_du.getFullYear()).prop('selected', 'selected');
}
//si le mois est séléctionné alors on actualise la liste des jours en conséquence
if (mois_du != '' && annee_du != '') {
//f_jour_du_booking();
}
//si la date est complète on peut stocker la date dans pnames
if (jour_du != '' && mois_du != '') {
mois = parseInt(date_du.getMonth()) + 1;
if (mois < 10) mois = '0' + mois;
var letemp = parseInt(date_du.getDate());
if (letemp < 10) letemp = '0' + letemp;
jQuery('#booking_dispodu_booking').val(letemp + '.' + mois + '.' + date_du.getFullYear());
// console.log(date_du.getDate()+'.'+mois+'.'+date_du.getFullYear());
}
//si le mois est séléctionné alors on actualise la liste des jours en conséquence
if (mois_au != '' && annee_au != '') {
//f_jour_au_booking();
}
//si la date est complète on peut stocker la date dans pnames
if (jour_au != '' && mois_au != '') {
mois = parseInt(date_au.getMonth()) + 1;
if (mois < 10) mois = '0' + mois;
var letemp2 = parseInt(date_au.getDate());
if (letemp2 < 10) letemp2 = '0' + letemp2;
jQuery('#booking_dispoau_booking').val(letemp2 + '.' + mois + '.' + date_au.getFullYear());
// console.log(date_au.getDate()+'.'+mois+'.'+date_au.getFullYear());
}
if (jour_du != '' && mois_du != '' && jour_au != '' && mois_au != '') {
if (!f_verif_chrono_booking()) {}
}
}
// permet de verifier si la chronologies des dates est cohérente.
function f_verif_chrono_booking() {
//on vérifie si les dates sont biend des dates
if (date_du > date_au) {
alert('dates incorrectes');
return false;
} else {
return true;
}
}
//permet d'actualiser la liste des dates selon le calendrier
function f_actu_date_du_booking() {
var tmp_date = jQuery('#booking_dispodu_booking').val();
jour_du = tmp_date.split('.')[0];
mois_du = tmp_date.split('.')[1] - 1;
annee_du = tmp_date.split('.')[2];
date_du.setFullYear(annee_du);
date_du.setMonth(mois_du);
date_du.setDate(jour_du);
//f_jour_du_booking();
//jQuery('#liste_mois_du_booking .'+date_du.getMonth()+date_du.getFullYear()).prop('selected', 'selected');
f_verif_dates_booking('calendar_du');
}
//permet d'actualiser la liste des dates selon le calendrier
function f_actu_date_au_booking() {
var tmp_date = jQuery('#booking_dispoau_booking').val();
jour_au = tmp_date.split('.')[0];
mois_au = tmp_date.split('.')[1] - 1;
annee_au = tmp_date.split('.')[2];
date_au.setFullYear(annee_au);
date_au.setMonth(mois_au);
date_au.setDate(jour_au);
//f_jour_au_booking();
//jQuery('#liste_mois_au_booking .'+date_au.getMonth()+date_au.getFullYear()).prop('selected', 'selected');
f_verif_dates_booking('calendar_au');
}
// permet de mettre à jour les dates selon les dates passées dans la recherche
function f_recup_dates_booking() {
var tab_date_du = jQuery('#booking_dispodu_booking').val().split('.');
var tab_date_au = jQuery('#booking_dispoau_booking').val().split('.');
if (tab_date_du[0] != '' && tab_date_au[0] != '') {
date_du.setFullYear(tab_date_du[2]);
date_du.setMonth(tab_date_du[1] - 1);
date_du.setDate(tab_date_du[0]);
date_au.setFullYear(tab_date_au[2]);
date_au.setMonth(tab_date_au[1] - 1);
date_au.setDate(tab_date_au[0]);
jour_du = date_du.getDate();
mois_du = date_du.getMonth();
annee_du = date_du.getFullYear();
jour_au = date_au.getDate();
mois_au = date_au.getMonth();
annee_au = date_au.getFullYear();
f_verif_dates_booking('get');
}
}
//-->
</script>
<div class="joomlei_moteur_groupe moteur_booking" id="joomlei_moteur_groupe_booking__booking fr-FR">
<div uk-grid="" class="uk-grid">
<div class="uk-width-1-2 uk-form-row spec uk-first-column">
<div class="uk-inline uk-width-1-1">
<a class="uk-form-icon uk-form-icon-flip uk-icon" uk-icon="icon: calendar"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> <path d="M 2,3 2,17 18,17 18,3 2,3 Z M 17,16 3,16 3,8 17,8 17,16 Z M 17,7 3,7 3,4 17,4 17,7 Z"></path> <rect width="1" height="3" x="6" y="2"></rect> <rect width="1" height="3" x="13" y="2"></rect></svg></a>
<span class="uk-form-icon">DU</span>
<input name="booking_dispodu_booking" data-toggle="datepicker" type="text" class="uk-form-large uk-width-1-1 uk-input" id="booking_dispodu_booking" value="24.07.2024" placeholder="DU" readonly="readonly">
</div>
</div>
<div class="uk-width-1-2 spec">
<div class="uk-inline uk-width-1-1">
<a class="uk-form-icon uk-form-icon-flip uk-icon" uk-icon="icon: calendar"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> <path d="M 2,3 2,17 18,17 18,3 2,3 Z M 17,16 3,16 3,8 17,8 17,16 Z M 17,7 3,7 3,4 17,4 17,7 Z"></path> <rect width="1" height="3" x="6" y="2"></rect> <rect width="1" height="3" x="13" y="2"></rect></svg></a>
<span class="uk-form-icon">AU</span>
<input type="text" name="booking_dispoau_booking" data-toggle="datepicker" class="uk-form-large uk-width-1-1 uk-input" id="booking_dispoau_booking" value="25.07.2024" placeholder="AU" readonly="readonly">
</div>
</div>
</div>
<div id="erreur_dates" style="color: red; display: none;">DATES_ERROR</div>
<div id="letsdispos"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="uk-margin uk-width-small-1-1 uk-width-1-3@m uk-text-center btnsubmit">
<a class="uk-button uk-button-primary uk-button-large uk-width-1-1 submitbooking" onclick="ga('send', 'event', 'Home', 'clic', 'Booking');" id="btnsubmitbooking">Book</a>
</div>
</div>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#booking_dispodu_booking, #booking_dispoau_booking').attr('readonly', '');
jQuery('#btnsubmitbooking').click(function() {
console.log("valid booking");
jQuery("#form_booking_booking").submit();
});
})
</script>
</form>
Text Content
Skip to content ???? New ! “Hel'eau la Bruche”, a geolocated network of water points to fill your bottle! ???? New ! “Hel'eau la Bruche”, a geolocated network of water points to fill your bottle! Revenir à l'accueil Téléchargement de documents Webcams Météo Visiter notre boutique Rando Bruche Coups de cœur Découvrir la destination Find a route * The car-free valley * The Bruche Bike * Interactive map * Hel'eau la Bruche * VTC * Culture * Family * Freshness * Altitude * Must-haves * Panoramic * Moutain Biking * Culture * Family * Freshness * Altitude * Must-haves * Panoramic * Road bike * Culture * Family * Freshness * Altitude * unavoidable * Panoramic * For everyone * Tricycle, stroller, armchair… * 4×4 stroller * Roaming * PRACTICAL INFORMATION & ACCOMMODATION * A table * Sleep * bivouac * Alsace by bike * Bicycle services * Bike home * Using GPX/KML files * Good practices and protected areas * Online offers * Gourmet cycling offers * Sports & well-being bike offers * Electric-assisted bicycle rental offers * Sale of cards and accessories Menu * The car-free valley * The Bruche Bike * Interactive map * Hel'eau la Bruche * VTC * Culture * Family * Freshness * Altitude * Must-haves * Panoramic * Moutain Biking * Culture * Family * Freshness * Altitude * Must-haves * Panoramic * Road bike * Culture * Family * Freshness * Altitude * unavoidable * Panoramic * For everyone * Tricycle, stroller, armchair… * 4×4 stroller * Roaming * PRACTICAL INFORMATION & ACCOMMODATION * A table * Sleep * bivouac * Alsace by bike * Bicycle services * Bike home * Using GPX/KML files * Good practices and protected areas * Online offers * Gourmet cycling offers * Sports & well-being bike offers * Electric-assisted bicycle rental offers * Sale of cards and accessories Unmissable tours See the files Seasonal route See the routes Online offers See the hikes Nature activities See activities Unmissable tours See the files Seasonal route See the routes Online offers See the hikes Nature activities See activities Unmissable tours See the files Seasonal route See the routes Online offers See the hikes Nature activities See activities previous slide next slide FIND A ROUTE Practical VTC (0) Moutain Biking (0) Road bike (0) 4x4 stroller (0) Tricycle, stroller, armchair (0) Roaming (0) Themes Culture (0) Family (0) Freshness (0) Altitude (0) Must-haves (0) Panoramic (0) Length, duration,... LENGTH OF ROUTE (KM) 0 155 CUMULATIVE ELEVATION GAIN (M) 0 5300 - 2 hours (0) 1 / 2 day (0) Day (0) More than a day (0) Physical condition For all (0) Medium (0) Sports (0) Consultant (0) Lieux d'interest field of fire (0) Don (0) psalm (0) Perheux-Struthof (0) Hohbuhl - Guirbaden (0) Rocher de Mutzig - Nideck (0) The Hang - Climont (0) Geolocation Distance: 5 km from a station (0) Keywords 128 results Search CIRCUIT THEMES Not to be missed Farms For families Freshness Panoramics Altitude Culture Roaming CYCLING ADVENTURE IN THE BRUCHE VALLEY At the heart of the Vosges Massif, the Bruche valley combines the attractions of Alsace with those of the Vosges mountains... Ski resort in winter, deep forests in autumn, green banks, high stubble pastures…The Bruche valley is all of this at the same time and in all seasons! Lovers of family bike rides, walks on forest roads, road bike tours, sporty, contemplative or little trotters in short pants, solo or in a tribe... To all those who like to move, this site is yours! Loop or roaming bike tour, practical information, offers combining cycling, spa or treats, good deals… Do you dream of getting away from it all without the constraints of the car? The Bruche valley is the ideal place for an eco-responsible holiday! Come by train or leave your vehicle and explore the region by bike or on foot: reception at the station, hiking map, e-bike rental, fresh bread, etc. we thought of everything with the “Soft Bruche” offer for holidays without my car! Join the community of cycling enthusiasts in the Bruche valley. Click, we take care of everything TAKE ADVANTAGE OF OUR ONLINE OFFERS ELECTRIC-ASSISTED BICYCLE RENTAL OFFERS Learn more CYCLING & WELLNESS OFFERS Learn more GOURMET CYCLING OFFERS Learn more CARDS & ACCESSORIES Learn more ELECTRIC-ASSISTED BICYCLE RENTAL OFFERS Learn more CYCLING & WELLNESS OFFERS Learn more GOURMET CYCLING OFFERS Learn more CARDS & ACCESSORIES Learn more ELECTRIC-ASSISTED BICYCLE RENTAL OFFERS Learn more CYCLING & WELLNESS OFFERS Learn more GOURMET CYCLING OFFERS Learn more CARDS & ACCESSORIES Learn more NEWS & FAVORITES THE VÉLOBRUCHE – OR HOW TO MAKE A CYCLING ROUTE…A CYCLING EXPERIENCE! * Athletes & itinerants Learn more LOCAL WOMEN * Meetings, Bike & terroir Learn more LES SENTIERS PLAISIR®: A WELCOME THAT IS GAINING GROUND * Family, Unusual, Memory & history, Nature, Meetings, Seasonal Learn more MEMORY OF LITTLE THINGS * Family, Unusual Learn more NATURA 2000 – AN ASSET AS MUCH AS A CHALLENGE * Nature Learn more THE VÉLOBRUCHE – OR HOW TO MAKE A CYCLING ROUTE…A CYCLING EXPERIENCE! * Athletes & itinerants Learn more LOCAL WOMEN * Meetings, Bike & terroir Learn more LES SENTIERS PLAISIR®: A WELCOME THAT IS GAINING GROUND * Family, Unusual, Memory & history, Nature, Meetings, Seasonal Learn more MEMORY OF LITTLE THINGS * Family, Unusual Learn more NATURA 2000 – AN ASSET AS MUCH AS A CHALLENGE * Nature Learn more THE VÉLOBRUCHE – OR HOW TO MAKE A CYCLING ROUTE…A CYCLING EXPERIENCE! * Athletes & itinerants Learn more BOOK ACCOMMODATION IN THE BRUCHE VALLEY IN ALSACE DU AU DATES_ERROR Book PREPARE YOUR TRIP TO ALSACE The valley in pictures Weather Accommodation Brochures How to get here Interactive map GIVE US YOUR OPINION TripAdvisor Google Facebook Welcoming is in our nature TOURIST OFFICE 114, Grand-rue F-67130 Schirmeck Tél | +33 3 88 47 18 51 www.valleedelabruche.fr tourism@valleedelabruche.fr HOURS OF OPERATION Open all year round * Oct. 1 > April 30 Monday to Friday: 9 a.m. to 12 p.m. & 14 p.m. to 17 p.m. (closed Tuesday morning) * May 2 > September 30 Monday to Saturday: 9 a.m. to 12 p.m. & 14 p.m. to 18:30 p.m. (until 17 p.m. Saturday) * Sundays in July-August & public holidays May 8, Ascension, July 14, August 15, December 24 & 31: 9 a.m. to 13 p.m. FREE PARKING CARS & BIKES * Market square 50m, TLJ. except for cars on Wednesday from mid-October to mid-April * Bergopré car park at 350m * Station parking 250 m away * Legal Notice * Personal data * Made by DN Consultants