Choisissez les modèles à comparer, et dépliez les rubriques qui vous intéressent.
Afficher :
TybeltStandard
TybeltPremium
TybeltPro
TactybeltBêta
TactybeltDelta
Prix
59,90 €
64,90 €
129,90 €
104,90 €
124,90 €
Coloris
Orange
Kaki ou orange : 64,90 € · Noir : 69,90 €
Noir
Noir
Noir
Tailles
S → XL
S → XXXL
M, L, XL
M, L, XL
M, L, XL
Usage idéal
Quotidien, bricolage, sorties
Quotidien, bricolage, sorties
Terrain, équipement, usage pro
Terrain, équipement, usage pro
Terrain, équipement, usage pro
Norme
EN 566
EN 566
Non certifiée EN 566
Non certifiée EN 566
Non certifiée EN 566
Résistance, anneau fermé
2 200 kg (22 kN)
2 200 kg (22 kN)
2 200 kg (22 kN)
900 kg (9 kN)
900 kg (9 kN)
Résistance, sangle ouverte en longe
2 200 kg (22 kN)
2 200 kg (22 kN)
2 200 kg (22 kN)
500 kg (5 kN)
500 kg (5 kN)
Ouverture sous tension
Impossible : la boucle se resserre
Impossible : la boucle se resserre
Impossible : la boucle se resserre
Impossible : verrouillée
Impossible : verrouillée
Durée de vie théorique
5 ans (usage normal)
5 ans (usage normal)
5 ans (usage normal)
5 ans (usage normal)
5 ans (usage normal)
Sangle
Polyester tubulaire, double épaisseur
Polyester tubulaire, double épaisseur
Polyester, 2 sangles cousues avec une lame plastique interne
Polyester, non tubulaire
Polyester, non tubulaire
Largeur
35 mm
35 mm
42 mm (35 mm aux extrémités)
42 mm
42 mm
Souplesse
Ultra souple
Ultra souple
Rigide
Rigide
Rigide
Confort
Très confortable
Très confortable
Confortable, plus ferme
Confortable, plus ferme
Confortable, plus ferme
Fixation d’accessoires
Possible
Possible
Très pratique
Très pratique
Très pratique
Poids
à confirmer
à confirmer
à confirmer
à confirmer
à confirmer
Boucle
Inox 304, finition tribofinition mate
Inox 304, finition tribofinition mate (noir : peinte en noir, peinture de mobilier urbain)
Identique à la Premium noire
Cobra Austrialpine, alliage d’aluminium peint en noir
Cobra Austrialpine, alliage d’aluminium peint en noir
Gravure
Non
Oui
Oui
—
—
Réglage
Fin, auto-bloquant
Fin, auto-bloquant
Fin, auto-bloquant
Cobra à clipser
Cobra à clipser
Tétons XL, utilisables avec des gants
—
—
—
Oui
Oui
Passage dans les passants de pantalon
Oui
Oui
Oui
Oui, partie mâle affinée
Oui, partie mâle affinée
Anneau pour se longer
—
—
Non
Non
Oui, plaqué par un velcro
Entretien
Lavable à 30 °C max, sans détergent
Lavable à 30 °C max, sans détergent
Lavable à 30 °C max, sans détergent
Lavable à 30 °C max, sans détergent
Lavable à 30 °C max, sans détergent
Fabrication
Conçue en France, fabriquée en Europe
Conçue en France, fabriquée en Europe
Conçue en France, fabriquée en Europe
Conçue en France, fabriquée en Europe
Conçue en France, fabriquée en Europe
Échange de taille
Simple
Simple
Simple
Simple
Simple
Garantie
2 ans
2 ans
2 ans
2 ans
2 ans
La sangle est toujours noire : seules la couleur des coutures et celle des étiquettes tissées changent selon le coloris. La durée de vie dépend de l’usage : ce sont surtout les UV, l’humidité et les écarts chaud-froid qui usent la sangle.
Comment connaître sa taille de ceinture ?
La méthode la plus fiable est de partir d’une ceinture que vous portez déjà.
Posez-la à plat.
Mesurez de la base de la boucle jusqu’au trou que vous utilisez le plus.
Reportez cette mesure dans le tableau des tailles.
Sans ceinture sous la main, mesurez votre tour de taille à l’endroit où vous portez votre pantalon, et ajoutez quelques centimètres. Entre deux tailles, prenez la plus grande. Si vous vous trompez, l’échange est simple.
Tableau des tailles Tybelt
S
M
L
XL
XXL
XXXL
Tour de taille (cm)
75–85
85–95
95–105
105–115
115–125
125+
Taille de pantalon (EUR)
34–38
38–42
42–46
46–50
50–54
54+
Longueur de la ceinture (cm)
95
105
115
125
135
145
Tableau des tailles Tactybelt et Tybelt Pro
M
L
XL
Taille de pantalon (EUR)
36–40
40–44
44–50
Tour de taille mini (cm)
80
95
105
Tour de taille maxi (cm)
95
105
125
XXL et XXXL : Premium uniquement. Entre deux tailles, prenez la plus grande.
(function(){var root=document.getElementById("questionnaire");if(!root||!window.prestashop)return; var IM={};[].forEach.call(root.querySelectorAll(".tq-imgs img"),function(i){IM[i.className.replace("tq-i-","")]=i.getAttribute("src")}); var COL={orange:["Orange","#E2701C"],kaki:["Kaki","#6B6F45"],noir:["Noir","#1C1D1B"]}; var ORD=["XS","S","M","L","XL","XXL","XXXL"]; var SP="Sangle certifiée EN 566 · 2 200 kg"; var CAT={std:{id:5,n:"Tybelt Standard",pk:"Standard · Orange",lead:"La ceinture de tous les jours, sans gravure.",sp:[SP,"Boucle non gravée"]}, po:{id:9,c:"orange",n:"Tybelt Premium Orange",pk:"Premium · Orange",lead:"Boucle gravée, en orange.",sp:[SP,"Boucle gravée"]}, pk:{id:9,c:"kaki",n:"Tybelt Premium Kaki",pk:"Premium · Kaki",lead:"Boucle gravée, en kaki.",sp:[SP,"Boucle gravée"]}, pn:{id:9,c:"noir",n:"Tybelt Premium Noir",pk:"Premium · Noir",lead:"Boucle gravée, en noir.",sp:[SP,"Boucle gravée"]}, be:{id:233,n:"Tactybelt Beta",pk:"Tactybelt Beta",lead:"La ceinture tactique rigide, sans maillon Delta.",sp:["Sangle rigide 42 mm","Boucle Cobra AustriAlpine"]}, de:{id:232,n:"Tactybelt Delta",pk:"Tactybelt Delta",lead:"La ceinture tactique rigide, avec maillon Delta.",sp:["Sangle rigide 42 mm","Boucle Cobra AustriAlpine","Maillon Delta"]}, pro:{id:235,n:"Tybelt Pro",pk:"Tybelt Pro",lead:"La ceinture rigide de 42 mm, pour fixer vos accessoires.",sp:["Sangle rigide 42 mm","Boucle Tybelt auto-serrante","Non certifiée EN 566"]}}; var ACC={a1:{id:3,t:"1 mousqueton acier",s:"Mousqueton à vis"},n1:{id:10,t:"1 mousqueton noir",s:"Mousqueton à vis"},a2:{id:242,t:"2 mousquetons acier",s:"Pack Pro"},n2:{id:243,t:"2 mousquetons noirs",s:"Pack Pro"}}; var AD={}; var G={ty:{t:"Guide des tailles Tybelt",h:["S","M","L","XL","XXL","XXXL"],r:[["Tour de taille (cm)","75–85","85–95","95–105","105–115","115–125","125"],["Taille de pantalon (EUR)","34–38","38–42","42–46","46–50","50–54","54"],["Longueur de la ceinture (cm)","95","105","115","125","135","145"]]}, tac:{t:"Guide des tailles Tactybelt et Tybelt Pro",h:["M","L","XL"],r:[["Taille de pantalon (EUR)","36–40","40–44","44–50"],["Tour de taille mini (cm)","80","95","105"],["Tour de taille maxi (cm)","95","105","125"]]}}; var DEF={who:null,use:null,grav:null,color:null,cobra:null,delta:null,size:null,acc:null,accq:null,ipa:null,stock:null,chk:false,msg:"",busy:false}; var S=Object.assign({},DEF),LD={},LP={},LE={},seq=0,pend=null,cur="ty"; function money(a){return(Math.round(a*100)/100).toFixed(2).replace(".",",")+" €"} function key(){if(S.use===null)return null;if(S.use==="tact"){if(S.cobra===null)return null;if(S.cobra==="non")return"pro";if(S.delta===null)return null;return S.delta==="avec"?"de":"be"}if(S.grav===null)return null;if(S.grav==="sans")return"std";return S.color==="orange"?"po":S.color==="kaki"?"pk":S.color==="noir"?"pn":null} function st1(){return S.use!==null} function st2(){return st1()&&(S.use==="tact"?S.cobra!==null:S.grav!==null)} function st3(){return !!key()} function st4(){return st3()&&S.size!==null} function th(im,t){return im?'<i class="tq-th ph" style="background-image:url('+im+')"></i>':(t===""?"":'<i class="tq-th"><i>'+t+"</i></i>")} function opt(q,v,t,s,img,dis,im){return'<button type="button" class="tq-opt" data-q="'+q+'" data-v="'+v+'"'+(dis?" disabled":"")+' aria-pressed="'+(!dis&&S[q]===v)+'">'+th(im||IM[q+"_"+v],img)+'<span class="tx"><b>'+t+"</b><span>"+s+"</span></span></button>"} function box(t,h,body,x){return'<div class="tq-q"><div class="tq-box"><div class="tq-qh"><h3 class="tq-t">'+t+"</h3>"+(x||"")+"</div>"+(h?'<p class="tq-hint">'+h+"</p>":"")+body+"</div></div>"} function refreshJ(id){var b=new URLSearchParams();b.append("ajax","1");b.append("action","refresh");b.append("quantity_wanted","1");b.append("id_product",id);b.append("id_customization","0");return fetch(prestashop.urls.pages.product,{method:"POST",credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},body:b}).then(function(r){return r.json()})} function pdata(R){try{return JSON.parse(new DOMParser().parseFromString(R.product_details||"","text/html").querySelector("#product-details").getAttribute("data-product"))}catch(e){return{}}} function load(k){if(LP[k])return;LP[k]=1;LE[k]=0;refreshJ(CAT[k].id).then(function(R){var j=pdata(R),d=new DOMParser().parseFromString('<div class="product-variants">'+(R.product_variants||"")+"</div>","text/html"),sel=d.querySelector(".product-variants select"),sz=[],g=""; if(sel){g=sel.name;[].forEach.call(sel.options,function(o){sz.push({l:o.textContent.trim(),v:o.value})})}else{[].forEach.call(d.querySelectorAll(".product-variants input[type=radio]"),function(r){g=r.name;var lb=r.closest("label");sz.push({l:(lb?lb.textContent:r.value).trim(),v:r.value})})} sz.sort(function(a,b){var x=ORD.indexOf(a.l),y=ORD.indexOf(b.l);return(x<0?99:x)-(y<0?99:y)}); var th=new DOMParser().parseFromString(R.product_cover_thumbnails||"","text/html"),ci=th.querySelector("img"),c=j.cover||{},im=ci?(ci.getAttribute("data-image-large-src")||ci.getAttribute("src")):((c.bySize&&c.bySize.large_default&&c.bySize.large_default.url)||(c.large&&c.large.url)||""); var cr=[].slice.call(d.querySelectorAll(".product-variants input[type=radio]")),cg=(sel&&cr.length)?cr[0].name:"",cv=(sel&&cr.length)?cr.map(function(r){var lb=r.closest("label");return{l:((lb?lb.textContent:"")||"").trim().toLowerCase(),v:r.value}}):[]; LD[k]={img:im,price:j.price||"",a:j.price_amount||0,sizes:sz,g:g,cg:cg,cv:cv,sv:sel?sel.value:""};if(CAT[k].c&&cg)colorImg(k);if(key()===k){validate();draw()}}).catch(function(e){LP[k]=0;LE[k]=(e&&e.message)||"erreur";try{console.error("questionnaire",k,e)}catch(x){}if(key()===k)draw()})} function colorImg(k){var d=LD[k],o=d.cv.filter(function(c){return c.l.indexOf(CAT[k].c)>-1})[0];if(!o)return;var b=new URLSearchParams();b.append("ajax","1");b.append("action","refresh");b.append("quantity_wanted","1");b.append("id_product",CAT[k].id);b.append("id_customization","0");b.append(d.g,d.sv);b.append(d.cg,o.v);fetch(prestashop.urls.pages.product,{method:"POST",credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},body:b}).then(function(r){return r.json()}).then(function(j){var h=new DOMParser().parseFromString(j.product_cover_thumbnails||"","text/html"),i=h.querySelector("img"),s=i&&(i.getAttribute("data-image-large-src")||i.getAttribute("src"));var pj=pdata(j);if(pj.price_amount){d.a=pj.price_amount;d.price=pj.price}if(s)d.img=s;if(key()===k)drawRes()}).catch(function(){})} function loadAcc(k){refreshJ(ACC[k].id).then(function(R){var j=pdata(R),bt=new DOMParser().parseFromString(R.product_add_to_cart||"","text/html").querySelector(".add-to-cart"),th=new DOMParser().parseFromString(R.product_cover_thumbnails||"","text/html"),ci=th.querySelector("img"),c=j.cover||{};AD[k]={a:j.price_amount||0,p:j.price||"",ok:!(bt&&bt.disabled),img:(c.bySize&&c.bySize.medium_default&&c.bySize.medium_default.url)||(ci?(ci.getAttribute("data-image-large-src")||ci.getAttribute("src")):"")};draw()}).catch(function(){})} function validate(){var k=key(),d=k&&LD[k];S.ipa=null;S.stock=null;if(!d||!S.size)return;var s=d.sizes.filter(function(x){return x.l===S.size})[0];if(!s){S.size=null;return} var b=new URLSearchParams();b.append("ajax","1");b.append("action","refresh");b.append("quantity_wanted","1");b.append("id_product",CAT[k].id);b.append("id_customization","0");b.append(d.g,s.v);if(d.cg&&CAT[k].c){var co=d.cv.filter(function(c){return c.l.indexOf(CAT[k].c)>-1})[0];if(co)b.append(d.cg,co.v)}var my=++seq;S.chk=true; fetch(prestashop.urls.pages.product,{method:"POST",credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},body:b}).then(function(r){return r.json()}).then(function(j){if(my!==seq)return;var h=new DOMParser().parseFromString(j.product_add_to_cart||"","text/html"),bt=h.querySelector(".add-to-cart");S.ipa=j.id_product_attribute;S.stock=!(bt&&bt.disabled);var pj=pdata(j);if(pj.price_amount){d.a=pj.price_amount;d.price=pj.price}S.chk=false;drawRes()}).catch(function(){if(my!==seq)return;S.chk=false;S.stock=null;drawRes()})} function accBox(){var a1=AD.a1,a2=AD.a2,n1=AD.n1,n2=AD.n2,on=st4(),yes=S.accq==="oui",hint="Le lot de 2 coûte moins cher que deux mousquetons à l’unité.";if(a1&&a2&&2*a1.a>a2.a)hint="Le lot de 2 vous fait économiser "+money(2*a1.a-a2.a)+" en acier"+(n1&&n2&&2*n1.a>n2.a?" et "+money(2*n1.a-n2.a)+" en noir":"")+"."; function sv(k){var x=k==="a2"?[AD.a1,AD.a2]:(k==="n2"?[AD.n1,AD.n2]:null);return x&&x[0]&&x[1]&&2*x[0].a>x[1].a?2*x[0].a-x[1].a:0} function o(k,t){var d=AD[k],dis=!on||!yes||(d?!d.ok:false);return opt("acc",k,t,(ACC[k].s==="Pack Pro"?"Pack Pro · ":"")+(d?"+"+money(d.a):"")+(sv(k)?" · vous économisez "+money(sv(k)):"")+(yes&&d&&!d.ok?" · indisponible":""),"mousqueton",dis,d&&d.img)} function ra(v,t){return'<button type="button" class="tq-r" role="radio" data-q="accq" data-v="'+v+'"'+(on?"":" disabled")+' aria-checked="'+(S.accq===v)+'" aria-pressed="'+(S.accq===v)+'"><span class="tq-rc"></span>'+t+"</button>"}var seg='<div class="tq-rad">'+ra("oui","Oui")+ra("non","Non")+"</div>"; return'<div class="tq-q"><div class="tq-box'+(on?"":" off")+'"><div class="tq-qh2"><h3 class="tq-t">Ajouter des mousquetons ?</h3>'+seg+'</div><div class="tq-acc2'+(yes?"":" offc")+'"><div class="tq-accc"><div class="tq-acch">Acier</div>'+o("a1","1 mousqueton")+o("a2","2 mousquetons")+'</div><div class="tq-accc"><div class="tq-acch">Noir</div>'+o("n1","1 mousqueton")+o("n2","2 mousquetons")+"</div></div></div></div>"} function boxo(t,on,body){return'<div class="tq-q"><div class="tq-box'+(on?"":" off")+'"><h3 class="tq-t">'+t+"</h3>"+body+"</div></div>"} function fld(t,on,body){return'<div class="tq-fld'+(on?"":" off")+'"><h3 class="tq-t">'+t+"</h3>"+body+"</div>"} function qs(){var gift=S.who==="gift",tact=S.use==="tact",k=key(),d=k&&LD[k],on1=st1(),on2=st2(),on3=st3(); var on0=S.who!==null;function rw(v,t){return'<button type="button" class="tq-r" role="radio" data-w="'+v+'" aria-checked="'+(S.who===v)+'" aria-pressed="'+(S.who===v)+'"><span class="tq-rc"></span>'+t+"</button>"} var a='<div class="tq-q"><div class="tq-box"><div class="tq-qh2"><h3 class="tq-t">Pour qui ?</h3><div class="tq-rad">'+rw("self","Pour moi")+rw("gift","Pour offrir")+"</div></div></div></div>"+boxo(gift?"Comment pensez-vous qu’il la portera ?":"Comment allez-vous la porter ?",on0,'<div class="tq-opts">'+opt("use","quot","Au quotidien","Gamme Tybelt · bricolage, sorties, voyage","Tybelt",!on0)+opt("use","tact","Pro ou tactique","Tybelt Pro ou Tactybelt · terrain, équipement","Tactybelt",!on0)+"</div>"); var b1,b2; if(!tact){b1=boxo("Avec ou sans gravure ?",on1,'<div class="tq-opts">'+opt("grav","sans","Sans gravure","L’essentiel : la Standard","boucle lisse",!on1)+opt("grav","avec","Avec gravure","Boucle gravée","boucle gravée",!on1)+"</div>"); if(S.grav==="sans")b2='<div class="tq-q"><div class="tq-box"><div class="tq-qh2"><h3 class="tq-t">Quelle couleur ?</h3><div class="tq-sw tq-sw-i"><div class="tq-s fixed"><span class="tq-dot" style="background:'+COL.orange[1]+'"></span>Orange</div></div><span class="tq-hnt">Une seule couleur pour la Standard.</span></div></div></div>'; else b2='<div class="tq-q"><div class="tq-box'+(on2?"":" off")+'"><div class="tq-qh2"><h3 class="tq-t">Quelle couleur ?</h3><div class="tq-sw tq-sw-i">'+["orange","kaki","noir"].map(function(c){return'<button type="button" class="tq-s" data-q="color" data-v="'+c+'"'+(on2?"":" disabled")+' aria-pressed="'+(S.color===c)+'"><span class="tq-dot" style="background:'+COL[c][1]+'"></span>'+COL[c][0]+"</button>"}).join("")+'</div><span class="tq-hnt">Orange, kaki ou noir : Premium.</span></div></div></div>'} else{b1=boxo("Avec ou sans boucle Cobra ?",on1,'<div class="tq-opts">'+opt("cobra","oui","Avec boucle Cobra","Beta ou Delta","Cobra",!on1)+opt("cobra","non","Sans boucle Cobra","Tybelt Pro","boucle Tybelt",!on1)+"</div>"); var off=S.cobra==="non";b2=boxo("Avec ou sans maillon Delta ?",on2&&!off,'<div class="tq-opts">'+opt("delta","sans","Sans maillon Delta","Tactybelt Beta","Beta",!on2||off)+opt("delta","avec","Avec maillon Delta","Tactybelt Delta","maillon Delta",!on2||off)+"</div>")} var b=b1+b2; var sb;if(!on3)sb='<p class="tq-wait">Répondez d’abord aux questions ci-dessus.</p>';else if(!d)sb=LE[key()]?'<p class="tq-wait">Les tailles n’ont pas pu être chargées ('+LE[key()]+'). <button type="button" class="tq-reset" data-retry="1">Réessayer</button></p>':'<p class="tq-wait">Chargement des tailles…</p>';else if(!d.sizes.length)sb='<p class="tq-wait">Ce modèle est momentanément indisponible dans toutes les tailles.</p>';else sb='<div class="tq-sizes">'+d.sizes.map(function(s){return'<button type="button" class="tq-size" data-q="size" data-v="'+s.l+'" aria-pressed="'+(S.size===s.l)+'">'+s.l+"</button>"}).join("")+"</div>"; var c4='<div class="tq-q"><div class="tq-box'+(on3?"":" off")+'"><div class="tq-qh2"><h3 class="tq-t">Quelle taille ?</h3><span class="tq-hnt">'+(gift?"Taille inconnue ? Prenez la plus grande : l’échange est simple.":"Mesurez une ceinture que vous portez déjà.")+'</span><button type="button" class="tq-gbtn" data-g="'+(tact?"tac":"ty")+'"'+(on3?"":" disabled")+">Guide des tailles</button></div>"+sb+"</div></div>"; return'<div class="tq-rowA">'+a+'</div><div class="tq-rowB">'+b+'</div><div class="tq-rowC">'+c4+"</div>"} function ctx(){var k=key();return{k:k,d:k&&LD[k],P:k?CAT[k]:{n:"Votre ceinture",pk:"Tybelt · Tactybelt",lead:"Répondez aux questions pour découvrir notre conseil.",sp:[]}}} function res(){var c=ctx(),d=c.d,P=c.P;var col=S.use==="quot"?(S.grav==="avec"?(S.color?COL[S.color][0]:"à choisir"):"Orange"):""; var pk=d&&d.img?'<div class="tq-pack ph'+(c.k&&/^(be|de|pro)$/.test(c.k)?" tq-pt":"")+'" style="background-image:url('+d.img+')"></div>':'<div class="tq-pack tq-pack-msg"><i>Votre ceinture s’affichera ici'+"</i></div>"; return pk+'<div class="tq-rb"><div class="tq-kick">Notre conseil</div><h3 class="tq-n">'+P.n+'</h3><p class="tq-lead">'+P.lead+'</p><ul class="tq-sp">'+P.sp.map(function(x){return"<li>"+x+"</li>"}).join("")+'</ul><div class="tq-chips">'+(col?"<span>Couleur : <b>"+col+"</b></span>":"")+"<span>Taille : <b>"+(S.size||"à choisir")+'</b></span></div><div class="tq-price">'+(d?d.price:"")+"</div></div>"} function res2(){var c=ctx(),k=c.k,d=c.d,P=c.P,chosen=S.acc!==null,ad=(chosen&&S.acc!=="none")?AD[S.acc]:null,accOk=!chosen||S.acc==="none"||(ad&&ad.ok); var ready=k&&S.size&&S.ipa&&S.stock&&!S.chk,ok=ready&&chosen&&accOk; var lb=!k?"Répondez aux questions":(!S.size?"Choisissez une taille":(S.chk?"Vérification…":(S.stock===false?"Indisponible":(!chosen?"Choisissez vos mousquetons":(!accOk?"Mousquetons indisponibles":"Ajouter au panier"))))); if(d&&!d.sizes.length)lb="Modèle indisponible";var st=S.size&&S.stock===false?'<div class="tq-st bad">Cette taille est momentanément indisponible.</div>':'<div class="tq-st'+(S.msg?" bad":"")+'">'+(S.msg||"")+"</div>"; var total=(d?d.a:0)+(ad?ad.a:0); return'<div class="tq-rb tq-rb2"><div class="tq-kick">Votre sélection</div><div class="tq-ln"><span>'+(k?P.n:"Ceinture")+(S.size?" · "+S.size:"")+"</span><b>"+(d?d.price:"—")+'</b></div><div class="tq-ln"><span>'+(chosen?(S.acc==="none"?"Sans mousqueton":ACC[S.acc].t):"Mousquetons : à choisir")+"</span><b>"+(ad?"+ "+ad.p:(chosen?"—":""))+'</b></div><div class="tq-tot"><span>Total</span><b>'+(d&&chosen?money(total):"—")+'</b></div><button type="button" class="tq-add" id="tq-add"'+(ok&&!S.busy?"":" disabled")+">"+(S.busy?"Ajout en cours…":lb)+"</button>"+st+"</div>"} function drawRes(){var e=document.getElementById("tq-res"),e2=document.getElementById("tq-res2");if(e)e.innerHTML=res();if(e2)e2.innerHTML=res2()} function draw(f){var gift=S.who==="gift";root.innerHTML='<div class="tq-grid"><div class="tq-qs">'+qs()+'</div><aside class="tq-res" id="tq-res">'+res()+'</aside><div class="tq-qs tq-qs2"><div class="tq-rowD">'+accBox()+'</div></div><aside class="tq-res tq-res2" id="tq-res2" aria-live="polite">'+res2()+'</aside></div><button type="button" class="tq-reset" id="tq-reset">Recommencer</button>'; if(f){var e=root.querySelector('[data-q="'+f[0]+'"][data-v="'+f[1]+'"]')||root.querySelector('[data-w="'+f[1]+'"]');if(e)e.focus()}var k=key();if(k&&!LD[k])load(k)} var ov;function modal(){if(ov)return;ov=document.createElement("div");ov.className="tq-ov";ov.hidden=true;ov.innerHTML='<div class="tq-dlg" role="dialog" aria-modal="true" aria-labelledby="tq-gt"><button type="button" class="tq-x" id="tq-gx" aria-label="Fermer">×</button><h3 class="tq-gt" id="tq-gt"></h3><p class="tq-tip">Cliquez sur votre taille dans le tableau pour la choisir.</p><div class="tq-tw" id="tq-tab"></div><div class="tq-conf" id="tq-conf" hidden><span id="tq-msg"></span><button type="button" class="tq-yes" id="tq-yes">Oui, choisir</button><button type="button" class="tq-no" id="tq-no">Non</button></div><div class="tq-ew">Texte et photo en attente : comment bien choisir sa taille.</div></div>';document.body.appendChild(ov)} function mark(s){[].forEach.call(ov.querySelectorAll("[data-c]"),function(c){c.classList.toggle("col",!!s&&c.getAttribute("data-c")===s)})} function openG(k){modal();cur=k;var g=G[k];pend=null;document.getElementById("tq-gt").textContent=g.t; document.getElementById("tq-tab").innerHTML="<table><thead><tr><th></th>"+g.h.map(function(x){return'<th data-c="'+x+'"><button type="button" class="tq-pk" data-p="'+x+'">'+x+"</button></th>"}).join("")+"</tr></thead><tbody>"+g.r.map(function(r){return"<tr><th>"+r[0]+"</th>"+r.slice(1).map(function(x,i){return'<td data-p="'+g.h[i]+'" data-c="'+g.h[i]+'">'+x+"</td>"}).join("")+"</tr>"}).join("")+"</tbody></table>"; document.getElementById("tq-conf").hidden=true;mark(S.size);ov.hidden=false;document.getElementById("tq-gx").focus()} function closeG(){if(ov)ov.hidden=true} function reset(){S=Object.assign({},DEF);seq++;draw()} function postAdd(id,ipa){var b=new URLSearchParams();b.append("token",prestashop.static_token);b.append("id_product",id);b.append("id_product_attribute",ipa||0);b.append("id_customization","0");b.append("qty","1");b.append("add","1");b.append("action","update");b.append("ajax","1");return fetch(prestashop.urls.pages.cart,{method:"POST",credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"application/json"},body:b}).then(function(r){return r.json()})} function addAll(){var k=key();S.busy=true;S.msg="";drawRes();postAdd(CAT[k].id,S.ipa).then(function(j){if(!j||j.hasError||j.success===false)throw 1;return S.acc==="none"?j:postAdd(ACC[S.acc].id,0)}).then(function(j){if(!j||j.hasError||j.success===false)throw 2;S.busy=false;drawRes();prestashop.emit("updateCart",{reason:{idProduct:CAT[k].id,idProductAttribute:S.ipa,idCustomization:0,linkAction:"add-to-cart",cart:j.cart},resp:j})}).catch(function(){S.busy=false;S.msg="L’ajout n’a pas pu être terminé : vérifiez votre panier.";drawRes()})} document.addEventListener("keydown",function(e){if(e.key==="Escape"&&ov&&!ov.hidden)closeG()}); document.addEventListener("click",function(e){var t=e.target;if(!t.closest)return; var p=t.closest("[data-p]");if(p&&ov&&ov.contains(p)){pend=p.getAttribute("data-p");mark(pend);var c=document.getElementById("tq-conf");document.getElementById("tq-msg").innerHTML="Choisir la taille <b>"+pend+"</b> ?";document.getElementById("tq-yes").textContent="Oui, choisir "+pend;document.getElementById("tq-yes").hidden=false;c.hidden=false;document.getElementById("tq-yes").focus();return} if(t.id==="tq-no"){pend=null;mark(S.size);document.getElementById("tq-conf").hidden=true;return} if(t.id==="tq-yes"){if(window.tbPick&&pend){window.tbPick(pend);closeG();return}var k=key(),d=k&&LD[k],m=document.getElementById("tq-msg"); if(!k){m.textContent="Choisissez d’abord la couleur dans le questionnaire.";t.hidden=true;return} if(!d||!d.sizes.some(function(x){return x.l===pend})){m.textContent=(d&&!d.sizes.length)?"Ce modèle est momentanément indisponible.":"La taille "+pend+" n’est pas proposée pour ce modèle.";t.hidden=true;return} S.size=pend;pend=null;closeG();validate();draw(["size",S.size]);return} if(t.id==="tq-gx"||t===ov){closeG();return} var g=t.closest("[data-g]");if(g&&root.contains(g)){openG(g.getAttribute("data-g"));return} if(!root.contains(t))return; var w=t.closest("[data-w]");if(w){S.who=w.getAttribute("data-w");draw(["who",S.who]);return} var o=t.closest("[data-q]");if(o){var q=o.getAttribute("data-q"),v=o.getAttribute("data-v");S[q]=v;S.msg="";if(q==="accq"){S.acc=v==="non"?"none":null;draw([q,v]);return}if(q==="acc"){S.accq="oui";draw([q,v]);return}if(q==="grav")S.color=null;if(q==="cobra"&&v==="non")S.delta=null;if(q!=="size"){S.ipa=null;S.stock=null;var k2=key();if(k2&&LD[k2])validate();else if(!k2){S.size=null;S.accq=null;S.acc=null}}else validate();draw([q,v]);return} var rt=t.closest("[data-retry]");if(rt){var kk=key();if(kk){LE[kk]=0;LP[kk]=0;draw()}return}if(t.id==="tq-reset"){reset();return} var a=t.closest("#tq-add");if(a&&!a.disabled){addAll()}}); window.tbGuide={open:openG};draw();load("std");Object.keys(ACC).forEach(loadAcc)})()
;(function(){var w=document.getElementById("comparer");if(!w)return;var t=w.querySelector(".tb-cmp");if(!t||w.getAttribute("data-ok"))return;w.setAttribute("data-ok","1");var ch=[].slice.call(w.querySelectorAll(".tb-chip"));function shown(){return ch.filter(function(c){return c.classList.contains("on")}).length}function setc(c,on){c.classList.toggle("on",on);c.setAttribute("aria-pressed",on?"true":"false");t.classList.toggle("x"+(ch.indexOf(c)+1),!on);var n=shown()+1;[].forEach.call(w.querySelectorAll(".tb-gh th"),function(th){th.setAttribute("colspan",n)})}ch.forEach(function(c){c.setAttribute("aria-pressed","true");c.addEventListener("click",function(){var on=c.classList.contains("on");if(on){if(shown()===1)return}setc(c,!on)})});function grp(b,open){b.closest(".tb-g").classList.toggle("shut",!open);b.setAttribute("aria-expanded",open?"true":"false")}[].forEach.call(w.querySelectorAll(".tb-gh button"),function(b){b.setAttribute("aria-expanded",b.closest(".tb-g").classList.contains("shut")?"false":"true");b.addEventListener("click",function(){grp(b,b.closest(".tb-g").classList.contains("shut"))})});[].forEach.call(w.querySelectorAll(".tb-lnk"),function(l){l.addEventListener("click",function(){var a=l.className;if(a.indexOf("a-all")!==-1){ch.forEach(function(c){setc(c,true)})}else{var op=a.indexOf("a-open")!==-1;[].forEach.call(w.querySelectorAll(".tb-gh button"),function(b){grp(b,op)})}})});if(window.matchMedia("(max-width:759px)").matches){[2,3,5].forEach(function(i){setc(ch[i-1],false)})}})();