var body = document.body; body.className += " u-body u-xl-mode"; body.style.cssText += " "; var dataBg = ''; if (dataBg) { body.setAttribute('data-bg', dataBg); } Sélectionnez votre animatrice Service/Prestation Atelier à domicile Atelier en visio Pays Andorra Espagne France Québec (ca) Trouver un employé/prestataire jQuery(document).ready(function() { jQuery('.vap-mod-select2').select2({ placeholder: '--', allowClear: true, width: 300 }); jQuery('#vap-moddistance-sel').select2({ minimumResultsForSearch: -1, allowClear: false, width: 300, }); jQuery('#vap-modpricerange-slider').slider({ range: true, min: 0, max: 500, step: 5, values: [75,300], slide: function(event, ui) { var currency = Currency.getInstance(); jQuery('#vappricerange').html(currency.format(ui.values[0], 0) + ', ' + currency.format(ui.values[1], 0)); jQuery('#vapfilterprice').val(ui.values[0] + ':' + ui.values[1]); } }); jQuery('#vap-modgroups-sel').on('change', function(){ vapModGetAndSetServices(); }); jQuery('#vap-modcountries-sel').on('change', function(){ vapModGetAndSetStates(); vapModGetAndSetCities(); }); jQuery('#vap-modstates-sel').on('change', function(){ vapModGetAndSetCities(); }); }); // GET SERVICES function vapModGetAndSetServices() { if (jQuery('#vap-modservices-sel').length == 0) { // exit if services dropdown doesn't exist return; } jQuery('#vap-modservices-sel').html(''); jQuery('#vap-modservices-sel').select2('val', ''); var id_group = jQuery('#vap-modgroups-sel').select2("val"); jQuery.noConflict(); var jqxhr = jQuery.ajax({ type: 'post', url: '/app/component/vikappointments/?task=get_services_with_group&tmpl=component&Itemid=231', data: { id_group: id_group } }).done(function(resp) { var obj = jQuery.parseJSON(resp); jQuery.each(obj, function(k, v) { jQuery("#vap-modservices-sel").append('' + v.name + ''); }); }); } // GET STATES function vapModGetAndSetStates() { if (jQuery('#vap-modstates-sel').length == 0) { // exit if states dropdown doesn't exist return; } jQuery('#vap-modstates-sel').html(''); jQuery('#vap-modstates-sel').select2('val', ''); var id_country = jQuery('#vap-modcountries-sel').select2('val'); if (id_country.length == 0) { return; } jQuery.noConflict(); var jqxhr = jQuery.ajax({ type: 'post', url: '/app/component/vikappointments/?task=get_states_with_country&tmpl=component&Itemid=231', data: { id_country: id_country } }).done(function(resp) { var obj = jQuery.parseJSON(resp); jQuery.each(obj, function(k, v) { jQuery('#vap-modstates-sel').append('' + v.state_name + ''); }); }); } // GET CITIES function vapModGetAndSetCities() { if (jQuery('#vap-modcities-sel').length == 0) { // exit if cities dropdown doesn't exist return; } jQuery('#vap-modcities-sel').html(''); jQuery('#vap-modcities-sel').select2('val', ''); var id_state = jQuery('#vap-modstates-sel').select2('val'); if (id_state.length == 0) { return; } jQuery.noConflict(); var jqxhr = jQuery.ajax({ type: 'post', url: '/app/component/vikappointments/?task=get_cities_with_state&tmpl=component&Itemid=231', data: { id_state: id_state } }).done(function(resp) { var obj = jQuery.parseJSON(resp); jQuery.each(obj, function(k, v){ jQuery('#vap-modcities-sel').append('' + v.city_name + ''); }); }); } // NEARBY FUNCTIONS function vapModNearbyValueChanged(checkbox) { var is = jQuery(checkbox).is(':checked'); if (is) { jQuery('#vap-moddistance-field').slideDown(); new Promise((resolve, reject) => { // disable button until the request to retrieve coordinates is completed jQuery('.vap-empfilter-submit').prop('disabled', true); // fetch coordinates of specified address vapModGetAddressCoordinates(resolve, reject); }).finally((resp) => { // enable submit button again jQuery('.vap-empfilter-submit').prop('disabled', false); }); } else { jQuery('#vap-moddistance-field').slideUp(); } } function vapModGetUserCoordinates(resolve, reject) { if (jQuery('#vap-modemp-form').find('input[name="filters[base_coord]"]').length > 0) { // if the base_coord input already exists, the position won't be evaluated resolve(jQuery('#vap-modemp-form').find('input[name="filters[base_coord]"]').val()); return; } // Try HTML5 geolocation if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { jQuery('#vap-modemp-form').append(''); // resolve resolve(position.coords.latitude + "," + position.coords.longitude); }, function() { // ignore failed geolocation service vapModGeolocationFailed(Joomla.JText._('VAPGEOLOCATIONERR1'), false); // reject with error reject(Joomla.JText._('VAPGEOLOCATIONERR1')); }); } else { // Browser doesn't support Geolocation vapModGeolocationFailed(Joomla.JText._('VAPGEOLOCATIONERR2'), true); // reject with error reject(Joomla.JText._('VAPGEOLOCATIONERR2')); } } function vapModGetAddressCoordinates(resolve, reject) { var addr = []; jQuery('#vap-modcountries-sel,#vap-modstates-sel,#vap-modcities-sel,#vap-modzip-text').each(function() { var part = jQuery(this).val(); if (part.length) { if (jQuery(this).is('select')) { // obtain text instead of ID part = jQuery(this).find('option[value="' + part + '"]').text(); } addr.push(part); } }); if (jQuery('#vap-modcountries-sel').length == 0) { // country disabled, try to retrieve the name of the default country // add default country name addr.push('France'); } addr = addr.join(', '); if (!addr) { // reject due to empty address reject('empty address'); } var geocoder = new google.maps.Geocoder(); geocoder.geocode({'address': addr}, function(results, status) { if (status == 'OK') { var coord = { lat: results[0].geometry.location.lat(), lng: results[0].geometry.location.lng() }; // register coordinates of searched address jQuery('#vap-modemp-form').append(''); // resolve request resolve(coord.lat + "," + coord.lng); } else { // raise error vapModGeolocationFailed(Joomla.JText._('VAPGEOLOCATIONERR1'), false); // reject with error reject(Joomla.JText._('VAPGEOLOCATIONERR1')); } }); } function vapModGeolocationFailed(message, disable) { alert(message); jQuery('#vap-modnearby-check').prop('checked', false).prop('disabled', disable).trigger('change'); } jQuery(document).ready(function() { jQuery('.vap-empgroup-sel').select2({ placeholder: Joomla.JText._('VAPEMPALLGROUPSOPTION'), allowClear: true, width: 300 }); jQuery('.vap-empgroup-sel').on('change', function() { jQuery('#vap-empgroup-form').submit(); }); }); function vapDisplayFilters(button) { var fields = jQuery('.vap-emplist-ordering-fields'); if (!fields.is(':visible')) { fields.slideDown(); jQuery(button).addClass('active'); } else { fields.slideUp(); jQuery(button).removeClass('active'); } } Gilles Vaquier de Labaume Animateur France, Secteur Paris Voir les détails Contact rapide 06 95 86 31 80 jQuery(document).ready(function() { /** * This function is declared by this view: * views/employeeslist/view.html.php * * @see addJS() */ loadEmployeeAvailTable(1); }); Clémentine Fouchet Animatrice France, Secteur Var Voir les détails Contact rapide 07 87 25 71 68 jQuery(document).ready(function() { /** * This function is declared by this view: * views/employeeslist/view.html.php * * @see addJS() */ loadEmployeeAvailTable(2); }); Meriem Ridé Animatrice France, Secteur Hauts de Seine Voir les détails Contact rapide 0675114306 jQuery(document).ready(function() { /** * This function is declared by this view: * views/employeeslist/view.html.php * * @see addJS() */ loadEmployeeAvailTable(6); }); Estelle Sommeiller Animatrice France, Secteur Rhône Voir les détails Contact rapide 06 77 45 63 13 jQuery(document).ready(function() { /** * This function is declared by this view: * views/employeeslist/view.html.php * * @see addJS() */ loadEmployeeAvailTable(7); }); Mélanie Leger Animatrice France, Secteur Vendée Voir les détails Contact rapide 0673466296 jQuery(document).ready(function() { /** * This function is declared by this view: * views/employeeslist/view.html.php * * @see addJS() */ loadEmployeeAvailTable(8); }); Nadège Charpentier Animatrice France, Secteur Haute Garonne Voir les détails Contact rapide 0767174326 jQuery(document).ready(function() { /** * This function is declared by this view: * views/employeeslist/view.html.php * * @see addJS() */ loadEmployeeAvailTable(9); }); Salomé Prêcheur Animatrice Quebec, 155, rue Notre-Dame Est Montréal, QC H2Y1B5 Canada Voir les détails Contact rapide jQuery(document).ready(function() { /** * This function is declared by this view: * views/employeeslist/view.html.php * * @see addJS() */ loadEmployeeAvailTable(10); }); Audrey Chesneau Animatrice Madrid, C. de Montalbán, 1, 28014 Madrid, Espagne Voir les détails Contact rapide jQuery(document).ready(function() { /** * This function is declared by this view: * views/employeeslist/view.html.php * * @see addJS() */ loadEmployeeAvailTable(11); }); Valérie Boisramé Animatrice France, tours 37000 Voir les détails Contact rapide jQuery(document).ready(function() { /** * This function is declared by this view: * views/employeeslist/view.html.php * * @see addJS() */ loadEmployeeAvailTable(12); }); Céline Labure Animatrice France, 21000 dijon 21000 Voir les détails Contact rapide 0649588186 jQuery(document).ready(function() { /** * This function is declared by this view: * views/employeeslist/view.html.php * * @see addJS() */ loadEmployeeAvailTable(13); }); 1 2 〉 》 Votre nom Votre adresse email Votre message Envoyer Annuler var qcValidator = new VikFormValidator('form[name="quickcontactform"]', 'vaprequiredfield'); var cancelElement = null; function vapValidateBeforeSendMail() { return qcValidator.validate(function() { var field = jQuery('#qc-send-mail'); var email = field.val(); if (field.hasClass(qcValidator.clazz)) { return false; } if (!isEmailCompliant(email)) { qcValidator.setInvalid(field); return false; } qcValidator.unsetInvalid(field); return true; }); } function vapCancelMail() { jQuery('.vapqcdiv').fadeOut(); if (cancelElement) { jQuery('html,body').animate( {scrollTop: (jQuery(cancelElement).offset().top - 20)}, {duration:'normal'} ); } } // used when clicking "QUICK CONTACT" from the list function vapGoToMail(elem, id, name) { cancelElement = elem; if (id) { jQuery('input[name="id_employee"]').val(id); } if (name) { jQuery('.vapqcnominative').text(name); } jQuery('.vapqcdiv').fadeIn(); jQuery('html,body').animate( {scrollTop: (jQuery('.vapqcdiv').offset().top - 20)}, {duration:'normal'} ); } jQuery(document).ready(function() { }); 27