Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (2024)

Galaxy Buds2 Pro

Click or tap to zoom in/out

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (1)

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (2)

Klik of tik om uit te zoomen

Click or tap to zoom in/out

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (3)

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (4)

Klik of tik om uit te zoomen

Click or tap to zoom in/out

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (5)

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (6)

Klik of tik om uit te zoomen

Click or tap to zoom in/out

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (7)

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (8)

Klik of tik om uit te zoomen

Click or tap to zoom in/out

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (9)

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (10)

Klik of tik om uit te zoomen

Click or tap to zoom in/out

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (11)

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (12)

Klik of tik om uit te zoomen

Click or tap to zoom in/out

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (13)

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (14)

Klik of tik om uit te zoomen

Click or tap to zoom in/out

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (15)

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (16)

Klik of tik om uit te zoomen

Zoom in

Galaxy Buds2 Pro

SM-R510NZAAEUB

Beoordelingen : 4.7(Aantal beoordelingen :123)

  • De ultieme draadloze luisterervaring met 24-bits Hi-Fi-geluid
  • Duidelijke en verstaanbare gesprekken, net alsof je tegenover iemand zit
  • De 3 hoge SNR-microfoons houden nog meer geluiden van buitenaf tegen
  • Ergonomisch design voor optimaal draagcomfort, de hele dag door
  • Laat je omringen door multi-channel bioscoopgeluid

Kies jouw Kleur

Kleur :

key features

  • Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (17)

    Kraakhelder geluid

  • Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (18)

    Intelligente ANC

  • Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (19)

    Fit

  • Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (20)

    360 Audio

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (21)

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (22)

"); section.innerHTML = markup; document.getElementById("iemessage").appendChild(section); } })();

Galaxy Buds2 Pro

KOOP NU

MELD JE ALVAST AAN

KOOP NU

Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (23)

"24-bits audio-ondersteuning is slechts één van de vele verbeteringen."

Android Authority

Robert Tiggs

08/2022

"De Galaxy Buds2 Pro zijn de Samsung-oordopjes waar we met smart op hebben gewacht"

Digital Trends

Joe Maring

08/2022

From Digital Trends. © 2022 Digital Trends Media Group. Alle rechten voorbehouden. Gebruikt onder licentie.

"Het geluid klinkt luid en duidelijk op alle niveaus. Deze oordopjes behoren met recht tot het hogere segment."

Sammobile

Adnan Farooqui

08/2022

"De Galaxy Buds2 Pro van Samsung hebben alles wat je van oordopjes in het hogere segment mag verwachten."

Stuff

Tom Morgan

08/2022

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (24)

    • Het ultieme Hi-Fi-geluid
    • Naadloze connectiviteit
    • Comfortabele pasvorm
    • AI-assistentie direct in je oor

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (25)

    Maak kennis met Galaxy AI

    Geniet optimaal van je Galaxy AI met de Galaxy Buds2 Pro. Nu heb je een vertaler, direct in je oor. Zet de vertaalfuncties op je Samsung Galaxy-smartphone met Galaxy Buds2 Pro aan. Maak makkelijk vrienden zonder taalbarrière, face to face of via de telefoon.

    Face-to-face Via de telefoon

    Houd je Galaxy Buds2 Pro aan, zelfs als je Interpreter op je Samsung Galaxy-smartphone moet gebruiken. Hoor de vertaling via de oordopjes, terwijl de andere persoon luistert via de gekoppelde smartphonespeaker. Geniet van soepele gesprekken zonder je telefoon te overhandigen iedere keer als je aan het woord bent.

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (26)

    *De vertaalfunctie vereist een Samsung-account. Voor bepaalde talen is het downloaden van een taalpakket vereist. Beschikbaarheid van de service kan per taal verschillen. De nauwkeurigheid van resultaten wordt niet gegarandeerd. *Voor het gebruik van Live Translate is een netwerkverbinding vereist en moet je zijn ingelogd op je Samsung-account. Live Translate is alleen beschikbaar op de vooraf geïnstalleerde Samsung Phone-app. Voor bepaalde talen is het downloaden van een taalpakket vereist. De beschikbaarheid van de service kan per taal, land, regio of provider verschillen. De nauwkeurigheid van resultaten wordt niet gegarandeerd. *Galaxy AI-functies worden ondersteund op Galaxy S24 Ultra, S24 Plus en S24 vanaf februari 2024. *Samsung Galaxy-apparaten kunnen de nieuwste softwareupdate vereisen om Galaxy AI-functies te ondersteunen. *Gesimuleerde afbeeldingen voor illustratieve doeleinden. Daadwerkelijke UX/UI kan afwijken.

    De microfoons van je Galaxy Buds2 Pro registreren je woorden duidelijk tijdens telefoongesprekken via Live Translation door middel van een spraakherkenningsalgoritme. Daarna zet Live Translate op de gekoppelde Galaxy-smartphone de woorden om naar de betreffende taal. Lees het gesprek zonder je telefoon aan je oor te houden.

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (27)

    *De vertaalfunctie vereist een Samsung-account. Voor bepaalde talen is het downloaden van een taalpakket vereist. Beschikbaarheid van de service kan per taal verschillen. De nauwkeurigheid van resultaten wordt niet gegarandeerd. *Voor het gebruik van Live Translate is een netwerkverbinding vereist en moet je zijn ingelogd op je Samsung-account. Live Translate is alleen beschikbaar op de vooraf geïnstalleerde Samsung Phone-app. Voor bepaalde talen is het downloaden van een taalpakket vereist. De beschikbaarheid van de service kan per taal, land, regio of provider verschillen. De nauwkeurigheid van resultaten wordt niet gegarandeerd. *Galaxy AI-functies worden ondersteund op Galaxy S24 Ultra, S24 Plus en S24 vanaf februari 2024. *Samsung Galaxy-apparaten kunnen de nieuwste softwareupdate vereisen om Galaxy AI-functies te ondersteunen. *Gesimuleerde afbeeldingen voor illustratieve doeleinden. Daadwerkelijke UX/UI kan afwijken.

    SOUND EXPERIENCE

    Voor een hoogwaardige luisterervaring

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (28)

    24-bits HiFi-geluid

    Geluid zoals het hoort,
    draadloos

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (29)

    2-wegspeaker
    voor een brede frequentierespons
    Woofer
    zorgt voor een diepere bas.
    Tweeter
    zorgt voor een heldere hoge tonen

    24-bits
    HiFi-geluid

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (30)

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (31) 16-bit

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (32) 24-bit

    Elke noot klinkt zoals hij bedoeld is, omdat het kraakheldere geluid begint bij jouw favoriete Samsung Galaxy-toestel. De geüpdatete Samsung Seamless Codec zet het volle 24-bits geluid om naar de Galaxy Buds2 Pro, met behoud van hetzelfde hoogwaardige 24-bits geluid. 1, 2

    Active Noise Cancelling (ANC)
    is beter dan ooit.

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (34)

    Active Noise Cancelling (ANC)
    is beter dan ooit.
    Met 3 microfoons met een hoge SNR (Signal-to-Noise Ratio) kunnen de Galaxy Buds2 Pro elk omgevingsgeluidje opsporen en verwijderen - zelfs het fluisteren van de wind.3

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (35)

    Met Voice Detect kan je gemakkelijk tot een gesprek met anderen overgaan.

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (36)

    Begin met praten en Voice Detect schakelt ANC uit en omgevingsgeluid in, zodat je het gesprek goed kan volgen zonder jouw Buds2 Pro uit te doen. 3

    360 AUDIO

    Realistisch geluid

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (37)

    Met Intelligent 360 Audio voelt het geluid realistischer. De 360 Audio-algoritmes met Direct-multichannel (5,1ch / 7,1ch), Dolby Atmos ® en Enhanced Dolby Head Tracking bieden een meeslepende ervaring doordat elke beweging synchroon blijft. 360 Audio registreert zelfs de richting van het geluid als je je hoofd beweegt, zodat je het geluid in elke richting ervaart. 4, 5

    Wat is 360 Audio?

    360 Audio is een functie die de richting van het geluid registreert als je je hoofd beweegt, zodat je het geluid in elke richting ervaart.

    play

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (40) Cone-shaped sound funnels are directed at a mannequin head from the left and right. Then, five funnels of sound face the head from all around. Next, the funnels transform into an orb that surrounds the entire head.

    360 AUDIO

    Inschakelen gaat gemakkelijk met Samsung Galaxy

    Om video's te bekijken met een ruimtelijke surround sound, open de app Galaxy Wearable, ga naar 360 audio en tik op de togglefunctie om in te schakelen.

    • *Beschikbaarheid van kleuren kan verschillen per land, regio, provider of toestel.
    • *Gesimuleerde afbeelding voor illustratieve doeleinden.

    Stap 1

    Open de Galaxy Wearable-app en schakel “360 audio” in

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (41)

    Stap 2

    Zet "Head tracking" aan voor een meeslepende ervaring.

    Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (42)

      INTENSE GELUIDSERVARING

      Zet je geluid aan voor een diepere dimensie

      Met Dolby Atmos bewegen films en muziek om je heen op een manier die niet mogelijk is met standaardgeluid. Het overweldigende geluidslandschap heeft geen simpele linker- en rechterkanalen, maar omringt je met gerichte details. Pak je oordopjes, probeer 360 Audio en geniet van een geheel nieuwe geluidservaring.

      • *Luister voor een optimale ervaring met oordopjes of koptelefoon op een toestel met Dolby Atmos-ondersteuning.
      • *De nummers zijn bestemd om te worden afgespeeld in Atmos-ondersteunde omgevingen, uitsluitend voor het demonstreren van Dolby Atmos-technologie.

      Music

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (43) Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (44)

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (45)

      play

      A vocalist, guitarist and percussionist perform together as they record music in a studio.

      Nature

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (46) Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (47)

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (48)

      play

      Close up shots of rain falling gently on various forest plants.

      Cinema

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (49) Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (50)

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (51)

      play

      Lights dance around a shiny orb in an abstract representation of the sounds passing by.

      Pak je oordopjes en probeer het 360 Audio-geluid uit

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (52)

      360 AUDIO RECORDING

      Leg de wereld vast zoals jij hem hoort

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (53)

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (54)

      Geluid klinkt nu nog helderder met alleen je smartphone en Galaxy Buds2 Pro. Zet 360 Audio Recording aan zodat je vrienden bij het afspelen van jouw video's door het hyperrealistische 360-geluid helemaal worden meegesleurd in de actie.

      • *Afbeelding gesimuleerd voor illustratieve doeleinden
      • *360 Audio Recording is beschikbaar op Samsung Galaxy Z Fold4, Z Flip4 met Android One UI versie 5.0 of hoger, mits gekoppeld met Galaxy Buds2 Pro.
      • *Verbeterde Head Tracking en Direct Multi-channel worden ondersteund op Android One UI versie 4.1.1 of hoger.

      360 AUDIO RECORDING

      Maak video's met 360 Audio

      Voordat je begint met opnemen, ga naar de geavanceerde videomogelijkheden van je Samsung Camera- app. Draag je Galaxy Buds2 Pro en schakel de 360-audio-opname in. Nu ben je klaar om 3D-geluid op te nemen.

      • *360 Audio Recording is beschikbaar op Samsung Galaxy Z Fold4, Z Flip4 met Android One UI versie 5.0 of hoger, mits gekoppeld met Galaxy Buds2 Pro.
      • *360 Audio en Verbeterde Head Tracking kunnen per app en content verschillen.

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (55)

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (56)

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (57)

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (58)

      Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (59)

        Hoor het van de makers

        Zie hoe influencers op social media 360 Audio Recording gebruiken om de aandacht van hun volgers vast te houden.

        • *Luister voor een optimale ervaring met oordopjes of koptelefoon op een toestel met Dolby Atmos-ondersteuning.
        • *360 Audio Recording is beschikbaar op Samsung Galaxy Z Fold4, Z Flip4 met Android One UI versie 5.0 of hoger, mits gekoppeld met Galaxy Buds2 Pro.
        • *360 Audio en Verbeterde Head Tracking kunnen per app en content verschillen.
        • Vlog & Social media

          Play
          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (60)

          A young woman waits at a train platform. She takes out a Galaxy Buds2 Pro case and places the earbuds in her ears. In the camera app, 360 Audio Recording is activated. She checks her makeup in the selfie camera of her Galaxy Z Flip4. As the train pulls into the station, the 360 Audio Recording toggle is activated. She boards the train. Next, the 360 Audio Recording toggle is activated again as she waits at a crosswalk during the day. She is holding up her Galaxy Buds2 Pro cradle on her right hand. Suddenly, it changes from day to nighttime. She closes the cradle and crosses the crosswalk with her earbuds in her ears. Next, she is seen walking down a pedestrian tunnel, recording with her Galaxy Z Flip4. Next, she poses for the camera from a seated position. Next, she arrives home, puts her earbuds in the cradle, and jumps into bed to sleep. Samsung logo.

        • Muziek & Dans

          Play
          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (61)

          A young man touches his earbud in his right ear. Next, a group of young men including him are all seen together in a dance studio doing hip hop dance. Various angles and shots of them show them interacting with the camera in a dynamic way. Then the 360 Audio Recording toggle is activated. They film themselves dancing with the selfie mode on, using 360 Audio Recording. At the same time the view finder screen they're seeing is shown above the phone the man is holding up. The view finder disappears and they dance for the camera. Then they make circle and keep dancing. The 360 Audio Recording toggle is activated. Suddenly, they jump together and are transported back outside to a sidewalk. The 360 Audio Recording toggle is activated. They continue dancing down the street. Samsung logo.

        • Sport & Activiteiten

          Play
          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (62)

          A young woman is sitting outdoors. She takes her Galaxy Buds2 Pro earbuds from the cradle and places them in her ears. Next, she is walking while carrying a skateboard in one arm and using her Galaxy Z Flip4 in the other. Using the camera app in selfie mode, she turns on 360 audio recording. At the same time, the 360 audio recording toggle is activated. She records herself posing for the camera, and then skateboarding in the park. There are various shots of her spinning on the skateboard and touring the park with the earbuds in her ears. The toggle is activated twice. She slowly stops and her back is seen to the camera. Samsung logo.

          Pak je oordopjes en probeer het 360 Audio-geluid uit

          NAADLOZE CONNECTIVITEIT

          Synchroniseer je leven

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (63)

          Eenvoudig koppelen

          Maak open en tik aan

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (64)

          Galaxy Buds2 Pro worden automatisch gevonden door je Samsung Galaxy-toestellen en kunnen met één tik worden gekoppeld. Zo eenvoudig is het.

          Auto Switch op de Galaxy Buds2 Pro vindt slim activiteiten op mobiele apparaten en schakelt moeiteloos tussen jouw Samsung Galaxy-telefoon, tablet of watch.

          Zelfs als je verbonden bent met een Samsung TV kan je wisselen om je telefoon op te nemen. Als de Galaxy Buds2 Pro via Bluetooth verbonden zijn met de Samsung TV, hoef je je oordopjes niet uit te doen om de telefoon op te nemen. Als je gebeld wordt, hoef je alleen maar twee keer op de Galaxy Buds2 Pro te tikken. 6

          *Automatisch schakelen met de TV werkt alleen voor telefoongesprekken

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (65)

          SMARTTHINGS FIND

          Weet waar je oordopjes zijn

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (66)

          Bang dat je je Galaxy Buds2 Pro kwijt raakt? Geen paniek. Met de zoek locatie-functie van SmartThings Find kan je je geliefde Galaxy Buds2 Pro altijd vinden. Het kan zelfs zonder de case. 7, 8, 9, 10

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (67)

          Het geïntegreerde alarm waarschuwt je als je je Galaxy Buds2 Pro ergens laat liggen, en je telefoon geeft een melding zodat je ze niet per ongeluk vergeet.

          ERGONOMISCH ONTWERP

          Stijl die bij je past

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (68)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (69)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (70)

          FIT

          In je
          comfort
          zone

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (71)

          Galaxy Buds Pro Galaxy Buds2 Pro

          15 %

          kleinere afmetingen

          5,5 g

          We hebben het ontwerp van de oordopjes aangepast, zodat ze 15% kleiner zijn dan de Buds Pro en als gegoten in je oor passen.

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (72)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (73)

          Geniet van een comfortabele pasvorm dankzij het ergonomisch ontwerp van de oordopjes. Verbeterde luchtstroomtechnologie vermindert de druk in het gehoorkanaal en zorgt voor minimaal lawaai, voor comfort en helder geluid. 11

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (74)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (75)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (76)

          Galaxy Buds2 Pro. How to wear Galaxy Buds2 Pro. A closed Galaxy Buds2 Pro case in Bora Purple appears onscreen. It opens and the ear buds float out of the case and upwards. Text reads, Finding your fit is easy. The buds twirl around, and one ear bud vanishes behind the other. The inner side is seen, indicating the letter R printed in a circle on the body of the ear bud. Text reads, Check R, right. Then, the buds spin around again to reveal the second ear bud. It shows the letter L printed on the body of the ear bud. Text reads, And L, left. The ear bud spins again to show the outer side of the body. Text reads, Make sure the wind shield is facing up. A line is drawn to indicate the location of the Wind Shield at the upper edge of the ear bud. The ear bud zooms toward the screen to transition to a close up of an ear and the ear bud being comfortably put into place. Text reads, All set! Ready to get immersed? A seamless transition shows another person with Bora Purple Galaxy Buds2 Pro in their ear. Text reads, The ultimate Hi-Fi sound is now wireless. Samsung dot com. The Samsung logo appears.

          Hoe draag je de
          Galaxy Buds2 Pro

          KLEUREN

          Sprekende
          kleuren

          Zowel de oordopjes als de case zijn beschikbaar in een aantal premium kleuren. Elk oordopje is voorzien van een glanzende afwerking en een matte binnenkant die zacht aanvoelt op je huid. 12

          We zien een Galaxy Buds2 Pro case en oordopjes in de kleur Graphite

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (77)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (78)

          We zien een Galaxy Buds2 Pro case en oordopjes in de kleur White

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (79)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (80)

          We zien een Galaxy Buds2 Pro case en oordopjes in de kleur Bora Purple

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (81)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (82)

          Zowel de oordopjes als de case zijn beschikbaar in een aantal premium kleuren. Elk oordopje is voorzien van een glanzende afwerking en een matte binnenkant die zacht aanvoelt op je huid. 12

          GALAXY EXCELLENCE

          Speelt alle hits

          GALAXY EXCELLENCE

          Speelt alle hits

          We zien twee losse Bora Purple Galaxy Buds2 Pro oordopjes in het midden van het scherm.

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (83)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (84)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (85)

          • Batterij

            Kan tot 5 uur lang audio afspelen met ANC, met nog eens 18 uur van de case. 13, 14, 15
          • Bluetooth 5.3

            Kan gebruik maken van BT 5.3. LE Audio wordt later ondersteund. 16
          • Waterbestendig (IPX7)

            Muziek in de regen en in de zon. De Galaxy Buds2 Pro zijn waterbestendig en beschermd tegen zweet, water en morsen. 17

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (86)

          Batterij

          Kan tot 5 uur lang audio afspelen met ANC, met nog eens 18 uur van de case.13, 14, 15 Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (87)

          Bluetooth 5.3

          Kan gebruik maken van BT 5.3. LE Audio wordt later ondersteund. 16
          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (88)

          Waterbestendig (IPX7)

          Muziek in de regen en in de zon. De Galaxy Buds2 Pro zijn waterbestendig en beschermd tegen zweet, water en morsen. 17

          VERGELIJKEN

          Je nieuwe oordopjes lonken

          • Galaxy Buds2 Pro

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (89)

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (90)

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (91)

            ANC

            yes

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (92)

            Omgevingsgeluid

            yes

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (93)

            360 Audio

            yes

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (94)

            Geluidskwaliteit

            2-wegspeaker

            Afspeeltijd

            5 uur (ANC aan)
            7,5 uur (ANC uit)

          • Galaxy Buds2

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (95)

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (96)

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (97)

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (98)

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (99)

            ANC

            yes

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (100)

            Omgevingsgeluid

            yes

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (101)

            360 Audio

            yes

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (102)

            Geluidskwaliteit

            24-bits HiFi
            2-wegspeaker

            Afspeeltijd

            5 uur (ANC aan)
            8 uur (ANC uit)

          • Galaxy Buds Live

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (103)

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (104)

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (105)

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (106)

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (107)

            ANC

            yes

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (108)

            Omgevingsgeluid

            no

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (109)

            360 audio

            yes

            Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (110)

            Geluidskwaliteit

            1-wegspeaker

            Afspeeltijd

            6hours (ANC on)
            8hours (ANC off)

          Galaxy Buds2 Pro

          Galaxy Buds2

          Galaxy Buds Live

          Geluidskwaliteit

          24-bits Hi-Fi
          2-wegspeaker

          Geluidskwaliteit

          2-wegspeaker

          Geluidskwaliteit

          1-wegspeaker

          ANC

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (111)

          + 3 Hoge SNR microfoons

          ANC

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (112)

          ANC

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (113)

          Omgevingsgeluid

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (114)

          Omgevingsgeluid

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (115)

          Omgevingsgeluid

          no -

          Voice Detect

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (116)

          Voice Detect

          no -

          Voice Detect

          no -

          360 audio 5

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (117)

          + Ondersteuning direct Multi-channel

          360 audio

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (118)

          360 audio

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (119)

          Waterbestendig 17, 18

          IPX7

          Waterbestendig 18, 20

          IPX2

          Waterbestendig 18, 20

          IPX2

          Bluetooth ver.

          Ver5.3

          Bluetooth ver.

          Ver5.2

          Bluetooth ver.

          Ver5.0

          SmartThings Find 8

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (120)

          + Met/zonder case

          SmartThings Find 8

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (121)

          SmartThings Find 8

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (122)

          Auto switch 6

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (123)

          Auto switch 6

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (124)

          Auto switch 6

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (125)

          Bixby-spraakherkenning 19

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (126)

          Bixby-spraakherkenning 19

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (127)

          Bixby-spraakherkenning 19

          yes

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (128)

          Speeltijd 13

          Max 5 uur (ANC aan)
          Max 8 uur (ANC uit)

          Speeltijd

          Max 5 uur (ANC aan)
          Max 7.5 uur (ANC uit)

          Speeltijd

          Up to 6hours (ANC on)
          Max 8 uur (ANC uit)

          • *De beschikbaarheid van kleuren, formaten en modellen kan verschillen per land of regio.
          • **Audiospeeltijd getest door een pre-productie Samsung Galaxy Buds2 Pro/Galaxy Buds2/Galaxy Buds Live te koppelen aan een recent uitgebrachte Galaxy Smartphone met ANC aan of uit. De werkelijke levensduur van de batterij kan verschillen en is afhankelijk van de gebruiksomstandigheden, de instellingen, het aantal oplaadbeurten, de Bluetooth-signaalsterkte en andere factoren.

          ECOSYSTEM

          De verbonden kracht van Samsung Galaxy

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (129)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (130)

          Galaxy Z Flip4

          Meer informatie

          Koop nu

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (131)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (132)

          Galaxy Z Fold4

          Meer informatie

          Koop nu

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (133)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (134)

          Galaxy Watch5 Pro

          Meer informatie

          Koop nu

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (135)

          Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (136)

          Galaxy Watch5

          Meer informatie

          Koop nu

          *Galaxy Z Flip4, Galaxy Z Fold4, Galaxy Watch5 en Galaxy Watch5 Pro apart verkrijgbaar.

          C C

          1. Vereist Galaxy-toestellen met One UI versie 4.0 of hoger.
          2. Ondersteuning van 24-bits geluid kan verschillen afhankelijk van de applicatie.
          3. Voice Detect moet zijn ingeschakeld via de instellingen in de Galaxy Wearable-app.
          4. Alleen beschikbaar op Samsung Galaxy-smartphones en -tablets met Android One UI versie 3.1 of hoger. 360 Audio en Dolby Head Tracking™-ondersteuning kunnen verschillen, afhankelijk van de app en content.
          5. Verbeterde Head Tracking en Direct Multi-channel worden ondersteund op Android One UI versie 4.1.1 of hoger.
          6. Auto Switch-functie alleen beschikbaar op Samsung Galaxy smartphones en tablets met OneUI 4.1 of hoger en Galaxy Watch 4 of hoger. Samsung-apparaten moeten zijn ingelogd op een Samsung-account om Auto Switch te gebruiken. Auto Switch voor Samsung TV's is alleen beschikbaar op TV's die na februari 2022 zijn verschenen of die in juli 2022 een firmware-update hebben gehad. Auto Switch op tv's werkt alleen voor uitgaande of inkomende telefoongesprekken.
          7. Als de batterij leeg is, geeft hij laatst verbonden locatie weer.
          8. De SmartThings Find app is alleen beschikbaar op Samsung Galaxy-toestellen met Android 8 of hoger.
          9. SmartThing Find wordt niet ondersteund in China.
          10. Voor het ontvangen van meldingen van SmartThings Find moet je in instellingen de meldingen inschakelen.
          11. 15% kleinere afmetingen vergeleken met de Buds Pro op basis van volume. Het formaat van de ear tips kan worden aangepast voor meer comfort.
          12. Kleuren kunnen verschillen afhankelijk van land, regio of provider.
          13. Oordopjes kunnen tot 5 uur audio afspelen met ANC, terwijl de case 18 uur speeltijd geeft als de case en de buds 100% zijn opgeladen. Gebaseerd op interne tests. Audio afspeelduur getest door het koppelen van een pre-productie Galaxy Buds2 Pro aan een recent uitgebrachte Galaxy smartphone met standaardinstellingen (zoals ANC) ingeschakeld. Werkelijke batterijduur kan verschillen en hangt af van gebruiksomstandigheden, instellingen, aantal oplaadbeurten, sterkte van het Bluetoothsignaal en andere factoren.
            * 'Fabrieksinstelling' verwijst naar de oorspronkelijke instelling van de Galaxy Buds2 Pro toen deze werd uitgebracht en ingeschakeld.
            *'Speeltijd' verwijst naar wanneer de Galaxy Buds2 Pro verbonden zijn met de telefoon en muziek streamen.
          14. Speeltijd kan verschillen naar gelang de instellingen.
          15. De gemiddelde capaciteit is getest onder laboratoriumomstandigheden van derden. De gemiddelde capaciteit is het geschatte rekenkundig gemiddelde, rekening houdend met de verschillen in batterijcapaciteit van de batterijsamples die getest zijn volgens de IEC 61960-3-norm. De opgegeven capaciteit is 58 mAh (oordopjes), 500 mAh (laadcase). Werkelijke batterijduur is afhankelijk van de netwerkomgeving, gebruikspatronen en andere factoren.
          16. Sommige apparaten, vooral apparaten die niet zijn getest of goedgekeurd door de Bluetooth SIG, zijn mogelijk niet compatibel met de oordopjes. LE Audio wordt later dit jaar beschikbaar.
          17. IPX7 is getest door het toestel gedurende 30 minuten tot 1 meter diep in zoet water te houden.
          18. Gebruik op het strand of in het zwembad afgeraden. Oplaadcase is niet waterbestendig. Als de oordopjes beschadigd zijn, is waterbestendigheid niet gegarandeerd. Als de oordopjes of je handen nat zijn, moet je de dopjes goed afdrogen voordat je ze gebruikt of in de oplaadcase plaatst. Als je ze in de oplaadcase plaatst terwijl ze nog nat zijn, kunnen de oordopjes beschadigd raken.
          19. Bixby-service kan per land verschillen; Bixby herkent geselecteerde talen en bepaalde accenten/dialecten; vereist inloggen op Samsung-account en verbinding met internet (Wi-Fi of 4G/5G).
          20. IPX2 is gebaseerd op laboratoriumtests waarbij water onder een hoek van max 15° op het apparaat wordt gesproeid.

          " ); return ( e.attr("data-swiper-slide-index") || e.attr("data-swiper-slide-index", t), i.cache && (this.virtual.cache[t] = e), e ); }, appendSlide: function (e) { if ("object" == typeof e && "length" in e) for (var t = 0; t < e.length; t += 1) e[t] && this.virtual.slides.push(e[t]); else this.virtual.slides.push(e); this.virtual.update(!0); }, prependSlide: function (e) { var s, n, t = this.activeIndex, i = t + 1, a = 1; if (Array.isArray(e)) { for (var o = 0; o < e.length; o += 1) e[o] && this.virtual.slides.unshift(e[o]); (i = t + e.length), (a = e.length); } else this.virtual.slides.unshift(e); this.params.virtual.cache && ((s = this.virtual.cache), (n = {}), Object.keys(s).forEach(function (e) { var t = s[e], i = t.attr("data-swiper-slide-index"); i && t.attr("data-swiper-slide-index", parseInt(i, 10) + 1), (n[parseInt(e, 10) + a] = t); }), (this.virtual.cache = n)), this.virtual.update(!0), this.slideTo(i, 0); }, removeSlide: function (e) { if (null != e) { var t = this.activeIndex; if (Array.isArray(e)) for (var i = e.length - 1; 0 <= i; --i) this.virtual.slides.splice(e[i], 1), this.params.virtual.cache && delete this.virtual.cache[e[i]], e[i] < t && --t, (t = Math.max(t, 0)); else this.virtual.slides.splice(e, 1), this.params.virtual.cache && delete this.virtual.cache[e], e < t && --t, (t = Math.max(t, 0)); this.virtual.update(!0), this.slideTo(t, 0); } }, removeAllSlides: function () { (this.virtual.slides = []), this.params.virtual.cache && (this.virtual.cache = {}), this.virtual.update(!0), this.slideTo(0, 0); }, }, b = { name: "virtual", params: { virtual: { enabled: !1, slides: [], cache: !0, renderSlide: null, renderExternal: null, addSlidesBefore: 0, addSlidesAfter: 0, }, }, create: function () { j.extend(this, { virtual: { update: w.update.bind(this), appendSlide: w.appendSlide.bind(this), prependSlide: w.prependSlide.bind(this), removeSlide: w.removeSlide.bind(this), removeAllSlides: w.removeAllSlides.bind(this), renderSlide: w.renderSlide.bind(this), slides: this.params.virtual.slides, cache: {}, }, }); }, on: { beforeInit: function () { var e; this.params.virtual.enabled && (this.classNames.push( this.params.containerModifierClass + "virtual" ), j.extend(this.params, (e = { watchSlidesProgress: !0 })), j.extend(this.originalParams, e), this.params.initialSlide || this.virtual.update()); }, setTranslate: function () { this.params.virtual.enabled && this.virtual.update(); }, }, }, K = { handle: function (e) { var t = this.rtlTranslate, i = (e = e.originalEvent ? e.originalEvent : e).keyCode || e.charCode; if ( !this.allowSlideNext && ((this.isHorizontal() && 39 === i) || (this.isVertical() && 40 === i) || 34 === i) ) return !1; if ( !this.allowSlidePrev && ((this.isHorizontal() && 37 === i) || (this.isVertical() && 38 === i) || 33 === i) ) return !1; if ( !( e.shiftKey || e.altKey || e.ctrlKey || e.metaKey || (u.activeElement && u.activeElement.nodeName && ("input" === u.activeElement.nodeName.toLowerCase() || "textarea" === u.activeElement.nodeName.toLowerCase())) ) ) { if ( this.params.keyboard.onlyInViewport && (33 === i || 34 === i || 37 === i || 39 === i || 38 === i || 40 === i) ) { var s = !1; if ( 0 < this.$el.parents("." + this.params.slideClass).length && 0 === this.$el.parents("." + this.params.slideActiveClass).length ) return; var n = X.innerWidth, a = X.innerHeight, o = this.$el.offset(); t && (o.left -= this.$el[0].scrollLeft); for ( var r = [ [o.left, o.top], [o.left + this.width, o.top], [o.left, o.top + this.height], [o.left + this.width, o.top + this.height], ], l = 0; l < r.length; l += 1 ) { var d = r[l]; 0 <= d[0] && d[0] <= n && 0 <= d[1] && d[1] <= a && (s = !0); } if (!s) return; } this.isHorizontal() ? ((33 !== i && 34 !== i && 37 !== i && 39 !== i) || (e.preventDefault ? e.preventDefault() : (e.returnValue = !1)), (((34 !== i && 39 !== i) || t) && ((33 !== i && 37 !== i) || !t)) || this.slideNext(), (((33 !== i && 37 !== i) || t) && ((34 !== i && 39 !== i) || !t)) || this.slidePrev()) : ((33 !== i && 34 !== i && 38 !== i && 40 !== i) || (e.preventDefault ? e.preventDefault() : (e.returnValue = !1)), (34 !== i && 40 !== i) || this.slideNext(), (33 !== i && 38 !== i) || this.slidePrev()), this.emit("keyPress", i); } }, enable: function () { this.keyboard.enabled || (S(u).on("keydown", this.keyboard.handle), (this.keyboard.enabled = !0)); }, disable: function () { this.keyboard.enabled && (S(u).off("keydown", this.keyboard.handle), (this.keyboard.enabled = !1)); }, }, E = { name: "keyboard", params: { keyboard: { enabled: !1, onlyInViewport: !0 } }, create: function () { j.extend(this, { keyboard: { enabled: !1, enable: K.enable.bind(this), disable: K.disable.bind(this), handle: K.handle.bind(this), }, }); }, on: { init: function () { this.params.keyboard.enabled && this.keyboard.enable(); }, destroy: function () { this.keyboard.enabled && this.keyboard.disable(); }, }, }; function x() { for (var i, e = [], t = arguments.length; t--;) e[t] = arguments[t]; (i = (i = 1 === e.length && e[0].constructor && e[0].constructor === Object ? e[0] : ((a = e[0]), e[1])) || {}), (i = j.extend({}, i)), a && !i.el && (i.el = a), c.call(this, i), Object.keys(G).forEach(function (t) { Object.keys(G[t]).forEach(function (e) { x.prototype[e] || (x.prototype[e] = G[t][e]); }); }); var s, n, a, o = this, r = (void 0 === o.modules && (o.modules = {}), Object.keys(o.modules).forEach(function (e) { var t, e = o.modules[e]; e.params && ((t = Object.keys(e.params)[0]), "object" == typeof (e = e.params[t]) && null !== e && t in i && "enabled" in e && (!0 === i[t] && (i[t] = { enabled: !0 }), "object" != typeof i[t] || "enabled" in i[t] || (i[t].enabled = !0), i[t] || (i[t] = { enabled: !1 }))); }), j.extend({}, W)), l = (o.useModulesParams(r), (o.params = j.extend({}, r, Y, i)), (o.originalParams = j.extend({}, o.params)), (o.passedParams = j.extend({}, i)), (o.$ = S)(o.params.el)); if ((a = l[0])) return 1 < l.length ? ((s = []), l.each(function (e, t) { t = j.extend({}, i, { el: t }); s.push(new x(t)); }), s) : ((a.swiper = o), l.data("swiper", o), a && a.shadowRoot && a.shadowRoot.querySelector ? ((n = S( a.shadowRoot.querySelector("." + o.params.wrapperClass) )).children = function (e) { return l.children(e); }) : (n = l.children("." + o.params.wrapperClass)), j.extend(o, { $el: l, el: a, $wrapperEl: n, wrapperEl: n[0], classNames: [], slides: S(), slidesGrid: [], snapGrid: [], slidesSizesGrid: [], isHorizontal: function () { return "horizontal" === o.params.direction; }, isVertical: function () { return "vertical" === o.params.direction; }, rtl: "rtl" === a.dir.toLowerCase() || "rtl" === l.css("direction"), rtlTranslate: "horizontal" === o.params.direction && ("rtl" === a.dir.toLowerCase() || "rtl" === l.css("direction")), wrongRTL: "-webkit-box" === n.css("display"), activeIndex: 0, realIndex: 0, isBeginning: !0, isEnd: !1, translate: 0, previousTranslate: 0, progress: 0, velocity: 0, animating: !1, allowSlideNext: o.params.allowSlideNext, allowSlidePrev: o.params.allowSlidePrev, touchEvents: ((r = y.pointerEvents ? ["pointerdown", "pointermove", "pointerup"] : ["mousedown", "mousemove", "mouseup"]), (o.touchEventsTouch = { start: (a = [ "touchstart", "touchmove", "touchend", "touchcancel", ])[0], move: a[1], end: a[2], cancel: a[3], }), (o.touchEventsDesktop = { start: r[0], move: r[1], end: r[2], }), y.touch || !o.params.simulateTouch ? o.touchEventsTouch : o.touchEventsDesktop), touchEventsData: { isTouched: void 0, isMoved: void 0, allowTouchCallbacks: void 0, touchStartTime: void 0, isScrolling: void 0, currentTranslate: void 0, startTranslate: void 0, allowThresholdMove: void 0, formElements: "input, select, option, textarea, button, video", lastClickTime: j.now(), clickTimeout: void 0, velocities: [], allowMomentumBounce: void 0, isTouchEvent: void 0, startMoving: void 0, }, allowClick: !0, allowTouchMove: o.params.allowTouchMove, touches: { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0, }, imagesToLoad: [], imagesLoaded: 0, }), o.useModules(), o.params.init && o.init(), o); } var C = { lastScrollTime: j.now(), lastEventBeforeSnap: void 0, recentWheelEvents: [], event: function () { return -1 < X.navigator.userAgent.indexOf("firefox") ? "DOMMouseScroll" : ((t = "onwheel" in u) || ((e = u.createElement("div")).setAttribute( "onwheel", "return;" ), (t = "function" == typeof e.onwheel)), (t = !t && u.implementation && u.implementation.hasFeature && !0 !== u.implementation.hasFeature("", "") ? u.implementation.hasFeature("Events.wheel", "3.0") : t) ? "wheel" : "mousewheel"); var e, t; }, normalize: function (e) { var t = 0, i = 0, s = 0, n = 0; return ( "detail" in e && (i = e.detail), "wheelDelta" in e && (i = -e.wheelDelta / 120), "wheelDeltaY" in e && (i = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && ((t = i), (i = 0)), (s = 10 * t), (n = 10 * i), "deltaY" in e && (n = e.deltaY), "deltaX" in e && (s = e.deltaX), e.shiftKey && !s && ((s = n), (n = 0)), (s || n) && e.deltaMode && (1 === e.deltaMode ? ((s *= 40), (n *= 40)) : ((s *= 800), (n *= 800))), { spinX: (t = s && !t ? (s < 1 ? -1 : 1) : t), spinY: (i = n && !i ? (n < 1 ? -1 : 1) : i), pixelX: s, pixelY: n, } ); }, handleMouseEnter: function () { this.mouseEntered = !0; }, handleMouseLeave: function () { this.mouseEntered = !1; }, handle: function (e) { var t = e, i = this, s = i.params.mousewheel; if ( (i.params.cssMode && t.preventDefault(), !i.mouseEntered && !s.releaseOnEdges) ) return !0; t.originalEvent && (t = t.originalEvent); var n = 0, a = i.rtlTranslate ? -1 : 1, o = C.normalize(t); if (s.forceToAxis) if (i.isHorizontal()) { if (!(Math.abs(o.pixelX) > Math.abs(o.pixelY))) return !0; n = o.pixelX * a; } else { if (!(Math.abs(o.pixelY) > Math.abs(o.pixelX))) return !0; n = o.pixelY; } else n = Math.abs(o.pixelX) > Math.abs(o.pixelY) ? -o.pixelX * a : -o.pixelY; if (0 === n) return !0; if ((s.invert && (n = -n), i.params.freeMode)) { var r = { time: j.now(), delta: Math.abs(n), direction: Math.sign(n), }, a = i.mousewheel.lastEventBeforeSnap, o = a && r.time < a.time + 500 && r.delta <= a.delta && r.direction === a.direction; if (!o) { (i.mousewheel.lastEventBeforeSnap = void 0), i.params.loop && i.loopFix(); var l, d, a = i.getTranslate() + n * s.sensitivity, s = i.isBeginning, c = i.isEnd; if ( ((a = a >= i.minTranslate() ? i.minTranslate() : a) <= i.maxTranslate() && (a = i.maxTranslate()), i.setTransition(0), i.setTranslate(a), i.updateProgress(), i.updateActiveIndex(), i.updateSlidesClasses(), ((!s && i.isBeginning) || (!c && i.isEnd)) && i.updateSlidesClasses(), i.params.freeModeSticky && (clearTimeout(i.mousewheel.timeout), (i.mousewheel.timeout = void 0), 15 <= (l = i.mousewheel.recentWheelEvents).length && l.shift(), (s = l.length ? l[l.length - 1] : void 0), (c = l[0]), l.push(r), s && (r.delta > s.delta || r.direction !== s.direction) ? l.splice(0) : 15 <= l.length && r.time - c.time < 500 && 1 <= c.delta - r.delta && r.delta <= 6 && ((d = 0 < n ? 0.8 : 0.2), (i.mousewheel.lastEventBeforeSnap = r), l.splice(0), (i.mousewheel.timeout = j.nextTick(function () { i.slideToClosest(i.params.speed, !0, void 0, d); }, 0))), i.mousewheel.timeout || (i.mousewheel.timeout = j.nextTick(function () { (i.mousewheel.lastEventBeforeSnap = r), l.splice(0), i.slideToClosest(i.params.speed, !0, void 0, 0.5); }, 500))), o || i.emit("scroll", t), i.params.autoplay && i.params.autoplayDisableOnInteraction && i.autoplay.stop(), a === i.minTranslate() || a === i.maxTranslate()) ) return !0; } } else { (s = { time: j.now(), delta: Math.abs(n), direction: Math.sign(n), raw: e, }), (c = i.mousewheel.recentWheelEvents), (o = (2 <= c.length && c.shift(), c.length ? c[c.length - 1] : void 0)); if ( (c.push(s), (!o || s.direction !== o.direction || s.delta > o.delta) && i.mousewheel.animateSlider(s), i.mousewheel.releaseScroll(s)) ) return !0; } return ( t.preventDefault ? t.preventDefault() : (t.returnValue = !1), !1 ); }, animateSlider: function (e) { return ( (6 <= e.delta && j.now() - this.mousewheel.lastScrollTime < 60) || (e.direction < 0 ? (this.isEnd && !this.params.loop) || this.animating || (this.slideNext(), this.emit("scroll", e.raw)) : (this.isBeginning && !this.params.loop) || this.animating || (this.slidePrev(), this.emit("scroll", e.raw)), (this.mousewheel.lastScrollTime = new X.Date().getTime()), !1) ); }, releaseScroll: function (e) { var t = this.params.mousewheel; if (e.direction < 0) { if (this.isEnd && !this.params.loop && t.releaseOnEdges) return !0; } else if ( this.isBeginning && !this.params.loop && t.releaseOnEdges ) return !0; return !1; }, enable: function () { var e = C.event(); if (this.params.cssMode) return ( this.wrapperEl.removeEventListener(e, this.mousewheel.handle), !0 ); if (!e) return !1; if (this.mousewheel.enabled) return !1; var t = this.$el; return ( (t = "container" !== this.params.mousewheel.eventsTarged ? S(this.params.mousewheel.eventsTarged) : t).on("mouseenter", this.mousewheel.handleMouseEnter), t.on("mouseleave", this.mousewheel.handleMouseLeave), t.on(e, this.mousewheel.handle), (this.mousewheel.enabled = !0) ); }, disable: function () { var e = C.event(); if (this.params.cssMode) return ( this.wrapperEl.addEventListener(e, this.mousewheel.handle), !0 ); if (!e) return !1; if (!this.mousewheel.enabled) return !1; var t = this.$el; return ( (t = "container" !== this.params.mousewheel.eventsTarged ? S(this.params.mousewheel.eventsTarged) : t).off(e, this.mousewheel.handle), !(this.mousewheel.enabled = !1) ); }, }, L = { update: function () { var e, t, i = this.params.navigation; this.params.loop || ((e = (t = this.navigation).$nextEl), (t = t.$prevEl) && 0 < t.length && (this.isBeginning ? t.addClass(i.disabledClass) : t.removeClass(i.disabledClass), t[ this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass" ](i.lockClass)), e && 0 < e.length && (this.isEnd ? e.addClass(i.disabledClass) : e.removeClass(i.disabledClass), e[ this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass" ](i.lockClass))); }, onPrevClick: function (e) { e.preventDefault(), (this.isBeginning && !this.params.loop) || this.slidePrev(); }, onNextClick: function (e) { e.preventDefault(), (this.isEnd && !this.params.loop) || this.slideNext(); }, init: function () { var e, t, i = this.params.navigation; (i.nextEl || i.prevEl) && (i.nextEl && ((e = S(i.nextEl)), this.params.uniqueNavElements && "string" == typeof i.nextEl && 1 < e.length && 1 === this.$el.find(i.nextEl).length && (e = this.$el.find(i.nextEl))), i.prevEl && ((t = S(i.prevEl)), this.params.uniqueNavElements && "string" == typeof i.prevEl && 1 < t.length && 1 === this.$el.find(i.prevEl).length && (t = this.$el.find(i.prevEl))), e && 0 < e.length && e.on("click", this.navigation.onNextClick), t && 0 < t.length && t.on("click", this.navigation.onPrevClick), j.extend(this.navigation, { $nextEl: e, nextEl: e && e[0], $prevEl: t, prevEl: t && t[0], })); }, destroy: function () { var e = this.navigation, t = e.$nextEl, e = e.$prevEl; t && t.length && (t.off("click", this.navigation.onNextClick), t.removeClass(this.params.navigation.disabledClass)), e && e.length && (e.off("click", this.navigation.onPrevClick), e.removeClass(this.params.navigation.disabledClass)); }, }, A = { update: function () { var e = this.rtl, s = this.params.pagination; if ( s.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length ) { var n, t = ( this.virtual && this.params.virtual.enabled ? this.virtual : this ).slides.length, i = this.pagination.$el, a = this.params.loop ? Math.ceil( (t - 2 * this.loopedSlides) / this.params.slidesPerGroup ) : this.snapGrid.length; if ( (this.params.loop ? ((n = Math.ceil( (this.activeIndex - this.loopedSlides) / this.params.slidesPerGroup )) > t - 1 - 2 * this.loopedSlides && (n -= t - 2 * this.loopedSlides), a - 1 < n && (n -= a), n < 0 && "bullets" !== this.params.paginationType && (n = a + n)) : (n = void 0 !== this.snapIndex ? this.snapIndex : this.activeIndex || 0), "bullets" === s.type && this.pagination.bullets && 0 < this.pagination.bullets.length) ) { var o, r, l, d = this.pagination.bullets; if ( (s.dynamicBullets && ((this.pagination.bulletSize = d .eq(0) [this.isHorizontal() ? "outerWidth" : "outerHeight"](!0)), i.css( this.isHorizontal() ? "width" : "height", this.pagination.bulletSize * (s.dynamicMainBullets + 4) + "px" ), 1 < s.dynamicMainBullets && void 0 !== this.previousIndex && ((this.pagination.dynamicBulletIndex += n - this.previousIndex), this.pagination.dynamicBulletIndex > s.dynamicMainBullets - 1 ? (this.pagination.dynamicBulletIndex = s.dynamicMainBullets - 1) : this.pagination.dynamicBulletIndex < 0 && (this.pagination.dynamicBulletIndex = 0)), (o = n - this.pagination.dynamicBulletIndex), (l = ((r = o + (Math.min(d.length, s.dynamicMainBullets) - 1)) + o) / 2)), d.removeClass( s.bulletActiveClass + " " + s.bulletActiveClass + "-next " + s.bulletActiveClass + "-next-next " + s.bulletActiveClass + "-prev " + s.bulletActiveClass + "-prev-prev " + s.bulletActiveClass + "-main" ), 1 < i.length) ) d.each(function (e, t) { var t = S(t), i = t.index(); i === n && t.addClass(s.bulletActiveClass), s.dynamicBullets && (o <= i && i <= r && t.addClass(s.bulletActiveClass + "-main"), i === o && t .prev() .addClass(s.bulletActiveClass + "-prev") .prev() .addClass(s.bulletActiveClass + "-prev-prev"), i === r && t .next() .addClass(s.bulletActiveClass + "-next") .next() .addClass(s.bulletActiveClass + "-next-next")); }); else { var t = d.eq(n), c = t.index(); if ((t.addClass(s.bulletActiveClass), s.dynamicBullets)) { for (var t = d.eq(o), u = d.eq(r), h = o; h <= r; h += 1) d.eq(h).addClass(s.bulletActiveClass + "-main"); if (this.params.loop) if (c >= d.length - s.dynamicMainBullets) { for (var p = s.dynamicMainBullets; 0 <= p; --p) d.eq(d.length - p).addClass( s.bulletActiveClass + "-main" ); d.eq(d.length - s.dynamicMainBullets - 1).addClass( s.bulletActiveClass + "-prev" ); } else t .prev() .addClass(s.bulletActiveClass + "-prev") .prev() .addClass(s.bulletActiveClass + "-prev-prev"), u .next() .addClass(s.bulletActiveClass + "-next") .next() .addClass(s.bulletActiveClass + "-next-next"); else t .prev() .addClass(s.bulletActiveClass + "-prev") .prev() .addClass(s.bulletActiveClass + "-prev-prev"), u .next() .addClass(s.bulletActiveClass + "-next") .next() .addClass(s.bulletActiveClass + "-next-next"); } } s.dynamicBullets && ((c = Math.min(d.length, s.dynamicMainBullets + 4)), (t = (this.pagination.bulletSize * c - this.pagination.bulletSize) / 2 - l * this.pagination.bulletSize), (u = e ? "right" : "left"), d.css(this.isHorizontal() ? u : "top", t + "px")); } "fraction" === s.type && (i .find("." + s.currentClass) .text(s.formatFractionCurrent(n + 1)), i.find("." + s.totalClass).text(s.formatFractionTotal(a))), "progressbar" === s.type && ((c = s.progressbarOpposite ? this.isHorizontal() ? "vertical" : "horizontal" : this.isHorizontal() ? "horizontal" : "vertical"), (l = (n + 1) / a), (u = e = 1), "horizontal" == c ? (e = l) : (u = l), i .find("." + s.progressbarFillClass) .transform( "translate3d(0,0,0) scaleX(" + e + ") scaleY(" + u + ")" ) .transition(this.params.speed)), "custom" === s.type && s.renderCustom ? (i.html(s.renderCustom(this, n + 1, a)), this.emit("paginationRender", this, i[0])) : this.emit("paginationUpdate", this, i[0]), i[ this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass" ](s.lockClass); } }, render: function () { var e = this.params.pagination; if ( e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length ) { var t = ( this.virtual && this.params.virtual.enabled ? this.virtual : this ).slides.length, i = this.pagination.$el, s = ""; if ("bullets" === e.type) { for ( var n = this.params.loop ? Math.ceil( (t - 2 * this.loopedSlides) / this.params.slidesPerGroup ) : this.snapGrid.length, a = 0; a < n; a += 1 ) e.renderBullet ? (s += e.renderBullet.call(this, a, e.bulletClass)) : (s += "<" + e.bulletElement + ' class="' + e.bulletClass + '">' + e.bulletElement + ">"); i.html(s), (this.pagination.bullets = i.find("." + e.bulletClass)); } "fraction" === e.type && ((s = e.renderFraction ? e.renderFraction.call(this, e.currentClass, e.totalClass) : ' / '), i.html(s)), "progressbar" === e.type && ((s = e.renderProgressbar ? e.renderProgressbar.call(this, e.progressbarFillClass) : ''), i.html(s)), "custom" !== e.type && this.emit("paginationRender", this.pagination.$el[0]); } }, init: function () { var e, t = this, i = t.params.pagination; i.el && 0 !== (e = S(i.el)).length && (t.params.uniqueNavElements && "string" == typeof i.el && 1 < e.length && 1 === t.$el.find(i.el).length && (e = t.$el.find(i.el)), "bullets" === i.type && i.clickable && e.addClass(i.clickableClass), e.addClass(i.modifierClass + i.type), "bullets" === i.type && i.dynamicBullets && (e.addClass("" + i.modifierClass + i.type + "-dynamic"), (t.pagination.dynamicBulletIndex = 0), i.dynamicMainBullets < 1 && (i.dynamicMainBullets = 1)), "progressbar" === i.type && i.progressbarOpposite && e.addClass(i.progressbarOppositeClass), i.clickable && e.on("click", "." + i.bulletClass, function (e) { e.preventDefault(); e = S(this).index() * t.params.slidesPerGroup; t.params.loop && (e += t.loopedSlides), t.slideTo(e); }), j.extend(t.pagination, { $el: e, el: e[0] })); }, destroy: function () { var e, t = this.params.pagination; t.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length && ((e = this.pagination.$el).removeClass(t.hiddenClass), e.removeClass(t.modifierClass + t.type), this.pagination.bullets && this.pagination.bullets.removeClass(t.bulletActiveClass), t.clickable && e.off("click", "." + t.bulletClass)); }, }, P = { setTranslate: function () { var e, t, i, s, n, a, o, r; this.params.scrollbar.el && this.scrollbar.el && ((a = this.scrollbar), (e = this.rtlTranslate), (r = this.progress), (t = a.dragSize), (i = a.trackSize), (s = a.$dragEl), (n = a.$el), (a = this.params.scrollbar), (r = (i - (o = t)) * r), e ? 0 < (r = -r) ? ((o = t - r), (r = 0)) : i < -r + t && (o = i + r) : r < 0 ? ((o = t + r), (r = 0)) : i < r + t && (o = i - r), this.isHorizontal() ? (s.transform("translate3d(" + r + "px, 0, 0)"), (s[0].style.width = o + "px")) : (s.transform("translate3d(0px, " + r + "px, 0)"), (s[0].style.height = o + "px")), a.hide && (clearTimeout(this.scrollbar.timeout), (n[0].style.opacity = 1), (this.scrollbar.timeout = setTimeout(function () { (n[0].style.opacity = 0), n.transition(400); }, 1e3)))); }, setTransition: function (e) { this.params.scrollbar.el && this.scrollbar.el && this.scrollbar.$dragEl.transition(e); }, updateSize: function () { var e, t, i, s, n, a, o; this.params.scrollbar.el && this.scrollbar.el && ((t = (e = this.scrollbar).$dragEl), (i = e.$el), (t[0].style.width = ""), (t[0].style.height = ""), (s = this.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight), (a = (n = this.size / this.virtualSize) * (s / this.size)), (o = "auto" === this.params.scrollbar.dragSize ? s * n : parseInt(this.params.scrollbar.dragSize, 10)), this.isHorizontal() ? (t[0].style.width = o + "px") : (t[0].style.height = o + "px"), (i[0].style.display = 1 <= n ? "none" : ""), this.params.scrollbar.hide && (i[0].style.opacity = 0), j.extend(e, { trackSize: s, divider: n, moveDivider: a, dragSize: o, }), e.$el[ this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass" ](this.params.scrollbar.lockClass)); }, getPointerPosition: function (e) { return this.isHorizontal() ? ("touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0] : e ).clientX : ("touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0] : e ).clientY; }, setDragPosition: function (e) { var t = this.scrollbar, i = this.rtlTranslate, s = t.$el, n = t.dragSize, a = t.trackSize, o = t.dragStartPos, t = (t.getPointerPosition(e) - s.offset()[this.isHorizontal() ? "left" : "top"] - (null !== o ? o : n / 2)) / (a - n), e = ((t = Math.max(Math.min(t, 1), 0)), i && (t = 1 - t), this.minTranslate() + (this.maxTranslate() - this.minTranslate()) * t); this.updateProgress(e), this.setTranslate(e), this.updateActiveIndex(), this.updateSlidesClasses(); }, onDragStart: function (e) { var t = this.params.scrollbar, i = this.scrollbar, s = this.$wrapperEl, n = i.$el, a = i.$dragEl; (this.scrollbar.isTouched = !0), (this.scrollbar.dragStartPos = e.target === a[0] || e.target === a ? i.getPointerPosition(e) - e.target.getBoundingClientRect()[ this.isHorizontal() ? "left" : "top" ] : null), e.preventDefault(), e.stopPropagation(), s.transition(100), a.transition(100), i.setDragPosition(e), clearTimeout(this.scrollbar.dragTimeout), n.transition(0), t.hide && n.css("opacity", 1), this.params.cssMode && this.$wrapperEl.css("scroll-snap-type", "none"), this.emit("scrollbarDragStart", e); }, onDragMove: function (e) { var t = this.scrollbar, i = this.$wrapperEl, s = t.$el, n = t.$dragEl; this.scrollbar.isTouched && (e.preventDefault ? e.preventDefault() : (e.returnValue = !1), t.setDragPosition(e), i.transition(0), s.transition(0), n.transition(0), this.emit("scrollbarDragMove", e)); }, onDragEnd: function (e) { var t = this.params.scrollbar, i = this.scrollbar, s = this.$wrapperEl, n = i.$el; this.scrollbar.isTouched && ((this.scrollbar.isTouched = !1), this.params.cssMode && (this.$wrapperEl.css("scroll-snap-type", ""), s.transition("")), t.hide && (clearTimeout(this.scrollbar.dragTimeout), (this.scrollbar.dragTimeout = j.nextTick(function () { n.css("opacity", 0), n.transition(400); }, 1e3))), this.emit("scrollbarDragEnd", e), t.snapOnRelease && this.slideToClosest()); }, enableDraggable: function () { var e, t, i, s, n; this.params.scrollbar.el && ((i = this.scrollbar), (e = this.touchEventsTouch), (t = this.touchEventsDesktop), (n = this.params), (i = i.$el[0]), (s = !(!y.passiveListener || !n.passiveListeners) && { passive: !1, capture: !1, }), (n = !(!y.passiveListener || !n.passiveListeners) && { passive: !0, capture: !1, }), y.touch ? (i.addEventListener(e.start, this.scrollbar.onDragStart, s), i.addEventListener(e.move, this.scrollbar.onDragMove, s), i.addEventListener(e.end, this.scrollbar.onDragEnd, n)) : (i.addEventListener(t.start, this.scrollbar.onDragStart, s), u.addEventListener(t.move, this.scrollbar.onDragMove, s), u.addEventListener(t.end, this.scrollbar.onDragEnd, n))); }, disableDraggable: function () { var e, t, i, s, n; this.params.scrollbar.el && ((i = this.scrollbar), (e = this.touchEventsTouch), (t = this.touchEventsDesktop), (n = this.params), (i = i.$el[0]), (s = !(!y.passiveListener || !n.passiveListeners) && { passive: !1, capture: !1, }), (n = !(!y.passiveListener || !n.passiveListeners) && { passive: !0, capture: !1, }), y.touch ? (i.removeEventListener( e.start, this.scrollbar.onDragStart, s ), i.removeEventListener(e.move, this.scrollbar.onDragMove, s), i.removeEventListener(e.end, this.scrollbar.onDragEnd, n)) : (i.removeEventListener( t.start, this.scrollbar.onDragStart, s ), u.removeEventListener(t.move, this.scrollbar.onDragMove, s), u.removeEventListener(t.end, this.scrollbar.onDragEnd, n))); }, init: function () { var e, t, i, s; this.params.scrollbar.el && ((e = this.scrollbar), (s = this.$el), (i = S((t = this.params.scrollbar).el)), 0 === (s = (i = this.params.uniqueNavElements && "string" == typeof t.el && 1 < i.length && 1 === s.find(t.el).length ? s.find(t.el) : i).find("." + this.params.scrollbar.dragClass)).length && ((s = S( '

          ' )), i.append(s)), j.extend(e, { $el: i, el: i[0], $dragEl: s, dragEl: s[0] }), t.draggable && e.enableDraggable()); }, destroy: function () { this.scrollbar.disableDraggable(); }, }, Q = { setTransform: function (e, t) { var i = this.rtl, e = S(e), i = i ? -1 : 1, s = e.attr("data-swiper-parallax") || "0", n = e.attr("data-swiper-parallax-x"), a = e.attr("data-swiper-parallax-y"), o = e.attr("data-swiper-parallax-scale"), r = e.attr("data-swiper-parallax-opacity"); n || a ? ((n = n || "0"), (a = a || "0")) : this.isHorizontal() ? ((n = s), (a = "0")) : ((a = s), (n = "0")), (n = 0 <= n.indexOf("%") ? parseInt(n, 10) * t * i + "%" : n * t * i + "px"), (a = 0 <= a.indexOf("%") ? parseInt(a, 10) * t + "%" : a * t + "px"), null != r && ((s = r - (r - 1) * (1 - Math.abs(t))), (e[0].style.opacity = s)), null == o ? e.transform("translate3d(" + n + ", " + a + ", 0px)") : ((i = o - (o - 1) * (1 - Math.abs(t))), e.transform( "translate3d(" + n + ", " + a + ", 0px) scale(" + i + ")" )); }, setTranslate: function () { var s = this, e = s.$el, t = s.slides, n = s.progress, a = s.snapGrid; e .children( "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]" ) .each(function (e, t) { s.parallax.setTransform(t, n); }), t.each(function (e, t) { var i = t.progress; 1 < s.params.slidesPerGroup && "auto" !== s.params.slidesPerView && (i += Math.ceil(e / 2) - n * (a.length - 1)), (i = Math.min(Math.max(i, -1), 1)), S(t) .find( "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]" ) .each(function (e, t) { s.parallax.setTransform(t, i); }); }); }, setTransition: function (s) { void 0 === s && (s = this.params.speed), this.$el .find( "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]" ) .each(function (e, t) { var t = S(t), i = parseInt(t.attr("data-swiper-parallax-duration"), 10) || s; 0 === s && (i = 0), t.transition(i); }); }, }, Z = { getDistanceBetweenTouches: function (e) { if (e.targetTouches.length < 2) return 1; var t = e.targetTouches[0].pageX, i = e.targetTouches[0].pageY, s = e.targetTouches[1].pageX, e = e.targetTouches[1].pageY; return Math.sqrt(Math.pow(s - t, 2) + Math.pow(e - i, 2)); }, onGestureStart: function (e) { var t = this.params.zoom, i = this.zoom, s = i.gesture; if ( ((i.fakeGestureTouched = !1), (i.fakeGestureMoved = !1), !y.gestures) ) { if ( "touchstart" !== e.type || ("touchstart" === e.type && e.targetTouches.length < 2) ) return; (i.fakeGestureTouched = !0), (s.scaleStart = Z.getDistanceBetweenTouches(e)); } (s.$slideEl && s.$slideEl.length) || ((s.$slideEl = S(e.target).closest(".swiper-slide")), 0 === s.$slideEl.length && (s.$slideEl = this.slides.eq(this.activeIndex)), (s.$imageEl = s.$slideEl.find("img, svg, canvas")), (s.$imageWrapEl = s.$imageEl.parent("." + t.containerClass)), (s.maxRatio = s.$imageWrapEl.attr("data-swiper-zoom") || t.maxRatio), 0 !== s.$imageWrapEl.length) ? (s.$imageEl.transition(0), (this.zoom.isScaling = !0)) : (s.$imageEl = void 0); }, onGestureChange: function (e) { var t = this.params.zoom, i = this.zoom, s = i.gesture; if (!y.gestures) { if ( "touchmove" !== e.type || ("touchmove" === e.type && e.targetTouches.length < 2) ) return; (i.fakeGestureMoved = !0), (s.scaleMove = Z.getDistanceBetweenTouches(e)); } s.$imageEl && 0 !== s.$imageEl.length && ((i.scale = y.gestures ? e.scale * i.currentScale : (s.scaleMove / s.scaleStart) * i.currentScale), i.scale > s.maxRatio && (i.scale = s.maxRatio - 1 + Math.pow(i.scale - s.maxRatio + 1, 0.5)), i.scale < t.minRatio && (i.scale = t.minRatio + 1 - Math.pow(t.minRatio - i.scale + 1, 0.5)), s.$imageEl.transform( "translate3d(0,0,0) scale(" + i.scale + ")" )); }, onGestureEnd: function (e) { var t = this.params.zoom, i = this.zoom, s = i.gesture; if (!y.gestures) { if (!i.fakeGestureTouched || !i.fakeGestureMoved) return; if ( "touchend" !== e.type || ("touchend" === e.type && e.changedTouches.length < 2 && !r.android) ) return; (i.fakeGestureTouched = !1), (i.fakeGestureMoved = !1); } s.$imageEl && 0 !== s.$imageEl.length && ((i.scale = Math.max(Math.min(i.scale, s.maxRatio), t.minRatio)), s.$imageEl .transition(this.params.speed) .transform("translate3d(0,0,0) scale(" + i.scale + ")"), (i.currentScale = i.scale), (i.isScaling = !1), 1 === i.scale && (s.$slideEl = void 0)); }, onTouchStart: function (e) { var t = this.zoom, i = t.gesture, t = t.image; i.$imageEl && 0 !== i.$imageEl.length && !t.isTouched && (r.android && e.preventDefault(), (t.isTouched = !0), (t.touchesStart.x = ( "touchstart" === e.type ? e.targetTouches[0] : e ).pageX), (t.touchesStart.y = ( "touchstart" === e.type ? e.targetTouches[0] : e ).pageY)); }, onTouchMove: function (e) { var t = this.zoom, i = t.gesture, s = t.image, n = t.velocity; if ( i.$imageEl && 0 !== i.$imageEl.length && ((this.allowClick = !1), s.isTouched && i.$slideEl) ) { s.isMoved || ((s.width = i.$imageEl[0].offsetWidth), (s.height = i.$imageEl[0].offsetHeight), (s.startX = j.getTranslate(i.$imageWrapEl[0], "x") || 0), (s.startY = j.getTranslate(i.$imageWrapEl[0], "y") || 0), (i.slideWidth = i.$slideEl[0].offsetWidth), (i.slideHeight = i.$slideEl[0].offsetHeight), i.$imageWrapEl.transition(0), this.rtl && ((s.startX = -s.startX), (s.startY = -s.startY))); var a = s.width * t.scale, o = s.height * t.scale; if (!(a < i.slideWidth && o < i.slideHeight)) { if ( ((s.minX = Math.min(i.slideWidth / 2 - a / 2, 0)), (s.maxX = -s.minX), (s.minY = Math.min(i.slideHeight / 2 - o / 2, 0)), (s.maxY = -s.minY), (s.touchesCurrent.x = ( "touchmove" === e.type ? e.targetTouches[0] : e ).pageX), (s.touchesCurrent.y = ( "touchmove" === e.type ? e.targetTouches[0] : e ).pageY), !s.isMoved && !t.isScaling) ) { if ( this.isHorizontal() && ((Math.floor(s.minX) === Math.floor(s.startX) && s.touchesCurrent.x < s.touchesStart.x) || (Math.floor(s.maxX) === Math.floor(s.startX) && s.touchesCurrent.x > s.touchesStart.x)) ) return void (s.isTouched = !1); if ( !this.isHorizontal() && ((Math.floor(s.minY) === Math.floor(s.startY) && s.touchesCurrent.y < s.touchesStart.y) || (Math.floor(s.maxY) === Math.floor(s.startY) && s.touchesCurrent.y > s.touchesStart.y)) ) return void (s.isTouched = !1); } e.preventDefault(), e.stopPropagation(), (s.isMoved = !0), (s.currentX = s.touchesCurrent.x - s.touchesStart.x + s.startX), (s.currentY = s.touchesCurrent.y - s.touchesStart.y + s.startY), s.currentX < s.minX && (s.currentX = s.minX + 1 - Math.pow(s.minX - s.currentX + 1, 0.8)), s.currentX > s.maxX && (s.currentX = s.maxX - 1 + Math.pow(s.currentX - s.maxX + 1, 0.8)), s.currentY < s.minY && (s.currentY = s.minY + 1 - Math.pow(s.minY - s.currentY + 1, 0.8)), s.currentY > s.maxY && (s.currentY = s.maxY - 1 + Math.pow(s.currentY - s.maxY + 1, 0.8)), n.prevPositionX || (n.prevPositionX = s.touchesCurrent.x), n.prevPositionY || (n.prevPositionY = s.touchesCurrent.y), n.prevTime || (n.prevTime = Date.now()), (n.x = (s.touchesCurrent.x - n.prevPositionX) / (Date.now() - n.prevTime) / 2), (n.y = (s.touchesCurrent.y - n.prevPositionY) / (Date.now() - n.prevTime) / 2), Math.abs(s.touchesCurrent.x - n.prevPositionX) < 2 && (n.x = 0), Math.abs(s.touchesCurrent.y - n.prevPositionY) < 2 && (n.y = 0), (n.prevPositionX = s.touchesCurrent.x), (n.prevPositionY = s.touchesCurrent.y), (n.prevTime = Date.now()), i.$imageWrapEl.transform( "translate3d(" + s.currentX + "px, " + s.currentY + "px,0)" ); } } }, onTouchEnd: function () { var e = this.zoom, t = e.gesture, i = e.image, s = e.velocity; if (t.$imageEl && 0 !== t.$imageEl.length) { if (!i.isTouched || !i.isMoved) return (i.isTouched = !1), void (i.isMoved = !1); (i.isTouched = !1), (i.isMoved = !1); var n = 300, a = 300, o = s.x * n, o = i.currentX + o, r = s.y * a, r = i.currentY + r, s = (0 !== s.x && (n = Math.abs((o - i.currentX) / s.x)), 0 !== s.y && (a = Math.abs((r - i.currentY) / s.y)), Math.max(n, a)), n = ((i.currentX = o), (i.currentY = r), i.width * e.scale), a = i.height * e.scale; (i.minX = Math.min(t.slideWidth / 2 - n / 2, 0)), (i.maxX = -i.minX), (i.minY = Math.min(t.slideHeight / 2 - a / 2, 0)), (i.maxY = -i.minY), (i.currentX = Math.max(Math.min(i.currentX, i.maxX), i.minX)), (i.currentY = Math.max(Math.min(i.currentY, i.maxY), i.minY)), t.$imageWrapEl .transition(s) .transform( "translate3d(" + i.currentX + "px, " + i.currentY + "px,0)" ); } }, onTransitionEnd: function () { var e = this.zoom, t = e.gesture; t.$slideEl && this.previousIndex !== this.activeIndex && (t.$imageEl.transform("translate3d(0,0,0) scale(1)"), t.$imageWrapEl.transform("translate3d(0,0,0)"), (e.scale = 1), (e.currentScale = 1), (t.$slideEl = void 0), (t.$imageEl = void 0), (t.$imageWrapEl = void 0)); }, toggle: function (e) { var t = this.zoom; t.scale && 1 !== t.scale ? t.out() : t.in(e); }, in: function (e) { var t, i, s, n, a = this.zoom, o = this.params.zoom, r = a.gesture, l = a.image; r.$slideEl || ((r.$slideEl = this.clickedSlide ? S(this.clickedSlide) : this.slides.eq(this.activeIndex)), (r.$imageEl = r.$slideEl.find("img, svg, canvas")), (r.$imageWrapEl = r.$imageEl.parent("." + o.containerClass))), r.$imageEl && 0 !== r.$imageEl.length && (r.$slideEl.addClass("" + o.zoomedSlideClass), (l = void 0 === l.touchesStart.x && e ? ((t = ("touchend" === e.type ? e.changedTouches[0] : e) .pageX), ("touchend" === e.type ? e.changedTouches[0] : e).pageY) : ((t = l.touchesStart.x), l.touchesStart.y)), (a.scale = r.$imageWrapEl.attr("data-swiper-zoom") || o.maxRatio), (a.currentScale = r.$imageWrapEl.attr("data-swiper-zoom") || o.maxRatio), e ? ((o = r.$slideEl[0].offsetWidth), (e = r.$slideEl[0].offsetHeight), (t = r.$slideEl.offset().left + o / 2 - t), (l = r.$slideEl.offset().top + e / 2 - l), (s = r.$imageEl[0].offsetWidth), (n = r.$imageEl[0].offsetHeight), (s = s * a.scale), (n = n * a.scale), (s = -(o = Math.min(o / 2 - s / 2, 0))), (n = -(e = Math.min(e / 2 - n / 2, 0))), s < (i = (i = t * a.scale) < o ? o : i) && (i = s), n < (s = (s = l * a.scale) < e ? e : s) && (s = n)) : (s = i = 0), r.$imageWrapEl .transition(300) .transform("translate3d(" + i + "px, " + s + "px,0)"), r.$imageEl .transition(300) .transform("translate3d(0,0,0) scale(" + a.scale + ")")); }, out: function () { var e = this.zoom, t = this.params.zoom, i = e.gesture; i.$slideEl || ((i.$slideEl = this.clickedSlide ? S(this.clickedSlide) : this.slides.eq(this.activeIndex)), (i.$imageEl = i.$slideEl.find("img, svg, canvas")), (i.$imageWrapEl = i.$imageEl.parent("." + t.containerClass))), i.$imageEl && 0 !== i.$imageEl.length && ((e.scale = 1), (e.currentScale = 1), i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"), i.$imageEl .transition(300) .transform("translate3d(0,0,0) scale(1)"), i.$slideEl.removeClass("" + t.zoomedSlideClass), (i.$slideEl = void 0)); }, enable: function () { var e, t, i = this.zoom; i.enabled || ((i.enabled = !0), (e = !( "touchstart" !== this.touchEvents.start || !y.passiveListener || !this.params.passiveListeners ) && { passive: !0, capture: !1 }), (t = !y.passiveListener || { passive: !1, capture: !0 }), y.gestures ? (this.$wrapperEl.on( "gesturestart", ".swiper-slide", i.onGestureStart, e ), this.$wrapperEl.on( "gesturechange", ".swiper-slide", i.onGestureChange, e ), this.$wrapperEl.on( "gestureend", ".swiper-slide", i.onGestureEnd, e )) : "touchstart" === this.touchEvents.start && (this.$wrapperEl.on( this.touchEvents.start, ".swiper-slide", i.onGestureStart, e ), this.$wrapperEl.on( this.touchEvents.move, ".swiper-slide", i.onGestureChange, t ), this.$wrapperEl.on( this.touchEvents.end, ".swiper-slide", i.onGestureEnd, e ), this.touchEvents.cancel && this.$wrapperEl.on( this.touchEvents.cancel, ".swiper-slide", i.onGestureEnd, e )), this.$wrapperEl.on( this.touchEvents.move, "." + this.params.zoom.containerClass, i.onTouchMove, t )); }, disable: function () { var e, t, i = this.zoom; i.enabled && ((this.zoom.enabled = !1), (e = !( "touchstart" !== this.touchEvents.start || !y.passiveListener || !this.params.passiveListeners ) && { passive: !0, capture: !1 }), (t = !y.passiveListener || { passive: !1, capture: !0 }), y.gestures ? (this.$wrapperEl.off( "gesturestart", ".swiper-slide", i.onGestureStart, e ), this.$wrapperEl.off( "gesturechange", ".swiper-slide", i.onGestureChange, e ), this.$wrapperEl.off( "gestureend", ".swiper-slide", i.onGestureEnd, e )) : "touchstart" === this.touchEvents.start && (this.$wrapperEl.off( this.touchEvents.start, ".swiper-slide", i.onGestureStart, e ), this.$wrapperEl.off( this.touchEvents.move, ".swiper-slide", i.onGestureChange, t ), this.$wrapperEl.off( this.touchEvents.end, ".swiper-slide", i.onGestureEnd, e ), this.touchEvents.cancel && this.$wrapperEl.off( this.touchEvents.cancel, ".swiper-slide", i.onGestureEnd, e )), this.$wrapperEl.off( this.touchEvents.move, "." + this.params.zoom.containerClass, i.onTouchMove, t )); }, }, J = { loadInSlide: function (e, r) { void 0 === r && (r = !0); var l, d = this, c = d.params.lazy; void 0 !== e && 0 !== d.slides.length && ((e = (l = d.virtual && d.params.virtual.enabled ? d.$wrapperEl.children( "." + d.params.slideClass + '[data-swiper-slide-index="' + e + '"]' ) : d.slides.eq(e)).find( "." + c.elementClass + ":not(." + c.loadedClass + "):not(." + c.loadingClass + ")" )), 0 !== (e = !l.hasClass(c.elementClass) || l.hasClass(c.loadedClass) || l.hasClass(c.loadingClass) ? e : e.add(l[0])).length && e.each(function (e, t) { var i = S(t), s = (i.addClass(c.loadingClass), i.attr("data-background")), n = i.attr("data-src"), a = i.attr("data-srcset"), o = i.attr("data-sizes"); d.loadImage(i[0], n || s, a, o, !1, function () { var e, t; null == d || !d || (d && !d.params) || d.destroyed || (s ? (i.css("background-image", 'url("' + s + '")'), i.removeAttr("data-background")) : (a && (i.attr("srcset", a), i.removeAttr("data-srcset")), o && (i.attr("sizes", o), i.removeAttr("data-sizes")), n && (i.attr("src", n), i.removeAttr("data-src"))), i.addClass(c.loadedClass).removeClass(c.loadingClass), l.find("." + c.preloaderClass).remove(), d.params.loop && r && ((e = l.attr("data-swiper-slide-index")), l.hasClass(d.params.slideDuplicateClass) ? ((t = d.$wrapperEl.children( '[data-swiper-slide-index="' + e + '"]:not(.' + d.params.slideDuplicateClass + ")" )), d.lazy.loadInSlide(t.index(), !1)) : ((t = d.$wrapperEl.children( "." + d.params.slideDuplicateClass + '[data-swiper-slide-index="' + e + '"]' )), d.lazy.loadInSlide(t.index(), !1))), d.emit("lazyImageReady", l[0], i[0])); }), d.emit("lazyImageLoad", l[0], i[0]); })); }, load: function () { var i = this, t = i.$wrapperEl, s = i.params, n = i.slides, e = i.activeIndex, a = i.virtual && s.virtual.enabled, o = s.lazy, r = s.slidesPerView; function l(e) { if (a) { if ( t.children( "." + s.slideClass + '[data-swiper-slide-index="' + e + '"]' ).length ) return 1; } else if (n[e]) return 1; } function d(e) { return a ? S(e).attr("data-swiper-slide-index") : S(e).index(); } if ( ("auto" === r && (r = 0), i.lazy.initialImageLoaded || (i.lazy.initialImageLoaded = !0), i.params.watchSlidesVisibility) ) t.children("." + s.slideVisibleClass).each(function (e, t) { t = a ? S(t).attr("data-swiper-slide-index") : S(t).index(); i.lazy.loadInSlide(t); }); else if (1 < r) for (var c = e; c < e + r; c += 1) l(c) && i.lazy.loadInSlide(c); else i.lazy.loadInSlide(e); if (o.loadPrevNext) if (1 < r || (o.loadPrevNextAmount && 1 < o.loadPrevNextAmount)) { for ( var o = o.loadPrevNextAmount, u = r, h = Math.min(e + u + Math.max(o, u), n.length), u = Math.max(e - Math.max(u, o), 0), p = e + r; p < h; p += 1 ) l(p) && i.lazy.loadInSlide(p); for (var m = u; m < e; m += 1) l(m) && i.lazy.loadInSlide(m); } else { (o = t.children("." + s.slideNextClass)), (u = (0 < o.length && i.lazy.loadInSlide(d(o)), t.children("." + s.slidePrevClass))); 0 < u.length && i.lazy.loadInSlide(d(u)); } }, }, k = { LinearSpline: function (e, t) { var i, s, n, a, o; return ( (this.x = e), (this.y = t), (this.lastIndex = e.length - 1), (this.interpolate = function (e) { return e ? ((o = (function (e, t) { for (s = -1, i = e.length; 1 < i - s;) e[(n = (i + s) >> 1)] <= t ? (s = n) : (i = n); return i; })(this.x, e)), (a = o - 1), ((e - this.x[a]) * (this.y[o] - this.y[a])) / (this.x[o] - this.x[a]) + this.y[a]) : 0; }), this ); }, getInterpolateFunction: function (e) { this.controller.spline || (this.controller.spline = this.params.loop ? new k.LinearSpline(this.slidesGrid, e.slidesGrid) : new k.LinearSpline(this.snapGrid, e.snapGrid)); }, setTranslate: function (e, t) { var i, s, n = this, a = n.controller.control; function o(e) { var t = n.rtlTranslate ? -n.translate : n.translate; "slide" === n.params.controller.by && (n.controller.getInterpolateFunction(e), (s = -n.controller.spline.interpolate(-t))), (s && "container" !== n.params.controller.by) || ((i = (e.maxTranslate() - e.minTranslate()) / (n.maxTranslate() - n.minTranslate())), (s = (t - n.minTranslate()) * i + e.minTranslate())), n.params.controller.inverse && (s = e.maxTranslate() - s), e.updateProgress(s), e.setTranslate(s, n), e.updateActiveIndex(), e.updateSlidesClasses(); } if (Array.isArray(a)) for (var r = 0; r < a.length; r += 1) a[r] !== t && a[r] instanceof p && o(a[r]); else a instanceof p && t !== a && o(a); }, setTransition: function (t, e) { var i, s = this, n = s.controller.control; function a(e) { e.setTransition(t, s), 0 !== t && (e.transitionStart(), e.params.autoHeight && j.nextTick(function () { e.updateAutoHeight(); }), e.$wrapperEl.transitionEnd(function () { n && (e.params.loop && "slide" === s.params.controller.by && e.loopFix(), e.transitionEnd()); })); } if (Array.isArray(n)) for (i = 0; i < n.length; i += 1) n[i] !== e && n[i] instanceof p && a(n[i]); else n instanceof p && e !== n && a(n); }, }, ee = { makeElFocusable: function (e) { return e.attr("tabIndex", "0"), e; }, addElRole: function (e, t) { return e.attr("role", t), e; }, addElLabel: function (e, t) { return e.attr("aria-label", t), e; }, disableEl: function (e) { return e.attr("aria-disabled", !0), e; }, enableEl: function (e) { return e.attr("aria-disabled", !1), e; }, onEnterKey: function (e) { var t = this.params.a11y; 13 === e.keyCode && ((e = S(e.target)), this.navigation && this.navigation.$nextEl && e.is(this.navigation.$nextEl) && ((this.isEnd && !this.params.loop) || this.slideNext(), this.isEnd ? this.a11y.notify(t.lastSlideMessage) : this.a11y.notify(t.nextSlideMessage)), this.navigation && this.navigation.$prevEl && e.is(this.navigation.$prevEl) && ((this.isBeginning && !this.params.loop) || this.slidePrev(), this.isBeginning ? this.a11y.notify(t.firstSlideMessage) : this.a11y.notify(t.prevSlideMessage)), this.pagination && e.is("." + this.params.pagination.bulletClass) && e[0].click()); }, notify: function (e) { var t = this.a11y.liveRegion; 0 !== t.length && (t.html(""), t.html(e)); }, updateNavigation: function () { var e, t; !this.params.loop && this.navigation && ((e = (t = this.navigation).$nextEl), (t = t.$prevEl) && 0 < t.length && (this.isBeginning ? this.a11y.disableEl(t) : this.a11y.enableEl(t)), e && 0 < e.length && (this.isEnd ? this.a11y.disableEl(e) : this.a11y.enableEl(e))); }, updatePagination: function () { var i = this, s = i.params.a11y; i.pagination && i.params.pagination.clickable && i.pagination.bullets && i.pagination.bullets.length && i.pagination.bullets.each(function (e, t) { t = S(t); i.a11y.makeElFocusable(t), i.a11y.addElRole(t, "button"), i.a11y.addElLabel( t, s.paginationBulletMessage.replace( /{{index}}/, t.index() + 1 ) ); }); }, init: function () { this.$el.append(this.a11y.liveRegion); var e, t, i = this.params.a11y; this.navigation && this.navigation.$nextEl && (e = this.navigation.$nextEl), this.navigation && this.navigation.$prevEl && (t = this.navigation.$prevEl), e && (this.a11y.makeElFocusable(e), this.a11y.addElRole(e, "button"), this.a11y.addElLabel(e, i.nextSlideMessage), e.on("keydown", this.a11y.onEnterKey)), t && (this.a11y.makeElFocusable(t), this.a11y.addElRole(t, "button"), this.a11y.addElLabel(t, i.prevSlideMessage), t.on("keydown", this.a11y.onEnterKey)), this.pagination && this.params.pagination.clickable && this.pagination.bullets && this.pagination.bullets.length && this.pagination.$el.on( "keydown", "." + this.params.pagination.bulletClass, this.a11y.onEnterKey ); }, destroy: function () { var e, t; this.a11y.liveRegion && 0 < this.a11y.liveRegion.length && this.a11y.liveRegion.remove(), this.navigation && this.navigation.$nextEl && (e = this.navigation.$nextEl), this.navigation && this.navigation.$prevEl && (t = this.navigation.$prevEl), e && e.off("keydown", this.a11y.onEnterKey), t && t.off("keydown", this.a11y.onEnterKey), this.pagination && this.params.pagination.clickable && this.pagination.bullets && this.pagination.bullets.length && this.pagination.$el.off( "keydown", "." + this.params.pagination.bulletClass, this.a11y.onEnterKey ); }, }, I = { init: function () { if (this.params.history) { if (!X.history || !X.history.pushState) return ( (this.params.history.enabled = !1), void (this.params.hashNavigation.enabled = !0) ); var e = this.history; (e.initialized = !0), (e.paths = I.getPathValues()), (e.paths.key || e.paths.value) && (e.scrollToSlide( 0, e.paths.value, this.params.runCallbacksOnInit ), this.params.history.replaceState || X.addEventListener( "popstate", this.history.setHistoryPopState )); } }, destroy: function () { this.params.history.replaceState || X.removeEventListener( "popstate", this.history.setHistoryPopState ); }, setHistoryPopState: function () { (this.history.paths = I.getPathValues()), this.history.scrollToSlide( this.params.speed, this.history.paths.value, !1 ); }, getPathValues: function () { var e = X.location.pathname .slice(1) .split("/") .filter(function (e) { return "" !== e; }), t = e.length; return { key: e[t - 2], value: e[t - 1] }; }, setHistory: function (e, t) { this.history.initialized && this.params.history.enabled && ((t = this.slides.eq(t)), (t = I.slugify(t.attr("data-history"))), X.location.pathname.includes(e) || (t = e + "/" + t), ((e = X.history.state) && e.value === t) || (this.params.history.replaceState ? X.history.replaceState({ value: t }, null, t) : X.history.pushState({ value: t }, null, t))); }, slugify: function (e) { return e .toString() .replace(/\s+/g, "-") .replace(/[^\w-]+/g, "") .replace(/--+/g, "-") .replace(/^-+/, "") .replace(/-+$/, ""); }, scrollToSlide: function (e, t, i) { if (t) for (var s = 0, n = this.slides.length; s < n; s += 1) { var a = this.slides.eq(s); I.slugify(a.attr("data-history")) !== t || a.hasClass(this.params.slideDuplicateClass) || ((a = a.index()), this.slideTo(a, e, i)); } else this.slideTo(0, e, i); }, }, q = { onHashCange: function () { var e = u.location.hash.replace("#", ""); e !== this.slides.eq(this.activeIndex).attr("data-hash") && void 0 !== (e = this.$wrapperEl .children( "." + this.params.slideClass + '[data-hash="' + e + '"]' ) .index()) && this.slideTo(e); }, setHash: function () { var e; this.hashNavigation.initialized && this.params.hashNavigation.enabled && (this.params.hashNavigation.replaceState && X.history && X.history.replaceState ? X.history.replaceState( null, null, "#" + this.slides.eq(this.activeIndex).attr("data-hash") || "" ) : ((e = (e = this.slides.eq(this.activeIndex)).attr("data-hash") || e.attr("data-history")), (u.location.hash = e || ""))); }, init: function () { if ( !( !this.params.hashNavigation.enabled || (this.params.history && this.params.history.enabled) ) ) { this.hashNavigation.initialized = !0; var e = u.location.hash.replace("#", ""); if (e) for (var t = 0, i = this.slides.length; t < i; t += 1) { var s = this.slides.eq(t); (s.attr("data-hash") || s.attr("data-history")) !== e || s.hasClass(this.params.slideDuplicateClass) || ((s = s.index()), this.slideTo(s, 0, this.params.runCallbacksOnInit, !0)); } this.params.hashNavigation.watchState && S(X).on("hashchange", this.hashNavigation.onHashCange); } }, destroy: function () { this.params.hashNavigation.watchState && S(X).off("hashchange", this.hashNavigation.onHashCange); }, }, M = { run: function () { var e = this, t = e.slides.eq(e.activeIndex), i = e.params.autoplay.delay; t.attr("data-swiper-autoplay") && (i = t.attr("data-swiper-autoplay") || e.params.autoplay.delay), clearTimeout(e.autoplay.timeout), (e.autoplay.timeout = j.nextTick(function () { e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.isBeginning ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(e.slides.length - 1, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.params.loop ? (e.loopFix(), e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")) : e.isEnd ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(0, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")), e.params.cssMode && e.autoplay.running && e.autoplay.run(); }, i)); }, start: function () { return ( void 0 === this.autoplay.timeout && !this.autoplay.running && ((this.autoplay.running = !0), this.emit("autoplayStart"), this.autoplay.run(), !0) ); }, stop: function () { return ( !!this.autoplay.running && void 0 !== this.autoplay.timeout && (this.autoplay.timeout && (clearTimeout(this.autoplay.timeout), (this.autoplay.timeout = void 0)), (this.autoplay.running = !1), this.emit("autoplayStop"), !0) ); }, pause: function (e) { !this.autoplay.running || this.autoplay.paused || (this.autoplay.timeout && clearTimeout(this.autoplay.timeout), (this.autoplay.paused = !0), 0 !== e && this.params.autoplay.waitForTransition ? (this.$wrapperEl[0].addEventListener( "transitionend", this.autoplay.onTransitionEnd ), this.$wrapperEl[0].addEventListener( "webkitTransitionEnd", this.autoplay.onTransitionEnd )) : ((this.autoplay.paused = !1), this.autoplay.run())); }, }, te = { setTranslate: function () { for (var e = this.slides, t = 0; t < e.length; t += 1) { var i = this.slides.eq(t), s = -i[0].swiperSlideOffset, n = (this.params.virtualTranslate || (s -= this.translate), 0), a = (this.isHorizontal() || ((n = s), (s = 0)), this.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(i[0].progress), 0) : 1 + Math.min(Math.max(i[0].progress, -1), 0)); i.css({ opacity: a }).transform( "translate3d(" + s + "px, " + n + "px, 0px)" ); } }, setTransition: function (e) { var i, s = this, t = s.slides, n = s.$wrapperEl; t.transition(e), s.params.virtualTranslate && 0 !== e && ((i = !1), t.transitionEnd(function () { if (!i && s && !s.destroyed) { (i = !0), (s.animating = !1); for ( var e = ["webkitTransitionEnd", "transitionend"], t = 0; t < e.length; t += 1 ) n.trigger(e[t]); } })); }, }, ie = { setTranslate: function () { var e, t = this.$el, i = this.$wrapperEl, s = this.slides, n = this.width, a = this.height, o = this.rtlTranslate, r = this.size, l = this.params.cubeEffect, d = this.isHorizontal(), c = this.virtual && this.params.virtual.enabled, u = 0; l.shadow && (d ? (0 === (e = i.find(".swiper-cube-shadow")).length && ((e = S('

          ')), i.append(e)), e.css({ height: n + "px" })) : 0 === (e = t.find(".swiper-cube-shadow")).length && ((e = S('

          ')), t.append(e))); for (var h, p = 0; p < s.length; p += 1) { var m = s.eq(p), v = p, f = 90 * (v = c ? parseInt(m.attr("data-swiper-slide-index"), 10) : v), g = Math.floor(f / 360), w = (o && ((f = -f), (g = Math.floor(-f / 360))), Math.max(Math.min(m[0].progress, 1), -1)), b = 0, y = 0, E = 0, g = (v % 4 == 0 ? ((b = 4 * -g * r), (E = 0)) : (v - 1) % 4 == 0 ? ((b = 0), (E = 4 * -g * r)) : (v - 2) % 4 == 0 ? ((b = r + 4 * g * r), (E = r)) : (v - 3) % 4 == 0 && ((b = -r), (E = 3 * r + 4 * r * g)), o && (b = -b), d || ((y = b), (b = 0)), "rotateX(" + (d ? 0 : -f) + "deg) rotateY(" + (d ? f : 0) + "deg) translate3d(" + b + "px, " + y + "px, " + E + "px)"); w <= 1 && -1 < w && (u = o ? 90 * -v - 90 * w : 90 * v + 90 * w), m.transform(g), l.slideShadows && ((f = d ? m.find(".swiper-slide-shadow-left") : m.find(".swiper-slide-shadow-top")), (b = d ? m.find(".swiper-slide-shadow-right") : m.find(".swiper-slide-shadow-bottom")), 0 === f.length && ((f = S( '

          ' )), m.append(f)), 0 === b.length && ((b = S( '

          ' )), m.append(b)), f.length && (f[0].style.opacity = Math.max(-w, 0)), b.length && (b[0].style.opacity = Math.max(w, 0))); } i.css({ "-webkit-transform-origin": "50% 50% -" + r / 2 + "px", "-moz-transform-origin": "50% 50% -" + r / 2 + "px", "-ms-transform-origin": "50% 50% -" + r / 2 + "px", "transform-origin": "50% 50% -" + r / 2 + "px", }), l.shadow && (d ? e.transform( "translate3d(0px, " + (n / 2 + l.shadowOffset) + "px, " + -n / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + l.shadowScale + ")" ) : ((t = Math.abs(u) - 90 * Math.floor(Math.abs(u) / 90)), (n = 1.5 - (Math.sin((2 * t * Math.PI) / 360) / 2 + Math.cos((2 * t * Math.PI) / 360) / 2)), (t = l.shadowScale), (n = l.shadowScale / n), (h = l.shadowOffset), e.transform( "scale3d(" + t + ", 1, " + n + ") translate3d(0px, " + (a / 2 + h) + "px, " + -a / 2 / n + "px) rotateX(-90deg)" ))), i.transform( "translate3d(0px,0," + (T.isSafari || T.isUiWebView ? -r / 2 : 0) + "px) rotateX(" + (this.isHorizontal() ? 0 : u) + "deg) rotateY(" + (this.isHorizontal() ? -u : 0) + "deg)" ); }, setTransition: function (e) { var t = this.$el; this.slides .transition(e) .find( ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left" ) .transition(e), this.params.cubeEffect.shadow && !this.isHorizontal() && t.find(".swiper-cube-shadow").transition(e); }, }, se = { setTranslate: function () { for ( var e = this.slides, t = this.rtlTranslate, i = 0; i < e.length; i += 1 ) { var s, n, a = e.eq(i), o = a[0].progress, r = -180 * (o = this.params.flipEffect.limitRotation ? Math.max(Math.min(a[0].progress, 1), -1) : o), l = 0, d = -a[0].swiperSlideOffset, c = 0; this.isHorizontal() ? t && (r = -r) : ((c = d), (l = -r), (r = d = 0)), (a[0].style.zIndex = -Math.abs(Math.round(o)) + e.length), this.params.flipEffect.slideShadows && ((s = this.isHorizontal() ? a.find(".swiper-slide-shadow-left") : a.find(".swiper-slide-shadow-top")), (n = this.isHorizontal() ? a.find(".swiper-slide-shadow-right") : a.find(".swiper-slide-shadow-bottom")), 0 === s.length && ((s = S( '

          ' )), a.append(s)), 0 === n.length && ((n = S( '

          ' )), a.append(n)), s.length && (s[0].style.opacity = Math.max(-o, 0)), n.length && (n[0].style.opacity = Math.max(o, 0))), a.transform( "translate3d(" + d + "px, " + c + "px, 0px) rotateX(" + l + "deg) rotateY(" + r + "deg)" ); } }, setTransition: function (e) { var i, s = this, t = s.slides, n = s.activeIndex, a = s.$wrapperEl; t .transition(e) .find( ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left" ) .transition(e), s.params.virtualTranslate && 0 !== e && ((i = !1), t.eq(n).transitionEnd(function () { if (!i && s && !s.destroyed) { (i = !0), (s.animating = !1); for ( var e = ["webkitTransitionEnd", "transitionend"], t = 0; t < e.length; t += 1 ) a.trigger(e[t]); } })); }, }, ne = { setTranslate: function () { for ( var e = this.width, t = this.height, i = this.slides, s = this.$wrapperEl, n = this.slidesSizesGrid, a = this.params.coverflowEffect, o = this.isHorizontal(), r = this.translate, l = o ? e / 2 - r : t / 2 - r, d = o ? a.rotate : -a.rotate, c = a.depth, u = 0, h = i.length; u < h; u += 1 ) { var p = i.eq(u), m = n[u], m = ((l - p[0].swiperSlideOffset - m / 2) / m) * a.modifier, v = o ? d * m : 0, f = o ? 0 : d * m, g = -c * Math.abs(m), w = o ? 0 : a.stretch * m, b = o ? a.stretch * m : 0, b = (Math.abs(b) < 0.001 && (b = 0), Math.abs(w) < 0.001 && (w = 0), Math.abs(g) < 0.001 && (g = 0), Math.abs(v) < 0.001 && (v = 0), "translate3d(" + b + "px," + w + "px," + g + "px) rotateX(" + (f = Math.abs(f) < 0.001 ? 0 : f) + "deg) rotateY(" + v + "deg)"); p.transform(b), (p[0].style.zIndex = 1 - Math.abs(Math.round(m))), a.slideShadows && ((w = o ? p.find(".swiper-slide-shadow-left") : p.find(".swiper-slide-shadow-top")), (g = o ? p.find(".swiper-slide-shadow-right") : p.find(".swiper-slide-shadow-bottom")), 0 === w.length && ((w = S( '

          ' )), p.append(w)), 0 === g.length && ((g = S( '

          ' )), p.append(g)), w.length && (w[0].style.opacity = 0 < m ? m : 0), g.length && (g[0].style.opacity = 0 < -m ? -m : 0)); } (y.pointerEvents || y.prefixedPointerEvents) && (s[0].style.perspectiveOrigin = l + "px 50%"); }, setTransition: function (e) { this.slides .transition(e) .find( ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left" ) .transition(e); }, }, ae = { init: function () { var e = this.params.thumbs, t = this.constructor; e.swiper instanceof t ? ((this.thumbs.swiper = e.swiper), j.extend(this.thumbs.swiper.originalParams, { watchSlidesProgress: !0, slideToClickedSlide: !1, }), j.extend(this.thumbs.swiper.params, { watchSlidesProgress: !0, slideToClickedSlide: !1, })) : j.isObject(e.swiper) && ((this.thumbs.swiper = new t( j.extend({}, e.swiper, { watchSlidesVisibility: !0, watchSlidesProgress: !0, slideToClickedSlide: !1, }) )), (this.thumbs.swiperCreated = !0)), this.thumbs.swiper.$el.addClass( this.params.thumbs.thumbsContainerClass ), this.thumbs.swiper.on("tap", this.thumbs.onThumbClick); }, onThumbClick: function () { var e, t, i, s = this.thumbs.swiper; s && ((e = s.clickedIndex), ((i = s.clickedSlide) && S(i).hasClass(this.params.thumbs.slideThumbActiveClass)) || null == e || ((i = s.params.loop ? parseInt( S(s.clickedSlide).attr("data-swiper-slide-index"), 10 ) : e), this.params.loop && ((s = this.activeIndex), this.slides.eq(s).hasClass(this.params.slideDuplicateClass) && (this.loopFix(), (this._clientLeft = this.$wrapperEl[0].clientLeft), (s = this.activeIndex)), (e = this.slides .eq(s) .prevAll('[data-swiper-slide-index="' + i + '"]') .eq(0) .index()), (t = this.slides .eq(s) .nextAll('[data-swiper-slide-index="' + i + '"]') .eq(0) .index()), (i = void 0 === e || (void 0 !== t && t - s < s - e) ? t : e)), this.slideTo(i))); }, update: function (e) { var t = this.thumbs.swiper; if (t) { var i, s, n, a = "auto" === t.params.slidesPerView ? t.slidesPerViewDynamic() : t.params.slidesPerView, o = (this.realIndex !== t.realIndex && ((i = t.activeIndex), (n = t.params.loop ? (t.slides .eq(i) .hasClass(t.params.slideDuplicateClass) && (t.loopFix(), (t._clientLeft = t.$wrapperEl[0].clientLeft), (i = t.activeIndex)), (s = t.slides .eq(i) .prevAll( '[data-swiper-slide-index="' + this.realIndex + '"]' ) .eq(0) .index()), (n = t.slides .eq(i) .nextAll( '[data-swiper-slide-index="' + this.realIndex + '"]' ) .eq(0) .index()), void 0 === s ? n : void 0 === n ? s : n - i == i - s ? i : n - i < i - s ? n : s) : this.realIndex), t.visibleSlidesIndexes && t.visibleSlidesIndexes.indexOf(n) < 0 && (t.params.centeredSlides ? (n = i < n ? n - Math.floor(a / 2) + 1 : n + Math.floor(a / 2) - 1) : i < n && (n = n - a + 1), t.slideTo(n, e ? 0 : void 0))), 1), r = this.params.thumbs.slideThumbActiveClass; if ( (1 < this.params.slidesPerView && !this.params.centeredSlides && (o = this.params.slidesPerView), this.params.thumbs.multipleActiveThumbs || (o = 1), (o = Math.floor(o)), t.slides.removeClass(r), t.params.loop || (t.params.virtual && t.params.virtual.enabled)) ) for (var l = 0; l < o; l += 1) t.$wrapperEl .children( '[data-swiper-slide-index="' + (this.realIndex + l) + '"]' ) .addClass(r); else for (var d = 0; d < o; d += 1) t.slides.eq(this.realIndex + d).addClass(r); } }, }, _ = [ m, F, U, v, g, b, E, { name: "mousewheel", params: { mousewheel: { enabled: !1, releaseOnEdges: !1, invert: !1, forceToAxis: !1, sensitivity: 1, eventsTarged: "container", }, }, create: function () { j.extend(this, { mousewheel: { enabled: !1, enable: C.enable.bind(this), disable: C.disable.bind(this), handle: C.handle.bind(this), handleMouseEnter: C.handleMouseEnter.bind(this), handleMouseLeave: C.handleMouseLeave.bind(this), animateSlider: C.animateSlider.bind(this), releaseScroll: C.releaseScroll.bind(this), lastScrollTime: j.now(), lastEventBeforeSnap: void 0, recentWheelEvents: [], }, }); }, on: { init: function () { !this.params.mousewheel.enabled && this.params.cssMode && this.mousewheel.disable(), this.params.mousewheel.enabled && this.mousewheel.enable(); }, destroy: function () { this.params.cssMode && this.mousewheel.enable(), this.mousewheel.enabled && this.mousewheel.disable(); }, }, }, { name: "navigation", params: { navigation: { nextEl: null, prevEl: null, hideOnClick: !1, disabledClass: "swiper-button-disabled", hiddenClass: "swiper-button-hidden", lockClass: "swiper-button-lock", }, }, create: function () { j.extend(this, { navigation: { init: L.init.bind(this), update: L.update.bind(this), destroy: L.destroy.bind(this), onNextClick: L.onNextClick.bind(this), onPrevClick: L.onPrevClick.bind(this), }, }); }, on: { init: function () { this.navigation.init(), this.navigation.update(); }, toEdge: function () { this.navigation.update(); }, fromEdge: function () { this.navigation.update(); }, destroy: function () { this.navigation.destroy(); }, click: function (e) { var t, i = this.navigation, s = i.$nextEl, i = i.$prevEl; !this.params.navigation.hideOnClick || S(e.target).is(i) || S(e.target).is(s) || (s ? (t = s.hasClass(this.params.navigation.hiddenClass)) : i && (t = i.hasClass(this.params.navigation.hiddenClass)), !0 === t ? this.emit("navigationShow", this) : this.emit("navigationHide", this), s && s.toggleClass(this.params.navigation.hiddenClass), i && i.toggleClass(this.params.navigation.hiddenClass)); }, }, }, { name: "pagination", params: { pagination: { el: null, bulletElement: "span", clickable: !1, hideOnClick: !1, renderBullet: null, renderProgressbar: null, renderFraction: null, renderCustom: null, progressbarOpposite: !1, type: "bullets", dynamicBullets: !1, dynamicMainBullets: 1, formatFractionCurrent: function (e) { return e; }, formatFractionTotal: function (e) { return e; }, bulletClass: "swiper-pagination-bullet", bulletActiveClass: "swiper-pagination-bullet-active", modifierClass: "swiper-pagination-", currentClass: "swiper-pagination-current", totalClass: "swiper-pagination-total", hiddenClass: "swiper-pagination-hidden", progressbarFillClass: "swiper-pagination-progressbar-fill", progressbarOppositeClass: "swiper-pagination-progressbar-opposite", clickableClass: "swiper-pagination-clickable", lockClass: "swiper-pagination-lock", }, }, create: function () { j.extend(this, { pagination: { init: A.init.bind(this), render: A.render.bind(this), update: A.update.bind(this), destroy: A.destroy.bind(this), dynamicBulletIndex: 0, }, }); }, on: { init: function () { this.pagination.init(), this.pagination.render(), this.pagination.update(); }, activeIndexChange: function () { (!this.params.loop && void 0 !== this.snapIndex) || this.pagination.update(); }, snapIndexChange: function () { this.params.loop || this.pagination.update(); }, slidesLengthChange: function () { this.params.loop && (this.pagination.render(), this.pagination.update()); }, snapGridLengthChange: function () { this.params.loop || (this.pagination.render(), this.pagination.update()); }, destroy: function () { this.pagination.destroy(); }, click: function (e) { this.params.pagination.el && this.params.pagination.hideOnClick && 0 < this.pagination.$el.length && !S(e.target).hasClass(this.params.pagination.bulletClass) && (!0 === this.pagination.$el.hasClass( this.params.pagination.hiddenClass ) ? this.emit("paginationShow", this) : this.emit("paginationHide", this), this.pagination.$el.toggleClass( this.params.pagination.hiddenClass )); }, }, }, { name: "scrollbar", params: { scrollbar: { el: null, dragSize: "auto", hide: !1, draggable: !1, snapOnRelease: !0, lockClass: "swiper-scrollbar-lock", dragClass: "swiper-scrollbar-drag", }, }, create: function () { j.extend(this, { scrollbar: { init: P.init.bind(this), destroy: P.destroy.bind(this), updateSize: P.updateSize.bind(this), setTranslate: P.setTranslate.bind(this), setTransition: P.setTransition.bind(this), enableDraggable: P.enableDraggable.bind(this), disableDraggable: P.disableDraggable.bind(this), setDragPosition: P.setDragPosition.bind(this), getPointerPosition: P.getPointerPosition.bind(this), onDragStart: P.onDragStart.bind(this), onDragMove: P.onDragMove.bind(this), onDragEnd: P.onDragEnd.bind(this), isTouched: !1, timeout: null, dragTimeout: null, }, }); }, on: { init: function () { this.scrollbar.init(), this.scrollbar.updateSize(), this.scrollbar.setTranslate(); }, update: function () { this.scrollbar.updateSize(); }, resize: function () { this.scrollbar.updateSize(); }, observerUpdate: function () { this.scrollbar.updateSize(); }, setTranslate: function () { this.scrollbar.setTranslate(); }, setTransition: function (e) { this.scrollbar.setTransition(e); }, destroy: function () { this.scrollbar.destroy(); }, }, }, { name: "parallax", params: { parallax: { enabled: !1 } }, create: function () { j.extend(this, { parallax: { setTransform: Q.setTransform.bind(this), setTranslate: Q.setTranslate.bind(this), setTransition: Q.setTransition.bind(this), }, }); }, on: { beforeInit: function () { this.params.parallax.enabled && ((this.params.watchSlidesProgress = !0), (this.originalParams.watchSlidesProgress = !0)); }, init: function () { this.params.parallax.enabled && this.parallax.setTranslate(); }, setTranslate: function () { this.params.parallax.enabled && this.parallax.setTranslate(); }, setTransition: function (e) { this.params.parallax.enabled && this.parallax.setTransition(e); }, }, }, { name: "zoom", params: { zoom: { enabled: !1, maxRatio: 3, minRatio: 1, toggle: !0, containerClass: "swiper-zoom-container", zoomedSlideClass: "swiper-slide-zoomed", }, }, create: function () { var s = this, t = { enabled: !1, scale: 1, currentScale: 1, isScaling: !1, gesture: { $slideEl: void 0, slideWidth: void 0, slideHeight: void 0, $imageEl: void 0, $imageWrapEl: void 0, maxRatio: 3, }, image: { isTouched: void 0, isMoved: void 0, currentX: void 0, currentY: void 0, minX: void 0, minY: void 0, maxX: void 0, maxY: void 0, width: void 0, height: void 0, startX: void 0, startY: void 0, touchesStart: {}, touchesCurrent: {}, }, velocity: { x: void 0, y: void 0, prevPositionX: void 0, prevPositionY: void 0, prevTime: void 0, }, }, n = ("onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out" .split(" ") .forEach(function (e) { t[e] = Z[e].bind(s); }), j.extend(s, { zoom: t }), 1); Object.defineProperty(s.zoom, "scale", { get: function () { return n; }, set: function (e) { var t, i; n !== e && ((t = s.zoom.gesture.$imageEl ? s.zoom.gesture.$imageEl[0] : void 0), (i = s.zoom.gesture.$slideEl ? s.zoom.gesture.$slideEl[0] : void 0), s.emit("zoomChange", e, t, i)), (n = e); }, }); }, on: { init: function () { this.params.zoom.enabled && this.zoom.enable(); }, destroy: function () { this.zoom.disable(); }, touchStart: function (e) { this.zoom.enabled && this.zoom.onTouchStart(e); }, touchEnd: function (e) { this.zoom.enabled && this.zoom.onTouchEnd(e); }, doubleTap: function (e) { this.params.zoom.enabled && this.zoom.enabled && this.params.zoom.toggle && this.zoom.toggle(e); }, transitionEnd: function () { this.zoom.enabled && this.params.zoom.enabled && this.zoom.onTransitionEnd(); }, slideChange: function () { this.zoom.enabled && this.params.zoom.enabled && this.params.cssMode && this.zoom.onTransitionEnd(); }, }, }, { name: "lazy", params: { lazy: { enabled: !1, loadPrevNext: !1, loadPrevNextAmount: 1, loadOnTransitionStart: !1, elementClass: "swiper-lazy", loadingClass: "swiper-lazy-loading", loadedClass: "swiper-lazy-loaded", preloaderClass: "swiper-lazy-preloader", }, }, create: function () { j.extend(this, { lazy: { initialImageLoaded: !1, load: J.load.bind(this), loadInSlide: J.loadInSlide.bind(this), }, }); }, on: { beforeInit: function () { this.params.lazy.enabled && this.params.preloadImages && (this.params.preloadImages = !1); }, init: function () { this.params.lazy.enabled && !this.params.loop && 0 === this.params.initialSlide && this.lazy.load(); }, scroll: function () { this.params.freeMode && !this.params.freeModeSticky && this.lazy.load(); }, resize: function () { this.params.lazy.enabled && this.lazy.load(); }, scrollbarDragMove: function () { this.params.lazy.enabled && this.lazy.load(); }, transitionStart: function () { this.params.lazy.enabled && (this.params.lazy.loadOnTransitionStart || (!this.params.lazy.loadOnTransitionStart && !this.lazy.initialImageLoaded)) && this.lazy.load(); }, transitionEnd: function () { this.params.lazy.enabled && !this.params.lazy.loadOnTransitionStart && this.lazy.load(); }, slideChange: function () { this.params.lazy.enabled && this.params.cssMode && this.lazy.load(); }, }, }, { name: "controller", params: { controller: { control: void 0, inverse: !1, by: "slide" }, }, create: function () { j.extend(this, { controller: { control: this.params.controller.control, getInterpolateFunction: k.getInterpolateFunction.bind(this), setTranslate: k.setTranslate.bind(this), setTransition: k.setTransition.bind(this), }, }); }, on: { update: function () { this.controller.control && this.controller.spline && ((this.controller.spline = void 0), delete this.controller.spline); }, resize: function () { this.controller.control && this.controller.spline && ((this.controller.spline = void 0), delete this.controller.spline); }, observerUpdate: function () { this.controller.control && this.controller.spline && ((this.controller.spline = void 0), delete this.controller.spline); }, setTranslate: function (e, t) { this.controller.control && this.controller.setTranslate(e, t); }, setTransition: function (e, t) { this.controller.control && this.controller.setTransition(e, t); }, }, }, { name: "a11y", params: { a11y: { enabled: !0, notificationClass: "swiper-notification", prevSlideMessage: "Previous slide", nextSlideMessage: "Next slide", firstSlideMessage: "This is the first slide", lastSlideMessage: "This is the last slide", paginationBulletMessage: "Go to slide {{index}}", }, }, create: function () { var t = this; j.extend(t, { a11y: { liveRegion: S( '' ), }, }), Object.keys(ee).forEach(function (e) { t.a11y[e] = ee[e].bind(t); }); }, on: { init: function () { this.params.a11y.enabled && (this.a11y.init(), this.a11y.updateNavigation()); }, toEdge: function () { this.params.a11y.enabled && this.a11y.updateNavigation(); }, fromEdge: function () { this.params.a11y.enabled && this.a11y.updateNavigation(); }, paginationUpdate: function () { this.params.a11y.enabled && this.a11y.updatePagination(); }, destroy: function () { this.params.a11y.enabled && this.a11y.destroy(); }, }, }, { name: "history", params: { history: { enabled: !1, replaceState: !1, key: "slides" }, }, create: function () { j.extend(this, { history: { init: I.init.bind(this), setHistory: I.setHistory.bind(this), setHistoryPopState: I.setHistoryPopState.bind(this), scrollToSlide: I.scrollToSlide.bind(this), destroy: I.destroy.bind(this), }, }); }, on: { init: function () { this.params.history.enabled && this.history.init(); }, destroy: function () { this.params.history.enabled && this.history.destroy(); }, transitionEnd: function () { this.history.initialized && this.history.setHistory( this.params.history.key, this.activeIndex ); }, slideChange: function () { this.history.initialized && this.params.cssMode && this.history.setHistory( this.params.history.key, this.activeIndex ); }, }, }, { name: "hash-navigation", params: { hashNavigation: { enabled: !1, replaceState: !1, watchState: !1 }, }, create: function () { j.extend(this, { hashNavigation: { initialized: !1, init: q.init.bind(this), destroy: q.destroy.bind(this), setHash: q.setHash.bind(this), onHashCange: q.onHashCange.bind(this), }, }); }, on: { init: function () { this.params.hashNavigation.enabled && this.hashNavigation.init(); }, destroy: function () { this.params.hashNavigation.enabled && this.hashNavigation.destroy(); }, transitionEnd: function () { this.hashNavigation.initialized && this.hashNavigation.setHash(); }, slideChange: function () { this.hashNavigation.initialized && this.params.cssMode && this.hashNavigation.setHash(); }, }, }, { name: "autoplay", params: { autoplay: { enabled: !1, delay: 3e3, waitForTransition: !0, disableOnInteraction: !0, stopOnLastSlide: !1, reverseDirection: !1, }, }, create: function () { var t = this; j.extend(t, { autoplay: { running: !1, paused: !1, run: M.run.bind(t), start: M.start.bind(t), stop: M.stop.bind(t), pause: M.pause.bind(t), onVisibilityChange: function () { "hidden" === document.visibilityState && t.autoplay.running && t.autoplay.pause(), "visible" === document.visibilityState && t.autoplay.paused && (t.autoplay.run(), (t.autoplay.paused = !1)); }, onTransitionEnd: function (e) { t && !t.destroyed && t.$wrapperEl && e.target === this && (t.$wrapperEl[0].removeEventListener( "transitionend", t.autoplay.onTransitionEnd ), t.$wrapperEl[0].removeEventListener( "webkitTransitionEnd", t.autoplay.onTransitionEnd ), (t.autoplay.paused = !1), t.autoplay.running ? t.autoplay.run() : t.autoplay.stop()); }, }, }); }, on: { init: function () { this.params.autoplay.enabled && (this.autoplay.start(), document.addEventListener( "visibilitychange", this.autoplay.onVisibilityChange )); }, beforeTransitionStart: function (e, t) { this.autoplay.running && (t || !this.params.autoplay.disableOnInteraction ? this.autoplay.pause(e) : this.autoplay.stop()); }, sliderFirstMove: function () { this.autoplay.running && (this.params.autoplay.disableOnInteraction ? this.autoplay.stop() : this.autoplay.pause()); }, touchEnd: function () { this.params.cssMode && this.autoplay.paused && !this.params.autoplay.disableOnInteraction && this.autoplay.run(); }, destroy: function () { this.autoplay.running && this.autoplay.stop(), document.removeEventListener( "visibilitychange", this.autoplay.onVisibilityChange ); }, }, }, { name: "effect-fade", params: { fadeEffect: { crossFade: !1 } }, create: function () { j.extend(this, { fadeEffect: { setTranslate: te.setTranslate.bind(this), setTransition: te.setTransition.bind(this), }, }); }, on: { beforeInit: function () { var e; "fade" === this.params.effect && (this.classNames.push( this.params.containerModifierClass + "fade" ), j.extend( this.params, (e = { slidesPerView: 1, slidesPerColumn: 1, slidesPerGroup: 1, watchSlidesProgress: !0, spaceBetween: 0, virtualTranslate: !0, }) ), j.extend(this.originalParams, e)); }, setTranslate: function () { "fade" === this.params.effect && this.fadeEffect.setTranslate(); }, setTransition: function (e) { "fade" === this.params.effect && this.fadeEffect.setTransition(e); }, }, }, { name: "effect-cube", params: { cubeEffect: { slideShadows: !0, shadow: !0, shadowOffset: 20, shadowScale: 0.94, }, }, create: function () { j.extend(this, { cubeEffect: { setTranslate: ie.setTranslate.bind(this), setTransition: ie.setTransition.bind(this), }, }); }, on: { beforeInit: function () { var e; "cube" === this.params.effect && (this.classNames.push( this.params.containerModifierClass + "cube" ), this.classNames.push( this.params.containerModifierClass + "3d" ), j.extend( this.params, (e = { slidesPerView: 1, slidesPerColumn: 1, slidesPerGroup: 1, watchSlidesProgress: !0, resistanceRatio: 0, spaceBetween: 0, centeredSlides: !1, virtualTranslate: !0, }) ), j.extend(this.originalParams, e)); }, setTranslate: function () { "cube" === this.params.effect && this.cubeEffect.setTranslate(); }, setTransition: function (e) { "cube" === this.params.effect && this.cubeEffect.setTransition(e); }, }, }, { name: "effect-flip", params: { flipEffect: { slideShadows: !0, limitRotation: !0 } }, create: function () { j.extend(this, { flipEffect: { setTranslate: se.setTranslate.bind(this), setTransition: se.setTransition.bind(this), }, }); }, on: { beforeInit: function () { var e; "flip" === this.params.effect && (this.classNames.push( this.params.containerModifierClass + "flip" ), this.classNames.push( this.params.containerModifierClass + "3d" ), j.extend( this.params, (e = { slidesPerView: 1, slidesPerColumn: 1, slidesPerGroup: 1, watchSlidesProgress: !0, spaceBetween: 0, virtualTranslate: !0, }) ), j.extend(this.originalParams, e)); }, setTranslate: function () { "flip" === this.params.effect && this.flipEffect.setTranslate(); }, setTransition: function (e) { "flip" === this.params.effect && this.flipEffect.setTransition(e); }, }, }, { name: "effect-coverflow", params: { coverflowEffect: { rotate: 50, stretch: 0, depth: 100, modifier: 1, slideShadows: !0, }, }, create: function () { j.extend(this, { coverflowEffect: { setTranslate: ne.setTranslate.bind(this), setTransition: ne.setTransition.bind(this), }, }); }, on: { beforeInit: function () { "coverflow" === this.params.effect && (this.classNames.push( this.params.containerModifierClass + "coverflow" ), this.classNames.push( this.params.containerModifierClass + "3d" ), (this.params.watchSlidesProgress = !0), (this.originalParams.watchSlidesProgress = !0)); }, setTranslate: function () { "coverflow" === this.params.effect && this.coverflowEffect.setTranslate(); }, setTransition: function (e) { "coverflow" === this.params.effect && this.coverflowEffect.setTransition(e); }, }, }, { name: "thumbs", params: { thumbs: { multipleActiveThumbs: !0, swiper: null, slideThumbActiveClass: "swiper-slide-thumb-active", thumbsContainerClass: "swiper-container-thumbs", }, }, create: function () { j.extend(this, { thumbs: { swiper: null, init: ae.init.bind(this), update: ae.update.bind(this), onThumbClick: ae.onThumbClick.bind(this), }, }); }, on: { beforeInit: function () { var e = this.params.thumbs; e && e.swiper && (this.thumbs.init(), this.thumbs.update(!0)); }, slideChange: function () { this.thumbs.swiper && this.thumbs.update(); }, update: function () { this.thumbs.swiper && this.thumbs.update(); }, resize: function () { this.thumbs.swiper && this.thumbs.update(); }, observerUpdate: function () { this.thumbs.swiper && this.thumbs.update(); }, setTransition: function (e) { var t = this.thumbs.swiper; t && t.setTransition(e); }, beforeDestroy: function () { var e = this.thumbs.swiper; e && this.thumbs.swiperCreated && e && e.destroy(); }, }, }, ]; return ( void 0 === p.use && ((p.use = p.Class.use), (p.installModule = p.Class.installModule)), p.use(_), p ); }), (function () { var o, e, t, i, s, n, a, r, l, d, c; (window.wearable = window.wearable || {}), (window.wearable.quote = window.wearable.quote || {}), (wearable.quote = ((e = !(o = {})), (t = null), (i = function () { s(), window.removeEventListener("load", i); }), (s = function () { (e = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), (o.slidesPerView = "mobile" == e ? 2 : 4), e != t && (n(), (t = e)); }), (n = function () { null != o.swiper && (o.swiper.pagination.destroy(!0), o.swiper.navigation.destroy(!0), o.swiper.destroy(!0), (o.swiper = null)); (o.quoteWrap.classList.remove("js-swiper-initialized"), null === o.swiper && o.itemArray.length > o.slidesPerView) ? (a(), o.quoteWrap.classList.add("js-swiper-initialized"), (o.swiper = new Swiper(o.quoteContainer, { init: !1, slidesPerView: 1, loop: !0, loopFillGroupWithBlank: !0, navigation: { nextEl: o.nextArrow, prevEl: o.prevArrow }, pagination: { el: o.quotePagination, type: "bullets", renderBullet: function () { return '

        • '; }, }, })), o.swiper.on("slideChange", function () { c.call(this), d.call(this), imageLoader.setResponsiveImage([ o.prevArrow.querySelector("img"), o.nextArrow.querySelector("img"), ]); }), o.swiper.on("init", function () { var t = this, e = this.el.querySelector(".swiper-notification"); e && this.el.removeChild(e), c.call(this), l.call(this), d.call(this); for (var i = 0; i < this.pagination.bullets.length; i++) !(function (e) { t.pagination.bullets[i].addEventListener( "click", function () { t.slideToLoop(e); } ); })(i); }), o.swiper.init()) : r(); }), (a = function () { (o.quoteList.innerHTML = ""), o.quoteList.removeAttribute("role"); for ( var e = 0, t = [], i = [], s = 0; s < o.itemArray.length; s++ ) e++, i.push(o.itemArray[s]), e >= o.slidesPerView ? (t.push(i), (i = []), (e = 0)) : s == o.itemArray.length - 1 && t.push(i); for (var n = [], s = 0; s < t.length; s++) { n.push('

          '); for (var a = 0; a < t[s].length; a++) t[s][a].setAttribute("role", "listitem"), n.push(t[s][a].outerHTML), t[s][a].removeAttribute("role"); n.push("

          "); } o.quoteList.innerHTML = n.join(""); }), (r = function () { o.quoteList.innerHTML = ""; var e = []; o.quoteList.setAttribute("role", "list"); for (var t = 0; t < o.itemArray.length; t++) o.itemArray[t].setAttribute("role", "listitem"), e.push(o.itemArray[t].outerHTML), o.itemArray[t].removeAttribute("role"); o.quoteList.innerHTML = e.join(""); }), (l = function () { Array.prototype.slice .call(this.pagination.bullets) .forEach(function (t, i) { Object.keys(o.paginationTagging).forEach(function (e) { "data-omni" == e || "ga-la" == e ? t.setAttribute(e, o.paginationTagging[e] + (i + 1)) : t.setAttribute(e, o.paginationTagging[e]); }); }); }), (d = function () { var n = this, a = Array.prototype.slice.call(this.slides); Array.prototype.slice .call(this.pagination.bullets) .forEach(function (e, t) { var i = [], s = a[t + 1].querySelectorAll( ".sc-wearable-media-quote__media" ); (s = Array.prototype.slice.call(s)).forEach(function (e) { i.push(e.innerText); }), n.realIndex == t ? e.setAttribute("aria-label", i.join(", ") + " Selected") : e.setAttribute("aria-label", i.join(", ")); }); }), (c = function () { for (var e = 0; e < this.slides.length; e++) if (e != this.snapIndex) { s = i = void 0; var t = this.slides[e]; t.setAttribute("aria-hidden", !0), t.setAttribute("tabindex", -1); for ( var i = t.querySelectorAll( "a, button, input, select, iframe" ), s = 0; s < i.length; s++ ) i[s].setAttribute("tabindex", -1), i[s].setAttribute("aria-hidden", !0); } else { a = n = void 0; t = this.slides[e]; t.removeAttribute("aria-hidden"), t.removeAttribute("tabindex"); for ( var n = t.querySelectorAll( "a, button, input, select, iframe" ), a = 0; a < n.length; a++ ) n[a].removeAttribute("tabindex"), n[a].removeAttribute("aria-hidden"); } }), { init: function () { if ( ((o.section = document.querySelector( ".sc-wearable-media-quote" )), o.section) ) { (o.swiper = null), (o.slidesPerView = 3), (o.itemArray = []), (o.quoteWrap = o.section.querySelector( ".sc-wearable-media-quote__wrap" )), (o.quoteContainer = o.section.querySelector( ".sc-wearable-media-quote__container" )), (o.quoteList = o.section.querySelector( ".sc-wearable-media-quote__list" )), (o.quoteListItems = o.quoteList.querySelectorAll( ".sc-wearable-media-quote__list-item" )), (o.prevArrow = o.section.querySelector( ".sc-wearable-media-quote__arrow-prev" )), (o.nextArrow = o.section.querySelector( ".sc-wearable-media-quote__arrow-next" )), (o.quotePagination = o.section.querySelector( ".sc-wearable-media-quote__pagination" )), (o.paginationTagging = { "data-omni-type": "microsite_pcontentinter", "data-omni": "galaxy-buds2-pro:highlights:media-quote:dot:", "ga-ca": "indication", "ga-ac": "carousel", "ga-la": "galaxy-buds2-pro:highlights:media-quote:dot:", }); for (var e = 0; e < o.quoteListItems.length; e++) { o.itemArray.push(o.quoteListItems[e]); o.quoteList.removeChild(o.quoteListItems[e]); } window.addEventListener("load", i), window.addEventListener("resize", s); } }, })), wearable.quote.init(); })(), (function () { (window.buds2pro = window.buds2pro || {}), (window.buds2pro.common = window.buds2pro.common || {}); var e, o, t, i, s, n, a, r, l, d, c, u = { convertArray: function (e) { return Array.prototype.slice.call(e); }, getViewPort: function () { var e = window, t = "inner"; return ( "innerWidth" in window || ((t = "client"), (e = document.documentElement || document.body)), { width: e[t + "Width"], height: e[t + "Height"] } ); }, getCurrentDevice: function () { var e = u.getViewPort().width; return 1024 <= e ? "desktop" : e < 1024 && 768 <= e ? "tablet" : "mobile"; }, isInVerticalViewPort: function (e) { e = e.getBoundingClientRect(); return e.top - 200 <= u.getViewPort().height && 0 <= e.bottom; }, isInHorizontalViewPort: function (e) { e = e.getBoundingClientRect(); return ( e.left - 200 <= u.getViewPort().width && 0 <= e.right + 200 ); }, isVerticalVisible: function (e) { return ( u.isInVerticalViewPort(e) && !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length) ); }, isHorizontalVisible: function (e) { return ( u.isInHorizontalViewPort(e) && !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length) ); }, setCookie: function (e, t, i) { var s = new Date(); s.setTime(s.getTime() + 60 * i * 60 * 24 * 1e3), (document.cookie = e + "=" + t + "; exprires=" + s.toUTCString() + "; path=/"); }, getCookie: function (e) { e = document.cookie.match("(^|;) ?" + e + "=([^;]*)(;|$)"); return e ? e[2] : null; }, triggerEvent: function (e, t, i, s, n) { var a, i = i || null, s = s || !1, n = n || !0; null == i ? (a = document.createEvent("HTMLEvents")).initEvent(t, s, n) : (a = document.createEvent("CustomEvent")).initCustomEvent( t, s, n, i ), e.dispatchEvent(a); }, visibleScroll: function () { !0 === this.scrollFlag && ((this.scrollFlag = !1), (document.body.style.position = ""), (document.body.style.width = ""), (document.body.style.left = ""), (document.body.style.right = ""), (document.body.style.top = ""), (document.body.style.zIndex = ""), (this.wrapEl.style.paddingRight = ""), (document.documentElement.style.overflow = ""), null !== this.popupEl && ((this.popupEl.style.paddingRight = ""), (this.popupEl = null))), window.scrollTo(0, this.saveScrollTop); var e = document.querySelector("#subnav"), t = (e && ((t = e.querySelector(".heading a")), (i = e.querySelector(".inside ul")), (e = e.querySelector(".gnb")), t && (t.style.marginRight = ""), i && (i.style.marginRight = ""), e && (e.style.marginRight = "")), document.querySelector(".pd-g-header-navigation")); t && ((i = t.querySelector(".pd-header-navigation")), (e = t.querySelector(".pd-header-navigation__menu-wrap")), (t = t.querySelector(".pd-buying-price")), i && (i.style.paddingRight = ""), e && (e.style.paddingRight = ""), t && (t.style.paddingRight = "")); document.querySelector(".floating-navigation") && (i = document.querySelector(".floating-navigation__wrap")) && (i.style.paddingRight = ""); var i, e = document.querySelector(".f_backtotop"), t = (e && (e.style.paddingRight = ""), document.querySelector("#spr-live-chat-app")); t && ((i = t.querySelector(".spr-chat__proactive-box")), (e = t.querySelector(".spr-chat__trigger-box")), i && (i.style.marginRight = ""), e && (e.style.marginRight = "")); }, hiddenScroll: function (e) { var t = window.innerWidth - document.documentElement.clientWidth, e = ((this.saveScrollTop = window.pageYOffset || document.documentElement.scrollTop), (this.popupEl = e || null), (this.scrollFlag = !0), (this.wrapEl = document.querySelector("#wrap")), (document.body.style.position = "fixed"), (document.body.style.width = "100%"), (document.body.style.left = 0), (document.body.style.right = 0), (document.body.style.top = -this.saveScrollTop + "px"), (document.body.style.zIndex = -1), (this.wrapEl.style.paddingRight = t + "px"), (document.documentElement.style.overflow = "hidden"), null !== this.popupEl && (this.popupEl.style.paddingRight = t + "px"), document.querySelector("#subnav")), i = (e && ((i = e.querySelector(".heading a")), (s = e.querySelector(".inside ul")), (e = e.querySelector(".gnb")), i && (i.style.marginRight = t + "px"), s && (s.style.marginRight = t + "px"), e && (e.style.marginRight = t + "px")), document.querySelector(".pd-g-header-navigation")); i && ((s = i.querySelector(".pd-header-navigation")), (e = i.querySelector(".pd-header-navigation__menu-wrap")), (i = i.querySelector(".pd-buying-price")), s && (s.style.paddingRight = t + "px"), e && (e.style.paddingRight = t + "px"), i && (i.style.paddingRight = t / 2 + "px")); document.querySelector(".floating-navigation") && (s = document.querySelector(".floating-navigation__wrap")) && (s.style.paddingRight = t + "px"); var s, e = document.querySelector(".f_backtotop"), i = (e && (e.style.paddingRight = t + "px"), document.querySelector("#spr-live-chat-app")); i && ((s = i.querySelector(".spr-chat__proactive-box")), (e = i.querySelector(".spr-chat__trigger-box")), s && (s.style.marginRight = t + "px"), e && (e.style.marginRight = t + "px")); }, closest: function (e, t) { do { if (e == document.documentElement) return null; if (e.matches ? e.matches(t) : e.msMatchesSelector(t)) return e; } while ( null !== (e = e.parentElement || e.parentNode) || 1 === e.nodeType ); return null; }, onPopupAccessibility: function (e) { e.setAttribute("aria-hidden", !0), e.setAttribute("tabindex", -1); for ( var t = e.querySelectorAll("a, button, input, select, iframe"), i = 0; i < t.length; i++ ) { var s = t[i].getAttribute("aria-hidden"), n = t[i].getAttribute("tabindex"); null != s && t[i].setAttribute("data-prev-aria-hidden", s), null != n && t[i].setAttribute("data-prev-tabindex", n), t[i].setAttribute("tabindex", -1), t[i].setAttribute("aria-hidden", !0); } }, offPopupAccessibility: function (e) { e.removeAttribute("aria-hidden"), e.removeAttribute("tabindex"); for ( var t = e.querySelectorAll("a, button, input, select, iframe"), i = 0; i < t.length; i++ ) { var s = t[i].getAttribute("data-prev-aria-hidden"), n = t[i].getAttribute("data-prev-tabindex"); null != s ? t[i].setAttribute("aria-hidden", s) : t[i].removeAttribute("aria-hidden"), null != n ? t[i].setAttribute("tabindex", n) : t[i].removeAttribute("tabindex"), t[i].removeAttribute("data-prev-aria-hidden"), t[i].removeAttribute("data-prev-tabindex"); } }, onAccessibility: function (e) { e.setAttribute("aria-hidden", !0), e.setAttribute("tabindex", -1); for ( var t = e.querySelectorAll("a, button, input, select, iframe"), i = 0; i < t.length; i++ ) t[i].setAttribute("tabindex", -1), t[i].setAttribute("aria-hidden", !0); }, offAccessibility: function (e) { e.removeAttribute("aria-hidden"), e.removeAttribute("tabindex"); for ( var t = e.querySelectorAll("a, button, input, select, iframe"), i = 0; i < t.length; i++ ) t[i].removeAttribute("tabindex"), t[i].removeAttribute("aria-hidden"); }, extend: function (t, i) { return ( Object.keys(i).forEach(function (e) { t[e] = i[e]; }), t ); }, getHeight: function (e) { var t, i, s; return e ? ((t = (i = window.getComputedStyle(e)).display), (i = parseInt(i.maxHeight)), (s = 0), "none" != t && 0 != i ? e.offsetHeight : ((e.style.position = "absolute"), (e.style.visibility = "hidden"), (e.style.display = "block"), (s = e.offsetHeight), (e.style.display = ""), (e.style.position = ""), (e.style.visibility = ""), s)) : 0; }, setLastActiveItem: function (e) { this.lastActiveItem = e || null; }, getLastActiveItem: function () { return null != this.lastActiveItem ? this.lastActiveItem : null; }, isRTL: function () { return document.documentElement.classList.contains("rtl"); }, checkRegion: function () { for ( var e = document.getElementsByTagName("meta"), t = "", i = 0; i < e.length; i++ ) if ("sitecode" == e[i].getAttribute("name")) return (t = e[i].getAttribute("content")); if ("" == t) return -1 < document.location.pathname.indexOf("global") ? "global" : "jp"; }, isLowNetwork: function () { var e = "global" == u.checkRegion() || "jp" == u.checkRegion() ? "___GALAXY_SPEED" : "__COM_SPEED"; return null == u.getCookie(e) || null == u.getCookie(e) ? null : "L" == u.getCookie(e) || ("H" != u.getCookie(e) && void 0); }, getNavHeight: function () { var e, t, i = 0, s = document.querySelector(".pd-g-header-navigation") || document.querySelector("#subnav") || document.querySelector(".sticky-menu") || document.querySelector(".pd-g-floating-nav"); return (i = s ? s.classList.contains("pd-g-header-navigation") ? ((t = (e = s.querySelector( ".pd-header-navigation" )).querySelector(".pd-header-navigation__menu-wrap")), e.clientHeight + t.clientHeight) : s.clientHeight : i); }, getQueryString: function (e) { var t = (s = location.href).indexOf("?") + 1, i = -1 < s.indexOf("#") ? s.indexOf("#") + 1 : s.length; if (0 == t) return ""; for ( var s = (s = s.substring(t, i)).split("&"), n = "", a = 0; a < s.length; a++ ) { var o = s[a].split("="); if (2 != o.length) break; o[0] == e && (n = o[1]); break; } return n; }, customParallax: function (e) { var t = e.mode || "center", i = e.delay || 0, s = e.ease || "Power0.easeNone", n = e.transZ || 0, a = e.duration || 0.3, o = e.distance || 0, r = e.correction || 0, l = e.windowCorrection ? window.innerHeight * e.windowCorrection : 0, d = e.direction || 1, c = e.activeElement, u = e.targetElement || c, h = e.wrapperElement || c, e = e.unit || "px", p = window.pageYOffset, m = window.pageYOffset + window.innerHeight, c = c.getBoundingClientRect(), v = p + h.getBoundingClientRect().top, h = v + h.getBoundingClientRect().height, f = window.innerHeight + c.height + 2 * l, g = "center" == t ? c.top - (window.innerHeight - c.height) / 2 : c.top - window.innerHeight; "px" == e && (o = (c.height * o) / 100), v <= m + l && p - l <= h && TweenMax.to(u, a, { y: r + ((g * ("center" == t ? 2 * o : o)) / f) * d + e, z: n, ease: s, delay: i, }); }, isTouchDevice: ((h = "ontouchstart" in window || (window.DocumentTouch && document instanceof window.DocumentTouch)) ? document.documentElement.classList.add("isTouchDevice") : document.documentElement.classList.add("isNotTouchDevice"), h), isIosDevice: ((h = /iPad|iPhone|iPod/.test(navigator.userAgent)) ? document.documentElement.classList.add("isIosDevice") : document.documentElement.classList.add("isNotIosDevice"), h), isBrokenFixed: function () { var e = window.innerWidth, t = window.innerHeight, i = !1; return ( document.documentElement.classList.remove("is-broken-fixed"), (1440 <= e && t <= 540) || (e <= 810 && t / e < 0.5277) ? (document.documentElement.classList.add("is-broken-fixed"), (i = !0)) : document.documentElement.classList.remove( "is-broken-fixed" ), i ); }, isIEorEdge: (function () { var e, t = navigator.userAgent.toLowerCase(); if ("Microsoft Internet Explorer" == navigator.appName) e = "msie "; else if (-1 < t.search("trident")) e = "trident/.*rv:"; else { if (!(-1 < t.search("edge/"))) return -1; e = "edge/"; } return null != new RegExp(e + "([0-9]{1,})(\\.{0,}[0-9]{0,1})").exec(t) ? (document.documentElement.classList.add("isIEorEdge"), parseFloat(RegExp.$1 + RegExp.$2)) : -1; })(), checkGlobal: void (0 === location.pathname.indexOf("/global/galaxy") || !0 === window.IS_CAMPAIGN ? document.documentElement.classList.add("global") : document.documentElement.classList.add("dotcom")), checkOS: ((h = (h = navigator.appVersion.match(/(mac|win|linux)/i)) ? h[1].toLowerCase() : ""), void document.documentElement.classList.add(h)), isFireFox: void ( /firefox/i.test(navigator.userAgent) && document.documentElement.classList.add("firefox") ), isWebkit: void ( /applewebkit/i.test(navigator.userAgent) && document.documentElement.classList.add("webkit") ), isChrome: void ( /chrome/i.test(navigator.userAgent) && document.documentElement.classList.add("chrome") ), isOpera: void ( /opera/i.test(navigator.userAgent) && document.documentElement.classList.add("opera") ), isIos: void ( /ip(ad|hone|od)/i.test(navigator.userAgent) && document.documentElement.classList.add("ios") ), isCrIos: void ( /crios/i.test(navigator.userAgent) && document.documentElement.classList.add("crios") ), isAndroid: void ( /android/i.test(navigator.userAgent) && document.documentElement.classList.add("android") ), isSafari: ((h = /applewebkit/i.test(navigator.userAgent)), (e = /chrome/i.test(navigator.userAgent)), void ( h && !e && document.documentElement.classList.add("safari") )), isHuawei: void ( /HUAWEICLT/i.test(navigator.userAgent) && document.documentElement.classList.add("huawei") ), isUCBrowser: void ( /UCBrowser/i.test(navigator.userAgent) && document.documentElement.classList.add("ucbrowser") ), }, h = ((t = !(o = {})), (i = null), (s = function () { n(), a(), u.isLowNetwork() && document.documentElement.classList.add("low_network"), document.documentElement.classList.add("load"), window.removeEventListener("load", s); }), (n = function () { (t = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(o.resizeTimeout), (o.resizeTimeout = setTimeout(function () { u.isBrokenFixed(); }, 100)), t != i && (document.documentElement.classList.add(t), document.documentElement.classList.remove(i), (i = t)); }), (a = function () { for ( var e = window.pageYOffset, t = e + window.innerHeight, i = 0; i < o.allClickables.length; i++ ) { var s = o.allClickables[i], n = e + s.getBoundingClientRect().top, a = e + u.getNavHeight(); a <= n && n <= t ? (s.isVisible = !0) : (n < a || t < n) && (s.isVisible = !1); } }), (r = function (e) { e.preventDefault(), e.stopPropagation(); var t = this, e = parseFloat(this.innerText), i = document.querySelectorAll("#desc-section li")[e - 1], s = i.innerText, n = ((i.innerHTML = '' + s + ""), function () { l.call(t), i.removeEventListener("focusin", n); }), a = function () { (i.innerHTML = s), i.removeAttribute("tabindex"), i.removeEventListener("focusout", a); }; i.addEventListener("focusin", n), i.addEventListener("focusout", a), i.querySelector("a").focus(); }), (l = function (e) { var s; (!document.documentElement.classList.contains("ios") && e && null == e.relatedTarget) || ((s = this).isClicked || this.isVisible || d(this) || setTimeout(function () { var e = window.pageYOffset, t = s.getBoundingClientRect(), i = (window.innerHeight - u.getNavHeight()) / 2, e = e - u.getNavHeight() + t.top + t.height / 2; window.scrollTo(0, e - i); }, 10), (this.isClicked = !1)); }), (d = function (e) { var e = e.parentNode, t = e.getAttribute("id"); return ( "contents" != t && e != document.body && (!( "subnav" != t && !e.classList.contains("sc-s22ultra-popup") ) || d(e)) ); }), (c = function () { this.isClicked = !0; }), { init: function () { (o.resizeTimeout = null), (o.supClicker = document.querySelectorAll("a.click_sup")), (o.contents = document.getElementById("contents") || document.getElementById("content")), (o.allClickables = o.contents.querySelectorAll( "a, button, input, select" )); var e = 0; for ( window.addEventListener("load", s), window.addEventListener("resize", n), window.addEventListener("scroll", a), e = 0; e < o.allClickables.length; e++ ) { var t = o.allClickables[e]; (t.isClicked = !1), (t.isVisible = !1), t.addEventListener("focusin", l), t.addEventListener("mousedown", c); } for (e = 0; e < o.supClicker.length; e++) o.supClicker[e].addEventListener("click", r); var i = document.documentElement.classList; "global" == u.checkRegion() || i.contains("mac") || i.contains("safari") || ANIUTIL.scrollController({ speed: 120, duration: 0.5 }); ANIUTIL && ANIUTIL.imageLoader({ lazyClass: ".js-img-src", responsiveClass: ".js-res-img", loadOption: [ { resolution: 1920, attribute: "data-src-pc" }, { resolution: 1080, attribute: "data-src-tablet" }, { resolution: 767, attribute: "data-src-mobile" }, { resolution: 360, attribute: "data-src-mobile-min" }, ], visiblePoint: 1, }); }, }); (window.buds2pro.common.utils = u), h.init(); })(), (function () { var a, t, e, i, s, n, o, r, l, d, c, u, h, p, m, v, f; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.audioPopup = window.buds2pro.audioPopup || {}), (buds2pro.audioPopup = ((a = {}), (t = window.buds2pro.common.utils), (e = !1), (i = null), (s = function () { n(), window.removeEventListener("load", s); }), (n = function () { (e = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(a.resizeTimeout), (a.resizeTimeout = setTimeout(function () { u(); }, 100)), e != i && (o(), (i = e)); }), (o = function () { null != a.swiper && (a.swiper.destroy(!0), (a.swiper = null), (a.isSwiperInit = !1)); null == a.swiper && ((a.swiper = new Swiper(a.swiperEl, { init: !1, slidesPerView: 1, navigation: { nextEl: a.swiperNavNextArrow, prevEl: a.swiperNavPrevArrow, }, pagination: { el: a.swiperPagination, type: "bullets", renderBullet: function () { return '

        • '; }, }, })), a.swiper.on("slideChange", function () { l.call(this), d.call(this), m.call(this), v.call(this), f.call(this); }), a.swiper.on("init", function () { var t = this, e = this.el.querySelector(".swiper-notification"); e && this.el.removeChild(e), l.call(this), d.call(this), m.call(this), v.call(this), f.call(this); for (var i = 0; i < this.pagination.bullets.length; i++) !(function (e) { t.pagination.bullets[i].addEventListener( "click", function () { t.slideTo(e); } ); })(i); a.isSwiperInit = !0; }), a.swiper.init()); }), (l = function () { for (var e = 0; e < this.slides.length; e++) e != this.activeIndex ? t.onAccessibility(this.slides[e]) : t.offAccessibility(this.slides[e]); }), (d = function () { null != a.swiper && (this.isBeginning || this.isEnd ? !this.isBeginning && this.isEnd ? (t.onAccessibility(a.swiperNavNextArrow), t.offAccessibility(a.swiperNavPrevArrow)) : this.isBeginning && !this.isEnd && (t.offAccessibility(a.swiperNavNextArrow), t.onAccessibility(a.swiperNavPrevArrow)) : (t.offAccessibility(a.swiperNavNextArrow), t.offAccessibility(a.swiperNavPrevArrow))); }), (c = function () { a.popupEl.classList.remove("sc-buds-audio-popup--open-mo"), a.moPopupOpenBtn && a.moPopupOpenBtn.focus(), t.offPopupAccessibility(a.popupVisualWrap), t.offAccessibility(a.moPopupOpenBtn), t.offAccessibility(a.popupCloseBtn), t.onAccessibility(a.moPopupEl); }), (u = function () { var t = [], i = (a.popupItemContents.forEach(function (e) { e = e.querySelector(".sc-buds-step__item-description"); (e.style.height = ""), t.push(e.clientHeight); }), t.reduce(function (e, t) { return Math.max(e, t); })); a.popupItemContents.forEach(function (e) { e.querySelector( ".sc-buds-step__item-description" ).style.height = i + "px"; }); }), (h = function (e) { (("keydown" == e.type && 13 == e.keyCode) || "click" == e.type) && (e.preventDefault(), clearTimeout(a.arrowTimeout), (a.arrowTimeout = setTimeout(function () { !a.swiper.isBeginning && a.swiper.isEnd ? a.swiperNavPrevArrow.focus() : a.swiper.isBeginning && !a.swiper.isEnd && a.swiperNavNextArrow.focus(); }, 50))); }), (p = function () { a.popupEl.classList.contains("sc-buds-audio-popup--open-mo") || (a.popupEl.classList.add("sc-buds-audio-popup--open-mo"), t.offAccessibility(a.moPopupEl), t.onPopupAccessibility(a.popupVisualWrap), t.onAccessibility(a.moPopupOpenBtn), t.onAccessibility(a.popupCloseBtn), a.moPopupCloseBtns[0].focus()); }), (m = function () { var i = this; Array.prototype.slice .call(this.pagination.bullets) .forEach(function (e, t) { i.realIndex == t ? e.setAttribute( "aria-label", "step" + (t + 1) + " selected" ) : e.setAttribute("aria-label", "step" + (t + 1)); }); }), (v = function () { var n = this; Array.prototype.slice .call(this.pagination.bullets) .forEach(function (i, s) { Object.keys(a.paginationTagging).forEach(function (e) { var t; "data-omni" == e || "ga-la" == e ? ((t = (t = a.paginationTagging[e].split(":dot"))[0] + (n.realIndex + 1) + ":dot" + t[1] + (s + 1)), i.setAttribute(e, t)) : i.setAttribute(e, a.paginationTagging[e]); }); }); }), (f = function () { var i = this; Object.keys(a.navArrowTagging).forEach(function (e) { var t; "data-omni" == e || "ga-la" == e ? ((t = (t = a.navArrowTagging[e].split(":arrow"))[0] + (i.realIndex + 1) + ":arrow" + t[1]), a.swiperNavPrevArrow.setAttribute(e, t + i.realIndex), a.swiperNavNextArrow.setAttribute(e, t + (i.realIndex + 2))) : (a.swiperNavPrevArrow.setAttribute(e, a.navArrowTagging[e]), a.swiperNavNextArrow.setAttribute(e, a.navArrowTagging[e])); }); }), { init: function () { (a.section = document.querySelector( ".sc-buds-audio-popup__wrapper" )), a.section && ((a.swiper = null), (a.isSwiperInit = !1), (a.arrowTimeout = null), (a.wrapEl = document.querySelector("#wrap")), (a.saveScrollTop = 0), (a.swiperEl = a.section.querySelector( ".sc-buds-step__visual-swiper" )), (a.swiperNavNextArrow = a.section.querySelector( ".swiper-button-next" )), (a.swiperNavPrevArrow = a.section.querySelector( ".swiper-button-prev" )), (a.swiperPagination = a.section.querySelector( ".sc-buds-step__indicator-list" )), (a.popupEl = a.section.querySelector( ".sc-buds-audio-popup" )), (a.popupCloseBtn = a.popupEl.querySelector( ".sc-buds-audio-popup__close-cta" )), (a.popupItemContents = t.convertArray( a.popupEl.querySelectorAll(".sc-buds-step__item-content") )), (a.popupVisualWrap = a.popupEl.querySelector( ".sc-buds-step__visual-wrap" )), (a.moPopupEl = a.section.querySelector( ".sc-buds-step__text" )), (a.moPopupOpenBtn = a.popupEl.querySelector( ".sc-buds-step__mo-popup-cta" )), (a.moPopupCloseBtns = t.convertArray( a.moPopupEl.querySelectorAll(".sc-buds-step__mo-close") )), (a.popupDimmed = a.section.querySelector( ".sc-buds-audio-popup__dimmed" )), (a.scBuds = document.createElement("div")), a.scBuds.classList.add("sc-buds"), a.scBuds.appendChild(a.section), document.body.appendChild(a.scBuds), (a.paginationTagging = { "data-omni-type": "microsite_pcontentinter", "data-omni": "galaxy-buds2-pro:highlights:360-audio^popup-step:dot:step", "ga-ca": "indication", "ga-ac": "carousel", "ga-la": "galaxy-buds2-pro:highlights:360-audio^popup-step:dot:step", }), (a.navArrowTagging = { "data-omni-type": "microsite_pcontentinter", "data-omni": "galaxy-buds2-pro:highlights:360-audio^popup-step:arrow:step", "ga-ca": "indication", "ga-ac": "carousel", "ga-la": "galaxy-buds2-pro:highlights:360-audio^popup-step:arrow:step", }), window.addEventListener("load", s), window.addEventListener("resize", n), a.swiperNavNextArrow.addEventListener("click", h), a.swiperNavPrevArrow.addEventListener("click", h), a.swiperNavNextArrow.addEventListener("keydown", h), a.swiperNavPrevArrow.addEventListener("keydown", h), a.popupCloseBtn.addEventListener("click", r), a.popupDimmed.addEventListener("click", r), a.moPopupCloseBtns.forEach(function (e) { e.addEventListener("click", c); }), a.moPopupOpenBtn.addEventListener("click", p)); }, showAudioPopupLayer: function () { t.hiddenScroll(), a.popupEl.classList.add("sc-buds-audio-popup--init"), document.documentElement.classList.add("no-scroll"), document.documentElement.classList.add( "is-layer-popup-opened" ), setTimeout(function () { t.onPopupAccessibility(document.querySelector("#wrap")), a.popupEl.classList.add("sc-buds-audio-popup--open"), "mobile" == e && a.popupEl.classList.add("sc-buds-audio-popup--open-mo"); }, 150), setTimeout(function () { t.offAccessibility(a.scBuds), null != a.swiper && d.call(a.swiper), "mobile" == e || a.popupEl.classList.contains( "sc-buds-audio-popup--open-mo" ) ? (t.offAccessibility(a.moPopupEl), t.onPopupAccessibility(a.popupVisualWrap), t.onAccessibility(a.moPopupOpenBtn), t.onAccessibility(a.popupCloseBtn), a.moPopupCloseBtns[0].focus()) : a.popupCloseBtn.focus(); }, 300); }, hideAudioPopupLayer: (r = function () { t.visibleScroll(), a.popupEl.classList.remove("sc-buds-audio-popup--open"), a.popupEl.classList.remove("sc-buds-audio-popup--open-mo"), document.documentElement.classList.remove("no-scroll"), document.documentElement.classList.remove( "is-layer-popup-opened" ), setTimeout(function () { a.popupEl.classList.remove("sc-buds-audio-popup--init"), t.offPopupAccessibility(document.querySelector("#wrap")); }, 150), setTimeout(function () { t.getLastActiveItem() && t.getLastActiveItem().focus(), t.onAccessibility(a.scBuds), null != a.swiper && a.swiper.slideTo(0, 0); }, 300); }), })); })(), (function () { var s, t, e, i, n, a, o, r, l, d, c, u, h, p, m, v, f; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.recordingPopup = window.buds2pro.recordingPopup || {}), (buds2pro.recordingPopup = ((s = {}), (t = window.buds2pro.common.utils), (e = !1), (i = null), (n = function () { a(), window.removeEventListener("load", n); }), (a = function () { (e = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(s.resizeTimeout), (s.resizeTimeout = setTimeout(function () { u(); }, 100)), e != i && (o(), (i = e)); }), (o = function () { null != s.swiper && (s.swiper.destroy(!0), (s.swiper = null), (s.isSwiperInit = !1)); null == s.swiper && ((s.swiper = new Swiper(s.swiperEl, { init: !1, slidesPerView: 1, navigation: { nextEl: s.swiperNavNextArrow, prevEl: s.swiperNavPrevArrow, }, pagination: { el: s.swiperPagination, type: "bullets", renderBullet: function () { return '

        • '; }, }, })), s.swiper.on("slideChange", function () { l.call(this), d.call(this), m.call(this), v.call(this), f.call(this); }), s.swiper.on("init", function () { var t = this, e = this.el.querySelector(".swiper-notification"); e && this.el.removeChild(e), l.call(this), d.call(this), m.call(this), v.call(this), f.call(this); for (var i = 0; i < this.pagination.bullets.length; i++) !(function (e) { t.pagination.bullets[i].addEventListener( "click", function () { t.slideTo(e); } ); })(i); s.isSwiperInit = !0; }), s.swiper.init()); }), (l = function () { for (var e = 0; e < this.slides.length; e++) e != this.activeIndex ? t.onAccessibility(this.slides[e]) : t.offAccessibility(this.slides[e]); }), (d = function () { null != s.swiper && (this.isBeginning || this.isEnd ? !this.isBeginning && this.isEnd ? (t.onAccessibility(s.swiperNavNextArrow), t.offAccessibility(s.swiperNavPrevArrow)) : this.isBeginning && !this.isEnd && (t.offAccessibility(s.swiperNavNextArrow), t.onAccessibility(s.swiperNavPrevArrow)) : (t.offAccessibility(s.swiperNavNextArrow), t.offAccessibility(s.swiperNavPrevArrow))); }), (c = function () { s.popupEl.classList.remove("sc-buds-audio-popup--open-mo"), s.moPopupOpenBtn && s.moPopupOpenBtn.focus(), t.offPopupAccessibility(s.popupVisualWrap), t.offAccessibility(s.moPopupOpenBtn), t.offAccessibility(s.popupCloseBtn), t.onAccessibility(s.moPopupEl); }), (u = function () { var t = [""], i = (s.popupItemContents.forEach(function (e) { e = e.querySelector(".sc-buds-step__item-description"); (e.style.height = ""), t.push(e.clientHeight); }), t.reduce(function (e, t) { return Math.max(e, t); })); s.popupItemContents.forEach(function (e) { e.querySelector( ".sc-buds-step__item-description" ).style.height = i + "px"; }); }), (h = function (e) { (("keydown" == e.type && 13 == e.keyCode) || "click" == e.type) && (e.preventDefault(), clearTimeout(s.arrowTimeout), (s.arrowTimeout = setTimeout(function () { !s.swiper.isBeginning && s.swiper.isEnd ? s.swiperNavPrevArrow.focus() : s.swiper.isBeginning && !s.swiper.isEnd && s.swiperNavNextArrow.focus(); }, 50))); }), (p = function () { s.popupEl.classList.contains("sc-buds-audio-popup--open-mo") || (s.popupEl.classList.add("sc-buds-audio-popup--open-mo"), t.offAccessibility(s.moPopupEl), t.onPopupAccessibility(s.popupVisualWrap), t.onAccessibility(s.moPopupOpenBtn), t.onAccessibility(s.popupCloseBtn), s.moPopupCloseBtns[0].focus()); }), (m = function () { var i = this; Array.prototype.slice .call(this.pagination.bullets) .forEach(function (e, t) { i.realIndex == t ? e.setAttribute( "aria-label", "step" + (t + 1) + " selected" ) : e.setAttribute("aria-label", "step" + (t + 1)); }); }), (v = function () { Array.prototype.slice .call(this.pagination.bullets) .forEach(function (t, i) { setTimeout(function () { Object.keys(s.paginationTagging).forEach(function (e) { "data-omni" == e || "ga-la" == e ? t.setAttribute(e, s.paginationTagging[e] + (i + 1)) : t.setAttribute(e, s.paginationTagging[e]); }); }, 0); }); }), (f = function () { var t = this; Object.keys(s.navArrowTagging).forEach(function (e) { "data-omni" == e || "ga-la" == e ? (s.swiperNavPrevArrow.setAttribute( e, s.navArrowTagging[e] + t.realIndex ), s.swiperNavNextArrow.setAttribute( e, s.navArrowTagging[e] + (t.realIndex + 2) )) : (s.swiperNavPrevArrow.setAttribute(e, s.navArrowTagging[e]), s.swiperNavNextArrow.setAttribute(e, s.navArrowTagging[e])); }); }), { init: function () { (s.section = document.querySelector( ".sc-buds-recording-popup__wrapper" )), s.section && ((s.swiper = null), (s.isSwiperInit = !1), (s.arrowTimeout = null), (s.wrapEl = document.querySelector("#wrap")), (s.saveScrollTop = 0), (s.swiperEl = s.section.querySelector( ".sc-buds-step__visual-swiper" )), (s.swiperNavNextArrow = s.section.querySelector( ".swiper-button-next" )), (s.swiperNavPrevArrow = s.section.querySelector( ".swiper-button-prev" )), (s.swiperPagination = s.section.querySelector( ".sc-buds-step__indicator-list" )), (s.popupEl = s.section.querySelector( ".sc-buds-audio-popup" )), (s.popupCloseBtn = s.popupEl.querySelector( ".sc-buds-audio-popup__close-cta" )), (s.popupItemContents = t.convertArray( s.popupEl.querySelectorAll(".sc-buds-step__item-content") )), (s.popupVisualWrap = s.popupEl.querySelector( ".sc-buds-step__visual-wrap" )), (s.moPopupEl = s.section.querySelector( ".sc-buds-step__text" )), (s.moPopupOpenBtn = s.popupEl.querySelector( ".sc-buds-step__mo-popup-cta" )), (s.moPopupCloseBtns = t.convertArray( s.moPopupEl.querySelectorAll(".sc-buds-step__mo-close") )), (s.popupDimmed = s.section.querySelector( ".sc-buds-audio-popup__dimmed" )), (s.scBuds = document.createElement("div")), s.scBuds.classList.add("sc-buds"), s.scBuds.appendChild(s.section), document.body.appendChild(s.scBuds), (s.paginationTagging = { "data-omni-type": "microsite_pcontentinter", "data-omni": "galaxy-buds2-pro:highlights:360-audio-recording^popup:dot:", "ga-ca": "indication", "ga-ac": "carousel", "ga-la": "galaxy-buds2-pro:highlights:360-audio-recording^popup:dot:", }), (s.navArrowTagging = { "data-omni-type": "microsite_pcontentinter", "data-omni": "galaxy-buds2-pro:highlights:360-audio-recording^popup:arrow:", "ga-ca": "indication", "ga-ac": "carousel", "ga-la": "galaxy-buds2-pro:highlights:360-audio-recording^popup:arrow:", }), window.addEventListener("load", n), window.addEventListener("resize", a), s.swiperNavNextArrow.addEventListener("click", h), s.swiperNavPrevArrow.addEventListener("click", h), s.swiperNavNextArrow.addEventListener("keydown", h), s.swiperNavPrevArrow.addEventListener("keydown", h), s.popupCloseBtn.addEventListener("click", r), s.popupDimmed.addEventListener("click", r), s.moPopupCloseBtns.forEach(function (e) { e.addEventListener("click", c); }), s.moPopupOpenBtn.addEventListener("click", p)); }, showAudioPopupLayer: function () { t.hiddenScroll(), s.popupEl.classList.add("sc-buds-audio-popup--init"), document.documentElement.classList.add("no-scroll"), document.documentElement.classList.add( "is-layer-popup-opened" ), setTimeout(function () { t.onPopupAccessibility(document.querySelector("#wrap")), s.popupEl.classList.add("sc-buds-audio-popup--open"), "mobile" == e && s.popupEl.classList.add("sc-buds-audio-popup--open-mo"); }, 150), setTimeout(function () { t.offAccessibility(s.scBuds), null != s.swiper && d.call(s.swiper), "mobile" == e || s.popupEl.classList.contains( "sc-buds-audio-popup--open-mo" ) ? (t.offAccessibility(s.moPopupEl), t.onPopupAccessibility(s.popupVisualWrap), t.onAccessibility(s.moPopupOpenBtn), t.onAccessibility(s.popupCloseBtn), s.moPopupCloseBtns[0].focus()) : s.popupCloseBtn.focus(); }, 300); }, hideAudioPopupLayer: (r = function () { t.visibleScroll(), s.popupEl.classList.remove("sc-buds-audio-popup--open"), s.popupEl.classList.remove("sc-buds-audio-popup--open-mo"), document.documentElement.classList.remove("no-scroll"), document.documentElement.classList.remove( "is-layer-popup-opened" ), setTimeout(function () { s.popupEl.classList.remove("sc-buds-audio-popup--init"), t.offPopupAccessibility(document.querySelector("#wrap")); }, 150), setTimeout(function () { t.getLastActiveItem() && t.getLastActiveItem().focus(), t.onAccessibility(s.scBuds), null != s.swiper && s.swiper.slideTo(0, 0); }, 300); }), })); })(), (function () { var a, o, r, e, t, s; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.subnav = window.buds2pro.subnav || {}), (buds2pro.subnav = ((a = {}), (o = window.buds2pro.common.utils), (r = window.pageYOffset), (e = function () { t(); }), (t = function () { r = window.pageYOffset; var n = (window.innerHeight + o.getNavHeight()) / 2; a.visSections.forEach(function (e) { var i, t = e.getBoundingClientRect(), s = r + t.top, t = r + t.bottom; s <= r + n && r + n <= t && ((i = e.dataset.visIndex), a.navItems.forEach(function (e, t) { t != i && e.parentNode.classList.contains("on") && e.parentNode.classList.remove("on"); }), (s = a.navItems[i].parentNode).classList.contains("on") || (s.classList.add("on"), !a.section.classList.contains("hold") && s.classList.contains("on") && GALAXY.header && GALAXY.header.resetSubNav())); }); }), (s = function (e) { e.preventDefault(); var t, i, s, n, e = this.parentNode; a.section.classList.contains("hold") || e.classList.contains("on") || (a.navItems.forEach(function (e) { e.parentNode.classList.remove("on"); }), e.classList.contains("on") || e.classList.add("on"), (e = this.dataset.navIndex), (t = (e = a.navDests[e]).getBoundingClientRect()), (i = parseInt(window.getComputedStyle(e).paddingTop)), (s = (window.innerHeight - (t.height - i) + o.getNavHeight()) / 2), (n = 0), (n = e.classList.contains("js-nav-center") ? r + t.top + i - s : r + t.top - o.getNavHeight()) < 150 && (n = 0), a.section.classList.add("hold"), GALAXY.setSmoothScrollTop(n, 1500, function () { a.section.classList.contains("hold") && a.section.classList.remove("hold"), GALAXY.header && GALAXY.header.resetSubNav(); })); }), { init: function () { var i; (a.section = document.getElementById("subnav")), a.section && ((a.navItems = o.convertArray( a.section.querySelectorAll("ul li>a") )), (a.navDests = document.querySelectorAll('[class*="js-nav-"]')), (a.visSections = o.convertArray( document.querySelectorAll(".js-visible") )), (a.visCount = -1), a.visSections.forEach(function (e) { e.dataset.visIndex = e.classList.contains("js-count") ? ++a.visCount : a.visCount; }), t(), window.addEventListener("resize", e), window.addEventListener("scroll", t), (i = window.location.hash), a.navItems.forEach(function (e, t) { -1 < e.getAttribute("href").indexOf("#") && ((e.dataset.navIndex = t), e.addEventListener("click", s)), i && -1 < e.getAttribute("href").indexOf(i) && (e.parentNode.classList.remove("on"), e.click()); })); }, })); })(), (function () { function e() { if ( (document.documentElement.classList.remove("is-layer-popup-opened"), p.visibleScroll(), h.layer) ) { h.wrap.removeAttribute("aria-hidden"), h.layer.parentNode.removeChild(h.layer), (h.layer = null); for (var e = 0; e < h.baseContentsClickable.length; e++) { var t = h.baseContentsClickable[e]; var i = t.getAttribute("data-prev-tabindex"); var s = t.getAttribute("data-prev-aria-hidden"); if (!!i) t.setAttribute("tabindex", i); else t.removeAttribute("tabindex"); if (!!s) t.setAttribute("aria-hidden", s); else t.removeAttribute("aria-hidden"); t.removeAttribute("data-prev-tabindex"); t.removeAttribute("data-prev-aria-hidden"); } setTimeout(function () { h.opener && h.opener.focus(); }, 1100); } } function u(e) { return ( "https://www.youtube.com/embed/" + e + "?showinfo=0&wmode=transparent&autoplay=1&rel=0" ); } var h, p, t, i, s, m; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.video = window.buds2pro.video || {}), (buds2pro.video = ((h = {}), (p = window.buds2pro.common.utils), (t = !1), (i = null), (s = function () { (t = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile") != i && (clearTimeout(h.responsiveTimeout), (h.responsiveTimeout = setTimeout(function () { p.offPopupAccessibility(h.contents), document.documentElement.classList.contains( "is-layer-popup-opened" ) && p.onPopupAccessibility(h.contents); }, 500)), (i = t)); }), (m = function () { e(), window.buds2pro.compare && window.buds2pro.compare.setSlideAccessibility(); }), { init: function () { (h.wrap = document.querySelector("#wrap")), h.wrap && ((h.contents = document.querySelector("#contents")), (h.responsiveTimeout = null), (h.layer = null), (h.opener = null), (h.baseContentsClickable = null), (h.closeButton = null), window.addEventListener("resize", s)); }, showVideoLayer: function (e, t, i) { document.documentElement.classList.add("is-layer-popup-opened"), p.hiddenScroll(); e = e.split("?v=")[1]; if ( (h.wrap.setAttribute("aria-hidden", "true"), (h.baseContentsClickable = document.documentElement.querySelectorAll( "a, input, select, textarea, button, video, iframe" )), !h.layer) ) { (h.layer = document.createElement("div")), h.layer.setAttribute("id", "layer-youtube"), h.layer.classList.add("m_layer-youtube"), h.layer.classList.add("show"), (h.layer.innerHTML = [ '

          ', '', 'Movie player Layer', '

          ', '', '', "", '

          ', '

          ', "

          ", "

          ", "

          ", ].join("")), h.layer.addEventListener("touchmove", function (e) { e.preventDefault(); }), (h.closeButton = h.layer.querySelector( 'button[class*="_btn_close"]' )), h.closeButton.addEventListener("click", m); for (var s = 0; s < h.baseContentsClickable.length; s++) { var n = h.baseContentsClickable[s]; var a = n.getAttribute("tabindex"); var o = n.getAttribute("aria-hidden"); if (!!a) n.setAttribute("data-prev-tabindex", a); if (!!o) n.setAttribute("data-prev-aria-hidden", o); n.setAttribute("tabindex", "-1"); n.setAttribute("aria-hidden", "true"); } document.body.appendChild(h.layer); e = t; if ( h.closeButton != null && !(window.GALAXY && window.GALAXY.isGalaxy) ) { var r = e.getAttribute("data-omni-type"); var l = e.getAttribute("data-close-omni"); var d = e.getAttribute("data-close-ga"); var c = e.getAttribute("ga-ca"); e = e.getAttribute("ga-ac"); h.closeButton.setAttribute("data-omni-type", r); h.closeButton.setAttribute("data-omni", l); h.closeButton.setAttribute("ga-ca", c); h.closeButton.setAttribute("ga-ac", e); h.closeButton.setAttribute("ga-la", d); } t && (h.opener = t), setTimeout(function () { h.closeButton && h.closeButton.focus(); }, 1100); } }, hideVideoLayer: e, getYoutubePlayerLink: u, })); })(), (function () { var e, t, i, s, n, a, o; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.anc = window.buds2pro.anc || {}), (buds2pro.anc = ((e = {}), window.buds2pro.common.utils, (t = !1), (i = null), (s = function () { n(), o(), window.removeEventListener("load", s); }), (n = function () { (t = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(e.resizeTimeout), (e.resizeTimeout = setTimeout(function () { o(); }, 100)), t != i && (a(), (i = t)); }), (a = function () { null != e.sequenceScroller && (e.sequenceScroller.destroy(), (e.sequenceScroller = null)); null != e.sequencePlayer && (e.sequenceCanvas.removeChild( e.sequenceCanvas.querySelector("canvas") ), (e.sequencePlayer = null)); null == e.sequenceScroller && (e.sequenceScroller = SCROLLER({ trackElement: e.sequenceCanvas, activeElement: e.section, activeType: "reverse", correction: 0.4, activeCallback: function () { null != e.sequencePlayer && (e.sequencePlayer.stop(), e.sequencePlayer.play()); }, endCallback: function () { null != e.sequencePlayer && e.sequencePlayer.stop(); }, })); "undefined" != typeof __BUDS_SEQUENCE_URL && null != __BUDS_SEQUENCE_URL && null != __BUDS_SEQUENCE_URL && "" != __BUDS_SEQUENCE_URL ? (e.sequenceImagePath = __BUDS_SEQUENCE_URL + "/") : (e.sequenceImagePath = "/src/_galaxy-buds2-pro/images/"); null == e.sequencePlayer && (e.sequencePlayer = SEQUENCEPLAYER({ targetElement: e.sequenceCanvas, startNum: 0, endNum: 32, path: e.sequenceImagePath, name: "mobile" != t ? "galaxy-buds2-pro-anc-pc-sequence_" : "galaxy-buds2-pro-anc-mo-sequence_", extension: "jpg", playTime: 1400, imageLoadOffset: 2, })); }), (o = function () { null != e.sequenceScroller && e.sequenceScroller.activeAnimation(); }), { init: function () { (e.section = document.querySelector(".sc-buds-anc")), e.section && ((e.sequenceScroller = null), (e.sequencePlayer = null), (e.sequenceImagePath = null), (e.sequenceCanvas = e.section.querySelector( ".sc-buds-anc__kv-image" )), (e.ancKv = e.section.querySelector(".sc-buds-anc__kv")), (e.ancKvFrontImage = e.ancKv.querySelector( ".sc-buds-anc__kv-image-front" )), window.addEventListener("load", s), window.addEventListener("resize", n), window.addEventListener("scroll", o)); }, })); })(), (function () { var n, e, t, i, s, a, o, r, l, d, c, u, h, p, m, v; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.audio = window.buds2pro.audio || {}), (buds2pro.audio = ((n = {}), (e = window.buds2pro.common.utils), (t = !1), (i = null), (s = function () { a(), r(), window.removeEventListener("load", s); }), (a = function () { (t = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(n.resizeTimeout), (n.resizeTimeout = setTimeout(function () { r(); }, 100)), t != i && (o(), (i = t)); }), (o = function () { null != n.sequenceScroller && (n.sequenceScroller.destroy(), (n.sequenceScroller = null)); null != n.sequencePlayer && (n.sequenceCanvas.removeChild( n.sequenceCanvas.querySelector("canvas") ), (n.sequencePlayer = null)); null == n.sequenceScroller && (n.sequenceScroller = SCROLLER({ trackElement: n.sequenceCanvas, activeElement: n.section, activeType: "reverse", correction: 0.5, activeCallback: function () { null != n.sequencePlayer && (n.sequencePlayer.stop(), n.sequencePlayer.play()); }, endCallback: function () { null != n.sequencePlayer && n.sequencePlayer.stop(); }, })); "undefined" != typeof __BUDS_SEQUENCE_URL && null != __BUDS_SEQUENCE_URL && null != __BUDS_SEQUENCE_URL && "" != __BUDS_SEQUENCE_URL ? (n.sequenceImagePath = __BUDS_SEQUENCE_URL + "/") : (n.sequenceImagePath = "/src/_galaxy-buds2-pro/images/"); null == n.sequencePlayer && (n.sequencePlayer = SEQUENCEPLAYER({ targetElement: n.sequenceCanvas, startNum: 0, endNum: 59, path: n.sequenceImagePath, name: "mobile" != t ? "galaxy-buds2-pro-360-audio-pc-sequence_" : "galaxy-buds2-pro-360-audio-mo-sequence_", extension: "jpg", playTime: 2e3, imageLoadOffset: 2, })); }), (r = function () { null != n.sequenceScroller && n.sequenceScroller.activeAnimation(); var e = window.pageYOffset, t = e + window.innerHeight, i = n.audioCard.getBoundingClientRect(), s = e + i.top, i = e + i.bottom; (t <= s || i <= e) && c(); }), (l = function () { (n.audioPopup = window.buds2pro.audioPopup), e.setLastActiveItem(this), n.audioPopup.showAudioPopupLayer(); }), (d = function () { document.documentElement.classList.contains( "is-layer-popup-opened" ) && c(); }), (c = function () { n.audioCard.classList.contains("s-play") && ((n.videoControlText.innerHTML = "play"), n.audioCard.classList.remove("s-play"), n.videoContent.pause(), (n.isPaused = !0), v.call(n.videoControlButton)); }), (u = function () { n.audioCard.classList.contains("s-play") && ((n.videoControlText.innerHTML = "play"), n.audioCard.classList.remove("s-play"), n.audioCard.classList.add("s-ready"), n.videoContent.pause(), (n.videoContent.currentTime = 0), (n.isPaused = !0), v.call(n.videoControlButton)); }), (h = function (e) { e.preventDefault(), n.isPaused ? ((n.videoControlText.innerHTML = "pause"), n.audioCard.classList.contains("s-ready") && n.audioCard.classList.remove("s-ready"), n.audioCard.classList.add("s-play"), n.videoContent.play(), (n.isPaused = !1), v.call(n.videoControlButton)) : c(); }), (p = function (e) { ("focusin" == n.prevEventType && "mouseenter" == e.type) || (n.audioCardText.classList.add("is-hover"), (n.prevEventType = e.type)); }), (m = function (e) { ("focusin" == n.prevEventType && "mouseleave" == e.type) || (n.audioCardText.classList.remove("is-hover"), (n.prevEventType = e.type)); }), (v = function () { var t = this, i = { "data-omni": t.getAttribute("data-omni"), "ga-la": t.getAttribute("ga-la"), }; setTimeout(function () { Object.keys(i).forEach(function (e) { !1 === n.isPaused ? t.setAttribute(e, i[e].replace(":play", ":pause")) : t.setAttribute(e, i[e].replace(":pause", ":play")); }); }, 50); }), { init: function () { if ( ((n.section = document.querySelector(".sc-buds-360-audio")), n.section) ) { if ( ((n.sequenceScroller = null), (n.sequencePlayer = null), (n.sequenceImagePath = null), (n.sequenceCanvas = n.section.querySelector( ".sc-buds-360-audio__kv-image" )), (n.audioPopupBtn = n.section.querySelector( ".sc-buds-360-audio__cta" )), (n.isPaused = !0), (n.prevEventType = null), (n.audioCard = n.section.querySelector( ".sc-buds-360-audio__card" )), (n.audioCardText = n.section.querySelector( ".sc-buds-360-audio__card-text" )), (n.videoControlButton = n.audioCard.querySelector( "a.sc-buds-360-audio__play-area" )), (n.videoContent = n.audioCard.querySelector( ".sc-buds-360-audio__video-source" )), (n.videoControlText = n.audioCard.querySelector("span.blind")), window.addEventListener("load", s), window.addEventListener("resize", a), window.addEventListener("scroll", r), !!n.audioPopupBtn) ) n.audioPopupBtn.addEventListener("click", l); n.videoControlButton.addEventListener("click", h), n.videoControlButton.addEventListener("mouseenter", p), n.videoControlButton.addEventListener("mouseleave", m), n.videoControlButton.addEventListener("focusin", p), n.videoControlButton.addEventListener("focusout", m), n.videoContent.addEventListener("ended", u), n.videoContent.addEventListener("timeupdate", d); } }, })); })(), (function () { var n, a, e, t, i, s, o, r; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.colors = window.buds2pro.colors || {}), (buds2pro.colors = ((n = {}), (a = window.buds2pro.common.utils), (e = !1), (t = null), (i = function () { s(), window.removeEventListener("load", i); }), (s = function () { (e = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(n.resizeTimeout), (n.resizeTimeout = setTimeout(function () { }, 100)), e != t && (o(), (t = e)); }), (o = function () { n.colorsContentItems.forEach(function (e, t) { var i = n.colorsChipButtons[t]; n.currentIndex == t ? (e.classList.contains("is-active") || e.classList.add("is-active"), i.classList.contains("is-active") || i.classList.add("is-active"), i.setAttribute("title", "selected"), document.documentElement.classList.contains( "is-layer-popup-opened" ) || a.offAccessibility(e)) : (e.classList.contains("is-active") && e.classList.remove("is-active"), i.classList.contains("is-active") && i.classList.remove("is-active"), i.removeAttribute("title"), document.documentElement.classList.contains( "is-layer-popup-opened" ) || a.onAccessibility(e)); }); }), (r = function () { var s = n.colorsChipButtons.indexOf(this); n.currentIndex != s && (n.colorsContentItems.forEach(function (e, t) { var i = n.colorsChipButtons[t]; s == t ? (e.classList.contains("is-active") || e.classList.add("is-active"), i.classList.contains("is-active") || i.classList.add("is-active"), i.setAttribute("title", "selected"), document.documentElement.classList.contains( "is-layer-popup-opened" ) || a.offAccessibility(e)) : (e.classList.contains("is-active") && e.classList.remove("is-active"), i.classList.contains("is-active") && i.classList.remove("is-active"), i.removeAttribute("title"), document.documentElement.classList.contains( "is-layer-popup-opened" ) || a.onAccessibility(e)); }), (n.currentIndex = s)); }), { init: function () { (n.section = document.querySelector(".sc-buds-colors")), n.section && ((n.currentIndex = 2), (n.colorsChipList = n.section.querySelector( ".sc-buds-colors__colors" )), (n.colorsChipItems = a.convertArray( n.colorsChipList.querySelectorAll("li") )), (n.colorsChipButtons = a.convertArray( n.section.querySelectorAll(".sc-buds-colors__color") )), (n.colorsContents = n.section.querySelector( ".sc-buds-colors__contents" )), (n.colorsContentItems = a.convertArray( n.section.querySelectorAll(".sc-buds-colors__item") )), window.addEventListener("load", i), window.addEventListener("resize", s), n.colorsChipButtons.forEach(function (e) { e.addEventListener("click", r); })); }, })); })(), (function () { function t() { var e, t, i, s, n; null != r.moTabSwiper && ((n = r.compareTabButtons[r.currentTabIndex].parentNode), (e = r.compareTabList.getBoundingClientRect()), (t = n.getBoundingClientRect()), r.compareTabButtons.forEach(function (e, t) { r.currentTabIndex == t ? (e.parentNode.classList.contains("is-active") || e.parentNode.classList.add("is-active"), e.setAttribute("title", "selected")) : (e.parentNode.classList.contains("is-active") && e.parentNode.classList.remove("is-active"), e.removeAttribute("title")); }), (i = parseInt(getComputedStyle(n).marginLeft)), (s = t.left - e.left - i), (n = 2 * i + n.clientWidth), TweenMax.to(r.compareTabHighlight, 0.3, { width: n + "px", left: s + "px", }), (n = 0 == r.currentTabIndex || r.currentTabIndex == r.compareTabButtons.length - 1 ? r.moTabSwiper.slidesGrid[r.currentTabIndex] > r.moTabSwiper.snapGrid[r.moTabSwiper.snapGrid.length - 1] ? r.moTabSwiper.snapGrid[r.moTabSwiper.snapGrid.length - 1] : r.moTabSwiper.slidesGrid[r.currentTabIndex] : (l.isRTL() ? e.right - t.right : t.left - e.left) - t.width / 2 - i * r.marginCount), TweenMax.to(r.compareTabList, 0.3, { x: n * (l.isRTL() ? 1 : -1) + "px", }), (r.compareTab.scrollLeft = 0)); } function o(t) { var i, s; t ? ((i = []), l .convertArray( t.querySelectorAll(".sc-buds-compare__list-product-item") ) .forEach(function (e) { e.getAttribute("data-product") == f(t) ? (e.classList.contains("is-active") || e.classList.add("is-active"), l.offAccessibility(e)) : (e.classList.contains("is-active") && e.classList.remove("is-active"), l.onAccessibility(e)), l .convertArray(e.querySelectorAll("img")) .forEach(function (e) { e.classList.contains("load-complete") || i.push(e); }); }), (s = t.getAttribute("data-color")), l .convertArray(t.querySelectorAll(".sc-buds-compare__color")) .forEach(function (e) { e.getAttribute("data-color") == s ? e.classList.contains("is-active") || e.classList.add("is-active") : e.classList.contains("is-active") && e.classList.remove("is-active"), l.offAccessibility(e); }), 0 < i.length && imageLoader.setResponsiveImage(i)) : r.compareListItems.forEach(function (e) { v(e), m(e); }); } var r, l, d, e, i, s, n, a, c, u, h, p, m, v, f, g, w; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.compare = window.buds2pro.compare || {}), (buds2pro.compare = ((r = {}), (l = window.buds2pro.common.utils), (d = !1), (e = null), (i = function () { s(), window.removeEventListener("load", i); }), (s = function () { (d = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(r.resizeTimeout), (r.resizeTimeout = setTimeout(function () { "mobile" != d && g(), h(); }, 100)), d != e && (n(), (e = d)); }), (n = function () { (r.currentTabIndex = 0), null != r.swiper && (r.swiper.destroy(!0), (r.swiper = null), (r.isSwiperInit = !1)); null == r.swiper && ((r.swiper = new Swiper(r.compareContainer, { init: !1, allowTouchMove: !1, slidesPerView: "mobile" != d ? "auto" : 1, navigation: { nextEl: r.nextArrow, prevEl: r.prevArrow }, })), r.swiper.on("snapIndexChange", function () { r.isSwiperInit && w(!0); }), r.swiper.on("init", function () { w(!1), (r.isSwiperInit = !0); var e = this.el.querySelector(".swiper-notification"); e && this.el.removeChild(e); }), r.swiper.init()); o(), null != r.moTabSwiper && (r.moTabSwiper.destroy(!0), (r.moTabSwiper = null)); "mobile" == d && setTimeout(function () { null == r.moTabSwiper && ((r.moTabSwiper = new Swiper(r.compareTab, { init: !1, slidesPerView: "auto", freeMode: !0, })), r.moTabSwiper.on("init", function () { var e = this.el.querySelector(".swiper-notification"); e && this.el.removeChild(e); }), r.moTabSwiper.init()); r.compareColorWraps.forEach(function (e) { e.style.height = ""; }), t(); }, 200); }), (a = function () { }), (c = function () { var e = r.compareTabButtons.indexOf(this); e != r.currentTabIndex && (null != r.swiper && (r.swiper.slideTo(e), o(r.compareListItems[e])), (r.currentTabIndex = e), t()); }), (u = function () { var e, t, i, s; null != r.moTabSwiper && ((s = r.compareTabButtons.indexOf(this)), (i = r.compareTabButtons[s].parentNode), (e = r.compareTabList.getBoundingClientRect()), (t = i.getBoundingClientRect()), (i = parseInt(getComputedStyle(i).marginLeft)), (s = 0 == s || s == r.compareTabButtons.length - 1 ? r.moTabSwiper.slidesGrid[s] > r.moTabSwiper.snapGrid[r.moTabSwiper.snapGrid.length - 1] ? r.moTabSwiper.snapGrid[ r.moTabSwiper.snapGrid.length - 1 ] : r.moTabSwiper.slidesGrid[s] : (l.isRTL() ? e.right - t.right : t.left - e.left) - t.width / 2 - i * r.marginCount), TweenMax.to(r.compareTabList, 0.3, { x: s * (l.isRTL() ? 1 : -1) + "px", }), (r.compareTab.scrollLeft = 0)); }), (h = function () { var e, t, i, s; null != r.moTabSwiper && ((i = r.compareTabButtons[r.currentTabIndex].parentNode), (e = r.compareTabList.getBoundingClientRect()), (s = i.getBoundingClientRect()), (i = 2 * (t = parseInt(getComputedStyle(i).marginLeft)) + i.clientWidth), (s = s.left - e.left - t), (r.compareTabHighlight.style.width = i + "px"), (r.compareTabHighlight.style.left = s + "px")); }), (p = function () { var i, e = l.closest(this, ".sc-buds-compare__list-item"), t = e.getAttribute("data-size"), s = e.getAttribute("data-color"), n = this.getAttribute("data-default-size"), a = this.getAttribute("data-color"); s != a && (t != n && e.setAttribute("data-size", n), s != a && e.setAttribute("data-color", a), (t = l.convertArray( e.querySelectorAll(".sc-buds-compare__color") )), (i = t.indexOf(this)), t.forEach(function (e, t) { i == t ? (e.classList.contains("is-active") || e.classList.add("is-active"), e.setAttribute("title", "selected")) : (e.classList.contains("is-active") && e.classList.remove("is-active"), e.removeAttribute("title")); }), o(e), m(e)); }), (m = function (e) { var i = e.getAttribute("data-size"); l.convertArray( e.querySelectorAll(".sc-buds-compare__list-size-button") ).forEach(function (e) { var t = e.getAttribute("data-size"); i == t ? e.classList.contains("is-active") || e.classList.add("is-active") : e.classList.contains("is-active") && e.classList.remove("is-active"); }); }), (v = function (e) { var s = e.getAttribute("data-color"), n = e.getAttribute("data-size"); l.convertArray( e.querySelectorAll(".sc-buds-compare__color") ).forEach(function (e) { var t = e.getAttribute("data-color"), i = e.getAttribute("data-default-size"); s == t && n == i ? e.classList.contains("is-active") || e.classList.add("is-active") : e.classList.contains("is-active") && e.classList.remove("is-active"); }); }), (f = function (e) { var t = "", i = e.getAttribute("data-product"), s = e.getAttribute("data-color"), e = e.getAttribute("data-size"); return (t += i), s && (t += "-" + s), e && (t += "-" + e), t; }), (g = function () { var t = [], i = (r.compareColorWraps.forEach(function (e) { (e.style.height = ""), t.push(e.clientHeight); }), t.reduce(function (e, t) { return Math.max(e, t); })); r.compareColorWraps.forEach(function (e) { e.style.height = i + "px"; }); }), { init: function () { (r.section = document.querySelector(".sc-buds-compare")), r.section && ((r.isSwiperInit = !1), (r.moTabSwiper = null), (r.currentTabIndex = 0), (r.compareTab = r.section.querySelector( ".sc-buds-compare__tab" )), (r.compareTabList = r.compareTab.querySelector( ".sc-buds-compare__tab-list" )), (r.compareTabButtons = l.convertArray( r.compareTabList.querySelectorAll( ".sc-buds-compare__tab-button button" ) )), (r.compareTabHighlight = r.compareTab.querySelector( ".sc-buds-compare__tab-highlight" )), (r.swiper = null), (r.compareContainer = r.section.querySelector( ".sc-buds-compare__container" )), (r.compareListItems = l.convertArray( r.compareContainer.querySelectorAll( ".sc-buds-compare__list-item" ) )), (r.compareColorWraps = l.convertArray( r.compareContainer.querySelectorAll( ".sc-buds-compare__list-colors" ) )), (r.compareColorChips = l.convertArray( r.compareContainer.querySelectorAll( ".sc-buds-compare__list-item .sc-buds-compare__color" ) )), (r.nextArrow = r.section.querySelector( ".swiper-button-next" )), (r.prevArrow = r.section.querySelector( ".swiper-button-prev" )), (r.marginCount = r.compareTabButtons.length - 2 + 0.5), window.addEventListener("load", i), window.addEventListener("resize", s), window.addEventListener("scroll", a), r.compareTabButtons.forEach(function (e) { e.addEventListener("click", c), e.addEventListener("focus", u); }), r.compareColorChips.forEach(function (e) { e.addEventListener("click", p); })); }, setSlideAccessibility: (w = function (n) { var a; null != r.swiper && ((a = []), r.compareListItems.forEach(function (t, e) { var i, s = l.convertArray( t.querySelectorAll( ".sc-buds-compare__list-product-item" ) ); r.swiper.snapIndex <= e && e < r.swiper.snapIndex + ("mobile" != d ? 3 : 1) ? (l.offAccessibility(t), s.forEach(function (e) { e.getAttribute("data-product") == f(t) ? (e.classList.contains("is-active") || e.classList.add("is-active"), l.offAccessibility(e)) : (e.classList.contains("is-active") && e.classList.remove("is-active"), l.onAccessibility(e)), n && l .convertArray(e.querySelectorAll("img")) .forEach(function (e) { e.classList.contains("load-complete") || a.push(e); }); }), (i = t.getAttribute("data-color")), l .convertArray( t.querySelectorAll(".sc-buds-compare__color") ) .forEach(function (e) { e.getAttribute("data-color") == i ? (e.classList.contains("is-active") || e.classList.add("is-active"), e.setAttribute("title", "selected")) : (e.classList.contains("is-active") && e.classList.remove("is-active"), e.removeAttribute("title")), l.offAccessibility(e); })) : (l.onAccessibility(t), s.forEach(function (e) { l.onAccessibility(e); })); }), 0 < a.length && imageLoader.setResponsiveImage(a)); }), })); })(), (function () { function t() { var e = s.getCookie(i.cookieName); null != e && e.length && "1" == e ? (document.documentElement.classList.add("color_yb"), i.contrastBtn.setAttribute( "title", i.contrastBtnTitle + " selected" ), i.defaultBtn.setAttribute("title", i.defaultBtnTitle)) : (document.documentElement.classList.remove("color_yb"), i.contrastBtn.setAttribute("title", i.contrastBtnTitle), i.defaultBtn.setAttribute( "title", i.defaultBtnTitle + " selected" )); } var i, s, e, n, a; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.contrast = window.buds2pro.contrast || {}), (buds2pro.contrast = ((i = {}), (s = window.buds2pro.common.utils), (e = function () { t(); }), (n = function (e) { e.preventDefault(), s.setCookie(i.cookieName, "0", 1), t(); }), (a = function (e) { e.preventDefault(), s.setCookie(i.cookieName, "1", 1), t(); }), { init: function () { if ( ((i.section = document.querySelector(".cp-high-contrast")), i.section) ) { if ( ((i.defaultBtn = i.section.querySelector(".type-default")), (i.defaultBtnTitle = i.defaultBtn .getAttribute("title") .trim()), (i.contrastBtn = i.section.querySelector(".type-contrast")), (i.contrastBtnTitle = i.contrastBtn .getAttribute("title") .trim()), (i.cookieName = "highContrastMode"), window.addEventListener("load", e), !!i.defaultBtn) ) i.defaultBtn.addEventListener("click", n); if (!!i.contrastBtn) i.contrastBtn.addEventListener("click", a); } }, })); })(), (function () { var e, t, i, s, n, a, o, r; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.easyPairing = window.buds2pro.easyPairing || {}), (buds2pro.easyPairing = ((e = {}), window.buds2pro.common.utils, (t = !1), (i = null), (s = function () { (n(), o(), "undefined" != typeof __BUDS_SEQUENCE_URL && null != __BUDS_SEQUENCE_URL && null != __BUDS_SEQUENCE_URL && "" != __BUDS_SEQUENCE_URL) ? (e.sequenceImagePath = __BUDS_SEQUENCE_URL + "/") : (e.sequenceImagePath = "/src/_galaxy-buds2-pro/images/"); null == e.sequencePlayer && (e.sequencePlayer = SEQUENCEPLAYER({ targetElement: e.sequenceCanvas, startNum: 0, endNum: 68, path: e.sequenceImagePath, name: "galaxy-buds2-pro-easy-pairing-sequence_", extension: "jpg", playTime: 2e3, imageLoadOffset: 1, })); window.removeEventListener("load", s); }), (n = function () { (t = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(e.resizeTimeout), (e.resizeTimeout = setTimeout(function () { }, 100)), o(), t != i && (a(), (i = t)); }), (a = function () { r(), null == e.sequenceScroller && (e.sequenceScroller = SCROLLER({ trackElement: e.sequenceCanvas, activeElement: e.section, activeType: "reverse", correction: 0.3, activeCallback: function () { null != e.sequencePlayer && (e.sequencePlayer.stop(), e.sequencePlayer.play()); }, endCallback: function () { null != e.sequencePlayer && e.sequencePlayer.stop(); }, })); }), (o = function () { null != e.sequenceScroller && e.sequenceScroller.activeAnimation(); }), (r = function () { null != e.sequenceScroller && (e.sequenceScroller.destroy(), (e.sequenceScroller = null)); }), { init: function () { (e.section = document.querySelector(".sc-buds-easy-pairing")), e.section && ((e.sequenceScroller = null), (e.sequencePlayer = null), (e.sequenceImagePath = null), (e.sequenceCanvas = e.section.querySelector( ".sc-buds-easy-pairing__kv-inner" )), window.addEventListener("load", s), window.addEventListener("resize", n), window.addEventListener("scroll", o)); }, })); })(), (function () { var o, r, e, t, i, s, n, a, l, d, c; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.ecosystem = window.buds2pro.ecosystem || {}), (buds2pro.ecosystem = ((o = {}), (r = window.buds2pro.common.utils), (e = !1), (t = null), (i = function () { o.ecoPopups.forEach(function (e, t) { t = o.ecoItemButtons[t]; e.classList.contains("is-active") && e.classList.remove("is-active"), document.documentElement.classList.contains( "is-layer-popup-opened" ) || (r.onAccessibility(e), r.offAccessibility(t)); }), s(), window.removeEventListener("load", i); }), (s = function () { (e = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(o.resizeTimeout), (o.resizeTimeout = setTimeout(function () { }, 100)), e != t && (n(), (t = e)); }), (n = function () { }), (a = function () { r.customParallax({ wrapperElement: o.section, activeElement: o.ecoItem01, distance: 10, direction: -1, }), r.customParallax({ wrapperElement: o.section, activeElement: o.ecoItem02, distance: 10, }), r.customParallax({ wrapperElement: o.section, activeElement: o.ecoItem03, distance: 5, }), r.customParallax({ wrapperElement: o.section, activeElement: o.ecoItem04, distance: 5, direction: -1, }); }), (l = function (e) { e.preventDefault(); var n = o.ecoItemButtons.indexOf(this), a = []; o.ecoPopups.forEach(function (e, t) { var i = o.ecoItemButtons[t], s = e.querySelector(".sc-wearable-ecosystem__popup-close"); n == t ? (e.classList.contains("is-active") || e.classList.add("is-active"), document.documentElement.classList.contains( "is-layer-popup-opened" ) || (r.offAccessibility(e), r.onAccessibility(i)), document.removeEventListener("click", c), setTimeout(function () { s.focus(), document.addEventListener("click", c); }, 400), r .convertArray(e.querySelectorAll("img")) .forEach(function (e) { e.classList.contains("load-complate") || a.push(e); })) : (e.classList.contains("is-active") && e.classList.remove("is-active"), document.documentElement.classList.contains( "is-layer-popup-opened" ) || (r.onAccessibility(e), r.offAccessibility(i))); }), 0 < a.length && imageLoader.setResponsiveImage(a); }), (d = function () { o.ecoPopups.forEach(function (e, t) { t = o.ecoItemButtons[t]; e.classList.contains("is-active") && e.classList.remove("is-active"), document.documentElement.classList.contains( "is-layer-popup-opened" ) || (r.onAccessibility(e), r.offAccessibility(t)); }); var e = r .closest(this, ".sc-wearable-ecosystem__item") .querySelector(".sc-wearable-ecosystem__item-cta-link"); setTimeout(function () { e.focus(), document.removeEventListener("click", c); }, 400); }), (c = function (e) { null == r.closest(e.target, ".sc-wearable-ecosystem__popup") && (o.ecoPopups.forEach(function (e, t) { t = o.ecoItemButtons[t]; e.classList.contains("is-active") && e.classList.remove("is-active"), document.documentElement.classList.contains( "is-layer-popup-opened" ) || (r.onAccessibility(e), r.offAccessibility(t)); }), document.removeEventListener("click", c)); }), { init: function () { (o.section = document.querySelector(".sc-wearable-ecosystem")), o.section && ((o.ecoContents = o.section.querySelector( ".sc-wearable-ecosystem__contents" )), (o.ecoItems = r.convertArray( o.ecoContents.querySelectorAll( ".sc-wearable-ecosystem__item" ) )), (o.ecoItemButtons = r.convertArray( o.ecoContents.querySelectorAll( ".sc-wearable-ecosystem__item-cta-link" ) )), (o.ecoPopups = r.convertArray( o.ecoContents.querySelectorAll( ".sc-wearable-ecosystem__popup" ) )), (o.ecoPopupCloseButtons = r.convertArray( o.ecoContents.querySelectorAll( ".sc-wearable-ecosystem__popup-close" ) )), (o.ecoItem01 = o.ecoContents.querySelector( ".sc-wearable-ecosystem__item--01 .sc-wearable-ecosystem__item-inner" )), (o.ecoItem02 = o.ecoContents.querySelector( ".sc-wearable-ecosystem__item--02 .sc-wearable-ecosystem__item-inner" )), (o.ecoItem03 = o.ecoContents.querySelector( ".sc-wearable-ecosystem__item--03 .sc-wearable-ecosystem__item-inner" )), (o.ecoItem04 = o.ecoContents.querySelector( ".sc-wearable-ecosystem__item--04 .sc-wearable-ecosystem__item-inner" )), window.addEventListener("load", i), window.addEventListener("resize", s), window.addEventListener("scroll", a), o.ecoItemButtons.forEach(function (e) { e.addEventListener("click", l); }), o.ecoPopupCloseButtons.forEach(function (e) { e.addEventListener("click", d); })); }, })); })(), (function () { var s, e, n, t, i, a, o, r; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.ergonomic = window.buds2pro.ergonomic || {}), (buds2pro.ergonomic = ((s = {}), (e = window.buds2pro.common.utils), (n = !1), (t = null), (i = function () { a(), r(), window.removeEventListener("load", i); }), (a = function () { (n = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(s.resizeTimeout), (s.resizeTimeout = setTimeout(function () { r(); }, 100)), n != t && (o(), (t = n)); }), (o = function () { null != s.scroller && (s.scroller.destroy(), (s.scroller = null)); null == s.scroller && (s.scroller = SCROLLER({ trackElement: s.section, useFixed: !1, })); }), (r = function () { null != s.scroller && s.scroller.trackAnimation(function () { var e = ANIUTIL.calRange({ targetValue: "mobile" != n ? 25 : 10, progress: this.progress, startPoint: 0, endPoint: "mobile" != n ? 60 : 40, }), t = ANIUTIL.calRange({ targetValue: 10, progress: this.progress, startPoint: 0, endPoint: 60, }), i = ANIUTIL.calRange({ targetValue: 8, progress: this.progress, startPoint: 0, endPoint: 60, }); TweenMax.to(s.designKvItems[0], 0.5, { y: e - ("mobile" != n ? 5 : 0) + "%", z: 0, }), TweenMax.to(s.designKvItems[1], 0.6, { y: 20 - t + "%", z: 0, }), TweenMax.to(s.designKvItems[2], 0.3, { y: i - 4 + "%", z: 0, }); }); }), { init: function () { (s.section = document.querySelector( ".sc-buds-ergonomic-design" )), s.section && ((s.scroller = null), (s.designKvWrap = s.section.querySelector( ".sc-buds-ergonomic-design__kv-items" )), (s.designKvItems = e.convertArray( s.designKvWrap.querySelectorAll( ".sc-buds-ergonomic-design__kv-item" ) )), window.addEventListener("load", i), window.addEventListener("resize", a), window.addEventListener("scroll", r)); }, })); })(), (function () { var o, r, e, t, i, s, n, a, l, d, c; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.excellence = window.buds2pro.excellence || {}), (buds2pro.excellence = ((o = {}), (r = window.buds2pro.common.utils), (e = !1), (t = null), (i = function () { s(), window.removeEventListener("load", i); }), (s = function () { (e = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(o.resizeTimeout), (o.resizeTimeout = setTimeout(function () { c(); }, 100)), e != t && (n(), (t = e)); }), (n = function () { null != o.moNavSwiper && (o.moNavSwiper.destroy(!0), (o.moNavSwiper = null)); if ("mobile" != e) o.infoButtons.forEach(function (e, t) { var i = o.contentKv[t]; o.currentIndex == t ? (o.info[t].classList.contains("is-active") || o.info[t].classList.add("is-active"), i.classList.contains("is-active") || i.classList.add("is-active"), e.setAttribute("title", "selected"), document.documentElement.classList.contains( "is-layer-popup-opened" ) || r.offAccessibility(i)) : (o.info[t].classList.contains("is-active") && o.info[t].classList.remove("is-active"), i.classList.contains("is-active") && i.classList.remove("is-active"), e.removeAttribute("title"), document.documentElement.classList.contains( "is-layer-popup-opened" ) || r.onAccessibility(i)); }); else if ( (o.moNavButtons.forEach(function (e, t) { var i = o.contentKv[t], s = o.moInfo[t]; o.currentIndex == t ? (e.classList.contains("is-active") || e.classList.add("is-active"), i.classList.contains("is-active") || i.classList.add("is-active"), s.classList.contains("is-active") || s.classList.add("is-active"), e.setAttribute("aria-selected", !0), document.documentElement.classList.contains( "is-layer-popup-opened" ) || (r.offAccessibility(i), r.offAccessibility(s))) : (e.classList.contains("is-active") && e.classList.remove("is-active"), i.classList.contains("is-active") && i.classList.remove("is-active"), s.classList.contains("is-active") && s.classList.remove("is-active"), e.setAttribute("aria-selected", !1), document.documentElement.classList.contains( "is-layer-popup-opened" ) || (r.onAccessibility(i), r.onAccessibility(s))); }), null == o.moNavSwiper) ) (o.moNavSwiper = new Swiper(o.moNavBg, { init: !1, slidesPerView: "auto", freeMode: !0, })), o.moNavSwiper.on("init", function () { var e = this.el.querySelector(".swiper-notification"); e && this.el.removeChild(e); }), o.moNavSwiper.init(); }), (a = function () { var n, a = o.infoButtons.indexOf(this); o.currentIndex != a && ((n = []), o.infoButtons.forEach(function (e, t) { var i = o.contentKv[t], s = o.infoButtons[t]; a == t ? (o.info[t].classList.contains("is-active") || o.info[t].classList.add("is-active"), i.classList.contains("is-active") || i.classList.add("is-active"), e.setAttribute("title", "selected"), document.documentElement.classList.contains( "is-layer-popup-opened" ) || r.offAccessibility(i), r .convertArray(i.querySelectorAll("img")) .forEach(function (e) { e.classList.contains("load-complete") || n.push(e); }), r .convertArray(s.querySelectorAll("img")) .forEach(function (e) { e.classList.contains("load-complete") || n.push(e); })) : (o.info[t].classList.contains("is-active") && o.info[t].classList.remove("is-active"), i.classList.contains("is-active") && i.classList.remove("is-active"), e.removeAttribute("title"), document.documentElement.classList.contains( "is-layer-popup-opened" ) || r.onAccessibility(i)); }), 0 < n.length && imageLoader.setResponsiveImage(n), (o.currentIndex = a)); }), (l = function () { var n, e, a = o.moNavButtons.indexOf(this); o.currentIndex != a && ((n = []), o.moNavButtons.forEach(function (e, t) { var i = o.contentKv[t], s = o.moInfo[t]; a == t ? (e.classList.contains("is-active") || e.classList.add("is-active"), i.classList.contains("is-active") || i.classList.add("is-active"), s.classList.contains("is-active") || s.classList.add("is-active"), e.setAttribute("aria-selected", !0), document.documentElement.classList.contains( "is-layer-popup-opened" ) || (r.offAccessibility(i), r.offAccessibility(s)), r .convertArray(s.querySelectorAll("img")) .forEach(function (e) { e.classList.contains("load-complete") || n.push(e); })) : (e.classList.contains("is-active") && e.classList.remove("is-active"), i.classList.contains("is-active") && i.classList.remove("is-active"), s.classList.contains("is-active") && s.classList.remove("is-active"), e.setAttribute("aria-selected", !1), document.documentElement.classList.contains( "is-layer-popup-opened" ) || (r.onAccessibility(i), r.onAccessibility(s))); }), 0 < n.length && imageLoader.setResponsiveImage(n), (o.currentIndex = a), (e = this), clearTimeout(o.moNavClickTimeout), (o.moNavClickTimeout = setTimeout(function () { e.blur(); }, 150)), (o.moNavClickTimeout = setTimeout(function () { e.focus(); }, 300)), c()); }), (d = function () { var e = o.moNavButtons.indexOf(this), t = o.moNavList.getBoundingClientRect(), e = o.moNavButtons[e].getBoundingClientRect(), t = r.isRTL() ? t.right - e.right - (t.width - e.width) / 2 : e.left - t.left - (t.width - e.width) / 2; t > o.moNavSwiper.snapGrid[o.moNavSwiper.snapGrid.length - 1] ? (t = o.moNavSwiper.snapGrid[o.moNavSwiper.snapGrid.length - 1]) : t < o.moNavSwiper.snapGrid[0] && (t = o.moNavSwiper.snapGrid[0]), TweenMax.to(o.moNavList, 0.3, { x: t * (r.isRTL() ? 1 : -1) + "px", }); }), (c = function () { var e, t, i, s; null != o.moNavSwiper && ((s = o.moNavButtons[o.currentIndex]), (e = o.moNavList.getBoundingClientRect()), (t = s.getBoundingClientRect()), o.moNavButtons.forEach(function (e, t) { o.currentIndex == t ? (e.classList.contains("is-active") || e.classList.add("is-active"), e.setAttribute("aria-selected", !0)) : (e.classList.contains("is-active") && e.classList.remove("is-active"), e.setAttribute("aria-selected", !1)); }), (i = t.left - e.left), (s = s.clientWidth), TweenMax.to(o.moNavHighlight, 0.3, { width: s + "px", left: i + "px", }), (s = r.isRTL() ? e.right - t.right - (e.width - t.width) / 2 : t.left - e.left - (e.width - t.width) / 2) > o.moNavSwiper.snapGrid[o.moNavSwiper.snapGrid.length - 1] ? (s = o.moNavSwiper.snapGrid[o.moNavSwiper.snapGrid.length - 1]) : s < o.moNavSwiper.snapGrid[0] && (s = o.moNavSwiper.snapGrid[0]), TweenMax.to(o.moNavList, 0.3, { x: s * (r.isRTL() ? 1 : -1) + "px", })); }), { init: function () { (o.section = document.querySelector(".sc-buds-excellence")), o.section && ((o.currentIndex = 0), (o.moNavSwiper = null), (o.contents = o.section.querySelector( ".sc-buds-excellence__contents" )), (o.contentKvWrap = o.contents.querySelector( ".sc-buds-excellence__kv-wrap" )), (o.contentKv = r.convertArray( o.contentKvWrap.querySelectorAll( ".sc-buds-excellence__kv" ) )), (o.infoWrap = o.section.querySelector( ".sc-buds-excellence__info-wrap--pc" )), (o.info = r.convertArray( o.infoWrap.querySelectorAll(".sc-buds-excellence__info") )), (o.infoButtons = r.convertArray( o.infoWrap.querySelectorAll(".sc-buds-excellence__btn") )), (o.moInfoWrap = o.section.querySelector( ".sc-buds-excellence__info-wrap--mo" )), (o.moInfo = r.convertArray( o.moInfoWrap.querySelectorAll(".sc-buds-excellence__info") )), (o.moNavClickTimeout = null), (o.moNav = o.section.querySelector( ".sc-buds-excellence__nav" )), (o.moNavBg = o.moNav.querySelector( ".sc-buds-excellence__nav-bg" )), (o.moNavList = o.moNavBg.querySelector( ".sc-buds-excellence__nav-wrap" )), (o.moNavHighlight = o.moNavList.querySelector( ".sc-buds-excellence__nav-highlight" )), (o.moNavButtons = r.convertArray( o.moNavList.querySelectorAll( ".sc-buds-excellence__nav-button" ) )), window.addEventListener("load", i), window.addEventListener("resize", s), o.infoButtons.forEach(function (e) { e.addEventListener("click", a); }), o.moNavButtons.forEach(function (e) { e.addEventListener("click", l), e.addEventListener("focus", d); })); }, })); })(), (function () { var n, e, t; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.expert = window.buds2pro.expert || {}), (buds2pro.expert = ((n = {}), (e = window.buds2pro.common.utils), (t = function (e) { e.preventDefault(); var e = this.getAttribute("href"), e = (buds2pro.video.showVideoLayer(e, this, !0), document.querySelector("#layer-youtube")), t = e.querySelector("iframe"), i = n.youtubeLink.indexOf(this), s = null; (s = n.youtubeDesc[i]).removeAttribute("aria-hidden", ""), null != s && e.querySelector(".m_video_view").appendChild(s), t.setAttribute( "title", n.iframeTitle[i].getAttribute("data-iframe-title") ), window.GALAXY && window.GALAXY.isGalaxy && 0 < n.youtubeLayer[i].querySelectorAll(".youtube-slide") .length && window.GALAXY.omniture(this.getAttribute("data-omni")); }), { init: function () { (n.section = document.querySelector(".sc-buds-expert-review")), n.section && ((n.youtubeLayer = n.section.querySelectorAll(".js-youtube-layer")), (n.youtubeLink = e.convertArray( n.section.querySelectorAll(".js-youtube-link") )), (n.youtubeDesc = n.section.querySelectorAll(".js-youtube-desc")), (n.iframeTitle = n.section.querySelectorAll(".js-iframe-title")), n.youtubeLink.forEach(function (e) { e.addEventListener("click", t); })); }, })); })(), (function () { var e, t, i, s, n, a, o; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.hifi = window.buds2pro.hifi || {}), (buds2pro.hifi = ((e = {}), window.buds2pro.common.utils, (t = !1), (i = null), (s = function () { n(), o(), window.removeEventListener("load", s); }), (n = function () { (t = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(e.resizeTimeout), (e.resizeTimeout = setTimeout(function () { o(); }, 100)), t != i && (a(), (i = t)); }), (a = function () { null != e.sequenceScroller && (e.sequenceScroller.destroy(), (e.sequenceScroller = null)); null != e.sequencePlayer && (e.sequenceCanvas.removeChild( e.sequenceCanvas.querySelector("canvas") ), (e.sequencePlayer = null)); null == e.sequenceScroller && (e.sequenceScroller = SCROLLER({ trackElement: e.sequenceCanvas, activeElement: e.section, activeType: "oneWay", correction: 0.6, activeCallback: function () { e.section.classList.remove("is-sequence-complete"), null != e.sequencePlayer && (e.sequencePlayer.stop(), e.sequencePlayer.play({ endCallback: function () { e.section.classList.add("is-sequence-complete"); }, })); }, endCallback: function () { e.section.classList.remove("is-sequence-complete"), null != e.sequencePlayer && e.sequencePlayer.stop(); }, })); "undefined" != typeof __BUDS_SEQUENCE_URL && null != __BUDS_SEQUENCE_URL && null != __BUDS_SEQUENCE_URL && "" != __BUDS_SEQUENCE_URL ? (e.sequenceImagePath = __BUDS_SEQUENCE_URL + "/") : (e.sequenceImagePath = "/src/_galaxy-buds2-pro/images/"); null == e.sequencePlayer && (e.sequencePlayer = SEQUENCEPLAYER({ targetElement: e.sequenceCanvas, startNum: 0, endNum: 42, path: e.sequenceImagePath, name: "mobile" != t ? "galaxy-buds2-pro-hifi-audio-pc-sequence_" : "galaxy-buds2-pro-hifi-audio-mo-sequence_", extension: "jpg", playTime: 1200, imageLoadOffset: 2, })); }), (o = function () { null != e.sequenceScroller && e.sequenceScroller.activeAnimation(); }), { init: function () { (e.section = document.querySelector(".sc-buds-hifi-audio")), e.section && ((e.sequenceScroller = null), (e.sequencePlayer = null), (e.sequenceImagePath = null), (e.sequenceCanvas = e.section.querySelector( ".sc-buds-hifi-audio__parts" )), window.addEventListener("load", s), window.addEventListener("resize", n), window.addEventListener("scroll", o)); }, })); })(), (function () { var s, e; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.howto = window.buds2pro.howto || {}), (buds2pro.howto = ((s = {}), (e = function (e) { e.preventDefault(); var e = s.youtubeLink.getAttribute("href"), e = (buds2pro.video.showVideoLayer(e, s.youtubeLink, !0), document.querySelector("#layer-youtube")), t = e.querySelector("iframe"), i = null; !s.youtubeLink.getAttribute("data-hidden-text") && s.youtubeDesc && ((i = s.youtubeDesc.cloneNode(!0)).removeAttribute( "aria-hidden", "" ), null != i && e.querySelector(".m_video_view").appendChild(i)), t.setAttribute( "title", s.iframeTitle.getAttribute("data-iframe-title") ), window.GALAXY && window.GALAXY.isGalaxy && 0 < s.youtubeLayer.querySelectorAll(".youtube-slide").length && window.GALAXY.omniture( s.youtubeLink.getAttribute("data-omni") ); }), { init: function () { (s.section = document.querySelector(".sc-buds-how-to")), s.section && ((s.youtubeLayer = s.section.querySelector(".js-youtube-layer")), (s.youtubeLink = s.youtubeLayer.querySelector(".js-youtube-link")), (s.youtubeDesc = s.youtubeLayer.querySelector(".js-youtube-desc")), (s.iframeTitle = s.youtubeLayer.querySelector(".js-iframe-title")), s.youtubeLink.addEventListener("click", e)); }, })); })(), (function () { function n() { a.immersiveTabContents[a.currentIndex].classList.contains( "is-active" ) && ((a.immersivePlayTexts[a.currentIndex].innerHTML = "play"), a.immersiveTabContents[a.currentIndex].classList.remove("s-play"), a.immersiveTabContents[a.currentIndex] .querySelector("video") .pause(), (a.isPaused = !0), p.call(a.immersivePlayButtons[a.currentIndex])); } var a, o, e, t, i, s, r, l, d, c, u, h, p, m; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.immersive = window.buds2pro.immersive || {}), (buds2pro.immersive = ((a = {}), (o = window.buds2pro.common.utils), (e = !1), (t = null), (i = function () { s(), window.removeEventListener("load", i); }), (s = function () { (e = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(a.resizeTimeout), (a.resizeTimeout = setTimeout(function () { c(); }, 100)), e != t && (r(), (t = e)); }), (r = function () { a.immersiveTabButtons.forEach(function (e, t) { var i = a.immersiveTabContents[t]; setTimeout(function () { a.currentIndex == t ? (e.classList.contains("is-active") || e.classList.add("is-active"), i.classList.contains("is-active") || i.classList.add("is-active"), e.setAttribute("aria-selected", !0), o.offAccessibility(i)) : (e.classList.contains("is-active") && e.classList.remove("is-active"), i.classList.contains("is-active") && i.classList.remove("is-active"), e.setAttribute("aria-selected", !1), o.onAccessibility(i)); }, 500); }); }), (l = function () { var e = window.pageYOffset, t = e + window.innerHeight, i = a.immersiveTabContent.getBoundingClientRect(), s = e + i.top, i = e + i.bottom; !a.isPaused && (t <= s || i <= e) && n(); }), (d = function () { var s = a.immersiveTabButtons.indexOf(this); s != a.currentIndex && (a.immersiveTabButtons.forEach(function (e, t) { var i = a.immersiveTabContents[t]; s == t ? (e.classList.contains("is-active") || e.classList.add("is-active"), i.classList.contains("is-active") || i.classList.add("is-active"), e.setAttribute("aria-selected", !0), o.offAccessibility(i)) : (e.classList.contains("is-active") && e.classList.remove("is-active"), i.classList.contains("is-active") && i.classList.remove("is-active"), e.setAttribute("aria-selected", !1), o.onAccessibility(i)); }), h(), (a.currentIndex = s), c()); }), (c = function () { var e = a.immersiveTabButtons[a.currentIndex], t = a.immersiveTabList.getBoundingClientRect(), e = e.getBoundingClientRect(), e = (a.immersiveTabButtons.forEach(function (e, t) { a.currentIndex == t ? e.classList.contains("is-active") || e.classList.add("is-active") : e.classList.contains("is-active") && e.classList.remove("is-active"); }), e.left - t.left); TweenMax.to(a.immersiveTabHighlight, 0.3, { left: e + "px" }); }), (u = function () { document.documentElement.classList.contains( "is-layer-popup-opened" ) && n(); }), (h = function () { (a.immersivePlayTexts[a.currentIndex].innerHTML = "play"), a.immersiveTabContents[a.currentIndex].classList.remove( "s-play" ), a.immersiveTabContents[a.currentIndex] .querySelector("video") .pause(), (a.immersiveTabContents[a.currentIndex].querySelector( "video" ).currentTime = 0), a.immersiveTabContents[a.currentIndex].classList.add("s-ready"), (a.isPaused = !0), p.call(a.immersivePlayButtons[a.currentIndex]); }), (p = function () { var t = this, i = { "data-omni": t.getAttribute("data-omni"), "ga-la": t.getAttribute("ga-la"), }; setTimeout(function () { Object.keys(i).forEach(function (e) { !1 === a.isPaused ? t.setAttribute(e, i[e].replace(":play", ":pause")) : t.setAttribute(e, i[e].replace(":pause", ":play")); }); }, 50); }), (m = function () { a.isPaused ? a.immersiveTabContents[a.currentIndex].classList.contains( "is-active" ) && ((a.immersivePlayTexts[a.currentIndex].innerHTML = "pause"), a.immersiveTabContents[a.currentIndex].classList.add( "s-play" ), a.immersiveTabContents[a.currentIndex] .querySelector("video") .play(), a.immersiveTabContents[a.currentIndex].classList.contains( "s-ready" ) && (a.immersiveTabContents[a.currentIndex].classList.remove( "s-ready" ), (a.immersiveTabContents[a.currentIndex].querySelector( "video" ).currentTime = 0)), (a.isPaused = !1), p.call(a.immersivePlayButtons[a.currentIndex])) : n(); }), { init: function () { (a.section = document.querySelector(".sc-buds-immersive")), a.section && ((a.currentIndex = 0), (a.isPaused = !0), (a.immersiveTab = a.section.querySelector( ".sc-buds-immersive__tab" )), (a.immersiveTabList = a.immersiveTab.querySelector( ".sc-buds-immersive__tab-list" )), (a.immersiveTabButtons = o.convertArray( a.immersiveTabList.querySelectorAll( ".sc-buds-immersive__tab-button" ) )), (a.immersiveTabHighlight = a.immersiveTabList.querySelector( ".sc-buds-immersive__tab-highlight" )), (a.immersiveTabContent = a.section.querySelector( ".sc-buds-immersive__tab-contents" )), (a.immersiveTabContents = o.convertArray( a.immersiveTabContent.querySelectorAll( ".sc-buds-immersive__tab-content" ) )), (a.immersivePlayButtons = o.convertArray( a.immersiveTabContent.querySelectorAll( ".sc-buds-immersive__play" ) )), (a.immersivePlayTexts = o.convertArray( a.immersiveTabContent.querySelectorAll("span.blind") )), window.addEventListener("load", i), window.addEventListener("resize", s), window.addEventListener("scroll", l), a.immersiveTabButtons.forEach(function (e) { e.addEventListener("click", d); }), a.immersiveTabContents.forEach(function (e) { e.querySelector("video").addEventListener("ended", h), e .querySelector("video") .addEventListener("timeupdate", u); }), a.immersivePlayButtons.forEach(function (e) { e.addEventListener("click", m); })); }, })); })(), (function () { var e; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.kv = window.buds2pro.kv || {}), (buds2pro.kv = ((e = {}), { init: function () { if ( ((e.section = document.querySelector(".sc-buds-kv")), e.section) ) if ( (e.section.classList.remove("is-use-buy"), e.section.classList.remove("is-use-regist"), e.section.classList.remove("is-use-order"), e.section.classList.remove("is-use-where"), e.section.classList.remove("is-use-off"), "undefined" != typeof __BUDS_USE_KV_CTA && null != __BUDS_USE_KV_CTA && null != __BUDS_USE_KV_CTA && "" != __BUDS_USE_KV_CTA) ) "buy-now" == __BUDS_USE_KV_CTA ? e.section.classList.add("is-use-buy") : "pre-order" == __BUDS_USE_KV_CTA ? e.section.classList.add("is-use-order") : "pre-registration" == __BUDS_USE_KV_CTA ? e.section.classList.add("is-use-regist") : "where-to-buy" == __BUDS_USE_KV_CTA ? e.section.classList.add("is-use-where") : "where-to-buy" == __BUDS_USE_KV_CTA && e.section.classList.add("is-use-off"); else e.section.classList.add("is-use-buy"); }, })); })(), (function () { var i, a, e, t, s, n, o, r, l, d; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.overview = window.buds2pro.overview || {}), (buds2pro.overview = ((i = {}), (a = window.buds2pro.common.utils), (e = !1), (t = null), (s = function () { n(), r(), window.removeEventListener("load", s); }), (n = function () { (e = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(i.resizeTimeout), (i.resizeTimeout = setTimeout(function () { d(); }, 100)), r(), e != t && (o(), (t = e)); }), (o = function () { l(), null == i.scroller && (i.scroller = SCROLLER({ trackElement: i.section, useFixed: !1, })); d(); }), (r = function () { null != i.scroller && i.scroller.trackAnimation(function () { var e = ANIUTIL.calRange({ targetValue: 0.8, progress: this.progress, startPoint: 20, endPoint: 50, }); TweenMax.to(i.overviewDimmed, 0.2, { opacity: 0.8 - e }); }); var s = window.pageYOffset, n = s + a.getNavHeight() + (window.innerHeight - a.getNavHeight()) / 2; i.overviewItems.forEach(function (e) { var t = e.getBoundingClientRect(), i = s + t.top, t = s + t.bottom; i <= n && n <= t ? e.classList.contains("is-active") || e.classList.add("is-active") : e.classList.contains("is-active") && e.classList.remove("is-active"); }); }), (l = function () { null != i.scroller && (i.scroller.destroy(), (i.scroller = null)); }), (d = function () { var e = i.fixedElement.getBoundingClientRect(), t = i.overviewListWrap.getBoundingClientRect(), t = parseInt(getComputedStyle(i.overviewListWrap).marginTop) + t.height, e = e.height; i.movingValue = e < t ? t - e + a.getNavHeight() : a.getNavHeight(); }), { init: function () { (i.section = document.querySelector(".sc-buds-overview")), i.section && ((i.scroller = null), (i.activeIndex = 0), (i.movingValue = 0), (i.trackElement = i.section.querySelector( ".sc-buds-overview__track" )), (i.fixedElement = i.section.querySelector( ".sc-buds-overview__fixed" )), (i.overviewListWrap = i.section.querySelector( ".sc-buds-overview__list-wrap" )), (i.overviewList = i.section.querySelector( ".sc-buds-overview__list" )), (i.overviewItems = a.convertArray( i.overviewList.querySelectorAll(".sc-buds-overview__item") )), (i.overviewDimmed = i.section.querySelector( ".sc-buds-overview__dimmed" )), window.addEventListener("load", s), window.addEventListener("resize", n), window.addEventListener("scroll", r)); }, })); })(), (function () { function t(e) { r.videoListItems[e].classList.remove("is-pause"), r.videoListItems[e].classList.remove("is-ready"), r.videoListItems[e].classList.add("is-active"), r.videoSource[e].play(), (r.videoControlTxt[e].innerHTML = "Pause"), (r.videoControls[e].isPaused = !1), g.call(r.videoControls[e]); } function o(e) { r.videoListItems[e].classList.contains("is-active") && (r.videoListItems[e].classList.add("is-pause"), r.videoSource[e].pause(), (r.videoControlTxt[e].innerHTML = "Play"), (r.videoControls[e].isPaused = !0), g.call(r.videoControls[e])); } function n(e, t) { return e[t].querySelector(".sc-buds-recording-video__item-title") .innerText; } var r, i, s, e, a, l, d, c, u, h, p, m, v, f, g, w, b, y, E; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.recording = window.buds2pro.recording || {}), (buds2pro.recording = ((r = {}), (i = window.buds2pro.common.utils), (s = !1), (e = null), (l = function () { d(), window.removeEventListener("load", l); }), (d = function () { (s = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile") != e && (c(), (e = s)); }), (c = function () { r.videoListItems.forEach(function (e, t) { v(t), "mobile" != s && i.offAccessibility(e); }), null != r.swiper && (r.swiper.pagination.destroy(!0), r.swiper.navigation.destroy(!0), r.swiper.destroy(!0), (r.swiper = null), (r.prevIndex = null)); if ( "mobile" == s && (r.videoContent.classList.remove("js-swiper-initialized"), null === r.swiper) ) r.videoContent.classList.add("js-swiper-initialized"), (r.swiper = new Swiper(r.swiperContainer, { init: !1, slidesPerView: "auto", loop: !0, loopFillGroupWithBlank: !0, navigation: { nextEl: r.nextArrow, prevEl: r.prevArrow }, pagination: { el: r.pagination, type: "bullets", renderBullet: function () { return '

        • '; }, }, })), r.swiper.on("slideChange", function () { v(this.previousIndex), f.call(this), w.call(this), b.call(this), y.call(this), imageLoader.setResponsiveImage([ r.prevArrow.querySelector("img"), r.nextArrow.querySelector("img"), ]); }), r.swiper.on("init", function () { var t = this, e = this.el.querySelector(".swiper-notification"); e && this.el.removeChild(e), f.call(this), w.call(this), b.call(this), y.call(this); for (var i = 0; i < this.pagination.bullets.length; i++) !(function (e) { t.pagination.bullets[i].addEventListener( "click", function () { t.slideToLoop(e); } ); })(i); for (i = 0; i < this.slides.length; i++) { var s = this.slides[i].querySelector( ".sc-buds-recording-video__btn-play > img" ), n = this.slides[i].querySelector( ".sc-buds-recording-video__btn-pause > img" ); this.slides[i].classList.contains( "swiper-slide-duplicate" ) && (imageLoader.setResponsiveImage([ this.slides[i].querySelector( "img.sc-buds-recording-video__cover-image" ), ]), imageLoader.setResponsiveImage([s, n]), a(), (r.swiper = this)); } }), r.swiper.init(); }), (u = function () { for ( var e = window.pageYOffset, t = e + window.innerHeight, i = r.videoContent.getBoundingClientRect(), s = e + i.top, n = e + i.bottom, a = 0; a < r.videoControls.length; a++ ) !r.videoControls[a].isPaused && (t <= s || n <= e) && o(a); }), (h = function () { (r.recordingPopup = window.buds2pro.recordingPopup), i.setLastActiveItem(this), r.recordingPopup.showAudioPopupLayer(); }), (p = function (e) { var t = r.videoSource.indexOf(this); v(t); }), (m = function () { var e = r.videoSource.indexOf(this); document.documentElement.classList.contains( "is-layer-popup-opened" ) && o(e); }), (v = function (e) { r.videoListItems[e].classList.contains("is-active") && (r.videoListItems[e].classList.remove("is-pause"), r.videoListItems[e].classList.remove("is-active"), r.videoListItems[e].classList.add("is-ready"), r.videoSource[e].pause(), (r.videoSource[e].currentTime = 0), (r.videoControlTxt[e].innerHTML = "Play"), (r.videoControls[e].isPaused = !0), g.call(r.videoControls[e])); }), (f = function () { var t = this; setTimeout(function () { for (var e = 0; e < t.slides.length; e++) e != t.activeIndex ? i.onAccessibility(t.slides[e]) : i.offAccessibility(t.slides[e]); }, 500); }), (g = function () { var t = this, i = r.videoControls.indexOf(t), s = { "data-omni": t.getAttribute("data-omni"), "ga-la": t.getAttribute("ga-la"), }; setTimeout(function () { Object.keys(s).forEach(function (e) { !1 === r.videoControls[i].isPaused ? t.setAttribute(e, s[e].replace(":play", ":pause")) : t.setAttribute(e, s[e].replace(":pause", ":play")); }); }, 50); }), (w = function () { var t = this; Array.prototype.slice .call(this.pagination.bullets) .forEach(function (i, e) { var e = n(t.slides, e).split("&"), s = (e[0] + "n" + e[1]).toLowerCase().replace(/ /gi, "-"); Object.keys(r.paginationTagging).forEach(function (e) { var t; "data-omni" == e || "ga-la" == e ? ((t = r.paginationTagging[e] + s), i.setAttribute(e, t)) : i.setAttribute(e, r.paginationTagging[e]); }); }); }), (b = function () { var s = this; Array.prototype.slice .call(this.pagination.bullets) .forEach(function (e, t) { var i = n(s.slides, t); s.realIndex == t ? e.setAttribute("aria-label", i + " selected") : e.setAttribute("aria-label", i); }); }), (y = function () { var s = this; setTimeout(function () { Object.keys(r.navArrowTagging).forEach(function (e) { var t = n(s.slides, s.realIndex + 2).split("&"), i = n(s.slides, s.realIndex + 1).split("&"), t = (t[0] + "n" + t[1]).toLowerCase().replace(/ /gi, "-"), i = (i[0] + "n" + i[1]).toLowerCase().replace(/ /gi, "-"); "data-omni" == e || "ga-la" == e ? (r.prevArrow.setAttribute(e, r.navArrowTagging[e] + t), r.nextArrow.setAttribute(e, r.navArrowTagging[e] + i)) : (r.prevArrow.setAttribute(e, r.navArrowTagging[e]), r.nextArrow.setAttribute(e, r.navArrowTagging[e])); }); }, 100); }), (E = function (e) { e.preventDefault(); e = r.videoControls.indexOf(this); null != r.prevIndex && e != r.prevIndex ? (r.videoControls[r.prevIndex].isPaused || o(r.prevIndex), r.videoControls[e].isPaused && t(e)) : (r.videoControls[e].isPaused ? t : o)(e), (r.prevIndex = e); }), { init: (a = function () { (r.section = document.querySelector( ".sc-buds-recording-video" )), r.section && ((r.swiper = null), (r.prevIndex = null), (r.swiperContainer = r.section.querySelector( ".sc-buds-recording-video__contents-inner" )), (r.prevArrow = r.section.querySelector( ".sc-buds-recording-video__arrow-prev" )), (r.nextArrow = r.section.querySelector( ".sc-buds-recording-video__arrow-next" )), (r.pagination = r.section.querySelector(".swiper-pagination")), (r.videoContent = r.section.querySelector( ".sc-buds-recording-video__contents" )), (r.videoListItems = r.section.querySelectorAll( ".sc-buds-recording-video__item" )), (r.videoControls = i.convertArray( r.section.querySelectorAll( ".sc-buds-recording-video__control" ) )), (r.videoControlTxt = r.section.querySelectorAll( ".sc-buds-recording-video__control span.blind" )), (r.videoSource = i.convertArray( r.section.querySelectorAll( ".sc-buds-recording-video__source" ) )), (r.popupOpenBtn = document.querySelector( ".sc-buds-recording__cta" )), (r.paginationTagging = { "data-omni-type": "microsite_pcontentinter", "data-omni": "galaxy-buds2-pro:highlights:360-audio-recording:dot:", "ga-ca": "indication", "ga-ac": "carousel", "ga-la": "galaxy-buds2-pro:highlights:360-audio-recording:dot:", }), (r.navArrowTagging = { "data-omni-type": "microsite_pcontentinter", "data-omni": "galaxy-buds2-pro:highlights:360-audio-recording:arrow:", "ga-ca": "indication", "ga-ac": "carousel", "ga-la": "galaxy-buds2-pro:highlights:360-audio-recording:arrow:", }), window.addEventListener("load", l), window.addEventListener("resize", d), window.addEventListener("scroll", u), r.videoControls.forEach(function (e) { (e.isPaused = !0), e.addEventListener("click", E); }), r.videoSource.forEach(function (e) { e.addEventListener("ended", p), e.addEventListener("timeupdate", m); }), r.popupOpenBtn.addEventListener("click", h)); }), })); })(), (function () { var t, i, e, s, n, a, o, r; (window.buds2pro = window.buds2pro || {}), (window.buds2pro.sound = window.buds2pro.sound || {}), (buds2pro.sound = ((t = {}), window.buds2pro.common.utils, (i = !1), (e = null), (s = function () { n(), o(), window.removeEventListener("load", s); }), (n = function () { (i = 1024 <= window.innerWidth ? "desktop" : 768 <= window.innerWidth && window.innerWidth < 1024 ? "tablet" : "mobile"), clearTimeout(t.resizeTimeout), (t.resizeTimeout = setTimeout(function () { }, 100)), i != e && (a(), (e = i)); }), (a = function () { r(), null == t.scroller && (t.scroller = SCROLLER({ trackElement: t.section, useFixed: !1, })); }), (o = function () { null != t.scroller && t.scroller.trackAnimation(function () { var e = ANIUTIL.calRange({ targetValue: "mobile" != i ? 20 : 40, progress: this.progress, startPoint: 10, endPoint: "mobile" != i ? 50 : 70, }); TweenMax.to(t.soundKv, 0.2, { y: -e + "%" }); }); }), (r = function () { null != t.scroller && (t.scroller.destroy(!0), (t.scroller = null)); }), { init: function () { (t.section = document.querySelector( ".sc-buds-sound-experience" )), t.section && ((t.scroller = null), (t.soundKv = t.section.querySelector( ".sc-buds-sound-experience__kv" )), window.addEventListener("load", s), window.addEventListener("resize", n), window.addEventListener("scroll", o)); }, })); })(), window.addEventListener("load", function () { setTimeout(function () { window.GALAXY && window.GALAXY.isGalaxy && buds2pro.subnav.init(); }, 5); }), buds2pro.audioPopup.init(), buds2pro.recordingPopup.init(), buds2pro.video.init(), buds2pro.kv.init(), buds2pro.overview.init(), buds2pro.sound.init(), buds2pro.hifi.init(), buds2pro.anc.init(), buds2pro.audio.init(), buds2pro.easyPairing.init(), buds2pro.ergonomic.init(), buds2pro.howto.init(), buds2pro.colors.init(), buds2pro.excellence.init(), buds2pro.compare.init(), buds2pro.ecosystem.init(), buds2pro.contrast.init(), buds2pro.expert.init(), buds2pro.recording.init(), buds2pro.immersive.init(); }); document.addEventListener("DOMContentLoaded", function () { let anchors = document.querySelectorAll(".sc-buds-ai-list__anchor"); document .querySelector("#tabListId_0") .classList.add("sc-buds-ai-list__anchor--active"); }); const toggleActiveTabPanelAi = (element) => { const anchorId_0 = document.querySelector("#tabListId_0"); const anchorId_1 = document.querySelector("#tabListId_1"); const panelId_0 = document.querySelector("#tabPanelId_0"); const panelId_1 = document.querySelector("#tabPanelId_1"); if (element.id == "tabListId_0") { anchorId_1.setAttribute("aria-selected", "false"); element.setAttribute("aria-selected", "true"); onActiveAi(element); onInActiveAi(anchorId_1); panelId_1.classList.remove("sc-buds-ai-panel--active"); panelId_1.setAttribute("aria-hidden", "true"); panelId_0.classList.add("sc-buds-ai-panel--active"); panelId_0.setAttribute("aria-hidden", "false"); } else if (element.id == "tabListId_1") { anchorId_0.setAttribute("aria-selected", "false"); element.setAttribute("aria-selected", "true"); onActiveAi(element); onInActiveAi(anchorId_0); panelId_0.classList.remove("sc-buds-ai-panel--active"); panelId_0.setAttribute("aria-hidden", "true"); panelId_1.classList.add("sc-buds-ai-panel--active"); panelId_1.setAttribute("aria-hidden", "false"); } }; const onActiveAi = (anchor) => { anchor.classList.add("sc-buds-ai-list__anchor--active"); let anchorId = anchor.getAttribute("id"); let activeImage = document.querySelector( "#" + anchorId + " .sc-buds-ai-list__image--active" ); let defaultImage = document.querySelector( "#" + anchorId + " .sc-buds-ai-list__image--default" ); activeImage.style.display = "block"; defaultImage.style.display = "none"; }; const onInActiveAi = (anchor) => { if (anchor.getAttribute("aria-selected") == "true") return; let anchorId = anchor.getAttribute("id"); let activeImage = document.querySelector( "#" + anchorId + " .sc-buds-ai-list__image--active" ); let defaultImage = document.querySelector( "#" + anchorId + " .sc-buds-ai-list__image--default" ); activeImage.style.display = "none"; defaultImage.style.display = "block"; anchor.classList.remove("sc-buds-ai-list__anchor--active"); };

        • Samsung Galaxy Buds2 Pro | SM-R510NZAAEUB | Samsung NL (2024)
          Top Articles
          Latest Posts
          Article information

          Author: Terence Hammes MD

          Last Updated:

          Views: 6703

          Rating: 4.9 / 5 (49 voted)

          Reviews: 80% of readers found this page helpful

          Author information

          Name: Terence Hammes MD

          Birthday: 1992-04-11

          Address: Suite 408 9446 Mercy Mews, West Roxie, CT 04904

          Phone: +50312511349175

          Job: Product Consulting Liaison

          Hobby: Jogging, Motor sports, Nordic skating, Jigsaw puzzles, Bird watching, Nordic skating, Sculpting

          Introduction: My name is Terence Hammes MD, I am a inexpensive, energetic, jolly, faithful, cheerful, proud, rich person who loves writing and wants to share my knowledge and understanding with you.