Home› Buying guide
Which Tybelt to choose, and which size?
Three questions to find your model, a comparison to check, and a guide to know your belt size.







To choose your belt:Tybelt rangeorTactybelt range.
Compare
Tybelt and Tactybelt belts side by side
Choose the models to compare, and open the sections you are interested in.
Show:
| TybeltStandard | TybeltPremium | TybeltPro | TactybeltBeta | TactybeltDelta | |
|---|---|---|---|---|---|
| Price | €59.90 | €64.90 | €129.90 | €104.90 | €124.90 |
| Colour | Orange | Khaki or orange: €64.90 · Black: €69.90 | Black | Black | Black |
| Sizes | S → XL | S → XXXL | M, L, XL | M, L, XL | M, L, XL |
| Ideal use | Everyday, DIY, outings | Everyday, DIY, outings | Field, gear, professional use | Field, gear, professional use | Field, gear, professional use |
| Standard | EN 566 | EN 566 | Not EN 566 certified | Not EN 566 certified | Not EN 566 certified |
| Strength, closed loop | 2,200 kg (22 kN) | 2,200 kg (22 kN) | 2,200 kg (22 kN) | 900 kg (9 kN) | 900 kg (9 kN) |
| Strength, open as a lanyard | 2,200 kg (22 kN) | 2,200 kg (22 kN) | 2,200 kg (22 kN) | 500 kg (5 kN) | 500 kg (5 kN) |
| Opening under load | Not possible: the buckle tightens | Not possible: the buckle tightens | Not possible: the buckle tightens | Not possible: locked | Not possible: locked |
| Theoretical lifespan | 5 years (normal use) | 5 years (normal use) | 5 years (normal use) | 5 years (normal use) | 5 years (normal use) |
| Webbing | Tubular polyester, double layer | Tubular polyester, double layer | Polyester, 2 straps sewn together with an inner plastic strip | Polyester, not tubular | Polyester, not tubular |
| Width | 35 mm | 35 mm | 42 mm (35 mm at the ends) | 42 mm | 42 mm |
| Flexibility | Ultra flexible | Ultra flexible | Rigid | Rigid | Rigid |
| Comfort | Very comfortable | Very comfortable | Comfortable, firmer | Comfortable, firmer | Comfortable, firmer |
| Attaching accessories | Possible | Possible | Very practical | Very practical | Very practical |
| Weight | to be confirmed | to be confirmed | to be confirmed | to be confirmed | to be confirmed |
| Buckle | 304 stainless steel, matte tumble finish | 304 stainless steel, matte tumble finish (black: painted black, street-furniture paint) | Same as the black Premium | Austrialpine Cobra, aluminium alloy painted black | Austrialpine Cobra, aluminium alloy painted black |
| Engraving | No | Yes | Yes | — | — |
| Adjustment | Fine, self-locking | Fine, self-locking | Fine, self-locking | Clip-in Cobra | Clip-in Cobra |
| XL release buttons, usable with gloves | — | — | — | Yes | Yes |
| Fits through trouser belt loops | Yes | Yes | Yes | Yes, slimmer male part | Yes, slimmer male part |
| Lanyard ring | — | — | No | No | Yes, held flat by a hook-and-loop strap |
| Care | Washable at 30 °C max, no detergent | Washable at 30 °C max, no detergent | Washable at 30 °C max, no detergent | Washable at 30 °C max, no detergent | Washable at 30 °C max, no detergent |
| Manufacturing | Designed in France, made in Europe | Designed in France, made in Europe | Designed in France, made in Europe | Designed in France, made in Europe | Designed in France, made in Europe |
| Size exchange | Easy | Easy | Easy | Easy | Easy |
| Warranty | 2 years | 2 years | 2 years | 2 years | 2 years |
The webbing is always black: only the colour of the stitching and of the woven labels changes with the colour. Lifespan depends on use: it is mainly UV, humidity and hot-cold swings that wear the webbing.
How to find your
belt size?
The most reliable method is to start from a belt you already wear.
- Lay it flat.
- Measure from the base of the buckle to the hole you use most.
- Enter this measurement in the size chart.
No belt to hand? Measure your waist where you wear your trousers, and add a few centimetres. Between two sizes, choose the larger. If you get it wrong, exchanging is simple.
Tybelt size chart
| S | M | L | XL | XXL | XXXL | |
|---|---|---|---|---|---|---|
| Waist (cm) | 75–85 | 85–95 | 95–105 | 105–115 | 115–125 | 125+ |
| Trouser size (EUR) | 34–38 | 38–42 | 42–46 | 46–50 | 50–54 | 54+ |
| Belt length (cm) | 95 | 105 | 115 | 125 | 135 | 145 |
Tactybelt and Tybelt Pro size chart
| M | L | XL | |
|---|---|---|---|
| Trouser size (EUR) | 36–40 | 40–44 | 44–50 |
| Waist min. (cm) | 80 | 95 | 105 |
| Waist max. (cm) | 95 | 105 | 125 |
XXL and XXXL: Premium only. Between two sizes, take the larger one.
.tbq{background:#F4F5F0;margin-inline:0!important;padding:28px 40px 36px;text-align:left;scroll-margin-top:90px}.tbq *{box-sizing:border-box}.tbq button,.tq-ov button{font:inherit;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important;margin:0;line-height:1.3;min-height:0;height:auto;width:auto}.tq-imgs{display:none!important}.tq-fb{font:400 14px var(--W);color:#2E3631}.tq-who{display:flex;margin-bottom:18px}.tq-seg{display:inline-flex;border:1px solid #DDE1D9;border-radius:999px;background:#fff;padding:3px;gap:2px}.tq-seg button{font:600 13px var(--W);border:0;background:transparent;color:#1C1D1B;padding:8px 18px;border-radius:999px;cursor:pointer}.tq-seg button[aria-pressed="true"]{background:#1F3A2E;color:#F4F5F0}.tq-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px 32px;align-items:stretch}.tq-qs{display:flex;flex-direction:column;gap:14px}.tq-q{display:flex;flex-direction:column}.tq-box{flex:1;background:#fff;border:1px solid #DDE1D9;border-radius:6px;padding:14px 16px 16px}.tq-qh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.tq-qh+.tq-hint{margin-top:-6px}h3.tq-t{font-family:var(--A)!important;font-stretch:75%;font-weight:800!important;font-size:22px!important;line-height:1.05!important;color:#1C1D1B!important;margin:0 0 4px!important;padding:0!important;text-transform:none!important;text-align:left!important}.tq-qh h3.tq-t{margin:0!important}.tq-hint{margin:0 0 12px;color:#5B645E;font:400 12.5px/1.5 var(--W)}.tq-rowB .tq-hint,.tq-rowC .tq-hint{min-height:1.4em}.tq-opts{display:flex;flex-wrap:wrap;gap:10px}.tq-opts.off{opacity:.45}.tq-opt{flex:1 1 150px;min-width:0;display:flex;gap:10px;align-items:center;text-align:left;color:#1C1D1B;background:#F4F5F0;border:1px solid #DDE1D9;border-radius:4px;padding:10px 12px;cursor:pointer}.tq-opt:disabled{cursor:not-allowed}.tq-opt .tx{min-width:0}.tq-opt b{display:block;font:700 13.5px var(--W);color:#1C1D1B}.tq-opt .tx span{display:block;font:400 11.5px var(--W);color:#5B645E;margin-top:2px}.tq-opt:hover:not(:disabled){border-color:#1F3A2E}.tq-opt[aria-pressed="true"]{background:#E7EEE8;border:2px solid #1F3A2E;padding:9px 11px}.tq-th{flex:0 0 40px;width:40px;height:40px;border-radius:4px;display:flex;align-items:flex-end;padding:3px;background:#2A4D3D repeating-linear-gradient(135deg,#2A4D3D 0 8px,#385B4B 8px 16px) center/cover}.tq-th.ph{background-color:#111;background-repeat:no-repeat}.tq-th i{font:600 8px/1.1 Consolas,Menlo,monospace;font-style:normal;background:#111;color:#fff;border-radius:2px;padding:2px 3px}.tq-rowB{display:flex;flex-direction:column;gap:14px}.tq-rowC{flex:1;display:flex;flex-direction:column}.tq-rowC .tq-q{flex:1}.tq-sw{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}.tq-s{background:none;border:0;padding:0;cursor:pointer;display:grid;gap:5px;justify-items:center;font:600 12px var(--W);color:#1C1D1B}.tq-s.fixed{cursor:default}.tq-dot{width:40px;height:40px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #DDE1D9;display:block}.tq-s[aria-pressed="true"] .tq-dot,.tq-s.fixed .tq-dot{box-shadow:0 0 0 3px #1F3A2E}.tq-sizes{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.tq-size{font:700 14px var(--W);min-width:56px;text-align:center;color:#1C1D1B;background:#F4F5F0;border:1px solid #DDE1D9;border-radius:4px;padding:10px 12px;cursor:pointer}.tq-size:hover{border-color:#1F3A2E}.tq-size[aria-pressed="true"]{background:#E7EEE8;border:2px solid #1F3A2E;padding:9px 11px}.tq-wait{font:400 12.5px var(--W);color:#5B645E;margin:6px 0 0}.tq-gbtn{display:inline-flex;align-items:center;font:700 12.5px var(--W);background:#E2701C;color:#fff;border:0;border-radius:999px;padding:8px 14px;cursor:pointer}.tq-gbtn:hover{background:#C95F14}.tq-res{display:flex;flex-direction:column;background:#fff;border:1px solid #1C1D1B;border-radius:6px;overflow:hidden}.tq-pack{min-height:130px;flex:1 0 130px;display:flex;align-items:flex-end;padding:10px;background:#2A4D3D repeating-linear-gradient(135deg,#2A4D3D 0 16px,#385B4B 16px 32px) center/cover}.tq-pack.ph{background-color:#EDEFE8;background-repeat:no-repeat}.tq-pack i{font:600 10px Consolas,Menlo,monospace;font-style:normal;background:#111;color:#fff;border-radius:3px;padding:3px 7px}.tq-rb{padding:16px 18px 18px;display:grid;gap:8px;align-content:start}.tq-kick{font:600 11px Consolas,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;color:#E2701C}h3.tq-n{font-family:var(--A)!important;font-stretch:75%;font-weight:800!important;font-size:26px!important;line-height:1.05!important;margin:0!important;padding:0!important;text-transform:none!important;color:#1C1D1B!important;text-align:left!important}.tq-lead{margin:0;color:#5B645E;font:400 13px/1.5 var(--W);min-height:3.1em}.tq-sp{list-style:none!important;margin:2px 0 0!important;padding:0!important;display:grid;gap:4px;font:400 13px var(--W);color:#1C1D1B;min-height:4.9em;align-content:start}.tq-sp li{list-style:none!important;margin:0;padding:0}.tq-sp li::before{content:"✓";color:#2F6B4A;font-weight:700;margin-right:8px}.tq-chips{display:flex;flex-wrap:wrap;gap:6px}.tq-chips span{font:500 12px Consolas,Menlo,monospace;color:#5B645E;background:#EDEFE8;border-radius:4px;padding:6px 9px}.tq-chips b{color:#1C1D1B}.tq-price{font-family:var(--A);font-stretch:75%;font-weight:800;font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums;color:#1C1D1B;min-height:1.1em}.tq-add{display:block;width:100%!important;text-align:center;font:700 14px var(--W);padding:13px 18px;border:0;border-radius:4px;background:#E2701C;color:#fff;cursor:pointer}.tq-add:hover:not(:disabled){background:#C95F14}.tq-add:disabled{background:#EDEFE8;color:#5B645E;cursor:not-allowed}.tq-st{font:400 12.5px var(--W);color:#2F6B4A;min-height:1.2em}.tq-st.bad{color:#B3261E}.tq-reset{margin-top:12px;background:none;border:0;color:#5B645E;font:500 12px var(--W);text-decoration:underline;cursor:pointer;padding:0}.tq-ov{position:fixed;inset:0;z-index:2147483000;background:rgba(10,14,12,.62);display:flex;align-items:center;justify-content:center;padding:16px}.tq-ov[hidden]{display:none!important}.tq-dlg{background:#fff;color:#1C1D1B;border-radius:8px;width:min(680px,100%);max-height:calc(100% - 8px);overflow:auto;padding:22px 22px 24px;position:relative;text-align:left}h3.tq-gt{font-family:var(--A)!important;font-stretch:75%;font-weight:800!important;font-size:28px!important;line-height:1.05!important;margin:0 36px 12px 0!important;padding:0!important;text-transform:none!important;color:#1C1D1B!important}.tq-x{position:absolute;top:12px;right:12px;width:36px!important;height:36px!important;border-radius:50%;border:1px solid #DDE1D9;background:#F4F5F0;color:#1C1D1B;font:600 18px/1 var(--W);cursor:pointer;padding:0}.tq-tip{margin:0 0 10px;font:400 12.5px var(--W);color:#5B645E}.tq-tw{overflow-x:auto}.tq-tw table{border-collapse:collapse;width:100%;min-width:420px;font-variant-numeric:tabular-nums;margin:0;border:0}.tq-tw th,.tq-tw td{border:1px solid #DDE1D9!important;padding:9px 10px;text-align:center;font:500 13.5px var(--W);color:#1C1D1B;background:#fff}.tq-tw thead th{background:#1F3A2E;color:#F4F5F0;font:800 16px var(--A);font-stretch:75%;padding:0}.tq-tw tbody th{text-align:left;background:#F4F5F0;font-weight:600;color:#5B645E}.tq-pk{display:block;width:100%!important;font:inherit;color:inherit;background:none;border:0;padding:11px 8px;cursor:pointer}.tq-tw thead th:hover{background:#B9DCC6;color:#1C1D1B;box-shadow:inset 0 0 0 2px #1F3A2E}.tq-tw td[data-c]{cursor:pointer}.tq-tw td[data-c]:hover{background:#B9DCC6;box-shadow:inset 0 0 0 2px #1F3A2E;font-weight:700}.tq-tw .col{background:#E7EEE8!important;box-shadow:inset 0 0 0 1px #1F3A2E}.tq-tw thead th.col{background:#E2701C!important;color:#fff}.tq-conf{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#E7EEE8;border:1px solid #1F3A2E;border-radius:6px;padding:12px 14px}.tq-conf[hidden]{display:none!important}.tq-conf span{flex:1 1 200px;font:600 13.5px var(--W)}.tq-conf button{font:700 13px var(--W);border:0;border-radius:4px;padding:9px 16px;cursor:pointer}.tq-yes{background:#E2701C;color:#fff}.tq-yes:hover{background:#C95F14}.tq-no{background:#fff;color:#1C1D1B;border:1px solid #DDE1D9!important}.tq-ew{margin-top:16px;border:2px dashed #DDE1D9;border-radius:6px;padding:18px;text-align:center;color:#5B645E;font:500 12.5px Consolas,Menlo,monospace;background:#F4F5F0}.tq-opt:focus-visible,.tq-add:focus-visible,.tq-gbtn:focus-visible,.tq-seg button:focus-visible,.tq-s:focus-visible,.tq-size:focus-visible,.tq-conf button:focus-visible,.tq-x:focus-visible,.tq-pk:focus-visible{outline:3px solid #E2701C;outline-offset:2px}@media (max-width:820px){.tbq{padding:24px 16px 30px}.tq-grid{grid-template-columns:minmax(0,1fr)}.tq-rowB{grid-template-columns:minmax(0,1fr);min-height:0}.tq-pack{flex:0 0 200px}.tq-rb{min-height:0}}.tq-sub{font:400 12px var(--W);color:#5B645E;min-height:1.2em}.tq-rowD{display:flex;flex-direction:column;gap:14px}.tq-rowD .tq-q{flex:1}.tq-qs2{display:flex;flex-direction:column}.tq-res2{justify-content:flex-start}.tq-rb2{gap:10px}.tq-ln{display:flex;justify-content:space-between;gap:12px;font:400 13px var(--W);color:#2E3631;border-bottom:1px solid #E6E9E1;padding-bottom:8px}.tq-ln b{font-weight:700;white-space:nowrap}.tq-tot{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--A);font-stretch:75%;font-weight:800;font-size:22px;color:#1C1D1B}.tq-tot b{font-size:30px;font-variant-numeric:tabular-nums}.tq-acc2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.tq-acc2.off{opacity:.5}.tq-accc{display:flex;flex-direction:column;gap:8px}.tq-accc .tq-opt{flex:none}.tq-acch{font:700 12px var(--W);text-transform:uppercase;letter-spacing:.08em;color:#5B645E}.tq-opt{padding:7px 10px}.tq-opt[aria-pressed="true"]{padding:6px 9px}.tq-box{padding:10px 14px 12px}h3.tq-t{font-size:19px!important}.tq-dual{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px}.tq-fld{min-width:0}.tq-fld.off,.tq-box.off{opacity:.45}.tq-opts-v{flex-direction:column;flex-wrap:nowrap;gap:8px}.tq-opts-v .tq-opt{flex:none}.tq-qh2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.tq-qh2 h3.tq-t{margin:0!important}.tq-hnt{font:400 12px/1.4 var(--W);color:#5B645E;flex:1 1 auto}p.tq-hnt{margin:6px 0 0}.tq-seg.sm button{padding:5px 16px;font-size:12px}.tq-acc2.offc{opacity:.5}.tq-sizes{margin-top:0}.tq-size{padding:7px 12px;min-width:50px}.tq-size[aria-pressed="true"]{padding:6px 11px}.tq-wait{margin:2px 0 0}.tq-acc2{gap:10px}.tq-s:disabled,.tq-opt:disabled{cursor:not-allowed}.tq-rowD .tq-hint{margin:0 0 8px;min-height:0}.tq-qh2 .tq-gbtn:disabled{opacity:.5}.tq-th{flex:0 0 60px;width:60px;height:60px}.tq-opt{gap:12px}.tq-pack{flex:none;min-height:0;aspect-ratio:7/4}.tq-lead{min-height:0}.tq-sp{min-height:0}.tq-st:empty{display:none}.tq-rowC .tq-box{display:flex;flex-direction:column;justify-content:center}.tq-res2 .tq-rb2{flex:1;display:flex;flex-direction:column;justify-content:space-between}.tq-sw-i{display:flex;gap:10px;margin:0;flex-wrap:wrap}.tq-sw-i .tq-s{display:inline-flex;align-items:center;gap:6px;font-size:12px}.tq-sw-i .tq-dot{width:26px;height:26px}.tq-qh2 .tq-hnt{flex:1 1 140px}.tq-pack.tq-pt{aspect-ratio:4/3}.tq-rowA{display:flex;flex-direction:column;gap:14px}.tq-rad{display:flex;gap:20px;flex-wrap:wrap}.tq-r{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:4px 2px;font:600 13px var(--W);color:#1C1D1B;cursor:pointer}.tq-rc{width:18px;height:18px;border-radius:50%;border:2px solid #1F3A2E;background:#fff;display:inline-block;position:relative;flex:0 0 18px}.tq-r:hover:not(:disabled) .tq-rc{background:#E7EEE8}.tq-r[aria-pressed="true"] .tq-rc::after{content:"";position:absolute;inset:3px;border-radius:50%;background:#1F3A2E}.tq-r:disabled{cursor:not-allowed}.tq-r:focus-visible{outline:3px solid #E2701C;outline-offset:2px}@media(max-width:820px){.tq-qs{order:1}.tq-qs.tq-qs2{order:2}.tq-res{order:3}.tq-res.tq-res2{order:4}}.tq-ew{display:none}.tq-rad{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:center}.tq-r{display:inline-flex;align-items:center;justify-content:center;min-width:112px;height:36px;padding:0 20px;border:1px solid #DDE1D9;border-radius:99px;background:#F4F5F0;color:#1C1D1B;font:600 13.5px var(--W);line-height:1;transition:background .15s,border-color .15s,color .15s}.tq-rc{display:none!important}.tq-r:hover:not(:disabled){border-color:#E2701C;background:#fff;color:#E2701C}.tq-r[aria-checked=true],.tq-r[aria-pressed=true]{background:#E2701C;border-color:#E2701C;color:#fff;box-shadow:0 2px 8px rgba(226,112,28,.28)}.tq-r:disabled{opacity:.5}.tq-qh2{justify-content:center;gap:10px 18px;margin-bottom:0}.tb-cmpwrap{background:#F4F5F0;margin-inline:0!important;padding:28px 40px 36px;text-align:left;overflow-x:auto}table.tb-cmp{width:100%;min-width:640px;background:#fff;border:1px solid #DDE1D9;border-radius:6px;border-collapse:separate;border-spacing:0;margin:16px 0 0}.tb-cmp th,.tb-cmp td{padding:11px 14px!important;border:0!important;border-bottom:1px solid #E6E9E1!important;font:400 13px var(--W)!important;color:#1C1D1B!important;text-align:left!important;vertical-align:middle;background:transparent!important}.tb-cmp thead th{font:800 17px var(--A)!important;background:#F4F5F0!important}.tb-cmp tbody th{font:600 13px var(--W)!important;color:#5B645E!important;width:17%}.tb-cmp tbody tr:last-child th,.tb-cmp tbody tr:last-child td{border-bottom:0!important}.tb-cmp td b{font-weight:700}.tb-cmp-in{margin:0 0 14px;color:#5B645E;font:400 14px var(--W)}.tb-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}.tb-ctl b{font:700 12px var(--W);letter-spacing:.06em;text-transform:uppercase;color:#5B645E;margin-right:2px}.tb-chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 15px;border:1px solid #DDE1D9;border-radius:99px;background:#fff;color:#1C1D1B;font:600 13px var(--W);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.tb-chip::before{content:"";width:9px;height:9px;border-radius:50%;background:#E2701C}.tb-chip.t2::before{background:#1F3A2E}.tb-chip:hover{border-color:#E2701C}.tb-chip.on{background:#1C1D1B;border-color:#1C1D1B;color:#fff}.tb-chip.on.t1::before{background:#E2701C}.tb-chip.on.t2::before{background:#8FB79E}.tb-lnk{background:none;border:0;padding:0 4px;color:#1F3A2E;font:600 12.5px var(--W);text-decoration:underline;cursor:pointer}.tb-lnk:first-of-type{margin-left:auto}.tb-chip:focus-visible,.tb-lnk:focus-visible,.tb-gh button:focus-visible{outline:3px solid #E2701C;outline-offset:2px}.tb-cmps{overflow-x:auto}.tb-cmp{table-layout:fixed;width:100%;min-width:760px}.tb-cmp thead th:first-child{width:210px}.tb-cmp thead th.t1{border-top:3px solid #E2701C}.tb-cmp thead th.t2{border-top:3px solid #1F3A2E}.tb-cmp thead th small{display:block;margin-bottom:2px;font:700 10px var(--W);letter-spacing:.08em;text-transform:uppercase;color:#E2701C}.tb-cmp thead th.t2 small{color:#1F3A2E}.tb-cmp tbody th{width:190px}.tb-cmp td b{font-family:var(--A);font-size:15px}.tb-gh th{padding:0!important;background:#F4F5F0;border-top:1px solid #DDE1D9}.tb-gh button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 14px;border:0;background:none;color:#1C1D1B;font:800 12.5px var(--A);letter-spacing:.07em;text-transform:uppercase;text-align:left;cursor:pointer}.tb-gh button::after{content:"";width:8px;height:8px;border-right:2px solid #1F3A2E;border-bottom:2px solid #1F3A2E;transform:rotate(45deg);transition:transform .2s;margin:-4px 4px 0 0}.tb-g.shut .tb-gh button::after{transform:rotate(-45deg);margin-top:0}.tb-g.shut tr:not(.tb-gh){display:none}.tb-cmp.x1 .c1,.tb-cmp.x2 .c2,.tb-cmp.x3 .c3,.tb-cmp.x4 .c4,.tb-cmp.x5 .c5,.tb-cmp.x6 .c6{display:none}.tb-todo{font:italic 400 12px var(--W)!important;color:#8A928C!important}.tb-cmp-note{margin:12px 0 0;color:#5B645E;font:400 12.5px var(--W)}.tb-tw{overflow-x:auto}.tb-szt{width:100%;border-collapse:collapse;font:400 13px var(--W);margin:0 0 4px}.tb-szt th,.tb-szt td{padding:8px 6px;border-bottom:1px solid #E6E9E1;text-align:center;white-space:nowrap}.tb-szt thead th{font:800 14px var(--A);color:#1C1D1B;border-bottom:2px solid #E2701C}.tb-szt tbody th{text-align:left;font-weight:600;color:#5B645E;white-space:normal;min-width:96px;padding-left:0}.tb-sz-t2{margin-top:18px!important}.tb-sz-n{margin:10px 0 0;color:#5B645E;font:400 12.5px var(--W)}.tq-pack.tq-pack-msg{background:#EDEFE8;align-items:center;justify-content:center;text-align:center}.tq-pack-msg i{background:none;color:#4F5A53;font-family:inherit;font-size:16px;font-weight:600;padding:0}
(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:["Khaki","#6B6F45"],noir:["Black","#1C1D1B"]}; var ORD=["XS","S","M","L","XL","XXL","XXXL"]; var SP="EN 566-certified strap · 2,200 kg"; var CAT={std:{id:5,n:"Tybelt Standard",pk:"Standard · Orange",lead:"The everyday belt, without engraving.",sp:[SP,"Plain buckle"]}, po:{id:9,c:"orange",n:"Tybelt Premium Orange",pk:"Premium · Orange",lead:"Engraved buckle, in orange.",sp:[SP,"Engraved buckle"]}, pk:{id:9,c:"khaki",n:"Tybelt Premium Khaki",pk:"Premium · Khaki",lead:"Engraved buckle, in khaki.",sp:[SP,"Engraved buckle"]}, pn:{id:9,c:"black",n:"Tybelt Premium Black",pk:"Premium · Black",lead:"Engraved buckle, in black.",sp:[SP,"Engraved buckle"]}, be:{id:233,n:"Tactybelt Beta",pk:"Tactybelt Beta",lead:"The rigid tactical belt, without a Delta quick link.",sp:["Rigid 42 mm strap","AustriAlpin Cobra buckle"]}, de:{id:232,n:"Tactybelt Delta",pk:"Tactybelt Delta",lead:"The rigid tactical belt, with a Delta quick link.",sp:["Rigid 42 mm strap","AustriAlpin Cobra buckle","Delta quick link"]}, pro:{id:235,n:"Tybelt Pro",pk:"Tybelt Pro",lead:"The rigid 42 mm belt, for attaching your accessories.",sp:["Rigid 42 mm strap","Self-tightening Tybelt buckle","Not EN 566 certified"]}}; var ACC={a1:{id:3,t:"1 steel carabiner",s:"Screw-gate carabiner"},n1:{id:10,t:"1 black carabiner",s:"Screw-gate carabiner"},a2:{id:242,t:"2 steel carabiners",s:"Pro pack"},n2:{id:243,t:"2 black carabiners",s:"Pro pack"}}; var AD={}; var G={ty:{t:"Tybelt size guide",h:["S","M","L","XL","XXL","XXXL"],r:[["Waist (cm)","75–85","85–95","95–105","105–115","115–125","125"],["Trouser size (EU)","34–38","38–42","42–46","46–50","50–54","54"],["Belt length (cm)","95","105","115","125","135","145"]]}, tac:{t:"Tactybelt and Tybelt Pro size guide",h:["M","L","XL"],r:[["Trouser size (EU)","36–40","40–44","44–50"],["Min. waist (cm)","80","95","105"],["Max. waist (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)} 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="The pack of 2 costs less than two single carabiners.";if(a1&&a2&&2*a1.a>a2.a)hint="The pack of 2 saves you "+money(2*a1.a-a2.a)+" in steel"+(n1&&n2&&2*n1.a>n2.a?" et "+money(2*n1.a-n2.a)+" in black":"")+"."; 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"?"Pro pack · ":"")+(d?"+"+money(d.a):"")+(sv(k)?" · you save "+money(sv(k)):"")+(yes&&d&&!d.ok?" · unavailable":""),"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","Yes")+ra("non","No")+"</div>"; return'<div class="tq-q"><div class="tq-box'+(on?"":" off")+'"><div class="tq-qh2"><h3 class="tq-t">Add carabiners?</h3>'+seg+'</div><div class="tq-acc2'+(yes?"":" offc")+'"><div class="tq-accc"><div class="tq-acch">Steel</div>'+o("a1","1 carabiner")+o("a2","2 carabiners")+'</div><div class="tq-accc"><div class="tq-acch">Black</div>'+o("n1","1 carabiner")+o("n2","2 carabiners")+"</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">Who is it for?</h3><div class="tq-rad">'+rw("self","For me")+rw("gift","To give as a gift")+"</div></div></div></div>"+boxo(gift?"How do you think they will wear it?":"How will you wear it?",on0,'<div class="tq-opts">'+opt("use","quot","Everyday","Tybelt range · DIY, outings, travel","Tybelt",!on0)+opt("use","tact","Pro or tactical","Tybelt Pro or Tactybelt · field, gear","Tactybelt",!on0)+"</div>"); var b1,b2; if(!tact){b1=boxo("With or without engraving?",on1,'<div class="tq-opts">'+opt("grav","sans","No engraving","The essentials: the Standard","plain buckle",!on1)+opt("grav","avec","Engraved","Engraved buckle","engraved buckle",!on1)+"</div>"); if(S.grav==="sans")b2='<div class="tq-q"><div class="tq-box"><div class="tq-qh2"><h3 class="tq-t">Which colour?</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">One colour only for the 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">Which colour?</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, khaki or black: Premium.</span></div></div></div>'} else{b1=boxo("With or without a Cobra buckle?",on1,'<div class="tq-opts">'+opt("cobra","oui","With Cobra buckle","Beta or Delta","Cobra",!on1)+opt("cobra","non","Without Cobra buckle","Tybelt Pro","Tybelt buckle",!on1)+"</div>"); var off=S.cobra==="non";b2=boxo("With or without a Delta quick link?",on2&&!off,'<div class="tq-opts">'+opt("delta","sans","Without Delta quick link","Tactybelt Beta","Beta",!on2||off)+opt("delta","avec","With Delta quick link","Tactybelt Delta","Delta quick link",!on2||off)+"</div>")} var b=b1+b2; var sb;if(!on3)sb='<p class="tq-wait">Answer the questions above first.</p>';else if(!d)sb=LE[key()]?'<p class="tq-wait">The sizes could not be loaded ('+LE[key()]+'). <button type="button" class="tq-reset" data-retry="1">Try again</button></p>':'<p class="tq-wait">Loading sizes…</p>';else if(!d.sizes.length)sb='<p class="tq-wait">This model is temporarily unavailable in all sizes.</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">Which size?</h3><span class="tq-hnt">'+(gift?"Not sure of your size? Take the larger one: exchanging is simple.":"Measure a belt you already wear.")+'</span><button type="button" class="tq-gbtn" data-g="'+(tact?"tac":"ty")+'"'+(on3?"":" disabled")+">Size guide</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:"Your belt",pk:"Tybelt · Tactybelt",lead:"Answer the questions to see our recommendation.",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]:"to choose"):"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>Your belt will be shown here'+"</i></div>"; return pk+'<div class="tq-rb"><div class="tq-kick">Our recommendation</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>Colour: <b>"+col+"</b></span>":"")+"<span>Size: <b>"+(S.size||"to choose")+'</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?"Answer the questions":(!S.size?"Choose a size":(S.chk?"Checking…":(S.stock===false?"Unavailable":(!chosen?"Choose your carabiners":(!accOk?"Carabiners unavailable":"Add to cart"))))); if(d&&!d.sizes.length)lb="Model unavailable";var st=S.size&&S.stock===false?'<div class="tq-st bad">This size is temporarily unavailable.</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">Your selection</div><div class="tq-ln"><span>'+(k?P.n:"Belt")+(S.size?" · "+S.size:"")+"</span><b>"+(d?d.price:"—")+'</b></div><div class="tq-ln"><span>'+(chosen?(S.acc==="none"?"No carabiner":ACC[S.acc].t):"Carabiners: to choose")+"</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?"Adding…":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">Start over</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="Close">×</button><h3 class="tq-gt" id="tq-gt"></h3><p class="tq-tip">Click your size in the table to choose it.</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">Yes, choose</button><button type="button" class="tq-no" id="tq-no">No</button></div><div class="tq-ew">Text and photo pending: how to choose your size.</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="The addition could not be completed: please check your cart.";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="Choose size <b>"+pend+"</b> ?";document.getElementById("tq-yes").textContent="Yes, choose "+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="First choose the colour in the questionnaire.";t.hidden=true;return} if(!d||!d.sizes.some(function(x){return x.l===pend})){m.textContent=(d&&!d.sizes.length)?"This model is temporarily unavailable.":"Size "+pend+" is not offered for this model.";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)})}})();