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