1/* ------------------------------- */ 2/* = Paramètres */ 3/* ------------------------------- */ 4 5var 6 7/* = --- Général ---------------- */ 8 9version_fontawesome = 'r', // ['' (classique) | 'l' (light) | 'r' (regular) | 's' (solid) | 'b' (brands)] 10activer_entete_gauche = false, 11activer_entete_fixe = { 12 'extra_en-tete': false, 13 'en-tete' : true 14}, 15limite_entete_fixe = 250, // [(int){px}] 16minimum_champ_recherche = 3, // [(int)] 17activer_liens_sf = false, 18limite_retour_haut = 1000, // [(int){px} - 0 pour désactiver] 19vitesse_retour_haut = 1000, // [(int){ms}] 20alignement_sliders = 'c', // ['g' (gauche) | 'd' (droite) | 'c' (centre)] 21nombre_colonnes = { // [(int)1-4] 22 accueil : { 23 produits: 4, 24 autres : 3 25 }, 26 liste : { 27 produits: 4, 28 autres : 3 29 }, 30 recherche: { 31 produits: 4, 32 autres : 4 33 }, 34 fiche : { 35 produits: 4, 36 autres : 3 37 } 38}, 39texte_bouton_achat_liste = { // [(string) | http://fontawesome.io/cheatsheet/] 40 fr: 'ï', 41 en: 'ï' 42}, 43texte_bouton_detail_liste = { // [(string) | http://fontawesome.io/cheatsheet/] 44 fr: 'ï', 45 en: 'ï' 46}, 47activer_animations = true, 48// https://github.com/michalsnik/aos/blob/master/README.md 49parametres_animations = { 50 effect : 'fade-up', 51 duration: 1000 52}, 53texte_bouton_texte_plus_ouvrir = 'Lire la suite', 54texte_bouton_texte_plus_fermer = 'Fermer', 55 56/* = --- Accueil ---------------- */ 57 58activer_titres = true, 59activer_chapeaux = true, 60alignement_page = 'c', // ['g' (gauche) | 'd' (droite) | 'c' (centre)] 61activer_onglets = { 62 produits: true, 63 autres : false, 64 pages : true 65}, 66pages_isolees = [ 67 'societe.htm', 68 'marques.htm' 69], 70 71/* = --- Liste ------------------ */ 72 73affichage_filtres = 'v', // ['p' (pop-in) | 'h' (horizontal) | 'v' (vertical)] 74activer_filtres_fixes = true, 75// http://tobiasahlin.com/spinkit/ 76motif_chargement_filtres = 'folding-cube', // ['rotating-plane' | 'double-bounce' | 'wave' | 'wandering-cubes' | 'pulse' | 'chasing-dots' | 'three-bounce' | 'circle' | 'cube-grid' | 'fading-circle' | 'folding-cube'] 77texte_bouton_filtres = { 78 fr: 'Filtres', 79 en: 'Filters' 80}, 81texte_bouton_appliquer_filtres = { 82 fr: 'Appliquer les filtres', 83 en: 'Apply filters' 84}, 85activer_affichage_colonnes = false, 86 87/* = --- Fiche ------------------ */ 88 89alignement_image = 'g', // ['g' (gauche) | 'd' (droite)] 90texte_option_indisponible = { // + Vérifier état : "Texte option indisponible" (CSS). 91 fr: 'indisponible', 92 en: 'unavailable' 93}, 94texte_bouton_achat_fiche = { // [(string) | http://fontawesome.io/cheatsheet/] 95 fr: 'Ajouter au panier', 96 en: 'Add to cart' 97}; 98 99/* = --- Recherche -------------- */ 100 101/* ------------------------------- */ 102/* = Librairies */ 103/* ------------------------------- */ 104 105var 106 107/* = --- AOS -------------------- */ 108// https://github.com/michalsnik/aos 109 110aos_css = 'https://cdnjs.cloudflare.com/ajax/libs/aos/2.1.1/aos.css', 111aos_js = 'https://cdnjs.cloudflare.com/ajax/libs/aos/2.1.1/aos.js', 112 113/* = --- jQuery UI Touch Punch -- */ 114// https://github.com/furf/jquery-ui-touch-punch 115 116jqueryui_touch_punch_js = 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js', 117 118/* = --- SpinKit ---------------- */ 119// https://github.com/tobiasahlin/SpinKit 120 121spinkit_css = 'https://cdnjs.cloudflare.com/ajax/libs/spinkit/1.2.5/spinkit.min.css', 122spinkit_html = { 123 'rotating-plane' : '<div class="sk-rotating-plane"></div>', 124 'double-bounce' : '<div class="sk-double-bounce"><div class="sk-child sk-double-bounce1"></div><div class="sk-child sk-double-bounce2"></div></div>', 125 'wave' : '<div class="sk-wave"><div class="sk-rect sk-rect1"></div><div class="sk-rect sk-rect2"></div><div class="sk-rect sk-rect3"></div><div class="sk-rect sk-rect4"></div><div class="sk-rect sk-rect5"></div></div>', 126 'wandering-cubes': '<div class="sk-wandering-cubes"><div class="sk-cube sk-cube1"></div><div class="sk-cube sk-cube2"></div></div>', 127 'pulse' : '<div class="sk-spinner sk-spinner-pulse"></div>', 128 'chasing-dots' : '<div class="sk-chasing-dots">
128<div class="sk-child sk-dot1"></div><div class="sk-child sk-dot2"></div></div>', 129 'three-bounce' : '<div class="sk-three-bounce"><div class="sk-child sk-bounce1"></div><div class="sk-child sk-bounce2"></div><div class="sk-child sk-bounce3"></div></div>', 130 'circle' : '<div class="sk-circle"><div class="sk-circle1 sk-child"></div><div class="sk-circle2 sk-child"></div><div class="sk-circle3 sk-child"></div><div class="sk-circle4 sk-child"></div><div class="sk-circle5 sk-child"></div><div class="sk-circle6 sk-child"></div><div class="sk-circle7 sk-child"></div><div class="sk-circle8 sk-child"></div><div class="sk-circle9 sk-child"></div><div class="sk-circle10 sk-child"></div><div class="sk-circle11 sk-child"></div><div class="sk-circle12 sk-child"></div></div>', 131 'cube-grid' : '<div class="sk-cube-grid"><div class="sk-cube sk-cube1"></div><div class="sk-cube sk-cube2"></div><div class="sk-cube sk-cube3"></div><div class="sk-cube sk-cube4"></div><div class="sk-cube sk-cube5"></div><div class="sk-cube sk-cube6"></div><div class="sk-cube sk-cube7"></div><div class="sk-cube sk-cube8"></div><div class="sk-cube sk-cube9"></div></div>', 132 'fading-circle' : '<div class="sk-fading-circle"><div class="sk-circle1 sk-circle"></div><div class="sk-circle2 sk-circle"></div><div class="sk-circle3 sk-circle"></div><div class="sk-circle4 sk-circle"></div><div class="sk-circle5 sk-circle"></div><div class="sk-circle6 sk-circle"></div><div class="sk-circle7 sk-circle"></div><div class="sk-circle8 sk-circle"></div><div class="sk-circle9 sk-circle"></div><div class="sk-circle10 sk-circle"></div><div class="sk-circle11 sk-circle"></div><div class="sk-circle12 sk-circle"></div></div>', 133 'folding-cube' : '<div class="sk-folding-cube"><div class="sk-cube1 sk-cube"></div><div class="sk-cube2 sk-cube"></div><div class="sk-cube4 sk-cube"></div><div class="sk-cube3 sk-cube"></div></div>' 134}; 135 136/* ------------------------------- */ 137/* = Traitement */ 138/* ------------------------------- */ 139 140var 141temporisation = 2000, 142langue = 'fr', 143page = '', 144classe_btn_icone = 'btn_icone', 145body = $('body'), 146menu_accordeon_actif = false, 147hauteur_entete = 0, 148nombre_colonnes_max = 4, 149classe_onglets = 'onglets', 150classe_contenu_onglets = 'contenu_onglets', 151tri = null, 152filtres = null, 153position_filtres_min = 0, 154position_filtres_max = 0, 155basculer_filtres = false, 156hauteur_filtres = 0, 157chargement_filtres = null; 158 159$(window).load(function() { 160 161 function gerer_bouton_achat_fiche() { 162 var bouton_achat_fiche = $('#feature .btn_buy'); 163 164 if(bouton_achat_fiche.length != 0) { 165 var texte_bouton_achat = (texte_bouton_achat_fiche[langue] !== undefined) ? 166 texte_bouton_achat_fiche[langue] : texte_bouton_achat_fiche; 167 if(trim(texte_bouton_achat) != '') { 168 if(texte_bouton_achat.length == 1) 169 bouton_achat_fiche 170 .addClass(classe_btn_icone) 171 .attr('title', bouton_achat_fiche.val()); 172 173 bouton_achat_fiche.val(texte_bouton_achat); 174 } 175 176 bouton_achat_fiche 177 .removeAttr('tabindex') 178 .click(function() { 179 gerer_achat(); 180 }); 181 } 182 } 183 184 function gerer_options() { 185 $('#option_contener select, #option_contener .pdt_select').closest('.option').addClass('select'); 186 187 $('#option_contener select > .zerostock').each(function() { 188 var texte_option = (texte_option_indisponible[langue] !== undefined) ? 189 texte_option_indisponible[langue] : texte_option_indisponible; 190 $(this).text($(this).text() + ' (' + texte_option + ')'); 191 }); 192 } 193 194 function gerer_galerie_zoom() { 195 var zoom = $('#image > .popup_zoom'); 196 197 if(zoom.length > 1) { 198 $('<a class="prev" href="#" title="Voir précédent"><i class="fa fa-chevron-left"></i></a><a class="next" href="#" title="Voir suivant"><i class="fa fa-chevron-right"></i></a>') 199 .prependTo('.popup_zoom') 200 .click(function(e) { 201 var 202 zoom_actuel = $(this).parent(), 203 zoom_precedents = zoom_actuel.prevAll('.popup_zoom'), 204 zoom_suivants = zoom_actuel.nextAll('.popup_zoom'), 205 prochain_zoom = null; 206 207 if($(this).hasClass('prev')) 208 prochain_zoom = (zoom_precedents.length != 0) ? zoom_precedents.first() : zoom_suivants.last(
208); 209 else 210 prochain_zoom = (zoom_suivants.length != 0) ? zoom_suivants.first() : zoom_precedents.last(); 211 212 var image_prochain_zoom = prochain_zoom.children('#image_zoom'); 213 image_prochain_zoom.children('img').attr('src', image_prochain_zoom.children('input[id^="pid_"]').val()); 214 zoom_actuel.css('display', 'none'); 215 prochain_zoom.css('display', 'inline'); 216 217 e.preventDefault(); 218 }); 219 220 $('#image .btn_zoom') 221 .removeAttr('onclick') 222 .click(function(e) { 223 $(this).parents('.popup_zoom').eq(0).css('display', 'none'); 224 e.preventDefault(); 225 }); 226 } 227 } 228 229 function gerer_vues_supplementaires() { 230 var selection_vue = $('#image > .pd07 > a'); 231 232 if(selection_vue.length != 0) { 233 selection_vue.attr('href', '#').click(function(e) { 234 $(this) 235 .addClass('actif') 236 .siblings().removeClass('actif'); 237 238 e.preventDefault(); 239 }).eq(0).click(); 240 241 var numero_vue_actuelle = 0; 242 $('#img1, #image > .zvc').click(function(e) { 243 numero_vue_actuelle = $(this).index('.zvc') + 1; 244 245 if(numero_vue_actuelle < selection_vue.length - 1) 246 selection_vue.eq(numero_vue_actuelle + 1).click(); 247 else 248 selection_vue.eq(0).click(); 249 250 e.preventDefault(); 251 }); 252 253 selection_vue 254 .wrapAll('<span></span>') 255 .wrapAll('<span class="items"></span>') 256 .closest('.pd07') 257 .prepend('<a class="prev" title="Voir précédent"><i class="fa fa-chevron-up"></i></a>') 258 .append('<a class="next" title="Voir suivant"><i class="fa fa-chevron-down"></i></a>') 259 .scrollable({ 260 speed: 250, 261 vertical: true 262 }) 263 .children('span').eq(0).remove(); 264 265 body.addClass('vues_supplementaires'); 266 } 267 } 268 269 function gerer_page_fiche() { 270 gerer_vues_supplementaires(); 271 gerer_galerie_zoom(); 272 gerer_options(); 273 gerer_bouton_achat_fiche(); 274 275 if(alignement_image == 'g' || alignement_image == 'd') 276 body.addClass('alignement_image_' + alignement_image); 277 278 $('#feature > .reappro, #Annuler, #LinkSend').click(function(e) { 279 e.preventDefault(); 280 }); 281 282 body.addClass('zoom personnalisation quantite bouton_achat_fiche demande_reassort'); 283 } 284 285 function gerer_affichage() { 286 if(activer_affichage_colonnes) { 287 var affichage = $('<select id="displayby"></select>').change(function() { 288 gerer_nombre_colonnes(false, $(this).val()); 289 }); 290 291 $('<option value="0" selected="selected">Nombre de colonnes</option>').appendTo(affichage); 292 for(i=1; i<=nombre_colonnes_max; i++) 293 $('<option value="' + i + '">' + i + '</option>').appendTo(affichage); 294 295 affichage 296 .wrap('<div class="display-by"></div>').parent() 297 .prependTo('#list_contener'); 298 } 299 } 300 301 function gerer_pagination() { 302 $('#pagination a').click(function() { 303 retablir_page_liste(); 304 }); 305 } 306 307 function gerer_chargement_filtres() { 308 if(typeof spinkit_html[motif_chargement_filtres] !== 'undefined') { 309 chargement_filtres = 310 $(spinkit_html[motif_chargement_filtres]) 311 .wrap('<div id="chargement_filtres"><div></div></div>') 312 .parent().parent().appendTo(body); 313 314 if($('link[href="' + spinkit_css + '"]').length == 0) 315 $('<link rel="stylesheet" href="' + spinkit_css + '" media="all">').appendTo('head'); 316 } 317 } 318 319 function changer_etat_filtres(etat) { 320 if(basculer_filtres) { 321 var bloc_filtres = null; 322 var titre_filtre = null; 323 324 filtres.find('.ff_crit_bloc').each(function() { 325 bloc_filtres = $(this); 326 327 titre_filtre = bloc_filtres.children('.ff_crit_title'); 328 if(etat == true) 329 titre_filtre.removeClass('ff_crit_title_close').addClass('ff_crit_title_open'); 330 else 331 titre_filtre.removeClass('ff_crit_title_open').addClass('ff_crit_title_close'); 332 333 titre_filtre.siblings().css('display', (etat) ? '' : 'none'); 334 }); 335 336 if(etat == true) 337 hauteur_filtres = filtres.height(); 338 } 339 } 340 341 function gerer_filtres_fixes(initialiser) { 342 if(!initialiser) 343 filtres.removeClass('scroll scroll_max').css('top', ''); 344 345 position_filtres_min = filtres.offset().top; 346 347 if(affichage_filtres == 'v') { 348 position_filtres_max = $('#list_contener').offset().top + $('#list_contener').height(); 349 if(hauteur_entete != 0) 350 position_filtres_max -= hauteur_entete; 351 } 352 353 if(initialiser) { 354 if(affichage_filtres == 'h') { 355 hauteur_filtres = filtres.height(); 356 357 $(window).scroll(function() { 358 if($(this).scrollTop() > position_filtres_min) { 359 filtres.addClass('scroll').css('top', hauteur_entete); 360 basculer_filtres = true; 361 changer_etat_filtres(false); 362 $('#list_contener').css('padding-top', hauteur_filtres); 363 } 364 else { 365 filtres.removeClass('scroll').css('top', ''); 366 changer_etat_filtres(true); 367 basculer_filtres = false;
368 $('#list_contener').css('padding-top', ''); 369 } 370 }); 371 } 372 else if(affichage_filtres == 'v') 373 $(window).scroll(function() { 374 var scroll = $(this).scrollTop() + filtres.find('#ff_center').height(); 375 376 if($(this).scrollTop() > position_filtres_min && scroll < position_filtres_max) 377 filtres 378 .removeClass('scroll_max') 379 .addClass('scroll') 380 .css('top', hauteur_entete); 381 else { 382 filtres.removeClass('scroll').css('top', ''); 383 if(scroll > position_filtres_max) 384 filtres.addClass('scroll_max'); 385 } 386 }); 387 } 388 else 389 $(window).scroll(); 390 } 391 392 function gerer_filtres(initialiser) { 393 if(initialiser) { 394 filtres = $('#ff_container'); 395 396 filtres.find('.ff_reset > a').click(retablir_page_liste); 397 filtres.find('.ff_chk').change(retablir_page_liste); 398 filtres.find('#ff_slider_range_price').on('slidestop', retablir_page_liste); 399 if(activer_filtres_fixes && affichage_filtres == 'v') 400 filtres.find('.ff_crit_title').click(function() {gerer_filtres_fixes(false);}); 401 402 var texte_bouton = (texte_bouton_appliquer_filtres[langue] !== undefined) ? 403 texte_bouton_appliquer_filtres[langue] : texte_bouton_appliquer_filtres; 404 if (trim(texte_bouton) != '') { 405 $('<a class="btn tiny-w100" href="#">' + texte_bouton + '</a>') 406 .click(function (e) { 407 filtres.removeClass('actif'); 408 e.preventDefault(); 409 }) 410 .wrap('<p id="fermer_filtres" class="clear"></p>').parent() 411 .appendTo(filtres.find('#ff_center')); 412 } 413 414 if(affichage_filtres == 'p' || affichage_filtres == 'h' || affichage_filtres == 'v') 415 body.addClass('filtres_' + affichage_filtres); 416 } 417 418 var classe_bouton = 'filter-by'; 419 var bouton = null; 420 421 if ($('.' + classe_bouton).length != 0) 422 bouton = $('.'.classe_bouton); 423 else { 424 var texte_bouton = (texte_bouton_filtres[langue] !== undefined) ? 425 texte_bouton_filtres[langue] : texte_bouton_filtres; 426 if (trim(texte_bouton) != '') { 427 bouton = $('<a id="filterby" class="btn" href="#' + filtres.attr('id') + '" title="Ouvrir les filtres">' + texte_bouton + '</a>').click(function(e) { 428 $($(this).attr('href')).addClass('actif'); 429 e.preventDefault(); 430 }).wrap($('<div></div>') 431 .addClass(classe_bouton)).parent(); 432 } 433 } 434 435 if(tri != null && tri.length != 0) bouton.insertAfter(tri); 436 else bouton.prependTo('#list_contener'); 437 438 filtres.prependTo('#list_contener'); 439 440 if(activer_filtres_fixes && (affichage_filtres == 'h' || affichage_filtres == 'v')) 441 gerer_filtres_fixes(initialiser); 442 } 443 444 function gerer_tri(initialiser) { 445 tri = $('#list_contener > .sort-by'); 446 447 if(tri.length != 0) { 448 var label_tri = tri.children('label'); 449 tri.find('option').eq(0).text(label_tri.text()); 450 451 if(filtres != null && filtres.length != 0) 452 tri.children('#sortby').change(retablir_page_liste); 453 454 if(initialiser) body.addClass('tri'); 455 } 456 } 457 458 function retablir_page_liste() { 459 filtres.appendTo('#ff_container_temp'); 460 461 if(chargement_filtres != null && chargement_filtres.length != 0) 462 chargement_filtres.addClass('actif'); 463 464 setTimeout(function() { 465 retour_haut(); 466 467 gerer_tri(false); 468 gerer_filtres(false); 469 gerer_affichage(); 470 gerer_sliders(); 471 gerer_quantites(); 472 gerer_boutons_liste(); 473 gerer_texte_plus(); 474 correctif_colonnes_liste(); 475 gerer_pagination(); 476 477 if(chargement_filtres != null && chargement_filtres.length != 0) 478 chargement_filtres.removeClass('actif'); 479 }, temporisation); 480 } 481 482 function gerer_page_liste() { 483 gerer_tri(true); 484 485 if($('#work.list_filter_facet').length != 0) { 486 /* 487 $.getScript(jqueryui_touch_punch_js).fail(function() { 488 if($('#ff_crit_price').length != 0) 489 $('#ff_crit_price').addClass('invisible'); 490 }); 491 492 var jquery_ui_touch_punch = document.createElement('script'); 493 jquery_ui_touch_punch.src = jqueryui_touch_punch_js; 494 var jquery_ui = document.querySelector('script[src$="http://js.static-store.com/scripts/jquery/jquery-ui-1.8.24.custom.min.js"]'); 495 if(jquery_ui != null) 496 jquery_ui.parentNode.insertBefore(jquery_ui_touch_punch, jquery_ui.nextSibling); 497 */ 498 499 gerer_filtres(true); 500 gerer_chargement_filtres(); 501 } 502 503 gerer_affichage(); 504 } 505 506 function gerer_liens() { 507 var lien = null; 508 var titre_lien = ''; 509 510 $('.list_content[class*="url"] > a').each(function() { 511 lien = $(this); 512 titre_lien = lien.children().attr('alt'); 513 514 if(trim(titre_lien) != '') 515 $('<span class="primary"><a href="' + lien.attr('href') + '">' + titre_lien + '</a></span>
515').appendTo(lien); 516 }); 517 } 518 519 function gerer_chapeaux() { 520 var chapeau = null; 521 522 $('td[id^="tc_"] > .header').each(function() { 523 chapeau = $(this); 524 525 if(trim(chapeau.text()) == '' || !activer_chapeaux) 526 chapeau.remove(); 527 }); 528 } 529 530 function gerer_titres() { 531 var titre = null; 532 533 $('tr[id^="tl_"]:not(.' + classe_onglets + '):not(.' + classe_contenu_onglets + ')').each(function() { 534 titre = $(this).find('h2').eq(0); 535 536 if(trim(titre.text()) == '' || !activer_titres) 537 titre.remove(); 538 }); 539 } 540 541 function gerer_onglets() { 542 var 543 listes_elts = null, 544 zone_elts = null, 545 onglets = null, 546 elts = null, 547 titre_elts = null; 548 549 for(var type_elts in activer_onglets) { 550 switch(type_elts) { 551 case 'produits' : 552 listes_elts = $('td:has(> .list_content[class*="pdt"])'); 553 break; 554 case 'autres' : 555 listes_elts = $('.list_content:not([class*="pdt"])').parent(); 556 break; 557 case 'pages' : 558 listes_elts = $('td:has(> .btn_pos)').filter(function() { 559 titre_elts = $(this).find('a').eq(0).attr('href').split('/'); 560 titre_elts = titre_elts[titre_elts.length - 1]; 561 if($.inArray(titre_elts, pages_isolees) == -1) 562 return true; 563 }); 564 break; 565 } 566 567 if(activer_onglets[type_elts] && listes_elts != null && listes_elts.length > 1) { 568 zone_elts = $(listes_elts[0]).parent().addClass(classe_contenu_onglets).addClass(type_elts); 569 onglets = $('<td></td>'); 570 571 listes_elts.each(function() { 572 elts = $(this); 573 titre_elts = elts.children('h2').eq(0); 574 575 if(trim(titre_elts.text()) == '') 576 titre_elts.html('Ajouter titre <i class="fa fa-exclamation-triangle"></i>'); 577 titre_elts 578 .addClass('medium-inbl large-inbl') 579 .appendTo(onglets); 580 581 elts.appendTo(zone_elts); 582 }); 583 584 onglets 585 .appendTo($('<tr></tr>') 586 .addClass(classe_onglets) 587 .addClass(type_elts) 588 .insertBefore(zone_elts) 589 ).tabs(zone_elts.children(), { 590 current: 'actif', 591 effect: 'fade', 592 tabs: 'h2' 593 }); 594 } 595 } 596 } 597 598 function gerer_page_accueil() { 599 gerer_onglets(); 600 gerer_titres(); 601 gerer_chapeaux(); 602 gerer_liens(); 603 604 if(alignement_page == 'g' || alignement_page == 'd' || alignement_page == 'c') 605 body.addClass('alignement_page_' + alignement_page); 606 } 607 608 function gerer_texte_plus() { 609 var texte_plus = $('#texte_plus'); 610 var btn_texte_plus = $('#btn_texte_plus'); 611 612 if(texte_plus.length != 0 && btn_texte_plus.length != 0) { 613 texte_plus.addClass('invisible'); 614 btn_texte_plus 615 .val(texte_bouton_texte_plus_ouvrir) 616 .click(function() { 617 texte_plus.toggleClass('invisible'); 618 619 if($(this).val() == texte_bouton_texte_plus_ouvrir) 620 $(this).val(texte_bouton_texte_plus_fermer); 621 else 622 $(this).val(texte_bouton_texte_plus_ouvrir); 623 }); 624 } 625 } 626 627 function gerer_animations() { 628 if(activer_animations && typeof AOS === 'undefined') 629 $.getScript(aos_js).done(function() { 630 if($('link[href="' + aos_css + '"]').length == 0) 631 $('<link rel="stylesheet" href="' + aos_css + '" media="all">').appendTo('head'); 632 633 $('#list .uneven, #list .pair').attr('data-aos', parametres_animations['effect']); 634 635 AOS.init(parametres_animations); 636 }); 637 } 638 639 function gerer_achat() { 640 var panier = $('#comand .basket > a'); 641 642 panier.addClass('actif'); 643 644 setTimeout(function() { 645 panier.removeClass('actif'); 646 647 if(page == 'fiche') { 648 var onglet_panier = $('#content_popup_bsk_onglet'); 649 650 if(onglet_panier.find('.list_content').length != 0) { 651 onglet_panier.children('.content_popup_bsk_onglet').attr('id', 'list'); 652 onglet_panier.closest('.sf_pop').addClass('produits_associes'); 653 } 654 onglet_panier.find('.btn_buy').click(function() { 655 gerer_achat(); 656 }); 657 } 658 }, temporisation / 2); 659 660 gerer_compteur_panier(false); 661 } 662 663 function gerer_boutons_liste() { 664 var bouton = null; 665 666 var boutons_achat = $('.btn_buy:not(#btn_basket_buy)'); 667 if(boutons_achat.length != 0) { 668 var texte_bouton_achat = (texte_bouton_achat_liste[langue] !== undefined) ? 669 texte_bouton_achat_liste[langue] : texte_bouton_achat_liste; 670 if(trim(texte_bouton_achat) != '') 671 boutons_achat.each(function() { 672 bouton = $(this); 673 if(texte_bouton_achat.length == 1) 674 bouton 675 .addClass(classe_btn_icone) 676 .attr('title', bouton.val()); 677 bouton.val(texte_bouton_achat) 678 }); 679 boutons_achat.click(function() { 680 gerer_achat(); 681 }); 682 } 683 684 var texte_bouton_detail = (texte_bouton_detail_liste[langue] !== undefined) ? 685 texte_bouton_detail_liste[langue] : texte_bouton_detail_liste; 686 if(trim(texte_bouton_detail) != '') 687 $('.btn_detail').each(function() { 688 bouton = $(this); 689 if(texte_bouton_detail.length == 1) 690 bouton 691 .addClass(classe_btn_icone) 692 .attr('title', bouton.val()); 693 bouton.val(texte_bouton_detail); 694 }); 695 696 if(!body.hasClass('boutons_liste')) 697 body.addClass('boutons_liste'); 698 } 699 700 function gerer_quantites() {
701 $('.bnt_quantity:not([type="hidden"])').each(function() { 702 var quantite = $(this); 703 var quantite_min = quantite.val(); 704 console.log(quantite_min); 705 706 quantite 707 .prop('type', 'number') 708 .removeAttr('tabindex') 709 .attr({ 710 min : quantite_min, 711 required: 'required' 712 }) 713 .change(function() { 714 if(quantite.val() <= quantite_min) { 715 quantite.siblings('.btn_less').attr('disabled', 'disabled'); 716 quantite.val(quantite_min); 717 } 718 else 719 quantite.siblings('.btn_less').removeAttr('disabled'); 720 }) 721 .change() 722 .siblings().click(function() { 723 quantite.change(); 724 }); 725 }); 726 } 727 728 function correctif_colonnes_liste() { 729 var elt = null; 730 var classe_elt = ''; 731 732 $('.list_content').each(function() { 733 elt = $(this); 734 735 if(page == 'recherche' && elt.children('.price_pos').length != 0) 736 elt.addClass('pdt'); 737 738 classe_elt = elt.attr('class').replace('list_content', ''); 739 740 elt.parent().addClass(classe_elt); 741 }); 742 } 743 744 function gerer_nombre_colonnes(initialiser, colonnes) { 745 if(colonnes === undefined) 746 colonnes = 0; 747 748 if(typeof nombre_colonnes[page] !== 'undefined') { 749 var type_page = nombre_colonnes[page]; 750 751 if(!initialiser) 752 body.removeClass(function(index, className) { 753 return (className.match (/(^|\s)colonnes_\S+/g) || []).join(' '); 754 }); 755 756 for(var type_liste in type_page) { 757 if(initialiser) 758 colonnes = type_page[type_liste]; 759 760 if(colonnes >= 1 && colonnes <= nombre_colonnes_max) { 761 body.addClass('colonnes_' + type_liste + '_' + colonnes); 762 if(initialiser && page != 'accueil') correctif_colonnes_liste(); 763 } 764 } 765 } 766 } 767 768 function gerer_sliders() { 769 var 770 slider = null, 771 item_slider = null, 772 ref_slider= null, 773 ratio = 0, 774 slide = null, 775 texte_slide = '', 776 lien_slide = null; 777 778 $('.scrollable').each(function() { 779 slider = $(this); 780 781 if(slider.attr('id') != 'slider_cross_selling') { 782 item_slider = slider.find('img').eq(0); 783 ref_slider = item_slider; 784 } 785 else { 786 item_slider = slider.find('.item').eq(0); 787 ref_slider = slider; 788 } 789 if(item_slider.length != 0) { 790 ratio = item_slider.outerHeight() * 100 / ref_slider.width(); 791 slider.css('padding-top', ratio + '%'); 792 } 793 794 slider.find('.item_text').children().each(function() { 795 slide = $(this); 796 texte_slide = trim(slide.text()); 797 798 if(texte_slide != '') { 799 if(texte_slide.toLowerCase().indexOf('g|') == 0) slide.addClass('g'); 800 else if(texte_slide.toLowerCase().indexOf('d|') == 0) slide.addClass('d'); 801 802 texte_slide = texte_slide.substring(texte_slide.indexOf('|') + 1); 803 slide 804 .html(texte_slide) 805 .closest('.item').find('img').attr('alt', ''); 806 } 807 808 lien_slide = slide.closest('.item').find('a'); 809 if(lien_slide.length != 0) 810 lien_slide.clone().empty().appendTo(lien_slide.parent()); 811 }); 812 813 if(typeof slider.data('scrollable') === 'undefined') { 814 if(!slider.is('[id]')) 815 slider.attr('id', Math.round(new Date().getTime() + Math.random() * 100)); 816 817 createSlider('#' + slider.attr('id')); 818 } 819 820 if(slider.children('.slidetabs').length != 0) 821 slider.find('.slidetabs > a') 822 .attr('href', '#') 823 .eq(0).addClass('current'); 824 }); 825 826 if(alignement_sliders == 'g' || alignement_sliders == 'd' || alignement_sliders == 'c') 827 body.addClass('alignement_sliders_' + alignement_sliders); 828 } 829 830 function retour_haut() { 831 var position = 0; 832 833 if(page == 'liste') { 834 position = $('#list_contener').offset().top; 835 if(hauteur_entete != 0) 836 position -= hauteur_entete; 837 } 838 839 $('html, body').animate({ 840 scrollTop: position 841 }, (!isNaN(vitesse_retour_haut)) ? vitesse_retour_haut : 1000); 842 } 843 844 function gerer_retour_haut() { 845 if(!isNaN(limite_retour_haut) && limite_retour_haut > 0) { 846 var bouton = 847 $('<a id="retour_haut" class="btn" href="#" title="Retour en haut"><i class="fa fa-arrow-up"></i></a>') 848 .appendTo('#master') 849 .click(function(e) { 850 retour_haut(); 851 e.preventDefault(); 852 }); 853 854 $(window).scroll(function() { 855 if($(this).scrollTop() > limite_retour_haut) 856 bouton.addClass('actif'); 857 else 858 bouton.removeClass('actif'); 859 }).scroll(); 860 } 861 } 862 863 function gerer_liens_sf() { 864 var liens_sf = $('#link_contener'); 865 866 if(liens_sf.length != 0) 867 if(activer_liens_sf) 868 body.addClass('liens_sf'); 869 else 870 liens_sf.remove(); 871 } 872 873 function gerer_arguments(arguments) { 874 var 875 elt = null, 876 texte_elt = '', 877 image_elt = null, 878 longueur_elt = 0, 879 icone_elt = ''; 880 881 arguments.find('a').each(function() { 882 elt = $(this); 883 image_elt = elt.children('img'); 884 texte_elt = ''; 885 886 if(image_elt.length != 0) 887 texte_elt = image_elt.attr('alt'); 888 else 889 texte_elt = elt.text(); 890 891 texte_elt = trim(texte_elt).split(/\s*\|\s*/); 892 longueur_elt = texte_elt.length; 893 894 if(longueur_elt - 1 >= 0) 895 elt.text(texte_elt[longueur_elt - 1]); 896 if(longueur_elt - 2 >= 0) 897 $('<span>' + texte_elt[longueur_elt - 2] + '</span>').prependTo(elt); 898 if(longueur_elt - 3 >= 0) { 899 icone_elt = texte_elt[longueur_elt - 3].toLowerCase(); 900 if(icone_elt.indexOf('fal') != -1 || icone_elt.indexOf('far') != -1 || icone_elt.indexOf('fas') != -1 || icone_elt.indexOf('fab') != -1) 901 $('<i class="' + icone_elt + '"></i>').prependTo(elt); 902 else 903 $('<i class="fa' + version_fontawesome + ' ' + icone_elt + '"></i>').prependTo(elt); 904 } 905 906 if(image_elt.length != 0) 907 image_elt.prependTo(elt); 908 }); 909 910 body.addClass('arguments'); 911 } 912 913 function gerer_extra_entete(extra_entete) { 914 var 915 elt = null, 916 texte_elt = '', 917 icone_elt = ''; 918 919 extra_entete.find('a').each(function() { 920 elt = $(this); 921 texte_elt = trim(elt.text()).split(/\s*\|\s*/); 922 923 if(texte_elt.length > 1) { 924 elt.text(' ' + texte_elt[1]); 925 icone_elt = texte_elt[0].toLowerCase(); 926 if(icone_elt.indexOf('fal') != -1 || icone_elt.indexOf('far') != -1 || icone_elt.indexOf('fas') != -1 || icone_elt.indexOf('fab') != -1) 927 $('<i class="' + icone_elt + '"></i>').prependTo(elt); 928 else 929 $('<i class="fa ' + icone_elt + '"></i>').prependTo(elt); 930 } 931 }); 932 933 body.addClass('extra_en-tete'); 934 935 if(trim($('#logo p').text()) != '') 936 body.addClass('slogan'); 937 } 938 939 function gerer_colonne_droite() { 940 var colonne_droite = $('#right_contener'); 941 942 if(colonne_droite.length != 0) { 943 var colonne = null; 944 945 colonne_droite.children().each(function() { 946 colonne = $(this); 947 948 if(colonne.find('li').length != 0) { 949 colonne.children('h2').remove(); 950 951 switch(colonne.attr('id')) { 952 case 'sup_1' : 953 gerer_extra_entete(colonne); 954 break; 955 case 'inf_1' : 956 gerer_arguments(colonne); 957 break; 958 case 'inf_2' : 959 colonne.appendTo('#footer_contener'); 960 break; 961 } 962 } 963 else colonne.remove(); 964 }); 965 } 966 } 967 968 function gerer_recherche() { 969 var recherche = $('#search'); 970 971 if(recherche.length != 0) { 972 var 973 formulaire = recherche.parent(), 974 titre = recherche.children('h2'), 975 champ = recherche.find('#ctx_search'), 976 message_erreur = 'Veuillez saisir au moins ' + minimum_champ_recherche + ' caractères.'; 977 978 formulaire 979 .removeAttr('onsubmit') 980 .submit(function(e) { 981 if(trim(champ.val()).length < minimum_champ_recherche) { 982 alert(message_erreur); 983 e.preventDefault(); 984 } 985 }); 986 987 champ 988 .prop('type', 'search') 989 .attr({ 990 autocapitalize: 'none', 991 autocomplete : 'off', 992 autocorrect : 'off', 993 maxlength : 20, 994 pattern : '.{' + minimum_champ_recherche + ',}', 995 placeholder : trim(titre.text()), 996 spellcheck : 'false', 997 required : 'required', 998 title : message_erreur 999 }); 1000 1001 recherche.find('.btn_short') 1002 .prop('type', 'submit') 1003 .removeAttr('onclick'); 1004 1005 titre.remove(); 1006 } 1007 } 1008 1009 function gerer_colonne_gauche() { 1010 $('#left_contener > div:not(#ff_container)').remove(); 1011 1012 gerer_recherche(); 1013 } 1014 1015 function gerer_menu_accordeon(menus_accordeon, etat) { 1016 if(etat) 1017 menus_accordeon.bind('click', function(e) { 1018 var menu_actuel = $(this); 1019 menus_accordeon.not('[title="' + menu_actuel.attr('title') + '"]').removeClass('actif'); 1020 menu_actuel.toggleClass('actif'); 1021 e.preventDefault(); 1022 }); 1023 else 1024 menus_accordeon 1025 .removeClass('actif') 1026 .unbind('click'); 1027 1028 menu_accordeon_actif = !menu_accordeon_actif; 1029 } 1030 1031 function gerer_menu() { 1032 var menu = $('#navig'); 1033 1034 $('<a id="ouvrir_menu" class="gestion_menu" href="#master" title="Ouvrir le menu"><i class="fa fa-bars"></i><span>Menu</span></a>').appendTo('#top'); 1035 $('<a id="fermer_menu" class="gestion_menu" href="#" title="Fermer le menu"><i class="fa fa-window-close"></i><span>Fermer</span></a>').prependTo(menu); 1036 1037 var menu_large = (menu.find('.smenu_column').length != 0) ? true : false;
1038 if(menu_large) 1039 body.addClass('menu_large'); 1040 else 1041 body.addClass('menu_simple'); 1042 1043 var menus_accordeon = menu.find('.smenu:has(*)').siblings(); 1044 if(menus_accordeon.length != 0) { 1045 menus_accordeon.toggleClass('accordeon'); 1046 1047 $(window).resize(function() { 1048 var message = window.getComputedStyle(document.body, ':before').getPropertyValue('content'); 1049 var menu_accordeon = (message.indexOf('menu_accordeon') >= 0) ? true : false; 1050 1051 if(menu_accordeon && !menu_accordeon_actif) 1052 gerer_menu_accordeon(menus_accordeon, true); 1053 else if(!menu_accordeon && menu_accordeon_actif) 1054 gerer_menu_accordeon(menus_accordeon, false); 1055 }).resize(); 1056 } 1057 } 1058 1059 function gerer_compteur_panier(initialiser) { 1060 var compteur_panier = $('#numit_basket'); 1061 1062 if(compteur_panier.length != 0) 1063 setTimeout(function() { 1064 if(trim(compteur_panier.text()) == 0) 1065 compteur_panier.closest('#item_basket').addClass('invisible'); 1066 else 1067 compteur_panier.closest('#item_basket').removeClass('invisible'); 1068 }, temporisation); 1069 1070 if(initialiser) body.addClass('panier'); 1071 } 1072 1073 function gerer_entete_fixe() { 1074 var initialiser = true; 1075 var hauteur_entete_fixe = 0; 1076 1077 if(isNaN(limite_entete_fixe)) 1078 limite_entete_fixe = $('.work_margin').offset().top; 1079 1080 $(window).scroll(function() { 1081 var elt = null; 1082 var classe_elt = ''; 1083 1084 for(var type_elt in activer_entete_fixe) { 1085 switch(type_elt) { 1086 case 'extra_en-tete' : 1087 elt = $('#sup_1'); 1088 break; 1089 case 'en-tete' : 1090 elt = $('#top'); 1091 break; 1092 } 1093 1094 if(activer_entete_fixe[type_elt] && elt != null && elt.length != 0) { 1095 if(initialiser) { 1096 if(type_elt != 'extra_en-tete') 1097 hauteur_entete_fixe += elt.outerHeight(true); 1098 hauteur_entete += elt.outerHeight(); 1099 } 1100 1101 classe_elt = type_elt + '_fixe'; 1102 1103 if($(this).scrollTop() > limite_entete_fixe) { 1104 body.addClass(classe_elt); 1105 if(!initialiser) 1106 body.css('padding-top', hauteur_entete_fixe); 1107 } 1108 else { 1109 body.removeClass(classe_elt) 1110 if(!initialiser) 1111 body.css('padding-top', ''); 1112 } 1113 } 1114 } 1115 }).scroll(); 1116 1117 initialiser = false; 1118 1119 $(window).scroll(); 1120 } 1121 1122 function gerer_entete() { 1123 if(activer_entete_gauche) 1124 body.addClass('en-tete_g'); 1125 1126 gerer_entete_fixe(); 1127 gerer_compteur_panier(true); 1128 } 1129 1130 function gerer_newsletter() { 1131 var id_site = $('div[data-id-site]'); 1132 var newsletter = $('#newsletter'); 1133 1134 if(id_site.length != 0 && newsletter.length != 0) { 1135 id_site = id_site.data('id-site'); 1136 1137 if(!isNaN(id_site)) { 1138 var 1139 formulaire = null, 1140 champ = null, 1141 bouton = null, 1142 texte_champ = (trim(newsletter.children('h2').text()).length != 0) ? 1143 trim(newsletter.children('h2').text()) : ' ', 1144 texte_bouton = (trim(newsletter.children('p').text()).length != 0) ? 1145 trim(newsletter.children('p').text()) : 'Ok'; 1146 1147 $('form.newsletter').each(function() { 1148 formulaire = $(this); 1149 1150 if(!formulaire.is('[action]')) 1151 formulaire.attr('action', '#'); 1152 1153 formulaire.submit(function(e) { 1154 if(checkAcceptCGV()) 1155 subscribeNewsletter(id_site); 1156 e.preventDefault(); 1157 }); 1158 1159 champ = (formulaire.find('input[type="email"], input[type="text"]').length != 0) ? 1160 formulaire.find('input[type="email"], input[type="text"]').eq(0) : 1161 $('<input />').appendTo(formulaire); 1162 1163 if(!champ.is('#mail_newsletter')) 1164 champ.attr('id', 'mail_newsletter'); 1165 if(!champ.is('[type="email"]')) 1166 champ.prop('type', 'email'); 1167 if(!champ.is('[autocapitalize]')) 1168 champ.attr('autocapitalize', 'none'); 1169 if(!champ.is('[autocomplete]')) 1170 champ.attr('autocomplete', 'email'); 1171 if(!champ.is('[autocorrect]')) 1172 champ.attr('autocorrect', 'off'); 1173 if(!champ.is('[required]')) 1174 champ.attr('required', 'required'); 1175 if(!champ.is('[spellcheck]')) 1176 champ.attr('spellcheck', 'false'); 1177 1178 if(!champ.is('[placeholder]')) 1179 if(formulaire.is('[data-texte-champ]')) 1180 champ.attr('placeholder', formulaire.data('texte-champ')); 1181 else 1182 champ.attr('placeholder', texte_champ); 1183 1184 bouton = (formulaire.find('input[type="submit"]').length != 0) ? 1185 formulaire.find('input[type="submit"]').eq(0) : 1186 $('<input type="submit"></input>').appendTo(formulaire); 1187 1188 if(trim(bouton.val()) == '') 1189 if(formulaire.is('[data-texte-bouton]')) 1190 bouton.val(formulaire.data('texte-bouton')); 1191 else 1192 bouton.val(texte_bouton); 1193 1194 if(trim(bouton.val()).length == 1) { 1195 bouton.addClass(classe_btn_icone) 1196 if(!bouton.is('[title]')) 1197 bouton.attr('title', 'Ok'); 1198 } 1199 1200 var id_checkbox_rgpd = 'ckb_accept_cgv'; 1201 checkbox_rgpd = (formulaire.find('#' + id_checkbox_rgpd).length != 0) ? 1202 formulaire.find('#' + id_checkbox_rgpd).eq(0) : 1203 $('<p><input id="' + id_checkbox_rgpd + '" type="checkbox" /> <small>Vous affirmez avoir pris connaissance de notre <a href="#" onclick="winopen(\'' + window.location.origin + '/mag/fr/help_06.php\', \'Politique de confidentialité\', 800, 600); return false;">politique de confidentialité</a>. Vous disposez d\'un droit d\'accès, de rectification et d\'opposition.</small></p>').appendTo(formulaire); 1204 }); 1205 1206 body.addClass('newsletter_ok'); 1207 } 1208 1209 newsletter.remove(); 1210 } 1211 } 1212 1213 function determiner_version_fontawesome() { 1214 if(version_fontawesome != 'l' && 1215 version_fontawesome != 'r' && 1216 version_fontawesome != 's' && 1217 version_fontawesome != 'b') 1218 version_fontawesome = ''; 1219 else 1220 classe_btn_icone += '_' + version_fontawesome; 1221 } 1222 1223 function determiner_page() { 1224 var contenu_principal = $('#work'); 1225 1226 if(contenu_principal.length != 0) 1227 if(contenu_principal.hasClass('work_home')) 1228 page = 'accueil'; 1229 else if(contenu_principal.is('[class^="list_"]')) 1230 page = 'liste'; 1231 else if(contenu_principal.is('[class^="prod_"]')) 1232 page = 'fiche'; 1233 else if(contenu_principal.parent('#formulaire_search').length != 0) 1234 page = 'recherche'; 1235 } 1236 1237 function determiner_langue() { 1238 if($('html').attr('lang') !== 'undefined') 1239 langue = $('html').attr('lang'); 1240 } 1241 1242 function initialiser() { 1243 determiner_langue(); 1244 determiner_page(); 1245 determiner_version_fontawesome(); 1246 1247 gerer_newsletter(); 1248 gerer_entete(); 1249 gerer_menu(); 1250 gerer_colonne_gauche(); 1251 gerer_colonne_droite(); 1252 gerer_liens_sf(); 1253 gerer_retour_haut(); 1254 setTimeout(gerer_sliders, 1000); 1255 gerer_nombre_colonnes(true); 1256 //gerer_quantites(); 1257 gerer_boutons_liste(); 1258 gerer_animations(); 1259 gerer_texte_plus(); 1260 1261 if(page == 'accueil') 1262 gerer_page_accueil(); 1263 1264 if(page == 'liste') 1265 gerer_page_liste(); 1266 1267 if(page == 'fiche') 1268 gerer_page_fiche(); 1269 1270 if(page == 'recherche') { 1271 1272 } 1273 } 1274 1275 initialiser(); 1276 1277});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.