Le meilleur cours de Français en ligne 2024 Comparaison (2024)

Intéressé par les cours en ligne?

Jetez un œil à nos meilleurs choix de En direct en ligne, cours de Français aux meilleurs prix.

Lyon carte avec les écoles offrant cours

Le meilleur cours de Français en ligne 2024 Comparaison (1)

Le meilleur cours de Français en ligne 2024 Comparaison (2)Le meilleur cours de Français en ligne 2024 Comparaison (3)Le meilleur cours de Français en ligne 2024 Comparaison (4)

Commentaires des anciens élèves qui ont assisté à un cours de à Lyon

Le meilleur cours de Français en ligne 2024 Comparaison (5)

Bons professeurs. Le programme a du sens. C'est bien que vous puissiez choisir la durée de votre séjour.

7 mai 2024
Cours: Intensive Course - 1 semaine
Âge de l'étudiant: 28 ans

Afficher plus

4.3| 202 évaluations

AlvaLyon Bleu International

Le meilleur cours de Français en ligne 2024 Comparaison (6)

Le lieu, le planning des cours, les camarades de classe et le goûter qu'un professeur nous a organisé le premier vendredi.
L'école doit faire un effort d'organisation adaptée aux niveaux réels des élèves qu'elle accueille, dans les supports matériels et audiovisuels et dans les imprimés proposés aux élèves pour travailler.

26 avril 2024
Cours: Standard Programme - 2 semaines
Âge de l'étudiant: 66 ans

Afficher plus

4.7| 19 évaluations

María LidiaLes ateliers FL

Le meilleur cours de Français en ligne 2024 Comparaison (7)

L'enseignement est de haut niveau et il y a une bonne variation tout au long de la journée de classe. Tous les professeurs sont exceptionnellement talentueux et linguistiques. Lyon est une ville dynamique avec de nombreux atouts. J'encourage fortement toute personne souhaitant apprendre le français à venir dans cette école. Le niveau est incroyablement élevé et il y a beaucoup de passion et d'engagement de la part de tout le personnel pour pousser leurs étudiants à un niveau supérieur d'apprentissage des langues.
Cela vaut vraiment la peine d'en faire l'expérience.

5 avril 2024
Cours: Standard Course - 3 semaines
Âge de l'étudiant: 30 ans

Afficher plus

4.3| 202 évaluations

Le meilleur cours de Français en ligne 2024 Comparaison (8)

Dans l’ensemble, j’étais très enthousiasmé par la qualité de l’école. Tout était très bien organisé, vous étiez bien informé des démarches à l'avance. Le premier jour, l'accueil a été sympathique avec une évaluation conviviale des compétences linguistiques. Tous les professeurs que j'ai rencontrés étaient sympathiques, aimables et absolument professionnels. Mon professeur Constance a rendu les cours très vivants, avec de bonnes idées créatives. Elle était capable de transformer même des leçons de grammaire arides en unités motivantes avec beaucoup d'humour. J'ai également trouvé les activités de l'après-midi bonnes et intéressantes. J'ai particulièrement aimé le dîner français chez Chantale. Absolument recommandé !
Dans l'ensemble, j'ai été très satisfait et je reviendrai probablement

1 octobre 2023
Cours: Intensive Course - 2 semaines
Âge de l'étudiant: 68 ans

Afficher plus

4.3| 202 évaluations

FelicitasLyon Bleu International

Le meilleur cours de Français en ligne 2024 Comparaison (9)

Les activités culturelles et les mercredis de soutien aux doutes, je ne me souviens plus du nom, c'était comme des séances de conseil de groupe où nous parlions aussi.
C'est bien.

5 septembre 2023
Cours: Essential General Course - 4 semaines
Âge de l'étudiant: 53 ans

Afficher plus

4.3| 202 évaluations

María IsabelLyon Bleu International

Questions et réponses sur cette destination - Lyon

  • À Lyon, vous pouvez envisager le programme Live and Study in your teacher's home. Ils proposent d'excellents programmes juniors.

    Sawsan Zein, LanguageCourse.Net - 26 avr.. 2024

  • À Lyon, vous pouvez vous déplacer en métro, en tramway ou en bus, et bien sûr, vous pouvez aussi marcher ou louer un vélo. Toutes les informations et l'itinéraire des transports locaux sont disponibles sur le site des TCL https://www.tcl.fr/en.

    Sabine Krafack, LanguageCourse.Net - 13 juin. 2023

  • Bien sûr, il existe des cours adaptés pour 50+.

    Sawsan Zein, LanguageCourse.Net - 10 févr.. 2023

  • À Lyon, nous travaillons avec plusieurs écoles. L'âge minimum d'acceptation pour les cours adultes varie entre 17 et 18 ans, selon l'école. Par conséquent, si votre fils a déjà 17 ans au moment où vous voulez qu'il commence le cours et qu'il a déjà quelques notions en français, il peut commencer le cours n'importe quel lundi de l'année. S'il a moins de 17 ans, la seule option que nous pouvons vous proposer est un cours privé au domicile d'un professeur (Study & Live in your Teacher's Home).

    Rubén De Haro, LanguageCourse.Net - 18 nov.. 2022

    FAQ sur les cours à Lyon

    • Les ateliers FL a reçu la meilleure note globale à Lyon .

    • Les ateliers FL, située dans 8 Place des Terreaux a été votée comme l'école avec le meilleur emplacement dans Lyon .

    • Les étudiants ont évalués Lyon avec 4.7 étoiles sur 5.

    • Meilleur aéroport pour arriver à Lyon est Lyon Saint Exupéry ( 19.1 km du centre ville). Voir les informations sur toutes les arrivées et informations sur l'aéroport pour Lyon .

    • À Lyon les cours suivants sont offerts spécifiquement pour les cours de Français des affaires: Cours Business indiv., , Français médical, Français juridique, .

    • Malheureusem*nt, nous n'avons pas d'écoles de langues partenaires à Lyon qui proposent des cours de préparation au TCF. Nos écoles partenaires proposent plutôt des cours de préparation au DELF.

      Madly Simba, Consultant en voyages linguistiques en de LanguageCourse.Net - 17 mars. 2023

      Des questions sur les écoles de Français à Lyon?

      Obtenez des conseils gratuits de nos experts en voyages linguistiques pour vous aider à trouver la meilleure école pour vous.

      Le meilleur cours de Français en ligne 2024 Comparaison (10)Envoyer une questionou+33-(0)1-78416974

      destinations de cours

      Écoles le Français: France

      • Aix-en-Provence (4 cours)
      • Ajaccio (Corse) (4 cours)
      • Annecy (25 cours)
      • Antibes (46 cours)
      • Avignon (1 cours)
      • Bayonne (9 cours)
      • Biarritz (23 cours)
      • Bordeaux (23 cours)
      • Brest (8 cours)
      • Caen (4 cours)
      • Cannes (18 cours)
      • Carcassonne (4 cours)
      • Chamonix (2 cours)
      • La Rochelle (27 cours)
      • Lille (18 cours)
      • Lyon (30 cours)
      • Marseille (4 cours)
      • Montévrain (2 cours)
      • Montpellier (54 cours)
      • Morzine (Alpes) (12 cours)
      • Nantes (4 cours)
      • Nice (92 cours)
      • Nîmes (4 cours)
      • Paris (106 cours)
      • Perpignan (4 cours)
      • Rennes (4 cours)
      • Rouen (24 cours)
      • Royan (8 cours)
      • Saint Laurent de Cerdans (2 cours)
      • Strasbourg (4 cours)
      • Toulon (4 cours)
      • Toulouse (25 cours)
      • Tours (12 cours)
      • Vichy (8 cours)

      Écoles de le Français dans le reste du monde

      • Afrique du Sud (2 cours)
      • Algérie (2 cours)
      • Allemagne (9 cours)
      • Arménie (1 cours)
      • Autriche (2 cours)
      • Belgique (12 cours)
      • Brésil (6 cours)
      • Canada (158 cours)
      • Espagne (9 cours)
      • États-Unis (16 cours)
      • Guadeloupe (6 cours)
      • Hong Kong (3 cours)
      • Inde (6 cours)
      • Italie (6 cours)
      • Malaisie (2 cours)
      • Maroc (3 cours)
      • Martinique (4 cours)
      • République tchèque (3 cours)
      • Russie (3 cours)
      • Suisse (91 cours)
      • Tanzanie (5 cours)
      • Tunisie (4 cours)
      • Turquie (1 cours)
      • Ukraine (1 cours)
      • Uruguay (5 cours)
`; } } jQuery("#activeFilters, #activeFiltersBot").html(htmlFilters);let results_ids = "#filterResult";if (intersec.length > 2) {results_ids += ", #filterResultBot";} else {jQuery("#filterResultBot").css('display', 'none');}if (jQuery("#juniorIntro, #topCityWrap").length > 0) { if (htmlFilters) {jQuery("#juniorIntro, #topCityWrap").fadeOut(400, function() {jQuery(results_ids).css('display', 'inline-block');scroll_if_anchor('#filterResult'); }); }} else {jQuery(results_ids).css('display', 'inline-block');scroll_if_anchor('#filterResult');} if (!htmlFilters) { jQuery("#filterResult, #filterResultBot").css('display', 'none'); }jQuery("#filterNum, #filterNumBot").text(replacedString); // check if there's no checkbox filter checked before hiding the whole filterResult} else if (!jQuery(".filterIndicator").hasClass("isACheckBox") && !jQuery(".filterIndicator").hasClass("isADropDown")) { jQuery("#filterResult, #filterResultBot").css('display', 'none'); jQuery("#juniorIntro, #topCityWrap").show();} else { // if there are checkbox filter checked but no other filter running, update the message accordingly and remove all non-checkboxes pills (.filterIndicator) let str; if (intersec.length > 0) { if (intersec.length == 1) { str = " cours à Lyon correspondent aux filtres suivants : "; } else { str = " cours Les cours à Lyon correspondent aux filtres suivants : "; } } else { str = "Aucun résultat trouvé correspondant aux filtres suivants:"; } const replacedString = str.replace("", intersec.length ); jQuery("#juniorIntro").hide(400); jQuery(".topCityWrap").slideUp(); jQuery("#filterNum, #filterNumBot").text(replacedString); jQuery('.filterIndicator:not(.isACheckBox):not(.isADropDown)').remove(); } for (let id in schools) { const schoolEl = jQuery(`#school_${id.split('_')[0]}`); if (document.getElementById(`school_${id}`).style.display === 'none') { schoolEl.removeClass('schoolBoxFacet'); schoolEl.hide(); } else { schoolEl.addClass('schoolBoxFacet'); schoolEl.show(); } }}; function setCookie(name, value) { document.cookie = name + "=" + (value || "") + "; path=/"; } let setupPaginationObj = false; function storeFunctionCall(functionName, parameters) { if (isFacetJs) { if (!setupPaginationObj && paginationFunctionCall) { paginatedFiltersObj = paginationFunctionCall; paginatedFiltersObj.url = currentURL; setupPaginationObj = true; } const filterName = paginatedFiltersObj[functionName]; if (functionName === "filter_dropdown") { filterName[parameters[1]] = parameters[0]; } else if (functionName === "filter_checkbox") { !filterName[parameters[2]] && (filterName[parameters[2]] = []); // Add/remove value depending on "isChecked" if (parameters[1]) { if (!filterName[parameters[2]].includes(parameters[0])) { filterName[parameters[2]].push(parameters[0]); } } else { filterName[parameters[2]] = filterName[parameters[2]].filter(item => item !== parameters[0]); } } else if (functionName === "filter_rating") { paginatedFiltersObj[functionName] = parameters[0]; } else if (functionName === "filter_lessons" || functionName === "filter_students" || functionName === "filter_price_per_lesson" || functionName === "filter_prices") { filterName[0] = parameters[0]; filterName[1] = parameters[1]; } setCookie('functionCallPagination', JSON.stringify(paginatedFiltersObj)); } else { setCookie('functionCall', JSON.stringify({functionName, parameters, rangeSliderIndex: handleIndex})); document.getElementById("cover-spin").style.display = "block"; // IF (in age filter an age of less than 16 years has been selected) => load the junior course page instead of standard course page. if (1 && parameters[1] === "student_age_filter" && parameters[0] < 16) { window.location = "/cours-de-langues/ecoles-lyon/"; } else { window.location = "/cours-de-langues/ecoles-lyon/standard"; } } }function filter_accommo(enable_acco_list) {filter_results['accommo'] = [];if (enable_acco_list.length > 0) {for (var i = filter_results['all'].length - 1; i >= 0; i--) {var id = filter_results['all'][i];if (schools[id]['accommo_types'].length > 0) {var inters = enable_acco_list.filter(function(value) {return -1 !== schools[id]['accommo_types'].indexOf(value)});if (inters.length > 0) {filter_results['accommo'].push(id);}}}} else {// No filterfilter_results['accommo'] = filter_results['all'];}apply_all_filters();}function filter_subcats(enable_cat_list) {filter_results['subcats'] = [];if (enable_cat_list.length > 0) {for (var i = filter_results['all'].length - 1; i >= 0; i--) {var id = filter_results['all'][i];if (enable_cat_list.includes(parseInt(schools[id]['subcategory'])))filter_results['subcats'].push(id);}}apply_all_filters();}function filter_lessons(min, max) { storeFunctionCall('filter_lessons', [...arguments]); if (!isFacetJs) return;filter_results['lessons'] = [];for (var i = filter_results['all'].length - 1; i >= 0; i--) {var id = filter_results['all'][i];if (schools[id]['lessons_per_week'].length > 0) {if (parseInt(schools[id]['lessons_per_week']) >= min && parseInt(schools[id]['lessons_per_week']) <= max) {filter_results['lessons'].push(id);}}}apply_all_filters();}function filter_students(min, max) { storeFunctionCall('filter_students', [...arguments]); if (!isFacetJs) return;filter_results['students'] = [];for (var i = filter_results['all'].length - 1; i >= 0; i--) {var id = filter_results['all'][i];if (schools[id]['max_students'].length > 0) {if (parseInt(schools[id]['max_students']) >= min && parseInt(schools[id]['max_students']) <= max) {filter_results['students'].push(id);}}}apply_all_filters();}function filter_rating(min) { storeFunctionCall('filter_rating', [...arguments]); if (!isFacetJs) return;if (min > 0) {filter_results['rating'] = [];for (var i = filter_results['all'].length - 1; i >= 0; i--) {var id = filter_results['all'][i];if (schools[id]['rating'].length > 0) {if (parseFloat(schools[id]['rating']) >= min) {filter_results['rating'].push(id);}}}} else {// No filterfilter_results['rating'] = filter_results['all'];}apply_all_filters();} function filter_checkbox(checkboxValue, isChecked, filterType) { storeFunctionCall('filter_checkbox', [...arguments]); if (!isFacetJs) return; const checkboxValueToNum = +checkboxValue; const checkedCheckboxes = jQuery(`#${filterType} input:checked`); const type = filterType.replace("checkBox_", ""); const checksLength = checkedCheckboxes.length; // Reset array if previously zero checks (isChecked && checksLength === 1) && (filter_results[type] = []); for (let i = filter_results['all'].length - 1; i >= 0; i--) { const id = filter_results['all'][i]; // Normalize course value as an array always to simplify further calculations const courseVal = Array.isArray(schools[id][type]) ? schools[id][type].map(Number) : [+schools[id][type]]; const filterArr = filter_results[type]; // Determine if checkboxValue is an array and handle accordingly const matchCondition = courseVal.includes(checkboxValueToNum); if (matchCondition) { // Include the course id in the filter array if the checked checkbox value is in the looping course value and not already present in the filter array if (isChecked) { !filterArr.includes(id) && filterArr.push(id); // Remove the course id from the filter array if the unchecked checkbox value is in the looping course value and doesn't match to other checked values in the case there are currently other checked checkboxes } else if (!isChecked) { // Before removing the current looping course, ensure no other checked checkboxes match any of its course values const allCheckedValues = checkedCheckboxes.map(function() { return +jQuery(this).val(); }).get(); const isPresentInOtherChecks = courseVal.some(val => allCheckedValues.includes(+val)); if (!isPresentInOtherChecks) { const index = filterArr.indexOf(id); if (index > -1) filterArr.splice(index, 1); } } } } // Reset array if currently zero checks if (checksLength === 0) { filter_results[type] = filter_results['all'].slice(); // slice with empty parameter to create a shallow copy of the array } apply_all_filters(false, true, type, checksLength === 0); } function filter_dropdown(dropDownValue, filterType) { storeFunctionCall('filter_dropdown', [...arguments]); if (!isFacetJs) return; const type = filterType.replace("_filter", ""); // Reset array if val is "0" if (dropDownValue === 0) { filter_results[type] = filter_results['all'].slice(); } else { for (let i = filter_results['all'].length - 1; i >= 0; i--) { const id = filter_results['all'][i]; const courseVal = schools[id][type]; const filterArr = filter_results[type]; let matchCondition = false; if (type === "course_duration") { matchCondition = courseVal.map(Number).includes(dropDownValue); } if (type === "student_age") { const [minAge, maxAge] = courseVal; matchCondition = (+minAge === 0 || +minAge <= dropDownValue) && (+maxAge === 0 || +maxAge >= dropDownValue); if (dropDownValue <= 17) { jQuery("#juniorCoursesSpecialMsg").show(); } } if (matchCondition) { !filterArr.includes(id) && filterArr.push(id); } else { const index = filterArr.indexOf(id); if (index > -1) filterArr.splice(index, 1); } } } apply_all_filters(false, false, type, false, true); }function filter_prices(min, max) { storeFunctionCall('filter_prices', [...arguments]); if (!isFacetJs) return;filter_results['prices'] = [];for (var i = filter_results['all'].length - 1; i >= 0; i--) {var id = filter_results['all'][i];if (schools[id]['course_price'].length > 0) {if (parseInt(schools[id]['course_price']) >= min && parseInt(schools[id]['course_price']) <= max)filter_results['prices'].push(id);}}apply_all_filters();} function filter_price_per_lesson(min, max) { storeFunctionCall('filter_price_per_lesson', [...arguments]); if (!isFacetJs) return; filter_results['price_per_lesson'] = []; for (var i = filter_results['all'].length - 1; i >= 0; i--) { var id = filter_results['all'][i]; if (schools[id]['price_per_lesson'].length > 0) { if (parseInt(schools[id]['price_per_lesson']) >= min && parseInt(schools[id]['price_per_lesson']) <= max) filter_results['price_per_lesson'].push(id); } } apply_all_filters(); }function onChangeSubcatFilter() {var cat_list = [];var subcatNavSpan = document.querySelectorAll("#subcatNav ul li span");for (var i = 0, len = subcatNavSpan.length; i < len; i++) {if (subcatNavSpan[i].getElementsByTagName("input")[0].checked) {cat_list.push( parseInt( subcatNavSpan[i].attributes['cat_type'].value ) );}}filter_subcats(cat_list);}function reset_subcats() {filter_results['subcats'] = filter_results['all'];var subcatNavSpan = document.querySelectorAll("#subcatNav ul li span");for (var i = 0, len = subcatNavSpan.length; i < len; i++) {subcatNavSpan[i].getElementsByTagName("input")[0].checked = true;}apply_all_filters();}function onChangeAccoFilter() {var acco_list = [];var accommoNavSpan = document.querySelectorAll("#accommoNav ul li span");for (var i = 0, len = accommoNavSpan.length; i < len; i++) {if (accommoNavSpan[i].getElementsByTagName("input")[0].checked) {acco_list.push( parseInt( accommoNavSpan[i].attributes['acco_type'].value ) );}};filter_accommo(acco_list);}function reset_accommo() {filter_results['accommo'] = filter_results['all'];var accommoNavSpan = document.querySelectorAll("#accommoNav ul li span");for (var i = 0, len = accommoNavSpan.length; i < len; i++) {accommoNavSpan[i].getElementsByTagName("input")[0].checked = false;};apply_all_filters();}function reset_prices() {filter_results['prices'] = filter_results['all'];jQuery("#coursePrice_left").text(rangesSliders["course_price"][0]);jQuery("#coursePrice_right").text(rangesSliders["course_price"][1]);jQuery('#sliderRange_coursePrice').slider("option", "values", [rangesSliders["course_price"][0], rangesSliders["course_price"][1]]);apply_all_filters();} function reset_price_per_lesson() { filter_results['price_per_lesson'] = filter_results['all']; jQuery("#pricePerLesson_left").text(rangesSliders["price_per_lesson"][0]); jQuery("#pricePerLesson_right").text(rangesSliders["price_per_lesson"][1]); jQuery('#sliderRange_pricePerLesson').slider("option", "values", [rangesSliders["price_per_lesson"][0], rangesSliders["price_per_lesson"][1]]); apply_all_filters(); }function reset_lessons() {filter_results['lessons'] = filter_results['all'];jQuery("#numOfLessons_left").text(rangesSliders["lessons_per_week"][0]);jQuery("#numOfLessons_right").text(rangesSliders["lessons_per_week"][1]);jQuery('#sliderRange_numOfLessons').slider("option", "values", [rangesSliders["lessons_per_week"][0], rangesSliders["lessons_per_week"][1]]);apply_all_filters();}function reset_students() {filter_results['students'] = filter_results['all'];jQuery("#numOfStudents_left").text(rangesSliders["max_students"][0]);jQuery("#numOfStudents_right").text(rangesSliders["max_students"][1]);jQuery('#sliderRange_numOfStudents').slider("option", "values", [rangesSliders["max_students"][0], rangesSliders["max_students"][1]]);apply_all_filters();}function reset_rating() {filter_rating(0);jQuery('#ratingStarsLeftBar use').removeClass('starFiltselected');} function reset_checkbox(type) { jQuery(`#checkBox_${type} input:checked`).click(); } function reset_student_age() { jQuery('#student_age_filter ul li:first-child a').click(); } function reset_course_duration() { jQuery('#course_duration_filter ul li:first-child a').click(); }function filter_details(filter, value) {var detail = "";var starEl = jQuery('#ratingStarsLeftBar .starFiltselected');var ratingValue = parseInt(starEl.last().data('value'), 10) || value;switch(filter) {case "lessons": detail = ": [" + jQuery('#sliderRange_numOfLessons').slider("option", "values")[0] + " - " + jQuery('#sliderRange_numOfLessons').slider("option", "values")[1] + "]"; break;case "students": detail = ": [" + jQuery('#sliderRange_numOfStudents').slider("option", "values")[0] + " - " + jQuery('#sliderRange_numOfStudents').slider("option", "values")[1] + "]"; break;case "prices": detail = ": [" + jQuery('#sliderRange_coursePrice').slider("option", "values")[0] + " € - " + jQuery('#sliderRange_coursePrice').slider("option", "values")[1] + " €]"; break; case "price_per_lesson": detail = ": [" + jQuery('#sliderRange_pricePerLesson').slider("option", "values")[0] + " € - " + jQuery('#sliderRange_pricePerLesson').slider("option", "values")[1] + " €]"; break;case "rating": detail = ": [" + ratingValue +" étoiles ou mieux]"; break;case "accommo": detail += ": " + jQuery("#checkBox_accommo input:checked").map(function() { return jQuery(this).parent().text().trim(); }).get().join(', '); break; case "school": detail += ": " + jQuery("#checkBox_school input:checked").map(function() { return jQuery(this).parent().text().trim(); }).get().join(', '); break; case "cities": detail += ": " + jQuery("#checkBox_cities input:checked").map(function() { return jQuery(this).parent().text().trim(); }).get().join(', '); break; case "room_occupancy": detail += ": " + jQuery("#checkBox_room_occupancy input:checked").map(function() { return jQuery(this).parent().text().trim(); }).get().join(', '); break; case "language_level": detail += ": " + jQuery("#checkBox_language_level input:checked").map(function() { return jQuery(this).parent().text().trim(); }).get().join(', '); break; case "accommodation_type": detail += ": " + jQuery("#checkBox_accommodation_type input:checked").map(function() { return jQuery(this).parent().text().trim(); }).get().join(', '); break; case "meal_plans": detail += ": " + jQuery("#checkBox_meal_plans input:checked").map(function() { return jQuery(this).parent().text().trim(); }).get().join(', '); break; case "course_duration": const cDurVal = jQuery("#course_duration_dd_filter .sel_filter").text(); detail += ": " + cDurVal + " " + (+cDurVal === 1 ? "semaine" : "semaines"); break; case "student_age": detail += ": " + jQuery("#student_age_dd_filter .sel_filter").text() + " ans"; break;default:;}return detail;}

Avez-vous besoin d'un visa?


Pays de Nationalité:

Durée: semaines

Attention !

S\'il vous plait Choisissez un lundi comme date de début de cours.

";if (pc_result['prices']['discount_tuition'] > 0) {tpl += "" + pc_result['prices']['tuition_before_so'] + currency + "";} else {tpl += "";}tpl += Math.ceil(pc_result['prices']['tuition_before_so'] - pc_result['prices']['discount_tuition']) + currency + "" + pc_result['prices']['course_name'] + "";if (pc_result['prices']['accommodation_accom'] > 0 && pc_result['prices']['includes_accommodation'] != 1) {tpl += "" + pc_result['prices']['accommodation_accom'] + currency + "" + pc_result['prices']['accommodation_name'] + "";}if (pc_result['prices']['inscription']>0) {tpl += "" + pc_result['prices']['inscription'] + currency + "Frais d'inscription de l'école";}if (pc_result['prices']['includes_accommodation'] != 1 && pc_result['prices']['accommodation_fee']>0) {tpl += "" + pc_result['prices']['accommodation_fee'] + currency + "Frais de placement en hébergement facturés par l'école";}if (pc_result['prices']['hs_course'] > 0 && selected_date!=0) {tpl += "" + pc_result['prices']['hs_course'] + currency + "Supplément haute saison (Cours)";}if (pc_result['prices']['hs_accommodation'] > 0 && selected_date!=0) {tpl += "" + pc_result['prices']['hs_accommodation'] + currency + "Supplément haute saison (Hébergement)";}if (pc_result['prices']['hasCourseOffer'] == true && pc_result['prices']['offerCourseDiscount'] > 0) {tpl += "" + "-" + pc_result['prices']['offerCourseDiscount'] + currency + "" + pc_result['prices']['textSpecialOfferCourse'] + "";}if (pc_result['prices']['hasAccommodationOffer'] == true && pc_result['prices']['offerAccommodationDiscount'] > 0) {tpl += "" + "-" + pc_result['prices']['offerAccommodationDiscount'] + currency + "" + pc_result['prices']['textSpecialOfferAccommodation'] + "";}tpl += "";var total = pc_result['prices']['total'];var total_nodiscount = pc_result['prices']['subtotal'] + pc_result['prices']['offerCourseDiscount'] + pc_result['prices']['offerAccommodationDiscount'];if (selected_date==0) {var hs_course = parseInt(pc_result['prices']['hs_course']);if (isNaN(hs_course)) {hs_course=0;}var hs_accommo = parseInt(pc_result['prices']['hs_accommodation']);if (isNaN(hs_accommo)) {hs_accommo=0;}total -= ( hs_course + hs_accommo);total_nodiscount -= ( hs_course + hs_accommo);}if (total_nodiscount > total) {tpl += "" + Math.ceil(total_nodiscount) + currency + "";} else {tpl += "";}tpl += Math.ceil(total) + currency + "
";if (selected_date!=0) {tpl += "Montant total final, incluant les suppléments haute-saison, les frais d'inscription, et les taxes applicables.";} else {tpl += "Montant total, incluant les frais d'inscription et toute taxe applicable.";}//tpl += jQuery("#courseSelected_" + school_id).attr("extra-info");tpl += jQuery("#infotooltip_" + school_index).attr("extra-info");jQuery("#infotooltip_" + school_index).attr("data-original-title", tpl);} "); const alterTooltipf = function() { if (jQuery(".mobileCloseTooltip").length == 0) { jQuery('.tooltip-inner').prepend(newInsert); } } if (aDataToggleTooltip.length !== 0 ) { let i; for (i = aDataToggleTooltip.length - 1; i >= 0; i--) { const el = jQuery(aDataToggleTooltip[i]); el.on('inserted.bs.tooltip', alterTooltipf) } } } // touch screen device detection if ( ("ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch) === true ) { // put close button in tooltips when touchscreen is detected setTimeout(function() { itsTouchScreen(); }, 2500); } function destroyFlagToolEtc() { // destroy language flags tooltip when mobile // Mobile search box micro-plugin variables // const searchQuery = jQuery("#search_query"); // destroy the flags info tooltip in mobile if (typeof(flagsTooltip.tooltip) === 'function') { flagsTooltip.tooltip('destroy'); } langListPop.off('hide.bs.popover'); // turn off the event to re-init the tooltip after flags selector popover hides langListPop.on('show.bs.popover', function() { langListPop.off('hide.bs.popover'); }); /** Mobile search box micro-plugin **/ // start with transparent in order to don't hide magnifying glass icon // searchQuery.css('background-color', 'transparent'); // bind focus event // searchQuery.on('focus', function() { // const that = jQuery(this); // to calculate search box deployment final width // const totalSearchFieldWidth = jQuery("#cBoxTabWrap").outerWidth() - jQuery("#searchForm_small").outerWidth() - 87; // background-color play to always show icon and have white background in search field // that.css('background-color', '#fff'); // Show 'searchPlaceholderVar' variable is defined in the 'page_header.tpl' then animate the search field // that.attr('placeholder', searchPlaceholderVar).animate({ // width: totalSearchFieldWidth, // }, 400, "swing", function() { // jQuery("#magniFyingGlass").hide(); // jQuery("#closeSearchBar").show(); // }); // }); //bind blur event // searchQuery.on('blur', function() { // const that = jQuery(this); // const glyphiconSearch = jQuery("#searchForm_small").find(".fa-search"); // //contactBoxPhonesMobText.css('color', ''); // // z-index play // glyphiconSearch.css('z-index', '4'); // that.animate({ // // animate back to zero width to close the field // width: 0, // }, 400, function() { // // jQuery("#magniFyingGlass").show(); // // jQuery("#closeSearchBar").hide(); // // // background and z-index play // // that.css('background-color', 'transparent'); // // glyphiconSearch.css('z-index', ''); // }); // }); /** END OF => Mobile search box micro-plugin **/ } // La siguiente función "slidingMenu();" sirve para mostrar y ocultar el sliding facetted menú lateral en el responsive mode function slidingMenu() { // toggle side menu const leftMenuBtns = jQuery("#filterMobBut, #cbp-spmenu-s2, #showLeft, #closeButtonSlideMenuTop, #closeButtonSlideMenuBot, #closeButtonSlideMenuBot2"); // elements for toggling classes over const bodyContent = jQuery("#body_content"); const menuLeft = jQuery("#cbp-spmenu-s2"); const closeButTopEl = jQuery('#closeButtonSlideMenuTop')[0]; const closeButBotEl = jQuery('#closeButtonSlideMenuBot')[0]; const closeButBotEl2 = jQuery('#closeButtonSlideMenuBot2')[0]; leftMenuBtns.on('click', function(event) { const transitionEvent = whichTransitionEvent(); // No need of using event.stopPropagation() anymore writing the condition below! // to check if click is originated from outside the side menu itself // https://css-tricks.com/dangers-stopping-event-propagation/#article-header-id-2 if (!jQuery(event.target).closest('#wrapSlideMenu').length || (event.target == closeButTopEl && event.currentTarget.id != "cbp-spmenu-s2") || (event.target == closeButBotEl && event.currentTarget.id != "cbp-spmenu-s2") || (event.target == closeButBotEl2 && event.currentTarget.id != "cbp-spmenu-s2") ) { menuLeft.toggleClass('cbp-spmenu-open'); // triggered only when closing the sidebar, so detect the transition end before changing z-index if (bodyContent.hasClass('cbp-spmenu-opened')) { // .one() => because if the event handler is not removed after its called, the class will be removed from the second triggering and so on (the handler continue running if not cancelled) menuLeft.one(transitionEvent, function() { bodyContent.removeClass('cbp-spmenu-opened'); }); } else { // triggered only when opening the sidebar: no need of changing z-index bodyContent.addClass('cbp-spmenu-opened'); } } }); } // END of slidingMenu() logic if (currentSize.width <= 1024) { slidingMenu(); } // trigger reflows on resize width from desktop to mobile jQuery(window).on('widthOnlyResizedMobile', function() { var leftMenuBtns = jQuery("#filterMobBut, #cbp-spmenu-s2, #showLeft, #closeButtonSlideMenuTop, #closeButtonSlideMenuBot, #closeButtonSlideMenuBot2"); leftMenuBtns.off('click'); slidingMenu(); }); /***********************************/ /** Main school_overview reflows **/ /*********************************/ // school_overview repositions when resizing from desktop to mobile function mobileResp() { const contentPanel = jQuery("#content_panel"); const schoolContainer = contentPanel.find(".schoolContainer"); let starting_date = jQuery("#calendar_date").val(); const schoolDetailsDropWrap = contentPanel.find(".schoolDetailsDropWrap"); const resultsDetails2 = jQuery(".resultsDetails2"); // const reflowBlocks = jQuery(".reflowBlocks"); const ratingWrap = jQuery(".ratingBlockWrap").find(".ratingWrap"); // var textInsideCalc = jQuery('.textInsideCalc'); // var calcModal = jQuery("#calcModal"); // calcModal.appendTo(textInsideCalc); // modal changes on resize jQuery(".modal-backdrop").css('display', ''); // calcModal.addClass('modal fade').removeClass('modalDisplay'); jQuery("#decorator_xx10").addClass('modal-dialog'); // jQuery("#modalContent").addClass('modal-content'); // school_overview FACETS only contentPanel.find(".wrappableDivFacets").addClass('collapse').css('height', ''); /*reflowBlocks.each(function() { const that = jQuery(this); const closest = that.closest(".middleAndResults"); closest.find(".resultsDetails2").insertAfter(that); that.insertAfter(closest.find(".mainRatingWrap")); });*/ resultsDetails2.each(function() { const that = jQuery(this); that.insertAfter(that.closest(".middleAndResults").find(".reflowBlocks")); }); schoolDetailsDropWrap.each(function(){ const that = jQuery(this); that.closest(".middleAndResults").find('.buttonToSchoolWrap').appendTo(that.closest('.schoolRightContentWrap')); // that.parent().find('.resultsLogos').after(that.find('.school_overview_p_inside_box_results')); if (that.hasClass('secondarySchoolBlock')) { that.appendTo(that.closest('.middleTop').find('.contentSideImg')); } }); ratingWrap.each(function() { const that = jQuery(this); that.after(that.prev()); }); schoolContainer.each(function() { const that = jQuery(this); that.find(".resultsBand").prependTo(that.find(".middleTop")); // schoolDetailsDropWrap.css('width', ''); that.find(".newBadge").insertAfter(that.find(".schoolPictWrap")); that.find(".schoolStrenghtsWrap").appendTo(that.find(".resultsDetails2")); that.find(".schoolDetailsDropWrap").insertAfter(that.find(".mainRatingWrap")); }); // school_overview calculator part jQuery("#mob_duration_sel").html(jQuery("#duration_sel").html()); if (starting_date == "") { starting_date = jQuery("#calendar_date_intro").html(); jQuery("#calendarIndicator").html("+").addClass("calNumEmpty").removeClass("calNumFilled"); } else if (typeof(starting_date) !== 'undefined') { jQuery("#calendarIndicator").html( starting_date.substr(0, starting_date.indexOf(' ')) ).addClass("calNumFilled").removeClass("calNumEmpty"); } // jQuery("#mob_calendar_date").html(starting_date); jQuery("#mob_course_category_sel").html(jQuery("#course_category_sel").html()); jQuery("#mob_accommodation_type_sel").html(jQuery("#accommodation_type_sel").html()); jQuery(".modal-backdrop").css('display', ''); // calcModal.addClass('modal fade').removeClass('modalDisplay'); jQuery("#decorator_xx10").addClass('modal-dialog'); // jQuery("#modalContent").addClass('modal-content'); jQuery("span.city_video_big").addClass("city_video").removeClass("city_video_big"); // school_overview secondary schools collapsibles // jQuery('[id^=schoolAltRatings], [id^=dataSchool]').collapse('show'); // jQuery('[id^=S_Name]').removeClass("DDColl").addClass("DDExp"); } // Main school_overview desktop repositions function schoolOverviewReposition() { const contentPanel = jQuery("#content_panel"); const schoolContainer = contentPanel.find(".schoolContainer"); const schoolRightContentWrap = jQuery(".schoolRightContentWrap"); const resultsDetails2_1 = jQuery(".resultsDetails2_1"); const ratingWrap = jQuery(".ratingBlockWrap").find(".ratingWrap"); const middleWrap = jQuery('.middleWrap'); // var boxedBottWrap = jQuery('#boxedBottWrap'); // var calcModal = jQuery("#calcModal"); // calcModal.appendTo(boxedBottWrap); schoolContainer.each(function() { const that = jQuery(this); that.find(".resultsBand").insertBefore(that.find(schoolRightContentWrap)); that.find(".newBadge").prependTo(that.find(".buttonToSchoolWrap")); that.find(".schoolStrenghtsWrap").insertAfter(that.find(".middleBot")); that.find(".schoolDetailsDropWrap ").appendTo(that.find(".middleTop")) // To avoid elements repositioning flashes during page load // that.find(".contentSideImg, .schoolDetailsDropWrap, .buttonToSchoolWrap").show(); }); schoolRightContentWrap.each(function() { const that = jQuery(this); // https://es.stackoverflow.com/questions/61505/c%C3%B3mo-hacer-para-aplicar-important-de-css-con-jquery-javascript if (that.find(".schoolDetailsDropWrap")[0]) { // that.find(".schoolDetailsDropWrap")[0].style.setProperty('width', '88%', 'important'); that.find(".buttonToSchoolWrap").appendTo(that.find(resultsDetails2_1)); } }); // resultsDetails2_1.each(function() { // const that = jQuery(this); // that.closest(".middleAndResults").find(".reflowBlocks").insertAfter(that.closest(".middleAndResults").find(".head_yellow_7")); // }); middleWrap.each(function(){ const that = jQuery(this); that.after(that.find(".resultsDetails2")); // that.find(".school_overview_p_inside_box_results").prependTo(that.find(".schoolDetailsDropWrap")); }); ratingWrap.each(function() { const that = jQuery(this); that.next().after(that); }); contentPanel.find(".schoolDetailsDropWrap").find(".wrappableDiv").unwrap(); // calcModal.removeClass('modal fade').addClass('modalDisplay'); jQuery("#decorator_xx10").removeClass('modal-dialog'); // jQuery("#modalContent").removeClass('modal-content'); jQuery("span.city_video").addClass("city_video_big").removeClass("city_video"); // school_overview FACETS only contentPanel.find(".wrappableDivFacets").removeClass('collapse').css('height', 'auto'); // school_overview secondary schools collapsibles // jQuery('[id^=schoolPicture]').collapse('hide').height('0px'); // jQuery('[id^=S_Name]').removeClass("DDExp").addClass("DDColl"); } function trimSchoolDescriptions(textLength, removeLink = false) { function trimToWords(text, wordCount) { // Remove line breaks and extra spaces text = text.replace(/\s+/g, ' ').trim(); const words = text.split(' '); if (words.length <= wordCount) { return text; } let trimmed = words.slice(0, wordCount).join(' '); // Remove any non-alphanumeric characters from the end of the trimmed text trimmed = trimmed.replace(/[^a-zA-Z0-9]+$/, ''); return trimmed + ' ...'; } const elements = document.querySelectorAll('.school_overview_p_inside_box_results_inside'); for (let i = 0; i < elements.length; i++) { const originalText = elements[i].textContent || elements[i].innerText; elements[i].textContent = trimToWords(originalText, textLength); } } if (currentSize.width >= 1025) { schoolOverviewReposition(); trimSchoolDescriptions(22); // const bar_flags_new = jQuery("#bar_flags_new").detach(); // bar_flags_new.appendTo("#searchFormSmallWrap"); } else { trimSchoolDescriptions(12, true); } jQuery('[id^=schoolPicture]').collapse('hide').height('0px'); // trigger reflows to be done in mobile mode when resizing from desktop to mobile jQuery(window).on('widthOnlyResizedMobile', mobileResp); // ... and viceversa jQuery(window).on('widthOnlyResizedDesktop', function() { // const mainRatingWrap = jQuery(".mainRatingWrap"); schoolOverviewReposition(); // jQuery(".resultsDetails2_1").each(function() { // const that = jQuery(this); // that.closest(".middleAndResults").find(mainRatingWrap).prependTo(that); // }); }); /**************************/ /** Main school reflows **/ /************************/ function allPagesDesktopReflows() { // const bar_flags_new = jQuery("#bar_flags_new").detach(); // ALL pages => flags widget // bar_flags_new.appendTo("#searchFormSmallWrap"); // ALL pages => "wechat" "whatsapp" "kakao" & "skype" jQuery("#contactBoxSkype").insertAfter("#contactBoxPhones"); // ALL pages => cBox jQuery("#contactBoxChat").insertBefore("#contactBoxTextareaDiv"); // ALL PAGES (footer) // ALL pages where we use bootstrap modals jQuery('.modal-backdrop.fade.in').css('display', 'none'); // All pages but UG (header) jQuery("#searchFormSmallWrap").prependTo("#headSearchBar"); } // remove placeholder on focus event jQuery("#searchBarMob .search_query, .searchQueryWrap .search_query").on('focus', function() { jQuery(this).removeAttr('placeholder'); }); flagsTooltipInit = function() { if (typeof jQuery().tooltip === 'function') { // destroy lang flags tooltip if flags popover is shown langListPop.on('show.bs.popover', function() { flagsTooltip.tooltip('destroy'); }); if (currentSize.width <= 1024) { if (typeof(flagsTooltip.tooltip) === 'function') { flagsTooltip.tooltip('destroy'); } } else { if (!windowMatchObj.mqoh.matches) { // re-init lang flags tooltip when flags popover is hidden langListPop.on('hide.bs.popover', function() { jQuery('[data-toggle="tooltipTop"]').tooltip({ trigger : 'hover', placement: 'top' }); }); } if (windowMatchObj.mqoh.matches) { if (typeof(flagsTooltip.tooltip) === 'function') { flagsTooltip.tooltip('destroy'); langListPop.off('hide.bs.popover'); } } } } } // avoid hiding flags selector if the cBox is overlapping it function avoidHidingFlags() { if (windowMatchObj.mqoh.matches) { const contactBoxWrapper = jQuery('#contactBoxWrapper'); langListPop.on('show.bs.popover', function () { contactBoxWrapper.css('z-index', '10'); }); langListPop.one('hide.bs.popover', function () { contactBoxWrapper.css('z-index', ''); if (typeof(flagsTooltip.tooltip) === 'function') { flagsTooltip.tooltip('destroy'); } }); flagsTooltip.on('show.bs.tooltip', function () { if (typeof(flagsTooltip.tooltip) === 'function') { flagsTooltip.tooltip('destroy'); } }); } else { langListPop.off('show.bs.popover hidden.bs.popover'); flagsTooltipInit(); } } avoidHidingFlags(); windowMatchObj.mqoh.addListener(avoidHidingFlags); jQuery(window).on('widthOnlyResized', function() { // restart bind and width in case of window resize in order to don't hide magnifying glass icon // jQuery("#search_query").off('focus blur').css('width', ''); }); if (currentSize.width <= 1024) { destroyFlagToolEtc(); } if (currentSize.width >= 1025) { allPagesDesktopReflows(); } // remove heading middle line if 2 lines if (!(jQuery('#school_overview').length && currentSize.width <= 1024)) { const h2Elements = jQuery('h2'); for (let i = 0; i < h2Elements.length; i++) { const el = jQuery(h2Elements[i]); if (el.find('.titleSep').height() > 40) { el.addClass('removeBorderBottom'); } }; } // execute destroy language flags tooltip + mobile searchbar (triggered only on mobile and only on resize from desktop mode) jQuery(window).on('widthOnlyResizedMobile', function() { // const bar_flags_new = jQuery("#bar_flags_new").detach(); destroyFlagToolEtc(); // bar_flags_new.appendTo(jQuery("#cBoxTabWrap")); jQuery("#contactBoxChat").insertAfter("#contactBoxTextareaDiv"); jQuery("#searchFormSmallWrap").insertAfter("#contactBoxChat"); if (typeof getLangSuggestion === "function") { getLangSuggestion(0); } reInitPopover('#changeLanguageFlags'); jQuery("#contactBoxSkype").insertBefore("#sendBlockWrap"); }); // Triggered only on desktop and only on resize from mobile mode jQuery(window).on('widthOnlyResizedDesktop', function() { // ALL PAGES => re-init the tooltip if previously destroyed on mobile allPagesDesktopReflows(); if (typeof(flagsTooltip.tooltip) === 'function') { // IMPORTANT: .tooltip('destroy') is asynchronous, and immediate creation of another popover fails, while the previous one is being destroyed [same that happens with .popover('destroy') method]. // https://stackoverflow.com/questions/27238938/bootstrap-popover-destroy-recreate-works-only-every-second-time#answer-27345242 setTimeout(function() { flagsTooltip.tooltip({ trigger : 'hover', placement: 'top' }); }, 200); } // ALL PAGES => re-init event handler if previously turned off on mobile langListPop.on('show.bs.popover', function() { // re-init lang flags tooltip when flags popover is hidden langListPop.on('hide.bs.popover', function() { setTimeout(function() { flagsTooltip.tooltip({ trigger : 'hover', placement: 'top' }); }, 200); }); }); reInitPopover('body'); }); /*}); CLOSING BIG WINDOW ONLOAD FUNCTION */ } else { setTimeout(autoCall, 50); } })();

'; // right template when container distance to right is more than 300px in desktop mode or the cBox is closed } else if ( distanceToRight > 300 || !contactBoxStatuses.locked ) { return '

'; } // always bottom template when mobile mode } else if ( windowWidth <= 1024 ) { return '

'; } }; if (typeof jQuery().tooltip === 'function') { // init price calculator or price breakdown tooltips tooltipPC.tooltip({ trigger : 'hover', placement: function (tooltip, button) { if (jQuery(button).hasClass('carouselTooltipBtn')) { return 'bottom'; } const distanceToRight = distanceOfPCToRight(); const windowWidth = window.innerWidth; if (windowWidth >= 1025) { // left show when container distance to right is less than 300px in desktop mode or the cBox is opened if ( distanceToRight <= 300 || contactBoxStatuses.locked ) { return 'left'; // right show when container distance to right is more than 300px in desktop mode or the cBox is closed } else if ( distanceToRight > 300 || !contactBoxStatuses.locked ) { return 'right'; } // always bottom show when mobile mode } else if ( windowWidth <= 1024 ) { return 'bottom'; } }, html: true, // get template template: templateTooltipPC() }); }; // conditionals to right/left/bottom open tooltips -- first select each tooltip for (i = tooltipPC.length - 1; i >= 0; i--) { // when tooltip is completely visible, alter its HTML inserting or removing classes: jQuery(tooltipPC[i]).on('inserted.bs.tooltip', function() { const windowWidth = window.innerWidth; if (windowWidth >= 1025) { // left show when container distance to right is less than 300px in desktop mode and the cBox is opened if ( distanceOfPCToRight() <= 300 || contactBoxStatuses.locked ) { jQuery('.tooltip').removeClass("tri-left tri-up").addClass("tri-right tri-down"); // right show when container distance to right is more than 300px in desktop mode and the cBox is closed } else if ( distanceOfPCToRight() > 300 || !contactBoxStatuses.locked ) { jQuery('.tooltip').removeClass("tri-right tri-up").addClass("tri-left tri-down"); } // always bottom show when mobile mode } else if ( windowWidth <= 1024 ) { jQuery('.tooltip').removeClass("tri-down tri-right tri-left").addClass("tri-up"); } }); } }; // jQuery(window).on('load', function() { setTimeout(function() { // execute tooltip function above on window load initTooltipPC(); }, 2000); // }); // jQuery(window).on('load', function() { // university details if (jQuery('.ranking-table.variant').length > 0) { jQuery('.ranking-table.variant .provider').tooltip({ html: true, template: '

', title: 'loading...', placement: function (tooltip, button) { const windowWidth = window.innerWidth; if( windowWidth <= 1024 ) { placement = 'bottom'; } else { placement = 'right'; } return placement; }, trigger: 'hover click' }).on('show.bs.tooltip', function() { const that = jQuery(this); const title = that.find('.primary_indicators').html(); // 'data-original-title' => https://stackoverflow.com/questions/9501921/change-twitter-bootstrap-tooltip-content-on-click that.attr('data-original-title', title).tooltip('fixTitle'); }); } if (window.innerWidth >= 1025) { !jQuery("#radios_lists").length && showAgentImg(); cBoxDesktopReflows(); jQuery("#searchBarMob input").prop('disabled', true); jQuery("#searchBarDesk input").prop('disabled', false); } else { jQuery("#buttonToChat, #contactBoxTextareaDiv, #proActiveBubbleWrapMob").on('click', showAgentImg); jQuery("#proActiveBubbleWrapMob .closeContactBox").on('click', function(e) { e.stopPropagation(); jQuery("#proActiveBubbleWrapMob").fadeOut(300); }); jQuery("#searchBarDesk input").prop('disabled', true); jQuery("#searchBarMob input").prop('disabled', false); } function cBoxDesktopReflows() { jQuery("#contactBoxAgent").insertAfter(jQuery("#closingTab")); } function showAgentImg() { const cBoxAgent = jQuery("#contactBoxAgent"); if (document.getElementById('contactBoxSkype')?.innerHTML !== '') { const cBoxImg = document.getElementById("cBoxImg"); if (cBoxImg) { cBoxImg.setAttribute("src", cBoxImg.getAttribute('data-image')); cBoxAgent.show(); } const theSkypeImg = document.getElementById("theSkypeImg"); theSkypeImg && theSkypeImg.setAttribute("src", theSkypeImg.getAttribute('data-image')); const theKakaoImg = document.getElementById("theKakaoImg"); theKakaoImg && theKakaoImg.setAttribute("src", theKakaoImg.getAttribute('data-image')); const theWechatImg = document.getElementById("theWechatImg"); theWechatImg && theWechatImg.setAttribute("src", theWechatImg.getAttribute('data-image')); const weChatQRImg = document.getElementById("weChatQRImg"); weChatQRImg && weChatQRImg.setAttribute("src", weChatQRImg.getAttribute('data-image')); const theWhatsAppImg = document.getElementById("theWhatsAppImg"); theWhatsAppImg && theWhatsAppImg.setAttribute("src", theWhatsAppImg.getAttribute('data-image')); document.getElementById("contactBoxWrapper") && (document.getElementById("contactBoxWrapper").style.visibility = 'visible'); } else { cBoxAgent.hide(); setTimeout(showAgentImg, 100); } } jQuery(window).on('widthOnlyResizedMobile', function() { jQuery("#contactBoxAgent").insertAfter(jQuery("#closingFunctions")); jQuery("#searchBarDesk input").prop('disabled', true); jQuery("#searchBarMob input").prop('disabled', false); }); jQuery(window).on('widthOnlyResizedDesktop', function() { cBoxDesktopReflows(); jQuery("#searchBarMob input").prop('disabled', true); jQuery("#searchBarDesk input").prop('disabled', false); }); // }); } else { setTimeout(autoCall, 50); }})();

Le meilleur cours de Français en ligne 2024 Comparaison (2024)
Top Articles
Vegetable Lo Mein Noodles - Instant Pot Recipe
Low Carb Chili Dog Casserole Recipe
Rails to Trails: Cedar Brook Bridge Repair Fundraiser
The UPS Store | Ship & Print Here > 100 Industrial Dr
Ark Mindwipe Tonic Command
Powersave Nathan Gilroy
Marlin Markets Weekly Ad
Amanda Bellaci
No Hard Feelings Showtimes Near Cinemark Tinseltown Pueblo
Craigslist En Brownsville Texas
Crazy 8S Cool Math
Candy Crush Level 531 Frog
Latest Posts
Healthy Banana Bread Recipe Two Peas & Their Pod
Outback Steakhouse Mac and Cheese Copycat Recipe - CopyKat Recipes
Article information

Author: Van Hayes

Last Updated:

Views: 6332

Rating: 4.6 / 5 (46 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Van Hayes

Birthday: 1994-06-07

Address: 2004 Kling Rapid, New Destiny, MT 64658-2367

Phone: +512425013758

Job: National Farming Director

Hobby: Reading, Polo, Genealogy, amateur radio, Scouting, Stand-up comedy, Cryptography

Introduction: My name is Van Hayes, I am a thankful, friendly, smiling, calm, powerful, fine, enthusiastic person who loves writing and wants to share my knowledge and understanding with you.