Galaxy S24 Ultra | Galaxy AI | Samsung DE (2024)

Table of Contents
Einfach ausgezeichnet Galaxy AI is here Schlank. Stark. Sensationell. Gut geschützt mit Titan Gut geschützt mit Titan Besserer Schutz vor Kratzern mit Corning® Gorilla® Armor. Vor Wasser und Staub geschützt Neue Farben im mineralischen Look Von Mineralien inspiriert Schlag mit demSPen ein neues Kapitel auf Schlag mit demS Pen ein neues Kapitel auf Starke Kamera. Jetzt mit AI. 200 MP Fast so detailreich wie die Wirklichkeit 200 MP Fast so detailreich wie die Wirklichkeit Unser bisher bestes Quad-Teleobjektiv 5-facher optischer Zoommit 50 MP 5-facher Zoom trifft auf 8K-Video Digitaler Zoom bringt dich nah ran, die AI holt viel raus Digitaler Zoom bringt dich nah ran, die AI holt viel raus Nightography Zoom fängt auch nachts klare Details ein Nightography Zoom fängt auch nachts klare Details ein Klare Portraits auch bei wenig Licht dank AI-Unterstützung 5x Nightography Zoom für Videos macht die Nacht zum Tag Einfach Größe und Position optimieren Einfach Größe und Position optimieren Retuschiere deine Bilder mit dem Foto-Assistent Beherrsche die Zeit mit Instant Slow Motion Beherrsche die Zeit mit Instant Slow Motion Super HDR mit AI – von der Vorschau bis zum Posting Super HDR mit AI – von der Vorschau bis zum Posting Einkreisen, suchen, finden. Es kann so einfach sein. Einkreisen. Suchen. Finden Einfach verständigen mit der Live-Übersetzung Verständige dich in einer Fremdsprache Ein Dolmetscher in deiner Tasche Immer der richtige Ton mit dem Chat-Assistent Textübersetzungen in Echtzeit auf Knopfdruck Mit AI deine Notizen im Handumdrehen zusammenfassen Fasse deine Notizen mit AI zusammen Realitätsnahes Gameplay in deiner Hand Ausdauernder Akku zum Spielen und Weiterspielen Unser hellstes adaptives Smartphone-Display mit 2.600 Nits punktueller Spitzenhelligkeit Warum von iOS zu Samsung Galaxy wechseln? Problemlos von iOS wechseln Mit AI ganz vorne dabei Geräte ohne Grenzen Try Galaxy auf deinem Telefon Gesichert durch Samsung Knox Veränderung beginnt mit kleinen Schritten Eintauschen und sparen Bis zu 1 TB Speicher Zubehör für eine neue Ära Häufig gestellte Fragen References

Galaxy S24 Ultra

  • SPEZIFIKATIONEN
  • SUPPORT
  • REZENSIONEN

Jetzt kaufen

  • Highlights
  • Vergleichen
  • Zubehör
  • SPEZIFIKATIONEN
  • SUPPORT
  • REZENSIONEN
Galaxy S24 Ultra | Galaxy AI | Samsung DE (1)

Jetzt kaufen und gratis Galaxy Watch6 LTE oder 250 € Tauschprämie sichern.*

Aktionszeitraum: 18.04. - 15.05.2024

* Aktionsmodelle und Teilnahmebedingungen auf der Aktionsseite.

Jetzt kaufen Jetzt reservieren Jetzt vorbestellen Händlersuche

Galaxy S24 Ultra | Galaxy AI | Samsung DE (2)

Einfach ausgezeichnet

Das Galaxy S24 Ultra hat verschiedene Fachredaktionen überzeugt und hervorragende Ergebnisse erhalten.

  • Galaxy S24 Ultra | Galaxy AI | Samsung DE (3) 1
  • Galaxy S24 Ultra | Galaxy AI | Samsung DE (4) 2
  • Galaxy S24 Ultra | Galaxy AI | Samsung DE (5) 3
  • Galaxy S24 Ultra | Galaxy AI | Samsung DE (6) 4

1 Computer Bild, Testsieger, sehr gut (1,1), Ausgabe 4/2024, Galaxy S24 Ultra, Vergleichstest mit 6 Galaxy S-Modellen (6x sehr gut)
2 Chip, sehr gut (1,1), veröffentlicht am 02.02.2024 unter chip.de, zum Galaxy S24 Ultra, Einzeltest
3 Connect, sehr gut, veröffentlicht am 10.02.2024 unter connect.de, zum Galaxy S24 Ultra, Einzeltest
4 Chip, Galaxy S24 Ultra, Platz 1 der Chip Bestenliste Smartphone, Januar 2024, in der Liste 195 Smartphones, unter chip.de

Galaxy AI is here

Galaxy AI ist da. Mit dem neuen Galaxy S24 Ultra kannst du dein Leben kreativ, produktiv und unkompliziert gestalten. Mach dich bereit für eine Welt, in der dir alles offensteht. Alles in einem Gerät. Alles in deiner Hand.

Galaxy S24 Ultra | Galaxy AI | Samsung DE (7)

Eine Blog-Seite ist in einer Webbrowser-App geöffnet. Der S Pen wird verwendet, um lange auf die Home-Taste zu drücken. Ein Google-Overlay erscheint über der App. Der S Pen wird verwendet, um einen Text auf einer Blog-Seite einzukreisen: Spiralkartoffel. Die Suchergebnisse für Spiralkartoffeln erscheinen in einem Pop-up über der App. Der S Pen wird verwendet, um die Ergebnisse nach oben in einen Vollbildschirm mit Google-Suchergebnissen zu ziehen.

Galaxy S24 Ultra | Galaxy AI | Samsung DE (8)

Ein Telefongespräch wird in Echtzeit übersetzt. Der Dialog ist auf dem Display als Textkonversation in zwei Sprachen zu sehen.

Galaxy S24 Ultra | Galaxy AI | Samsung DE (9)

In der Interpreter-App wird ein Gespräch in zwei Sprachen niedergeschrieben und in Echtzeit übersetzt.

Galaxy S24 Ultra | Galaxy AI | Samsung DE (10)

Ein längerer Textblock wird in einer Notiz hervorgehoben. Mit wenigen Fingertipps wird eine einfache Gliederung des Inhalts vorgenommen.

Galaxy S24 Ultra | Galaxy AI | Samsung DE (11)

Ein Foto wird in der Gallery-App bearbeitet. Eines der Bildelemente wird ausgewählt und an eine andere Stelle des Bildes verschoben. Anschließend werden die fehlenden Bereiche ausgefüllt.

Galaxy S24 Ultra | Galaxy AI | Samsung DE (12)

Eine SMS-Konversation wird in einer Fremdsprache angezeigt. In einer Popup-Blase steht: „Zum Übersetzen antippen.“ Nach dem Antippen verwandelt sich die Blase in eine Leiste mit einem Dropdown-Menü für die Eingabe- und Ausgabesprache. Jede Nachrichtenblase zeigt nun die Originalsprache sowie die Übersetzung an.

Circle to Search mit Google

Weiter zu Circle to Search mit Google

Live-Übersetzung

Weiter zur Live-Übersetzung

Dolmetscher

Zu Dolmetscher springen

Notizen-Assistent

Weiter zum Notizen-Assistent

Foto-Assistent

Weiter zum Foto-Assistent

Chat-Assistent

Gehe zu Chat-Assistent

  • Circle to Search mit Google

  • Live-Übersetzung

  • Dolmetscher

  • Notizen-Assistent

  • Foto-Assistent

  • Chat-Assistent

Try Galaxy auf deinem Telefon Scanne diesen QR Code oder besuche trygalaxy.com

Galaxy S24 Ultra | Galaxy AI | Samsung DE (13)

Kamera

"Für alle, die die besten Nachtfotos oder Nachbearbeitung mit AI möchten"

Von Forbes geprüft

Galaxy AI

"Die neue Ära von AI-gestützten Smartphones"

GQ

Galaxy AI

"Galaxy AI kann tatsächlich die Zukunft der Telefone sein"

Inverse

    Schlank. Stark. Sensationell.

    Galaxy S24 Ultra | Galaxy AI | Samsung DE (14)

    Das Galaxy S24 Ultra ist von der Seite in einer extremen Nahaufnahme zu sehen. Dann fährt ein Lichtschein über das Display auf der Vorderseite des Gerätes. Zum Schluss wird die Rückseite mit dem S Pen in einer Nahaufnahme gezeigt.

    Entdecke das Galaxy S24 Ultra mit dem neuen Rahmen mit Titan und einem 17,25 cm / 6,8 Zoll großen, flachen Display., Das ist Ultra in seiner schönsten Form.

    Gut geschützt mit Titan

    Gut geschützt mit Titan

    Freue dich auf ein starkes Upgrade: Widerstandsfähiges Titan ist direkt in den Rahmen integriert und schützt dein Smartphone.

    Besserer Schutz vor Kratzern mit Corning® Gorilla® Armor.

    Galaxy S24 Ultra | Galaxy AI | Samsung DE (15)

    Corning® Gorilla® Armor hilft dabei, dein Display vor Kratzern zu schützen, sodass dein Smartphone länger wie neu aussieht.

    Vor Wasser und Staub geschützt

    Galaxy S24 Ultra | Galaxy AI | Samsung DE (16)

    Lass dich vom Regen nicht aufhalten: Das Galaxy S24 Ultra ist mit IP68 gegen Wasser und Staub geschützt, damit du immer neue Abenteuer erleben kannst.

    Galaxy S24 Ultra | Galaxy AI | Samsung DE (17)

    Neue Farben im mineralischen Look

    Galaxy S24 Ultra | Galaxy AI | Samsung DE (18)

    Galaxy S24 Ultra | Galaxy AI | Samsung DE (19)

    Erhältlich im Samsung Online Shop

      Titanium Gray Titanium Black Titanium Violet Titanium Yellow Titanium Blue Titanium Green Titanium Orange

      Drei Galaxy S24 Ultra Smartphones in Titanium Gray. Zwei sind zusammen von vorne und von hinten mit einem S Pen an der Seite zu sehen. Das dritte Smartphone wird von der Seite gezeigt, sodass die Kanten des Rahmens sichtbar sind.

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (20)

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (21)

      Drei Galaxy S24 Ultra Smartphones in Titanium Black. Zwei sind zusammen von vorne und von hinten mit einem S Pen an der Seite zu sehen. Das dritte Smartphone wird von der Seite gezeigt, sodass die Kanten des Rahmens sichtbar sind.

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (22)

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (23)

      Drei Galaxy S24 Ultra Smartphones in Titanium Violet. Zwei sind zusammen von vorne und von hinten mit einem S Pen an der Seite zu sehen. Das dritte Smartphone wird von der Seite gezeigt, sodass die Kanten des Rahmens sichtbar sind.

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (24)

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (25)

      Drei Galaxy S24 Ultra Smartphones in Titanium Yellow. Zwei sind zusammen von vorne und von hinten mit einem S Pen an der Seite zu sehen. Das dritte Smartphone wird von der Seite gezeigt, sodass die Kanten des Rahmens sichtbar sind.

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (26)

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (27)

      Drei Galaxy S24 Ultra Smartphones in Titanium Blue. Zwei sind zusammen von vorne und von hinten mit einem S Pen an der Seite zu sehen. Das dritte Smartphone wird von der Seite gezeigt, sodass die Kanten des Rahmens sichtbar sind.

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (28)

      Exklusive Farbe

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (29)

      Nur im Samsung Online Shop erhältlich

      Drei Galaxy S24 Ultra Smartphones in Titanium Green. Zwei sind zusammen von vorne und von hinten mit einem S Pen an der Seite zu sehen. Das dritte Smartphone wird von der Seite gezeigt, sodass die Kanten des Rahmens sichtbar snd.

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (31)

      Nur im Samsung Online Shop erhältlich

      Drei Galaxy S24 Ultra Smartphones in Titanium Orange. Zwei sind zusammen von vorne und von hinten mit einem S Pen an der Seite zu sehen. Das dritte Smartphone wird von der Seite gezeigt, sodass die Kanten des Rahmens sichtbar sind.

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (32)

      Exklusive Farbe

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (33)

      Nur im Samsung Online Shop erhältlich

      Von Mineralien inspiriert

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (34)

      Von der Schönheit der mineralischen Elemente unserer Erde inspiriert, begeistert jede Titanium-Farbe mit einer matten, geschmeidigen Oberfläche, die an polierte Edelsteine erinnert.

      Schlag mit dem
      SPen ein neues Kapitel auf

      Schlag mit dem
      S Pen ein neues Kapitel auf

      Entdecke, wie einfach und präzise du auf dem neuen, flachen Display schreiben, tippen und navigieren kannst. Das Erbe des Galaxy Note lebt weiter.

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (35)

      Galaxy AI

      Starke Kamera. Jetzt mit AI.

      Weitwinkelkamera

      200 MP

      Weitwinkel und 2x optischer Qualitäts-Zoom

      12 MP

      Ultra-Weitwinkelkamera

      50 MP

      5x optischer Zoom und 10x optischer Qualitäts-Zoom

      10 MP

      3x optischer Zoom

      Selfie-Kamera

      12 MP

      Selfie-Kamera

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (36)

      200 MP Fast so detailreich wie die Wirklichkeit

      200 MP Fast so detailreich wie die Wirklichkeit

      Mit 200 Megapixeln und AI-Unterstützung beeindruckt das Galaxy S24 Ultra in Sachen Bildqualität – jedes Mal, wenn du auf den Auslöser drückst. Außerdem erkennt die neue ProVisual-Engine Bildobjekte und kann den Farbton verbessern, Rauschen reduzieren und Details zur Geltung bringen.

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (37)

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (38)

      Aufgenommen mit dem Galaxy S24 Ultra #withGalaxy

      Unser bisher bestes Quad-Teleobjektiv

      Lass dich von großen Entfernungen nicht abschrecken. Jetzt kannst du mit 2-fachem, 3-fachem, 5-fachem und sogar 10-fachem Zoom immer ganz nah rankommen.,, Außerdem stabilisiert unser neuer, verbesserter Tele-OIS deine Aufnahmen, sodass sie schärfer bleiben, wenn du hereinzoomst.

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (39)

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (40)

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (41)

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (42)

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (43)

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (44)

      Tippe, um weiter zu zoomen

      Aufgenommen mit dem Galaxy S24 Ultra #withGalaxy

      5-facher optischer Zoom
      mit 50 MP

      Der hochauflösende Kamerasensor und das Teleobjektiv sorgen zusammen dafür, dass du dich über unglaublich scharfe Fotos mit 50 MP freuen kannst, selbst wenn du nah heranzoomst. Halte deine Motive mit 5-fachem Zoom fest und entdecke erstaunlich klare Details aus nächster Nähe.

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (45)

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (46)

      Aufgenommen mit dem Galaxy S24 Ultra #withGalaxy

      1x, 5x

      5-facher Zoom trifft auf 8K-Video

      Zum ersten Mal kannst du mit einem Samsung Galaxy jetzt atemberaubende 8K-Videos mit 5-fachem optischem Zoom aufnehmen aufnehmen und so außergewöhnliche Szenen unglaublich detailreich festhalten.

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (47)

      In der Kamera-App ist zu sehen, wie ein Wasserfall in 8K-Auflösung mit 5-fachem optischem Zoom aufgenommen wird. Das Video ist stabil und detailreich.

      Aufgenommen mit dem Galaxy S24 Ultra #withGalaxy

      Digitaler Zoom bringt dich nah ran, die AI holt viel raus

      Digitaler Zoom bringt dich nah ran, die AI holt viel raus

      Vom großen Überblick bis zum kleinen Detail: Mit dem AI Zoom kannst du von 1-fach bis 100-fach nahtlos näher zoomen, während die AI die Details in jeder Zoomstufe optimal zur Geltung bringt.,

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (48)

      Aufgenommen mit dem Galaxy S24 Ultra #withGalaxy

      Nightography Zoom fängt auch nachts klare Details ein

      Nightography Zoom fängt auch nachts klare Details ein

      Mit dem Nightography Zoom bist du ganz nah dran – selbst mitten in der Nacht. Dank 1,6-mal größeren Pixeln und einem verbesserten Tele-OIS werden deine Aufnahmen hell und klar und auch entfernte Objekte erscheinen atemberaubend deutlich. ,,

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (49)

      Galaxy S24 Ultra | Galaxy AI | Samsung DE (50)

      Aufgenommen mit dem Galaxy S24 Ultra #withGalaxy

        Klare Portraits auch bei wenig Licht dank AI-Unterstützung

        Ein neuer 5x-Sensor und größere Pixel sorgen dafür, dass Fotos detailreich und klar werden – von Sonnenaufgang bis Sonnenuntergang und selbst in der Nacht., Zusätzlich verbessern die AI-Stereo-Tiefenkarte und der ganz neue 5x-Portrait-Modus die Bildqualität, sodass du dich auf atemberaubende Portraits freuen kannst.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (51)

        Aufgenommen mit dem Galaxy S24 Ultra #withGalaxy

        5x Nightography Zoom für Videos macht die Nacht zum Tag

        Mit dem 5x-Sensor und dem verbesserten 5-fachen Nightography Zoom für Videos kannst du die Action mit unglaublichen Details einfangen. Der spezielle Image-Signal-Prozessor sorgt dafür, dass auch Videoaufnahmen bei wenig Licht klar und in ganzer Pracht erstrahlen können.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (52)

        Ein Nightography-Video zeigt Breakdancer in einem abgedunkelten Studio erst aus der Entfernung und dann näher herangezoomt. In beiden Einstellungen sind die Tänzer klar und detailreich zu erkennen.

        Aufgenommen mit dem Galaxy S24 Ultra #withGalaxy

        Einfach Größe und Position optimieren

        Einfach Größe und Position optimieren

        In deinem Foto ist nicht alles an der richtigen Stelle? Dann kannst du es im Nachhinein zurechtrücken. Mit den neuen AI-Bildbearbeitungsfunktionen kannst du einzelne Objekte einfach verschieben und die leeren Bereiche, die sie hinterlassen, werden automatisch aufgefüllt.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (53)

        Ein Foto wird in der Gallery-App bearbeitet. Eine Taste zur Bearbeitung wird angetippt und eines der Bildelemente wird ausgewählt. Sie werden an eine andere Stelle des Bildes verschoben. Anschließend werden die fehlenden Bereiche ausgefüllt.

        Foto-Assistent

        Retuschiere deine Bilder mit dem Foto-Assistent

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (54)

        Auf einem Galaxy S24 Ultra wird ein Foto eines Skateboarders gezeigt, der in einem Skateboard-Park auftritt. Die Bearbeitungstaste wird ausgewählt. Dann die Sterne-Taste für Galaxy AI. Der Skateboarder wird nachgezeichnet und nach oben bewegt. Die Taste „Generieren“ wird gedrückt. Das Foto wird bearbeitet, und der fehlende Bereich, in dem sich das Motiv zuvor befand, wird ergänzt. Es wird ein „Vorher“ und „Nachher“ gezeigt.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (55)

        In der Gallery-App sieht man ein Foto eines Skateboarders, der in einem Skateboard-Park auftritt. Die Bearbeitungstaste wird ausgewählt.

        Hier drücken

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (56)

        Das Foto befindet sich jetzt im Bearbeitungsmodus der Gallery-App.

        Hier drücken

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (57)

        Im Bearbeitungsmodus wird die Sterne-Taste für Galaxy AI gedrückt.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (58)

        Tippen oder Zeichnen zum Auswählen

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (59)

        Auswahl verschieben

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (60)

        Hier drücken

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (61)

        Das Foto wird bearbeitet. Der fehlende Bereich, in dem sich das Motiv zuvor befand, wird ergänzt.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (62)

        Foto-Assistent

        Gestalte Bilder neu, indem du ihren Hintergrund erweiterst oder Personen und Objekte neu positionierst.

        Beherrsche die Zeit mit Instant Slow Motion

        Beherrsche die Zeit mit Instant Slow Motion

        Mache Videos in Kinoqualität mit Instant Slow Motion. Du musst die Steuertaste nur berühren und halten. AI-generierte Bilder werden dann zwischen die Einzelbilder eingefügt. Du bestimmt, wann die Slow Motion beginnt und endet, auch bei Downloads.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (63)

        Ein Video einer Wasserballonschlacht bei einer Kindergeburtstagsparty im Garten wird auf dem Display eines Galaxy S24 Ultra in normaler Geschwindigkeit abgespielt. Hinter dem Gabentisch taucht ein Erwachsener auf. Als der Wasserballon über seinem Kopf platzt, wechselt das Video auf Slow Motion.

        Super HDR mit AI – von der Vorschau bis zum Posting

        Super HDR mit AI – von der Vorschau bis zum Posting

        Mit der neuen Super HDR-Funktion siehst du schon in der Kamera-Vorschau, wie brillant deine Fotos und Videos mit Super HDR werden, noch bevor du auf den Auslöser tippst. Und das gilt sogar für die Kamera-Apps von Social Media-Seiten.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (64)

        Das Foto einer Frau bei Sonnenuntergang. Mit Super HDR werden die Farbe und die Sättigung verbessert, sodass das Motiv hell ist und die Wolken am Himmel deutlich zu erkennen sind. Das in der Kamera-Vorschau angezeigte Super HDR-Foto entspricht dem in der Galerie-App gespeicherten Foto.

        Aufgenommen mit dem Galaxy S24 Ultra #withGalaxy

        Einkreisen, suchen, finden.
        Es kann so einfach sein.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (65)

        Eine Blog-Seite ist in einer Webbrowser-App geöffnet. Der S Pen wird verwendet, um lange auf die Home-Taste zu drücken. Ein Google-Overlay erscheint über der App. Der S Pen wird verwendet, um einen Text auf einer Blog-Seite einzukreisen: Spiralkartoffel. Die Suchergebnisse für Spiralkartoffeln erscheinen in einem Pop-up über der App. Der S Pen wird verwendet, um die Ergebnisse nach oben in einen Vollbildschirm mit Google-Suchergebnissen zu ziehen.

        Eine völlig neue Art der Suche mit Circle to Search. Zeichne einfach ein Objekt nach, um die Google-Suchergebnisse aufzurufen. Eine neue visuelle Art der Suche nach dem Gewünschten.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (66)

        Circle to Search mit Google

        Einkreisen. Suchen. Finden

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (67)

        Auf dem Bildschirm eines Galaxy S24 Ultra wird ein Video abgespielt, das in einer Social-Media-App gepostet wurde. Es zeigt einen Kameraschwenk über ein neu dekoriertes Wohnzimmer. Circle to Search mit Google. Dann zoomt die Aufnahme zu einem eingerahmten Poster an der Wand. Die Home-Taste wird lange gedrückt. Eine Google-Suchleiste erscheint unten auf dem Bildschirm. Ein Kreis wird um das Poster gezeichnet. Das Poster wird identifiziert, und ähnliche Google-Ergebnisse erscheinen in einem Popup-Fenster über der Social-Media-App. Circle to Search mit Google.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (68)

        Eine Social-Media-App spielt ein gepostetes Video ab. Der Social-Media-Beitrag zeigt einen Kameraschwenk über ein neu dekoriertes Wohnzimmer.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (69)

        Home-Taste gedrückt halten

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (70)

        Ein gepunkteter Kreis wird um ein eingerahmtes Poster an der Wand gezogen.

        Kreise ein oder tippe zum Suchen.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (71)

        Oben auf dem Rahmen steht „Google“, und eine Google-Suchleiste erscheint unten. Ein Kreis wird um das Poster gezeichnet. Das Poster wird identifiziert, und ähnliche Google-Ergebnisse erscheinen in einem Popup-Fenster über der Social-Media-App.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (72)

        Circle to Search mit Google

        Suche etwas ohne eine andere App öffnen zu müssen.

        Einfach verständigen mit der Live-Übersetzung

        Dank der Live-Übersetzung kannst du dir deine Telefongespräche jetzt in Echtzeit übersetzen lassen – zum Beispiel, wenn du im Urlaub bist und die Sprache nicht verstehst. Du kannst sogar in deiner Sprache antworten, denn auch dies wird automatisch übersetzt.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (73)

        Ein Telefongespräch wird in Echtzeit übersetzt. Der Dialog ist auf dem Display als Textkonversation in zwei Sprachen zu sehen.

        Live-Übersetzung

        Verständige dich in einer Fremdsprache

        Tippen zum Anrufen

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (74)

        Auf dem Bildschirm eines Galaxy S24 Ultra ist ein Anruf im Gange. Eine Taste, die aus „Galaxy AI“-Sternen besteht, wird auf dem Bildschirm digital hervorgehoben. Dann zeigt der Bildschirm einen Textdialog mit einem Dropdown-Sprachmenü über dem Gespräch. Der gesprochene Dialog des Anrufs wird auf dem Bildschirm in der gesprochenen Original-Sprache niedergeschrieben. Dann erscheint die übersetzte Sprache unter der originalen Transkription.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (75)

        Auf dem Bildschirm eines Galaxy S24 Ultra ist ein Anruf im Gange. Ein Dropdown-Sprachmenü befindet sich über dem Gespräch.

        Tippen zum Übersetzen

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (76)

        Der gesprochene Dialog des Anrufs wird auf dem Bildschirm in der gesprochenen Original-Sprache niedergeschrieben. Dann erscheint die übersetzte Sprache unter der originalen Transkription.

        Live-Übersetzung

        Du hast während deiner Reise deinen Geldbeutel im Taxi vergessen! Wie sollst du dich mit dem Taxifahrer in einer dir fremden Sprache verständigen?

        Ein Dolmetscher in deiner Tasche

        Du willst einen Einheimischen um eine Empfehlung bitten? Keine Sorge! Es gibt einen Dolmetscher in deiner Tasche. Nutze ihn auch im Flugzeugmodus ohne Wi-Fi.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (77)

        In der Interpreter-App wird ein Gespräch in zwei Sprachen niedergeschrieben und in Echtzeit übersetzt.

        Immer der richtige Ton mit dem Chat-Assistent

        Lasse dich von der AI unterstützen, wenn du Textnachrichten mit dem Chat-Assistent schreibst und finde immer den richtigen Tonfall für jede Gelegenheit – von professionell höflich bis freundschaftlich lässig.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (78)

        Chat-Assistent

        Textübersetzungen in Echtzeit auf Knopfdruck

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (79)

        Auf dem Bildschirm eines Galaxy S24 Ultra ist eine SMS-Konversation geöffnet. Die Nachrichten sind in einer Fremdsprache. In einer Popup-Blase steht: „Zum Übersetzen antippen.“ Nach dem Antippen verwandelt sich die Blase in eine Leiste mit einem Dropdown-Menü für die Eingabe- und Ausgabesprache. Jede Nachrichtenblase zeigt nun die Originalsprache sowie die Übersetzung an.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (80)

        Aus einer Liste von Gesprächen wird eine SMS-Konversation angetippt.

        Hier drücken

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (81)

        Die Konversation wird geöffnet, um einen Dialog in einer Fremdsprache zu zeigen. Eine Popup-Blase, in der „Zum Übersetzen antippen“ steht, erscheint und wird angetippt.

        Hier drücken

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (82)

        Die Eingabe- und Ausgabesprache des Dropdown-Sprachmenüs zeigt „Auto“ und „Englisch“ an. Jede Nachrichtenblase zeigt nun die Originalsprache sowie die englische Übersetzung an. Das Menü für die Ausgangssprache wird angetippt.

        Hier drücken

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (83)

        Im Menü für die Ausgangssprache wird von Englisch zu Französisch gewechselt.

        Hier drücken

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (84)

        Jetzt werden die Nachrichten auf Französisch übersetzt.

        Chat-Assistent

        Passe deine Kommunikation an, indem du Chats und Nachrichten übersetzt.

        Mit AI deine Notizen im Handumdrehen zusammenfassen

        Wenn du einen längeren Text geschrieben hast, kann dir der Notizen-Assistent dabei helfen, schnell zum Punkt zu kommen. Die AI fasst Textinhalte übersichtlich zusammen, sodass jeder schnell versteht, worauf es ankommt.

        Und wenn du nach einer alten Notiz suchst, helfen dir die neuen Deckblätter, auf denen automatisch eine kurze Zusammenfassung der Inhalte abgebildet wird. So bleibst du immer gut organisiert und behältst die Übersicht.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (85)

        Ein längerer Textabsatz wird in Samsung Notes markiert. Mit ein paar Tipps auf dem Display wird eine kurze Zusammenfassung des Inhaltes erstellt.

        Notizen-Assistent

        Fasse deine Notizen mit AI zusammen

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (86)

        Eine Notiz ist auf dem Bildschirm eines Galaxy S24 Ultra geöffnet. Es ist eine längere Pressemitteilung. Die Galaxy AI-Taste unten in der Toolbar wird angetippt. Ein Popup-Menü erscheint, und „Auto-Formatierung“ wird angetippt. Dann „Überschriften und Aufzählungszeichen“. Die Notiz wird bearbeitet, und ein Überblick des Artikels wird generiert. Jedes Mal, wenn die Notiz nach links gezogen wird, ändert sich das Format des Überblicks.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (87)

        Eine längere Pressemitteilung wird in einer Notiz angezeigt. Die Galaxy AI-Taste unten in der Toolbar wird angetippt.

        Hier drücken

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (88)

        Ein Popup-Menü erscheint, und „Auto-Formatierung“ wird angetippt.

        Hier drücken

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (89)

        Hier drücken

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (90)

        Die Notiz wird bearbeitet, und ein Überblick des Artikels wird in einem Pop-up über der Notiz generiert. Die mittlere Taste unter dem Pop-up wird gedrückt.

        Hier drücken

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (91)

        Die Überblick-Version wird über der Originalnotiz gespeichert.

        Notizen-Assistent

        Wandle deine Notizen automatisch in leicht lesbare Aufzählungspunkte um.

        Realitätsnahes Gameplay in deiner Hand

        Arena Breakout-Logo. Raytracing eingeschaltet. Raytracing ausgeschaltet. Ein Vorher-Nachher-Vergleich auf dem Display des Galaxy S24 Ultra zeigt Raytracing-Effekte in einem Gameplay-Snapshot von Arena Breakout. Raytracing verstärkt die Reflexionen auf Oberflächen.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (92)

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (93)

        Sichere dir den Sieg mit dem neuen Snapdragon® 8 Gen 3 for Galaxy Prozessor, der dir die Leistung bietet, die du für dein Gameplay brauchst. Erlebe atemberaubende Grafik-Effekte in Echtzeit – mit Raytracing für hyperrealistische Schatten und Reflexionen

        Damit du cool bleiben kannst, wenn es heiß hergeht, haben wir beim Galaxy S24 Ultra die Größe der Vapor Chamber verdoppelt. So wird die Hitze besser abgeführt und du kannst mit flüssiger Grafik weiterspielen.

        • NPU

          41 % mehr Leistung mit AI

        • GPU

          30 % stärkere Grafik-Performance

        • CPU

          20 % schnellere und energieeffizientere Rechenleistung

        Ausdauernder Akku zum Spielen und Weiterspielen

        Mit einer großen Kapazität und höherer Energieeffizienz gibt dir der Akku des Galaxy S24 Ultra zusätzliche Lebensdauer, wenn es darauf ankommt – zum Beispiel beim anstehenden Boss Battle, auf das du dich vorbereitet hast.

        • Videos anschauen bis zu

          30 Stunden

        • Musik hören bis zu

          95 Stunden

        Unser hellstes adaptives Smartphone-Display mit 2.600 Nits punktueller Spitzenhelligkeit

        Das immersive Display hat zwei neue Vorteile: Das Corning® Gorilla® Armor Glass kann Reflexionen reduzieren, sodass deine Inhalte auch bei direkter Sonneneinstrahlung klar zu erkennen sind. Und der optimierte Vision Booster verstärkt Kontraste und lässt Farben erstrahlen – für ein außergewöhnliches Erlebnis.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (94)

        Ein Video mit klar zu erkennenden Inhalten wird in einem Vorher-Nachher-Vergleich auf dem Display eines Galaxy S24 Ultra angezeigt. Das Smartphone ist draußen bei Tageslicht zu sehen und auf dem Display wird ein Video abgespielt.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (95)

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (96)

        Warum von iOS zu Samsung Galaxy wechseln?

        Problemlos von iOS wechseln

        Behalte deine Fotos, Videos, Kontakte, Kalender und Apps mit Smart Switch– auch wenn du von iOS wechselst.,,

        Gehe zu Smart Switch

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (97)

        Mit AI ganz vorne dabei

        Wechsele zu Samsung Galaxy und entdecke, wie du mit Galaxy AI deinen Alltag einfacher gestalten kannst. Alles in einem Gerät, alles in deiner Hand.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (98)

        Geräte ohne Grenzen

        Wechsele zu Samsung Galaxy und erlebe, wie nahtlos du mit vielen verbundenen Geräten arbeiten, spielen und fit bleiben kannst.

        Gehe zu Samsung Ecosystem

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (99)

        Try Galaxy auf deinem Telefon

        Kennst du schon das neueste Galaxy-Gerät? Willst du es jetzt ausprobieren? Auf deinem Telefon! Starte das Erlebnis mit diesem Download.

        Kennst du schon das neueste Galaxy-Gerät? Willst du es jetzt ausprobieren? Auf deinem Telefon! Zum Loslegen einfach den QR Code scannen und herunterladen.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (100)

        Gesichert durch Samsung Knox

        Vertraue auf unseren mobilen Schutz, der durch den Knox Vault sowie durch Knox Matrix, Samsungs Vision für geräteübergreifende Sicherheit, verstärkt wird.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (101)

        Veränderung beginnt mit kleinen Schritten

        Wir gehen Schritt für Schritt auf eine nachhaltige Zukunft zu. Auch mit kleinen Veränderungen können wir einen großen Unterschied machen. Denn es fühlt sich gut an, Gutes zu tun.

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (102)

        Eintauschen und sparen

        Tausche dein altes Smartphone ein und spare beim Kauf eines neuen Galaxy S24 Ultra.

        Bis zu 1 TB Speicher

        Spare mit den Speicheroptionen 256 GB, 512 GB und 1 TB.

        Zubehör für eine neue Ära

        Mehr entdecken

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (105)

        Häufig gestellte Fragen

        Galaxy S24 | S24+

        Mehr erfahren

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (106)

        Finde heraus, wie du dein Galaxy S24 Ultra noch smarter erhalten kannst

        Jetzt kaufen Jetzt reservieren Jetzt vorbestellen Händlersuche

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (107)

        Zum Galaxy S24 Ultra in Augmented Reality In Augmented Reality öffnen

        Die Welt steht dir offen mit Samsung Galaxy

        Mehr entdecken

        Galaxy S24 Ultra | Galaxy AI | Samsung DE (111)

        In 360° ansehen

        Drehe eine Runde

        * Exklusive Farben sind nur im Samsung Online Shop erhältlich.

        Entdecke faszinierende Technik für Unternehmen

        Weiter zu Samsung Business

        * Alle Spezifikationen und Beschreibungen auf dieser Seite können von den tatsächlichen Spezifikationen und Beschreibungen für das Produkt abweichen. Samsung behält sich das Recht vor, dieses Dokument und die darin beschriebenen Produkte jederzeit und ohne Angabe von Gründen zu ändern. Alle Funktionalitäten, Eigenschaften, Spezifikationen, Benutzeroberflächen und andere Produktinformationen in diesem Dokument, eingeschlossen aber nicht beschränkt auf Produktvorteile, Design, Preis, Komponenten, Leistung, Verfügbarkeit und Produkteigenschaften können jederzeit ohne Angabe von Gründen geändert werden. Die Bildschirminhalte sind simuliert und nur zu Demonstrationszwecken erstellt.

        * Bestimmte AI-Funktionen setzen die Anmeldung in einem Samsung oder Google Account voraus.

        * Samsung gibt keine Versprechungen, Zusicherungen oder Garantien in Bezug auf die Genauigkeit, Vollständigkeit oder Zuverlässigkeit der von den AI-Funktionen bereitgestellten Ergebnisse ab.

        * Bilder zu illustrativen Zwecken simuliert. Sequenz simuliert und gekürzt. Die tatsächliche Benutzeroberfläche kann abweichen.

        1. Die Sequenzen sind simuliert und gekürzt. Die Ergebnisse dienen nur zur Veranschaulichung und können je nach visuellen Übereinstimmungen variieren. Erfordert eine Internetverbindung. Benutzer*innen müssen möglicherweise Android auf die neueste Version aktualisieren. Die Produktfunktionalität kann von deinen App- und Geräteeinstellungen abhängen. Einige Funktionen sind möglicherweise nicht mit bestimmten Apps kompatibel. Die Verfügbarkeit des Dienstes variiert je nach Land und Sprache. Die Genauigkeit der Ergebnisse ist nicht garantiert.
        2. Die Live-Übersetzung erfordert die Anmeldung im Samsung Account. Live-Übersetzung ist nur in der vorinstallierten Samsung Telefon App verfügbar. Für bestimmte Sprachen kann der Download von Sprachpaketen erforderlich sein. Die Verfügbarkeit des Dienstes kann je nach Sprache variieren. Die Genauigkeit der Ergebnisse ist nicht garantiert.
        3. Dolmetscher erfordert die Anmeldung bei einem Samsung Account. Bei bestimmten Sprachen ist das Herunterladen eines Sprachpakets erforderlich. Die Verfügbarkeit des Dienstes kann je nach Sprache variieren. Die Genauigkeit der Ergebnisse wird nicht garantiert. Die Verfügbarkeit und unterstützte Funktionen können je nach Land, Region und Anbieter variieren. Die Verfügbarkeit der unterstützten Sprachen kann variieren.
        4. Der Notizen-Assistent erfordert eine Internetverbindung und die Anmeldung im Samsung Account. Es gilt eine Zeichenbeschränkung. Die Verfügbarkeit des Dienstes kann je nach Sprache variieren. Die Genauigkeit der Ergebnisse ist nicht garantiert.
        5. Die generative Bearbeitung erfordert eine Internetverbindung und die Anmeldung im Samsung Account. Die Bearbeitung führt zu einem verkleinerten Foto mit bis zu 12 MP. Beim Speichern wird ein sichtbares Wasserzeichen über das Bild gelegt, um anzuzeigen, dass das Bild mit AI generiert wurde. Die Genauigkeit der Ergebnisse ist nicht garantiert.
        6. Die Bildschirmdiagonale des Galaxy S24 Ultra beträgt 17,25 cm / 6,8 Zoll im vollen Rechteck und 17,22 cm / 6,8 Zoll unter Berücksichtigung der abgerundeten Ecken. Der tatsächlich nutzbare Bildschirmbereich ist durch die abgerundeten Ecken sowie den Bereich der Frontkamera verringert.
        7. Titan wird nur im Rahmen des Gerätes verwendet. Der Rahmen schließt nicht die Lautstärke- und Seitentasten ein.
        8. Im Vergleich zum Galaxy S23 Ultra.
        9. Die Verfügbarkeit der Farben kann je nach Land oder Mobilfunkanbieter variieren.
        10. Der optische Qualitäts-Zoom wird durch den adaptiven Pixelsensor ermöglicht.
        11. AI Zoom wird bei den Entfernungen zwischen den digitalen Zoomstufen angewendet. Die Genauigkeit der Ergebnisse ist nicht garantiert.
        12. Die Ergebnisse können je nach Lichtverhältnissen und/oder Aufnahmebedingungen variieren, einschließlich mehrerer Motive, unscharfer oder sich bewegender Motive.
        13. 3-facher Zoom und 5-facher Zoom sind optischer Zoom. 2-facher Zoom und 10-facher Zoom sind optischer Qualitäts-Zoom.
        14. 2-facher Zoom muss in den Einstellungen der Camera Assistant-App aktiviert werden. Die Camera Assistant-App kann aus dem Galaxy Store heruntergeladen werden.
        15. 8K-Videos können nur auf Geräten abgespielt werden, die eine 8K-Videoauflösung unterstützen.
        16. 100-facher Space Zoom beinhaltet 10-fachen optischen Qualitäts-Zoom und 100-fachen digitalen Zoom mit Super Resolution-Technologie. Bei mehr als 10-fachem Zoom verringert sich die Bildquälität.
        17. Einige Anwendungen unterstützen Super HDR möglicherweise nicht.
        18. Die Funktion zum Vorschlagen von Tonfällen mit Chat-Assistent erfordert eine Netzwerkverbindung und eine Anmeldung im Samsung Account. Der Text muss eine Mindestlänge erfüllen, damit die Funktion aktiviert wird. Die Verfügbarkeit des Dienstes kann je nach Sprache variieren. Die Genauigkeit der Ergebnisse ist nicht garantiert.
        19. Arena Breakout © Proxima Beta Pte. Limitiert. Alle Rechte vorbehalten. Alle anderen Marken, Logos und Urheberrechte sind Eigentum ihrer jeweiligen Inhaber. In ausgewählten Ländern im Samsung Galaxy Store und anderen App-Stores erhältlich.
        20. Snapdragon ist ein Produkt von Qualcomm Technologies, Inc. und/oder seinen Tochtergesellschaften.
        21. Die auf dem Galaxy S24 Ultra installierte Vapor Chamber ist 92 % größer als die des Galaxy S23 Ultra.
        22. Die Angaben zu den Leistungssteigerungen der Prozessoren beziehen sich auf einen Vergleich mit dem Galaxy S23 Ultra. Die tatsächliche Leistung kann je nach Nutzungsumgebung, Bedingungen, vorinstallierter Software und Anwendungen variieren.
        23. Die tatsächliche Akkulaufzeit hängt von der Netzwerkumgebung, den verwendeten Funktionen und Apps, der Häufigkeit von Anrufen und Nachrichten, der Anzahl der Ladevorgänge und vielen anderen Faktoren ab. Geschätzt anhand des durchschnittlichen Nutzungsprofils, das von UX Connect Research erstellt wurde. Unabhängig bewertet von UX Connect Research im Zeitraum 25.11.2023 bis 15.12.2023 in den USA und Großbritannien mit Vorabversionen von SM-S921, SM-S926 und SM-S928 unter Standardeinstellung und unter Verwendung von LTE- und 5G-Sub6-Netzwerken. NICHT im 5G-mmWave-Netzwerk getestet.
        24. Basierend auf internen Labortestbedingungen von Samsung mit einer Vorabversion des angegebenen Modells, das über Bluetooth mit dem Kopfhörer verbunden ist, unter Standardeinstellungen mit LTE. Geschätzt anhand der Akkukapazität und des gemessenen Stromverbrauchs gegenüber dem Akkuverbrauch bei Videowiedergabe (Videodateiauflösung 720p, auf dem Gerät gespeichert) und Audiowiedergabe (MP3-Datei, 192 kbit/s, gespeichert auf dem Gerät, mit ausgeschaltetem LCD-Display). Die tatsächlichen Video- und Audiowiedergabezeiten variieren je nach Netzwerkverbindung, Einstellungen, Dateiformat, Bildschirmhelligkeit, Batteriezustand und vielen anderen Faktoren.
        25. Das Dynamic AMOLED 2X-Display auf dem Galaxy S24 Ultra wurde vom VDE Deutschland für 100 % mobiles Farbvolumen im DCI-P3-Farbbereich zertifiziert, was bedeutet, dass deine Bilder nicht verwaschen werden und du unabhängig von den unterschiedlichen Helligkeitsstufen unglaublich lebendige Farben erhältst. Das Display kann eine Spitzenhelligkeit von bis zu 2.600 Nits erreichen und so den Kontrast zwischen dunklen und hellen Aspekten digitaler Inhalte für eine brillantere Bildqualität verbessern, mit einem Kontrastverhältnis von 5.000.000:1, um dein mobiles Erlebnis noch intensiver zu gestalten.
        26. Kabelgebundene Übertragungen von Android™ -Geräten erfordern, dass auf dem Empfangsgerät Android™ 4.3 oder höher und auf dem sendenden Gerät Android 4.3™ oder höher installiert ist. Übertragungen können ohne Kabel über eine drahtlose Verbindung abgeschlossen werden. Für drahtlose Verbindungen muss das Empfangsgerät über Android™ 4.0 oder höher und das sendende Gerät über Android™ 4.0 oder höher verfügen. Öffne Smart Switch Mobile in den „Einstellungen“ auf dem empfangenden Galaxy-Gerät oder lade die Smart Switch-App aus dem Galaxy Store herunter. Die für die Übertragung verfügbaren Daten und Inhalte können je nach Übertragungsmethode variieren.
        27. Kabelgebundene Übertragungen von iOS erfordern, dass auf dem Empfangsgerät Android™ 4.3 oder höher und auf dem sendenden Gerät iOS 5 oder höher installiert ist. Übertragungen können ohne Kabel über eine drahtlose Verbindung oder iCloud abgeschlossen werden. Für drahtlose Verbindungen muss das Empfangsgerät über Android™ 4.0 oder höher verfügen und auf dem sendenden Gerät muss iOS 12 oder höher installiert sein. Für iCloud-Übertragungen muss das Empfangsgerät über Android™ 4.0 oder höher und das sendende über Gerät iOS 5 oder höher. Öffne Smart Switch Mobile in den „Einstellungen“ auf dem empfangenden Galaxy Gerät oder lade die Smart Switch-App aus dem Galaxy Store herunter. Für drahtlose Übertragungen lade Smart Switch für iOS aus dem App Store auf dein iPhone oder iPad herunter. Die für die Übertragung verfügbaren Daten und Inhalte können je nach Übertragungsmethode variieren.
        28. Es wird empfohlen, eine Kabelverbindung zu nutzen, wenn verschiedene Datensätze gleichzeitig übertragen werden.
        29. Die Galaxy Buds2 Pro, die Galaxy Watch6 Classic und das Galaxy Tab S9 sind separat erhältlich.
        30. Verfügbar auf Geräten mit Android OS 10 (Q OS) oder höher und One UI 2.1 oder höher. Zu den unterstützten PCs gehören Samsung Notebooks und Galaxy Books, einschließlich Qualcomm-basierter PCs, die 2020 oder später veröffentlicht wurden, und Windows-PCs anderer Hersteller mit Windows 10 Version 2004 oder höher, die über Intel-Bluetooth-Treiber der Version 22.50.02 oder höher und Intel-Wi-Fi-Treiber der Version 22.50.07 oder höher verfügen.
        31. Das Galaxy Tab S9 ist separat erhältlich.
        32. Wenn beim Teilen von Dateien QR-Codes oder Kontakte verwendet werden, können bis zu 1.000 Dateien gleichzeitig übertragen werden. Einzelne Dateien dürfen nicht größer als 3 GB groß sein, und insgesamt können bis zu 5 GB Daten pro Tag übertragen werden. Links laufen nach zwei Tagen ab. Für das Gerät des Absenders ist ein Samsung Account erforderlich, und sowohl das Sender- als auch das Empfängergerät benötigen eine Internetverbindung.
        33. Das Galaxy Tab S9 und das Galaxy Book4 sind separat erhältlich.
        34. Knox Matrix wird von Galaxy Smartphones und Galaxy Tablets mit One UI 6.0 oder höher unterstützt. Die Verfügbarkeit kann je nach Region variieren.
        35. Die Teilnahmebedingungen gelten. Die Verfügbarkeit kann je nach Mobilfunkanbieter, Land oder Region variieren. Informationen zu teilnehmenden Geräten findest auf der Trade-in-Seite.
        36. Speicheroptionen und Verfügbarkeit können je nach Mobilfunkanbieter, Land oder Region variieren. Die tatsächliche Speicherverfügbarkeit kann je nach vorinstallierter Software variieren.
        37. Zubehör ist separat erhältlich.
        38. Angabe der Bildschirmdiagonalen im vollen Rechteck und ohne Berücksichtigung der abgerundeten Ecken. Der tatsächlich nutzbare Bildschirmbereich ist durch die abgerundeten Ecken sowie den Bereich der Frontkamera verringert.
        39. Die mAh-Angaben beziehen sich auf den typischen Wert der Akkukapazität, der unter Laborbedingungen ermittelt wurde. Die nach der einschlägigen Norm IEC 61960 ermittelte (Mindest-) Kapazität beläuft sich auf einen geringeren Wert. Die tatsächliche Akkulaufzeit kann je nach Netzwerkumgebung, Nutzerverhalten und anderen Faktoren variieren.
        40. Galaxy S24, S24+ und S24 Ultra sind IP68-zertifiziert. Basierend auf den Labortestbedingungen für das bis zu 30-minütige Eintauchen in bis zu 1,50m tiefem Süßwasser. Nicht empfohlen für den Gebrauch am Strand oder am Pool. Die Wasser- und Staubdichtigkeit des Geräts ist nicht dauerhaft und kann aufgrund normalen Verschleißes mit der Zeit abnehmen.
        41. Instant Slow Motion ist nur im vorinstallierten Samsung Video Player und der Samsung Gallery-App verfügbar. Die Verfügbarkeit des Dienstes kann je nach Videospezifikationen variieren.
        42. Die Übersetzungsfunktion in Chat-Assistent erfordert eine Netzwerkverbindung, die Anmeldung in einem Samsung Account sowie ein Sprachpaket, das vom Galaxy store heruntergeladen werden kann. Um die Funktion zu aktivieren, muss die erforderliche Länge erreicht werden. Die Verfügbarkeit des Dienstes kann je nach Land, Region und Sprache variieren. Manche Chat-Anwendungen unterstützen diese Funktion möglicherweise nicht. Die Genauigkeit der Ergebnisse wird nicht garantiert.

        ')); } } }; const isZoom = function () { const winInnerWidth = window.innerWidth, winOuterWidth = window.outerWidth; let zoomLevel = 100 / ((winInnerWidth / winOuterWidth) * 100); if(zoomLevel > 1.75) { document.documentElement.classList.add('browser-zoomed-175'); } else { document.documentElement.classList.remove('browser-zoomed-175'); } }; return { addLoadStatusClass: addLoadStatusClass, setResolution: setResolution, onClickSup: onClickSup, centeredFocus: centeredFocus, setArBanner:setArBanner, isZoom: isZoom, }})();(function () { const resize = window.flagship.common.resize, common = window.flagship.highlights.common, utils = window.flagship.common.utils, agent = navigator.userAgent.toLowerCase(), maxOs = agent.indexOf('mac os') > -1, touchDevice = ('ontouchstart' in window || (window.DocumentTouch && document instanceof window.DocumentTouch)); let els = {}; const init = function () { els.videoWrap = document.querySelectorAll('.common-video'); els.isGlobal = document.documentElement.classList.contains('global'); if (!!els.videoWrap[0]) { setElements(); } }; const setElements = function () { // popup els.viewerPopup = document.querySelector('.highlights-viewer'); els.lowLightPopup = document.querySelector('.highlights-low-light-popup'); els.zoomVideoPopup = document.querySelector('.highlights-quad-telephoto-popup'); els.generativeEditPopup = document.querySelector('.highlights-suggestion-ai-popup'); els.generativeEditExperience = document.querySelector('#generative-edit-experience'); els.circleToSearchExperience = document.querySelector('#circle-to-search-experience'); els.liveTranslateExperience = document.querySelector('#live-translate-experience'); els.chatAssistExperience = document.querySelector('#chat-assist-experience'); els.noteAssistExperience = document.querySelector('#note-assist-experience'); // video els.videosWrap = document.querySelectorAll('.common-video'); els.videos = document.querySelectorAll('.common-video video'); for (var i = 0; i < els.videosWrap.length; i++) { els.videos[i].videoWrap = els.videosWrap[i]; } }; const bindEvents = function () { window.addEventListener('load', anchorPosition); window.addEventListener('hashchange', anchorPosition); }; const anchorPosition = function () { if (window.location.hash != '') { switch (window.location.hash) { case '#see-in-360': if (els.viewerPopup) els.viewerPopup.show(); break; case '#low-light-zoom': if (els.lowLightPopup) els.lowLightPopup.show(); break; case '#5x-zoom': if (els.zoomVideoPopup) els.zoomVideoPopup.show(); break; case '#generative-edit': if (els.generativeEditPopup) els.generativeEditPopup.show(); break; case '#generative-edit-experience': if (els.generativeEditExperience) { els.generativeEditExperience.show(); } break; case '#circle-to-search-experience': if (els.circleToSearchExperience) { els.circleToSearchExperience.show(); } break; case '#live-translate-experience': if (els.liveTranslateExperience) { els.liveTranslateExperience.show(); } break; case '#chat-assist-experience': if (els.chatAssistExperience) { els.chatAssistExperience.show(); } break; case '#note-assist-experience': if (els.noteAssistExperience) { els.noteAssistExperience.show(); } break; default: let hash = location.hash.split('#')[1], hashSection = document.querySelector('#contents #' + hash), hashTimeout = null; clearTimeout(hashTimeout); hashTimeout = setTimeout(function () { let sectionTop = hashSection.getBoundingClientRect().top, navHeight = utils.getNavHeight(), hashScroll = window.pageYOffset + sectionTop - navHeight; window.scrollTo(0, hashScroll); }, 300); break; } } }; var setResize = function () { resize.init([{ resolution: 1920, resolutionName: 'desktop', eventFunction: '' }, { resolution: 1023, resolutionName: 'tablet', eventFunction: '' }, { resolution: 767, resolutionName: 'mobile', eventFunction: '' }, { resolution: 320, resolutionName: 'mobileS', eventFunction: '' }], 200); resize.add(common.setResolution); }; const setScrollControl = function () { window.scrollController = ANIUTIL.scrollController(); scrollController.init({ speed: 120, duration: 0.5 }); }; const setImageLoader = function () { window.imageLoader = ANIUTIL.mediaLoader({ lazyClass: '.js-img-src', responsiveClass: '.js-res-img', preset: els.isGlobal ? '' : '?imbypass=true', loadOption: [{ resolution: 1920, attribute: 'data-src-pc' }, { resolution: 1023, attribute: 'data-src-tb' }, { resolution: 767, attribute: 'data-src-mo' }, { resolution: 360, attribute: 'data-src-mo-s' }], visiblePoint: 2 }); window.bgLoader = ANIUTIL.mediaLoader({ type: 'bgImage', lazyClass: '.js-bg-img', loadOption: [{ resolution: 1920, attribute: '', bgOpts: '' }], visiblePoint: 1 }); }; const setVideoLoader = function () { window.videoLoader = ANIUTIL.mediaLoader({ type: 'video', lazyClass: '.js-video-src', responsiveClass: '.js-res-video', preset: els.isGlobal ? '' : '?imbypass=true', loadOption: [{ resolution: 1920, attribute: 'data-video-src-pc' }, { resolution: 1023, attribute: 'data-video-src-tb' }, { resolution: 767, attribute: 'data-video-src-mo' }, { resolution: 360, attribute: 'data-video-src-mo-s' }], visiblePoint: 1, endCallback: function (video) { if (video.videoWrap && !video.videoWrap.classList.contains('is-loaded')) { video.videoWrap.classList.add('is-loaded'); } } }); }; const setCenteredfocus = function () { els.contents = document.querySelector('#contents'); els.allClickables = els.contents.querySelectorAll('a, button, input, select'); for (let i = 0; i < els.allClickables.length; i++) { els.allClickables[i].addEventListener('focusin', common.centeredFocus); } }; const setDisclaimerNumber = function () { const supTag = document.querySelectorAll('.click_sup'), btmDicl = document.querySelectorAll('li.common-bottom-disclaimer__list-item'); let btmDiclArr = []; for (let i = 0; i < btmDicl.length; i++) { let dataSup = btmDicl[i].getAttribute('data-sup'); btmDiclArr.push(dataSup); } for (let j = 0; j < supTag.length; j++) { let dataSupTag = supTag[j].getAttribute('data-sup-tag'); let supChildCount = supTag[j].parentElement.childElementCount; if (btmDiclArr.indexOf(dataSupTag) > -1) { supTag[j].innerText = btmDiclArr.indexOf(dataSupTag) + 1; } else { if (supChildCount == 1) { supTag[j].parentElement.remove(); } else { let supParent = supTag[j].parentElement.childNodes; let supArr = []; for (let supIndex = 0; supIndex < supParent.length; supIndex++) { supArr.push(supParent[supIndex]); } let index = supArr.indexOf(supTag[j]); if (index != 0 && index % 2 == 0) { supParent[index].remove(); supParent[index - 1].remove(); } else { if (index != supArr.length) supParent[index + 1].remove(); supParent[index].remove(); } } } } }; const setDisclaimer = function () { els.supClicker = document.querySelectorAll('a.click_sup'); for (let i = 0; i < els.supClicker.length; i++) { els.supClicker[i].addEventListener('click', common.onClickSup); } }; const setVideoTheme = function () { for (let i = 0; i < els.videoWrap.length; i++) { let colorType = els.videoWrap[i].getAttribute('data-theme-type'); if (colorType === 'white') { els.videoWrap[i].classList.add('common-video__white'); } else if (colorType === 'black') { els.videoWrap[i].classList.add('common-video__black'); } } }; const setVideoBlind = function () { for (let i = 0; i < els.videoWrap.length; i++) { els.videoWrap[i].control = els.videoWrap[i].querySelector('.common-video__control'); els.videoWrap[i].blind = els.videoWrap[i].querySelector('.blind'); els.videoWrap[i].blind.innerHTML = (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) ? LOCAL_VARI.play : 'play'; } }; const onLoadHandler = function () { common.addLoadStatusClass(); common.setArBanner(); init(); bindEvents(); setResize(); if (!maxOs && !touchDevice) { setScrollControl(); } setImageLoader(); setVideoLoader(); setCenteredfocus(); setDisclaimerNumber(); setDisclaimer(); setVideoTheme(); setVideoBlind(); common.isZoom(); resize.add(common.isZoom); }; onLoadHandler();})();;(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.accordion = (function () { const resize = window.flagship.common.resize; let els = {}; let objs = { accordion: [] }; let prevDevice = null; let currDevice = resize.checkResolution(); const init = function () { els.accordionList = document.querySelectorAll('.common-accordion__list'); if (!!els.accordionList && els.accordionList.length > 0) { bindEvents(); } }; const bindEvents = function () { resize.add(onResizeHandler); setAccordion(); }; const onResizeHandler = function (currRes) { currDevice = currRes; if (currDevice != prevDevice) { onResponsiveHandler(); prevDevice = currDevice; } }; const onResponsiveHandler = function () { for (let i = 0; i < els.accordionList.length; i++) { let isOpenedItem = els.accordionList[i].querySelector('.is-open'); if (!!isOpenedItem) { let isOpenedItemContent = isOpenedItem.querySelector('.js-accordion-content'); let clientHeight = isOpenedItemContent.children[0].clientHeight; isOpenedItemContent.style.height = `${clientHeight}px`; } } }; const setAccordion = function () { for (let i = 0; i < els.accordionList.length; i++) { objs.accordion[i] = new window.flagship.common.accordion({ wrap: els.accordionList[i], openType: 'single', open: { start: function (target) { handlerList.setImages(target); handlerList.setVideo(target); }, end: function (target) { let targetVideo = target.querySelector('.common-accordion__content video'); if (targetVideo && targetVideo.paused) targetVideo.play(); } }, close: { start: function (target) { let targetVideo = target.querySelector('.common-accordion__content video'); if (targetVideo && !targetVideo.paused) { targetVideo.pause(); targetVideo.currentTime = 0; } }, end: function () {} } }); objs.accordion[i].init(); } }; const handlerList = { setImages: function (target) { let targetImages = target.querySelectorAll('.common-accordion__content img'); if (targetImages && targetImages.length > 0) { for (let i = 0; i < targetImages.length; i++) { if (!targetImages[i].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([targetImages[i]]); } } } }, setVideo: function (target) { let targetVideos = target.querySelectorAll('.common-accordion__content video'); if (targetVideos && targetVideos.length > 0) { for (let i = 0; i < targetVideos.length; i++) { if (!targetVideos[i].classList.contains('is-video-load-complete')) { videoLoader.setResponsiveMedia([targetVideos[i]]); } } } } } return { init: init } })();})();(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.clickToVideo = (function () { let els = {}, objs = { clickToVideo: [], }; const init = function () { els.clickToVideosWrap = document.querySelectorAll('.js-scroll-video-disable .common-video'); if (els.clickToVideosWrap.length > 0) { setElements(); setVideo(); } }; const setElements = function () { for (let i = 0; i < els.clickToVideosWrap.length; i++) { els.clickToVideosWrap[i].video = els.clickToVideosWrap[i].querySelector('.common-video__figure>video'); els.clickToVideosWrap[i].controller = els.clickToVideosWrap[i].querySelector('.common-video__control'); els.clickToVideosWrap[i].controller.video = els.clickToVideosWrap[i].video; els.clickToVideosWrap[i].controller.addEventListener('click', clickVideoCta); } }; const setVideo = function () { for (let i = 0; i < els.clickToVideosWrap.length; i++) { objs.clickToVideo[i] = ANIUTIL.videoHandler({ wrap: els.clickToVideosWrap[i], video: els.clickToVideosWrap[i].video, controller: els.clickToVideosWrap[i].controller, resetCallback: function () { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); } }, playCallback: function () { setTagging.pause(this.controller); }, pauseCallback: function () { setTagging.play(this.controller); }, endCallback: function () { if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); } } }); } }; const clickVideoCta = function (e) { if (e.target == e.currentTarget) { if (e.currentTarget.video.paused) { e.currentTarget.video.play(); } else { e.currentTarget.video.pause(); } } }; const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; return { init: init } })();})();(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.scrollVideo = (function () { const utils = window.flagship.common.utils, resize = window.flagship.common.resize; let els = {}, objs = { scrollVideo: [], scene: [] }, currDevice = resize.checkResolution(); const init = function () { els.scrollVideoWraps = document.querySelectorAll('.common-video.js-scroll-video'); els.pageScrollVideoWraps = []; if (!!els.scrollVideoWraps) { for (let i = 0; i < els.scrollVideoWraps.length; i++) { if (!els.scrollVideoWraps[i].parentElement.classList.contains('common-popup__video') && !els.scrollVideoWraps[i].parentElement.classList.contains('js-scroll-video-disable')) { els.pageScrollVideoWraps.push(els.scrollVideoWraps[i]); } } } if (els.pageScrollVideoWraps.length > 0) { setElements(); objList.setVideo(); objList.setScene(); bindEvents(); } }; const setElements = function () { for (let i = 0; i < els.pageScrollVideoWraps.length; i++) { els.pageScrollVideoWraps[i].video = els.pageScrollVideoWraps[i].querySelector('.common-video__figure>video'); els.pageScrollVideoWraps[i].controller = els.pageScrollVideoWraps[i].querySelector('.common-video__control'); els.pageScrollVideoWraps[i].controller.video = els.pageScrollVideoWraps[i].video; els.pageScrollVideoWraps[i].startPoint = !!els.pageScrollVideoWraps[i].getAttribute('data-start-point') ? parseInt(els.pageScrollVideoWraps[i].getAttribute('data-start-point')) : undefined; els.pageScrollVideoWraps[i].reversePoint = !!els.pageScrollVideoWraps[i].getAttribute('data-reverse-point') ? parseInt(els.pageScrollVideoWraps[i].getAttribute('data-reverse-point')) : undefined; els.pageScrollVideoWraps[i].moStartPoint = !!els.pageScrollVideoWraps[i].getAttribute('data-mo-start-point') ? parseInt(els.pageScrollVideoWraps[i].getAttribute('data-mo-start-point')) : undefined; els.pageScrollVideoWraps[i].moReversePoint = !!els.pageScrollVideoWraps[i].getAttribute('data-mo-reverse-point') ? parseInt(els.pageScrollVideoWraps[i].getAttribute('data-mo-reverse-point')) : undefined; els.pageScrollVideoWraps[i].controller.addEventListener('click', handlerList.videoCta); } }; const bindEvents = function () { window.addEventListener('scroll', handlerList.scroll); handlerList.scroll(); resize.add(onResizeHandler); }; const onResizeHandler = function (currRes) { currDevice = currRes; }; const objList = { setVideo: function () { for (let i = 0; i < els.pageScrollVideoWraps.length; i++) { objs.scrollVideo[i] = ANIUTIL.videoHandler({ playType: 'scrollPlay', startPoint: (currDevice.indexOf('mobile') > -1) ? els.pageScrollVideoWraps[i].moStartPoint : els.pageScrollVideoWraps[i].startPoint, reversePoint: (currDevice.indexOf('mobile') > -1) ? els.pageScrollVideoWraps[i].moReversePoint : els.pageScrollVideoWraps[i].reversePoint, wrap: els.pageScrollVideoWraps[i], video: els.pageScrollVideoWraps[i].video, controller: els.pageScrollVideoWraps[i].controller, resetCallback: function () { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); } }, playCallback: function () { setTagging.pause(this.controller); }, pauseCallback: function () { setTagging.play(this.controller); }, endCallback: function () { if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); } } }); } }, setScene: function () { for (let i = 0; i < els.pageScrollVideoWraps.length; i++) { objs.scene[i] = SCROLLER({ trackElement: els.pageScrollVideoWraps[i].video, useFixed: false, resize: utils.detector.isTouchDevice ? false : true }); } } }; const handlerList = { scroll: function () { for (let i = 0; i < els.pageScrollVideoWraps.length; i++) { objs.scene[i].trackAnimation(function () { objs.scrollVideo[i].scrollActive(this.progress); }); } }, videoCta: function (e) { if (e.target == e.currentTarget) { if (e.currentTarget.video.paused) { e.currentTarget.video.play(); } else { e.currentTarget.video.pause(); } } } }; const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; return { init: init } })();})();(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.tutorialPopup = function (opts) { const utils = window.flagship.common.utils; let els = {}; let status = {}; let show = {}, hide = {}; status.isGlobal = document.documentElement.classList.contains('global'); const init = function () { setElements(); setOpts(); bindEvent(); }; const setElements = function () { els.html = document.documentElement; els.tutorialPopup = opts.tutorialPopup; els.closeCtas = opts.closeCtas; els.dimmed = !!!opts.dimmed ? '' : opts.dimmed; els.tutorialPopupClass = opts.tutorialPopupClass; }; const setOpts = function () { show.start = (!!!opts.show) ? undefined : opts.show.start; show.end = (!!!opts.show) ? undefined : opts.show.end; hide.start = (!!!opts.hide) ? undefined : opts.hide.start; hide.end = (!!!opts.hide) ? undefined : opts.hide.end; } const bindEvent = function () { opts.openerEvent.element.addEventListener('click', showLayer); els.tutorialPopup.show = showLayer; els.tutorialPopup.hide = hideLayer; }; const showLayer = function (e) { if (opts.openerEvent.proxy) { if (opts.openerEvent.parent) { if (e.target.parentElement.classList.contains(opts.openerEvent.class)) { els.openerCta = e.target.parentElement; } } else { if (e.target.classList.contains(opts.openerEvent.class)) { els.openerCta = e.target; } } } else { els.openerCta = this; } els.tutorialPopup.opener = els.openerCta; if (show.start) show.start(els); els.html.classList.add('is-layer-open'); utils.hiddenScroll(els.tutorialPopup); if (utils.detector.isIosDevice) { els.tutorialPopup.opener.blur(); els.openerCta.style.display = 'none'; } els.closeCtas[0].focus(); setTimeout(function () { els.closeCtas[0].focus(); }, 300); for (let i = 0; i < els.closeCtas.length; i++) { els.closeCtas[i].addEventListener('click', hideLayer); } if (els.dimmed) els.dimmed.addEventListener('click', onClickDimmed); if (show.end) show.end(els); }; const hideLayer = function () { if (utils.detector.isIosDevice) els.openerCta.style.display = ''; if (hide.start) hide.start(els); for (let i = 0; i < els.closeCtas.length; i++) { els.closeCtas[i].removeEventListener('click', hideLayer); } if (els.dimmed) els.dimmed.removeEventListener('click', onClickDimmed); els.html.classList.remove('is-layer-open'); utils.visibleScroll(); if (!!!els.openerCta) { els.tutorialPopup.opener.focus(); } else { els.openerCta.focus(); } setTimeout(function () { if (!!!els.openerCta) { els.tutorialPopup.opener.focus(); } else { els.openerCta.focus(); } }, 300); if (hide.end) hide.end(els); }; const onClickDimmed = function (e) { if (e.currentTarget == e.target) { hideLayer(); } }; return init(); };})();;(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.camera = (function () { let els = {}; let objs = {}; const init = function () { els.section = document.querySelector('.highlights-camera'); if (!!els.section) { bindEvents(); } }; const bindEvents = function () { setScene(); window.addEventListener('scroll', scrollHandler); }; const setScene = function(){ TweenMax.set(els.section, {y: 150}); objs.scene = SCROLLER({ trackElement: els.section, useFixed: false }); }; const scrollHandler = function(){ objs.scene.trackAnimation(function(){ let activeValue = ANIUTIL.calRange({ targetValue: 1, progress: this.progress, startPoint: 0, endPoint: 40 }); let moveValue = ANIUTIL.calRange({ targetValue: 150, progress: this.progress, startPoint: 0, endPoint: 40 }); TweenMax.to(els.section, 0, {y: 150 - moveValue}); els.section.style.opacity = activeValue; }); } return { init: init } })();})();;(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.cameraAi = (function () { let els = {}; let objs = {}; const init = function () { els.section = document.querySelector('.highlights-ai'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.gradient = els.section.querySelector('.highlights-ai__gradient'); els.text = els.section.querySelector('.common-headline span'); els.intelligence = els.section.querySelector('.highlights-ai__intelligence video'); }; const bindEvents = function () { setScene(); window.addEventListener('scroll', scrollHandler); scrollHandler(); }; const setScene = function () { TweenMax.set(els.section, {y: 100}); objs.scene = SCROLLER({ trackElement: els.section, useFixed: false }); }; const scrollHandler = function () { objs.scene.trackAnimation(function () { let activeValue = ANIUTIL.calRange({ targetValue: 70, progress: this.progress, startPoint: 10, endPoint: 30 }); TweenMax.to(els.section, 0, {y: 100 - activeValue}); let _active = function () { if (els.intelligence.readyState < 4) { els.intelligence.addEventListener('canplay', function () { if (!els.section.classList.contains('is-active') && els.intelligence.paused) { els.intelligence.currentTime = 0; els.intelligence.play(); } }); } else { if (!els.section.classList.contains('is-active') && els.intelligence.paused) { els.intelligence.currentTime = 0; els.intelligence.play(); } } if (!els.section.classList.contains('is-active')) { setTimeout(() => { els.section.classList.add('is-active'); }, 700); } }; if (this.wheelDirection == 'down' && this.progress > 40 && this.progress < 70) { _active(); } else if (this.wheelDirection == 'up' && this.progress > 50 && this.progress < 70) { _active(); } if(this.progress == 0 || this.progress == 100) { els.section.classList.remove('is-active'); els.intelligence.pause(); els.intelligence.currentTime = 0; } }); } return { init: init } })();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.chatAssistTutorial = (function () {const utils = window.flagship.common.utils;const common = window.flagship.highlights.common;let els = {};let objs = {};let stepInfo = [];let status = {};const init = function () {els.section = document.querySelector('.highlights-chat-assist-tutorial');if (!!els.section) {setElements();bindEvents();}};const setElements = function () {els.tutorialVideoContainer = els.section.querySelector('.common-tutorial__main-video');els.videoList = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video');els.videoWrap = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video');els.videos = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video__video');els.tooltipCta = els.tutorialVideoContainer.querySelectorAll('.js-tutorial-tooltip-cta');els.tutorialReplay = els.tutorialVideoContainer.querySelector('.common-tutorial__replay-cta');};const setProperty = function(el, index){el.video = el.querySelector('video');el.controller = el.querySelector('.common-video__control');el.controller.video = el.querySelector('video');el.alert = el.parentElement.querySelector('.common-tutorial__alert');el.tooltip = el.parentElement.querySelector('.js-tutorial-tooltip');el.tooltipCta = el.parentElement.querySelector('.js-tutorial-tooltip-cta');el.video.playIndex = index;}const setStepStatus = function(el){stepInfo.push({alert: el.getAttribute('data-alert'),tooltip: el.getAttribute('data-tooltip')});}const eventList = {videoController: function(){for (let i = 0; i < objs.videos.length; i++) {objs.videos[i].controller.addEventListener('click', function(){if (this.video.paused) {this.video.play();} else {this.video.pause();}});}},nextVideoPlay: function(index){if (!!els.videoList[index].tooltip) {utils.onAccessibility(els.videoList[index].tooltip);}els.videoList[index + 1].classList.add('is-visible');utils.onAccessibility(els.videoList[index]);if (els.videos[index + 1].readyState > 3) {els.videos[index + 1].play();} else {els.videos[index + 1].addEventListener('loadeddata', function(){this.play();});}setTimeout(()=>{els.videoList[index].classList.remove('is-visible');if (!!els.videoList[index].tooltipCta) {els.videoList[index].tooltipCta.blur();}els.videoList[index + 1].setAttribute('tabindex', 0);els.videoList[index + 1].focus();els.videoList[index + 1].addEventListener('focusout', function () {let isTabindex = els.videoList[index + 1].getAttribute('tabindex');if (!!isTabindex && isTabindex == 0) {els.videoList[index + 1].removeAttribute('tabindex');}});}, 200);},click: function(){let self = this;for (let i = 0; i < els.tooltipCta.length; i++) {els.tooltipCta[i].addEventListener('click', function(){self.nextVideoPlay(i);});}},endCallback: function () {if (stepInfo[this.video.playIndex].tooltip == 'true') {this.wrap.tooltipCta.removeAttribute('disabled');this.wrap.tooltip.classList.add('is-visible');}if (stepInfo[this.video.playIndex].alert == 'true') {this.wrap.alert.classList.add('is-visible');}if (!this.wrap.classList.contains('is-completed')) {this.wrap.classList.add('is-completed');this.controller.style.display = 'none';}}}const setVideos = function(){objs.videos = [];for (let i = 0; i < els.videoWrap.length; i++) {let isVideoWrap = els.videoWrap[i];objs.videos.push(ANIUTIL.videoHandler({wrap: isVideoWrap,video: isVideoWrap.video,controller: isVideoWrap.controller,resetCallback: function () {if (this.wrap.classList.contains('is-completed')) {this.wrap.classList.remove('is-completed');if (this.controller.style.display = 'none') this.controller.style.display = '';}},playCallback: function () {els.videoList[this.video.playIndex].removeAttribute('tabindex');els.videoList[this.video.playIndex].removeAttribute('aria-hidden');if (this.video.duration > 3) {this.controller.style.display = 'block';utils.offAccessibility(this.controller);setTagging.pause(this.controller);}let nextPlayindex = this.video.playIndex + 1;if ((els.videos.length - 1) > this.video.playIndex && els.videos[nextPlayindex].readyState < 4) {videoLoader.setResponsiveMedia([els.videos[nextPlayindex]]);}},pauseCallback: function () {if (this.video.duration > 3) {setTagging.play(this.controller);}},endCallback: function () {if (!!this.wrap.tooltip) {utils.offAccessibility(this.wrap.tooltip);}if (this.video.duration > 3) {this.controller.style.display = 'none !important';}eventList.endCallback.call(this);if ((els.videos.length -1) == this.video.playIndex) {els.tutorialReplay.style.display = 'block';els.tutorialReplay.removeAttribute('tabindex'); els.tutorialReplay.removeAttribute('aria-hidden');}}}));}};const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } };const bindEvents = function () {for (let i = 0; i < els.videoWrap.length; i++) {setProperty(els.videoWrap[i], i);setStepStatus(els.videoList[i])}setVideos();eventList.videoController();eventList.click();};return {init: init,}})();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.circleToSearchTutorial = (function () {const utils = window.flagship.common.utils;const common = window.flagship.highlights.common;let els = {};let objs = {};let stepInfo = [];let status = {};const init = function () {els.section = document.querySelector('.highlights-circle-to-search-tutorial');if (!!els.section) {setElements();bindEvents();}};const setElements = function () {els.tutorialVideoContainer = els.section.querySelector('.common-tutorial__main-video');els.videoList = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video');els.videoWrap = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video');els.videos = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video__video');els.tooltipCta = els.tutorialVideoContainer.querySelectorAll('.js-tutorial-tooltip-cta');els.tutorialReplay = els.tutorialVideoContainer.querySelector('.common-tutorial__replay-cta');status.isKeydownTime = null;};const setProperty = function(el, index){el.video = el.querySelector('video');el.controller = el.querySelector('.common-video__control');el.controller.video = el.querySelector('video');el.alert = el.parentElement.querySelector('.common-tutorial__alert');el.tooltip = el.parentElement.querySelector('.js-tutorial-tooltip');el.tooltipCta = el.parentElement.querySelector('.js-tutorial-tooltip-cta');el.video.playIndex = index;}const setStepStatus = function(el){stepInfo.push({alert: el.getAttribute('data-alert'),tooltip: el.getAttribute('data-tooltip')});}const eventList = {videoController: function(){for (let i = 0; i < objs.videos.length; i++) {objs.videos[i].controller.addEventListener('click', function(){if (this.video.paused) {this.video.play();} else {this.video.pause();}});}},nextVideoPlay: function(index){if (!!els.videoList[index].tooltip) {utils.onAccessibility(els.videoList[index].tooltip);}els.videoList[index + 1].classList.add('is-visible');utils.onAccessibility(els.videoList[index]);if (els.videos[index + 1].readyState > 3) {els.videos[index + 1].play();} else {els.videos[index + 1].addEventListener('loadeddata', function(){this.play();});}setTimeout(()=>{els.videoList[index].classList.remove('is-visible');if (!!els.videoList[index].tooltipCta) {els.videoList[index].tooltipCta.blur();}els.videoList[index + 1].setAttribute('tabindex', 0);els.videoList[index + 1].focus();els.videoList[index + 1].addEventListener('focusout', function () {let isTabindex = els.videoList[index + 1].getAttribute('tabindex');if (!!isTabindex && isTabindex == 0) {els.videoList[index + 1].removeAttribute('tabindex');}});}, 200);},click: function(){els.tooltipCta[0].addEventListener('mousedown', eventList.pressButton);els.tooltipCta[0].addEventListener('mouseup', function(){clearTimeout(status.mousedown);});els.tooltipCta[0].addEventListener('touchstart', eventList.pressButton);els.tooltipCta[0].addEventListener('touchend', function(){clearTimeout(status.mousedown);});els.tooltipCta[0].addEventListener('keydown', eventList.keydownButton);els.tooltipCta[1].addEventListener('click', function(){eventList.nextVideoPlay(2);});},pressButton: function (e) {e.preventDefault();if (els.videos[2].readyState < 4) {videoLoader.setResponsiveMedia([els.videos[2]]);}clearTimeout(status.mousedown);status.mousedown = setTimeout(()=>{eventList.nextVideoPlay(1);}, 1000);},keydownButton: function (e) {if (e.type == 'keydown' && e.keyCode != 13) return;if (status.isKeydownTime == null) {status.isKeydownTime = Date.now();} else {let keyDownDuration = Date.now() - status.isKeydownTime;if (keyDownDuration >= 1000) {if (els.videos[2].readyState < 4) {videoLoader.setResponsiveMedia([els.videos[2]]);}eventList.nextVideoPlay(1);status.isKeydownTime = null;}}},endCallback: function () {let autoplay = this.video.playIndex == 0 ||this.video.playIndex == 3;if (stepInfo[this.video.playIndex].tooltip == 'true') {this.wrap.tooltipCta.removeAttribute('disabled');this.wrap.tooltip.classList.add('is-visible');}if (stepInfo[this.video.playIndex].alert == 'true') {this.wrap.alert.classList.add('is-visible');}if (autoplay) {eventList.nextVideoPlay(this.video.playIndex);}if (!this.wrap.classList.contains('is-completed')) {this.wrap.classList.add('is-completed');this.controller.style.display = 'none';}}}const setVideos = function(){objs.videos = [];for (let i = 0; i < els.videoWrap.length; i++) {let isVideoWrap = els.videoWrap[i];objs.videos.push(ANIUTIL.videoHandler({wrap: isVideoWrap,video: isVideoWrap.video,controller: isVideoWrap.controller,resetCallback: function () {if (this.wrap.classList.contains('is-completed')) {this.wrap.classList.remove('is-completed');if (this.controller.style.display = 'none') this.controller.style.display = '';}},playCallback: function () {els.videoList[this.video.playIndex].removeAttribute('tabindex');els.videoList[this.video.playIndex].removeAttribute('aria-hidden');if (this.video.duration > 3) {this.controller.style.display = 'block';utils.offAccessibility(this.controller);setTagging.pause(this.controller);}switch (this.video.playIndex) {case 2:videoLoader.setResponsiveMedia([els.videos[3], els.videos[4]]);break;default:break;}},pauseCallback: function () {if (this.video.duration > 3) {setTagging.play(this.controller);}},endCallback: function () {if (!!this.wrap.tooltip) {utils.offAccessibility(this.wrap.tooltip);}if (this.video.duration > 3) {this.controller.style.display = 'none !important';}eventList.endCallback.call(this);if ((els.videos.length -1) == this.video.playIndex) {els.tutorialReplay.style.display = 'block';els.tutorialReplay.removeAttribute('tabindex'); els.tutorialReplay.removeAttribute('aria-hidden');}}}));}};const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } };const bindEvents = function () {for (let i = 0; i < els.videoWrap.length; i++) {setProperty(els.videoWrap[i], i);setStepStatus(els.videoList[i])}setVideos();eventList.videoController();eventList.click();};return {init: init,}})();})();(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.color = (function () { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}, status = {}, objs = {}; let activeClass = 'is-active'; let oldIndex = null; let currDevice = resize.checkResolution(); let prevDevice = null; const init = function () { els.section = document.querySelector('.highlights-color'); if (!!els.section) { setElements(); setStatus(); bindEvents(); } }; const setElements = function () { // topSwiper els.topSwiperWrap = els.section.querySelector('.highlights-color__carousel'); if (!!els.topSwiperWrap) { els.topSwiperSlides = els.topSwiperWrap.querySelectorAll('.highlights-color__carousel-slide'); if (els.topSwiperSlides.length > 1) { els.topSwiperContainer = els.section.querySelector('.highlights-color__carousel-container'); els.topSwiperNextArrow = els.topSwiperContainer.querySelector('.highlights-color__arrow--next'); els.topSwiperPrevArrow = els.topSwiperContainer.querySelector('.highlights-color__arrow--prev'); els.topSwiperPagination = els.section.querySelector('.highlights-color__pagination'); } } // colorchipSwiper els.colorchipWrap = els.section.querySelector('.highlights-color__tab-colors'); els.colorchipSwiperContainer = els.colorchipWrap.querySelector('.swiper-container'); els.colorchipSwiperArrowWrap = els.colorchipWrap.querySelector('.highlights-color__tab-navigation'); els.colorchipSwiperNextArrow = els.colorchipWrap.querySelector('.highlights-color__navigation-arrow--next'); els.colorchipSwiperPrevArrow = els.colorchipWrap.querySelector('.highlights-color__navigation-arrow--prev'); // colorchipItem els.colorchipItemWrap = els.section.querySelector('.highlights-color__tab'); els.colorchipItems = els.colorchipItemWrap.querySelectorAll('.highlights-color__tab-item'); els.colorchipBtns = els.colorchipItemWrap.querySelectorAll('.highlights-color__tab-button'); for (let i = 0; i < els.colorchipBtns.length; i++) { els.colorchipBtns[i].setAttribute('data-js-index', i); } // colorName els.colorNameWrap = els.section.querySelector('.highlights-color__tab-names'); els.colorNames = els.colorNameWrap.querySelectorAll('.highlights-color__tab-name'); // colorPanel els.panelWrap = els.section.querySelector('.highlights-color__tab-panel-group'); els.panels = els.panelWrap.querySelectorAll('.highlights-color__tab-panel'); // 360 Popup Btn els.popupBtn = els.section.querySelector('.common-cta-area button'); }; const setStatus = function () { status.isClick = false; // index status.targetIndex = null; status.oldColorIndex = null; }; const bindEvents = function () { resize.add(handlerList.onResize); setColorchipEvent(); if (!els.topSwiperWrap || (!!els.topSwiperWrap && (!!els.topSwiperSlides && els.topSwiperSlides.length < 2))) return; setTimeout(function () { window.addEventListener('scroll', handlerList.scroll); }, 1000); objList.setScene(); setSwiper.top(); els.topSwiperNextArrow.addEventListener('click', handlerList.onClickArrow); els.topSwiperNextArrow.addEventListener('keydown', handlerList.onClickArrow); els.topSwiperPrevArrow.addEventListener('click', handlerList.onClickArrow); els.topSwiperPrevArrow.addEventListener('keydown', handlerList.onClickArrow); }; const setColorchipEvent = function () { let colorchipSwiperLength = currDevice.indexOf('mobile') > -1 ? 5 : 7; if (els.colorchipBtns.length >= colorchipSwiperLength) { status.isLoop = true; oldIndex = els.colorchipBtns.length; if (els.colorchipSwiperArrowWrap.style.display == 'none') { els.colorchipSwiperArrowWrap.style.display = ''; } if (els.colorchipWrap.classList.contains('js-colorchip-static')) { els.colorchipWrap.classList.remove('js-colorchip-static'); } setSwiper.colorchip(); } else { status.isLoop = false; if (els.colorchipSwiperArrowWrap.style.display != 'none') { els.colorchipSwiperArrowWrap.style.display = 'none'; } if (!els.colorchipWrap.classList.contains('js-colorchip-static')) { els.colorchipWrap.classList.add('js-colorchip-static'); } if (objs.colorchipSwiper != null) { let realIndex = objs.colorchipSwiper.realIndex; if (!els.colorchipBtns[realIndex].classList.contains(activeClass)) { els.colorchipBtns[realIndex].classList.add(activeClass); els.colorchipBtns[realIndex].setAttribute('aria-selected', true); } swiperEvents.colorchip.destroy(); } let currentColorchip = els.colorchipItemWrap.querySelector(`.${activeClass}`); status.oldColorIndex = currentColorchip.getAttribute('data-js-index'); for (let i = 0; i < els.colorchipBtns.length; i++) { els.colorchipBtns[i].addEventListener('click', handlerList.onClickColorchip); els.colorchipItems[i].removeAttribute('tabindex'); els.colorchipItems[i].removeAttribute('aria-hidden'); } } }; const objList = { topSwiper: function () { if (objs.topSwiper == null) { objs.topSwiper = new Swiper(els.topSwiperContainer, { init: false, speed: 800, navigation: { nextEl: els.topSwiperNextArrow, prevEl: els.topSwiperPrevArrow, }, pagination: { el: els.topSwiperPagination, type: 'bullets', clickable: true, renderBullet: function () { return '

      • '; } }, slidesPerView: 'auto', centeredSlides: true, }); } }, colorchipSwiper: function () { if (objs.colorchipSwiper == null) { objs.colorchipSwiper = new Swiper(els.colorchipSwiperContainer, { init: false, navigation: { nextEl: els.colorchipSwiperNextArrow, prevEl: els.colorchipSwiperPrevArrow, }, slidesPerView: 'auto', centeredSlides: true, loop: true, speed: 300, touchRatio: 0, }); } }, setScene: function () { objs.topScene = SCROLLER({ trackElement: els.topSwiperContainer, useFixed: false, resize: utils.detector.isTouchDevice ? false : true }); } }; const setSwiper = { top: function () { objList.topSwiper(); objs.topSwiper.on('init', swiperEvents.top.init); objs.topSwiper.on('slideChange', swiperEvents.top.slideChange); objs.topSwiper.init(); }, colorchip: function () { objList.colorchipSwiper(); objs.colorchipSwiper.on('init', swiperEvents.colorchip.init); objs.colorchipSwiper.on('slideChange', swiperEvents.colorchip.slideChange); objs.colorchipSwiper.on('transitionEnd', swiperEvents.colorchip.transitionEnd); objs.colorchipSwiper.init(); els.loopColorchipBtns = els.section.querySelectorAll('.highlights-color__tab-button'); for (let i = 0; i < els.loopColorchipBtns.length; i++) { els.loopColorchipBtns[i].index = i; els.loopColorchipBtns[i].addEventListener('click', handlerList.onClickColorchip); } if (status.targetIndex != 0) status.targetIndex = 0; eventList.colorchip(); eventList.colorName(); eventList.panel(); } }; const swiperEvents = { top: { init: function () { let notification = this.el.querySelector('.swiper-notification'); let bullets = this.pagination.bullets; this.slides[this.activeIndex].style.transitionDuration = '0s'; setTimeout(() => { this.slides[this.activeIndex].style.transitionDuration = ''; }, 100); if (!!notification) this.el.removeChild(notification); accessibility.slide.top(objs.topSwiper); accessibility.pagination.tagging(bullets); accessibility.pagination.label(bullets); els.topSwiperPrevArrow.removeAttribute('aria-label'); els.topSwiperNextArrow.removeAttribute('aria-label'); setTimeout(function () { handlerList.scroll(); }, 900); status.isTest = false; for (let i = 0; i < bullets.length; i++) { bullets[i].removeAttribute('role'); bullets[i].addEventListener('click', function (e) { e.preventDefault(); e.stopPropagation(); objs.topSwiper.slideTo(i); }); } }, slideChange: function () { accessibility.slide.top(objs.topSwiper); accessibility.pagination.label(objs.topSwiper.pagination.bullets); } }, colorchip: { init: function () { let notification = this.el.querySelector('.swiper-notification'); if (!!notification) this.el.removeChild(notification); accessibility.slide.colorchip(objs.colorchipSwiper); els.colorchipSwiperPrevArrow.removeAttribute('aria-label'); els.colorchipSwiperNextArrow.removeAttribute('aria-label'); let cloneSlide = this.el.querySelectorAll('.swiper-slide-duplicate'); for (let i = 0; i < cloneSlide.length; i++) { let activeClone = cloneSlide[i].querySelector('.highlights-color__tab-button.is-active'); if (!!activeClone) activeClone.classList.remove('is-active'); } }, slideChange: function () { let activeIndex = this.activeIndex; let oldColor = els.loopColorchipBtns[oldIndex]; status.oldColorIndex = oldColor.getAttribute('data-js-index'); status.targetIndex = els.loopColorchipBtns[activeIndex].getAttribute('data-js-index'); eventList.colorchip(); eventList.colorName(); eventList.panel(); accessibility.slide.colorchip(objs.colorchipSwiper); eventList.setPopupBtnColor(els.panels[status.targetIndex]); oldIndex = activeIndex; }, transitionEnd: function () { if (status.isClick) status.isClick = false; }, destroy: function () { objs.colorchipSwiper.destroy(true); objs.colorchipSwiper = null; }, }, }; const handlerList = { scroll: function () { objs.topScene.trackAnimation(function () { if (this.wheelDirection == 'down' && this.progress > 45 && this.progress < 70) { if (objs.topSwiper != null) { objs.topSwiper.slideNext(); objs.topScene.destroy(); window.removeEventListener('scroll', handlerList.scroll); } } else if (this.wheelDirection == 'up' && this.progress < 50) { if (objs.topSwiper != null) { objs.topSwiper.slideNext(); objs.topScene.destroy(); window.removeEventListener('scroll', handlerList.scroll); } } }); }, onResize: function (currRes) { currDevice = currRes; if (currDevice !== prevDevice) { setColorchipEvent(); if (objs.colorchipSwiper != null) { accessibility.slide.colorchip(objs.colorchipSwiper); } prevDevice = currDevice; } }, onClickArrow: function (e) { status.isArrowClick = true; status.arrowStyleTimeout = null; if ((e.type == 'keydown' && e.keyCode == 13) || e.type == 'click') { e.preventDefault(); if (objs.topSwiper.isBeginning && !objs.topSwiper.isEnd) { els.topSwiperPrevArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.topSwiperNextArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.topSwiperPrevArrow.style.display = ''; }, 400); } else if (!objs.topSwiper.isBeginning && objs.topSwiper.isEnd) { els.topSwiperNextArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.topSwiperPrevArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.topSwiperNextArrow.style.display = ''; }, 400); } } }, onClickColorchip: function () { status.isClick = true; let targetColor = this; if (status.isLoop) { if (targetColor.classList.contains('is-active')) return; eventList.slideTo(targetColor); } else { status.targetIndex = targetColor.getAttribute('data-js-index'); eventList.colorchip(); eventList.colorName(); eventList.panel(); status.oldColorIndex = status.targetIndex; } } }; const eventList = { colorchip: function () { let oldColor = els.colorchipItemWrap.querySelectorAll(`.${activeClass}`); let activeIndex = status.isLoop ? objs.colorchipSwiper.activeIndex : status.targetIndex; let targetColorchipBtns = status.isLoop ? els.loopColorchipBtns[activeIndex] : els.colorchipBtns[activeIndex]; if (!targetColorchipBtns.classList.contains(activeClass)) { for (let i = 0; i < oldColor.length; i++) { oldColor[i].classList.remove(activeClass); oldColor[i].setAttribute('aria-selected', false); } targetColorchipBtns.classList.add(activeClass); targetColorchipBtns.setAttribute('aria-selected', true); } }, colorName: function () { for (let i = 0; i < els.colorNames.length; i++) { if (els.colorNames[i].classList.contains(activeClass)) { els.colorNames[i].classList.remove(activeClass); } } if (!els.colorNames[status.targetIndex].classList.contains(activeClass)) { els.colorNames[status.targetIndex].classList.add(activeClass); } }, panel: function () { for (let i = 0; i < els.panels.length; i++) { if (els.panels[i].classList.contains(activeClass)) { els.panels[i].classList.remove(activeClass); els.panels[i].setAttribute('aria-hidden', true); } } if (!els.panels[status.targetIndex].classList.contains(activeClass)) { els.panels[status.targetIndex].classList.add(activeClass); els.panels[status.targetIndex].setAttribute('aria-hidden', false); els.popupBtn.setAttribute('data-model-color', els.panels[status.targetIndex].getAttribute('id')); } if (status.targetIndex != 0) { let targetPanelImgs = els.panels[status.targetIndex].querySelectorAll('img'); if (!targetPanelImgs[0].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([targetPanelImgs[0]]); } if (!targetPanelImgs[1].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([targetPanelImgs[1]]); } } }, slideTo: function (targetColor) { let self = objs.colorchipSwiper; let activeIndex = targetColor.index; objs.slideChangeTime = null; if (status.isClick) { let moveSize = oldIndex - activeIndex; if (moveSize > 0) { if (moveSize == 1) { objs.colorchipSwiper.slidePrev(); } else if (moveSize == 3) { objs.colorchipSwiper.slidePrev(0); objs.colorchipSwiper.slidePrev(0); self.slidePrev(); } else { objs.colorchipSwiper.slidePrev(0); self.slidePrev(); } } else { if (moveSize == -1) { objs.colorchipSwiper.slideNext(); } else if (moveSize == -3) { objs.colorchipSwiper.slideNext(0); objs.colorchipSwiper.slideNext(0); self.slideNext(); } else { objs.colorchipSwiper.slideNext(0); self.slideNext(); } } self.slides[self.activeIndex].querySelector('button').focus(); clearTimeout(objs.slideChangeTime); objs.slideChangeTime = setTimeout(function () { self.slides[self.activeIndex].querySelector('button').focus(); }, 200); status.isClick = false; } }, setPopupBtnColor: function (target) { els.popupBtn.setAttribute('data-model-color', target.getAttribute('id')); } }; const accessibility = { slide: { top: function (swiperObjs) { for (let i = 0; i < swiperObjs.slides.length; i++) { if (i != swiperObjs.activeIndex) { utils.onAccessibility(swiperObjs.slides[i]); } else { utils.offAccessibility(swiperObjs.slides[i]); } } }, colorchip: function (swiperObjs) { let isNotActivedColorchips = null; for (let i = 0; i < swiperObjs.slides.length; i++) { if (currDevice.indexOf('mobile') > -1) { isNotActivedColorchips = (i != swiperObjs.activeIndex) && (i > swiperObjs.activeIndex + 2) || (i < swiperObjs.activeIndex - 2) } else { isNotActivedColorchips = (i != swiperObjs.activeIndex) && (i > swiperObjs.activeIndex + 3) || (i < swiperObjs.activeIndex - 3) } if (isNotActivedColorchips) { utils.onAccessibility(swiperObjs.slides[i]); } else { utils.offAccessibility(swiperObjs.slides[i]); } } } }, pagination: { tagging: function (pagination) { const tagging = { 'data-omni-type': 'microsite_gallery', 'data-omni': 'galaxy-s24-ultra:highlights:design^colors:index:', 'ga-ca': 'gallery', 'ga-ac': 'feature gallery', 'ga-la': 'galaxy-s24-ultra:highlights:design^colors:index:' }; if (!!pagination) { for (let i = 0; i < pagination.length; i++) { Object.keys(tagging).forEach(key => { if (key == 'data-omni' || key == 'ga-la') { pagination[i].setAttribute(key, tagging[key] + (i + 1)); } else { pagination[i].setAttribute(key, tagging[key]); } }); } } }, label: function (bullets) { for (let i = 0; i < bullets.length; i++) { let isExclusive = objs.topSwiper.slides[i].getAttribute('data-colortype') == 'true' ? true : false; let slideName; if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { slideName = !!isExclusive ? LOCAL_VARI.exclusive : LOCAL_VARI.default; if (i === objs.topSwiper.realIndex) { bullets[i].setAttribute('aria-label', `${LOCAL_VARI.slide}${i+1}: ${slideName} ${LOCAL_VARI.selected.toLowerCase()}`); } else { bullets[i].setAttribute('aria-label', `${LOCAL_VARI.slide}${i+1}: ${slideName}`); } } else { slideName = !!isExclusive ? 'online exclusive color' : 'default color'; if (i === objs.topSwiper.realIndex) { bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideName} selected`); } else { bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideName}`); } } } }, } }; return { init: init, } })();})();(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.display = (function () { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}; let objs = {}; let status = {}; let currDevice = resize.checkResolution(); let prevDevice = null; const init = function () { els.section = document.querySelector('.highlights-display'); if (!!els.section) { setElements(); setStatus(); bindEvents(); } }; const setElements = function () { els.resizeTimeout = null; els.displayBarWrap = els.section.querySelector('.highlights-display__bar'); els.displayBar = els.displayBarWrap.querySelector('.bar'); els.displayImage = els.section.querySelector('.highlights-display__image'); els.displayCoverImage = els.section.querySelector('.highlights-display__cover'); els.isGrab = false; els.isAction = false; els.displayCoverLeftWrap = els.section.querySelector('.highlights-display__tap-left'); els.displayCoverLeftBtn = els.section.querySelector('.highlights-display__tap-left button'); els.displayCoverRightBtn = els.section.querySelector('.highlights-display__tap-right button'); els.controller = els.section.querySelector('.highlights-display__bar-controller'); els.imgWrap = els.section.querySelector('.highlights-display__image-inner'); els.tabWrap = els.section.querySelector('.highlights-display__tap-wrap'); maxPercent = currDevice.indexOf('mobile') > -1 ? 0.675 : 0.75; minPercent = currDevice.indexOf('mobile') > -1 ? 0.325 : 0.25; }; const setStatus = function () { status.isTabMove = false; }; const bindEvents = function () { window.addEventListener('DOMContentLoaded', onLoadHandler, {once: true}); window.addEventListener('scroll', onScrollHandler); els.section.addEventListener('keydown', grabEventHandler.onMoveEvent); els.section.addEventListener('click', grabEventHandler.onMoveEvent); els.section.addEventListener('mousedown', grabEventHandler.onStart); els.section.addEventListener('mousemove', grabEventHandler.onMove); els.section.addEventListener('mouseup', grabEventHandler.onEnd); els.section.addEventListener('mouseleave', grabEventHandler.onEnd); els.section.addEventListener('touchstart', grabEventHandler.onStart); els.section.addEventListener('touchmove', grabEventHandler.onMove); els.section.addEventListener('touchend', grabEventHandler.onEnd); els.section.addEventListener('touchcancel', grabEventHandler.onEnd); resize.add(onResizeHandler); }; const setAnimations = function () { let minValue = currDevice.indexOf('mobile') > -1 ? 32.5 : 25; let maxValue = currDevice.indexOf('mobile') > -1 ? 67.5 : 75; TweenMax.set(els.displayBar, {left: `${minValue}%`, ease: Power2.easeOut}); TweenMax.set(els.displayCoverImage, {width: `${minValue}%`, ease: Power2.easeOut}); objs.barAnim = new TimelineLite(); objs.barAnim .to(els.displayBar, 1, { left: `${maxValue}%`, ease: Power2.easeOut }) .to(els.displayBar, 1, { left: 50 + '%', ease: Power2.easeOut }); objs.imgAnim = new TimelineLite(); objs.imgAnim .to(els.displayCoverImage, 1, { width: `${maxValue}%`, ease: Power2.easeOut }) .to(els.displayCoverImage, 1, { width: 50 + '%', ease: Power2.easeOut }); TweenMax.set(els.displayCoverLeftWrap, {width: `${minValue}%`, ease: Power2.easeOut}); objs.imgAnim = new TimelineLite(); objs.imgAnim .to(els.displayCoverLeftWrap, 1, { width: `${maxValue}%`, ease: Power2.easeOut }) .to(els.displayCoverLeftWrap, 1, { width: 50 + '%', ease: Power2.easeOut }); }; const onLoadHandler = function () { onScrollHandler(); }; const onResizeHandler = function (currRes) { currDevice = currRes; clearTimeout(els.resizeTimeout); els.resizeTimeout = setTimeout(function () { onScrollHandler(); }, 150); if (currDevice != prevDevice) { onResponsiveHandler(); prevDevice = currDevice; } }; const onResponsiveHandler = function () { maxPercent = currDevice.indexOf('mobile') > -1 ? 0.675 : 0.75; minPercent = currDevice.indexOf('mobile') > -1 ? 0.325 : 0.25; TweenMax.set(els.displayBar, {left: 50 + '%'}); TweenMax.set(els.displayCoverImage, {width: 50 + '%'}); TweenMax.set(els.displayCoverLeftWrap, {width: 50 + '%'}); }; const onScrollHandler = function () { let winOffsetTop = window.pageYOffset + utils.getNavHeight(); let winOffsetBottom = window.pageYOffset + window.innerHeight; let targetRect = els.displayImage.getBoundingClientRect(); let targetOffsetTop = window.pageYOffset + targetRect.top; let targetOffsetBottom = window.pageYOffset + targetRect.bottom; if ((winOffsetBottom - (window.innerHeight * 0.25) > targetOffsetTop && winOffsetTop + (window.innerHeight * 0.25) < targetOffsetBottom) && !els.isAction) { setAnimations(); els.isAction = true; } }; const grabEventHandler = { onStart: function (e) { e.target.matches('.highlights-display__bar-controller') && (els.isGrab = true); }, onEnd: function () { els.isGrab = false; }, onMove: function (e) { if (els.isGrab) { e && e.preventDefault(); let wrapRect = els.displayBarWrap.getBoundingClientRect(); let wrapMaxWidth = wrapRect.width * maxPercent; let wrapMinWidth = wrapRect.width * minPercent; let xPosition = !e.touches ? e.pageX : e.touches[0].pageX; let barPosition = xPosition - wrapRect.left; if (barPosition > wrapMaxWidth) barPosition = wrapMaxWidth; else if (barPosition < wrapMinWidth) barPosition = wrapMinWidth; let barPercent = ((barPosition / wrapRect.width) * 100); els.displayBar.style.left = barPercent + '%'; els.displayCoverImage.style.width = barPercent + '%'; grabEventHandler.setArrowSize(barPercent); } }, onMoveEvent: function (e) { let wrapRect = els.displayBarWrap.getBoundingClientRect(); let wrapMaxWidth = wrapRect.width * maxPercent; let wrapMinWidth = wrapRect.width * minPercent; let barRect = els.displayBar.getBoundingClientRect(); let barPosition = barRect.left - wrapRect.left; let moveValue = Math.ceil(wrapMaxWidth / ((currDevice.indexOf('desktop') > -1) ? 8 : 5.5)); let isMove = e.target.classList.contains('highlights-display__tap-button') || e.target.classList.contains('highlights-display__bar-controller'); if (isMove) { status.isTabMove = true; if (e.type == 'click' && e.target.classList.contains('highlights-display__tap-button')) { let leftBtn = 'highlights-display__tap-left'; let rightBtn = 'highlights-display__tap-right'; if (e.target.parentElement.classList.contains(leftBtn)) { barPosition -= moveValue; } else if (e.target.parentElement.classList.contains(rightBtn)) { barPosition += moveValue; } } if (e.target.classList.contains('highlights-display__bar-controller') && (e.keyCode == 39 || e.keyCode == 37)) { e && e.preventDefault(); if (e.keyCode == 39) barPosition += moveValue; else if (e.keyCode == 37) barPosition -= moveValue; } if (barPosition < wrapMinWidth) barPosition = wrapMinWidth; else if (barPosition > wrapMaxWidth) barPosition = wrapMaxWidth; let barPercent = ((barPosition / wrapRect.width) * 100); TweenMax.to(els.displayBar, 0.3, { left: barPercent + '%', ease: Power2.easeOut }); TweenMax.to(els.displayCoverImage, 0.3, { width: barPercent + '%', ease: Power2.easeOut }); grabEventHandler.setArrowSize(barPercent); } }, setArrowSize: function (barPercent) { let imgWidth = els.imgWrap.getBoundingClientRect().width; let tabWidth = els.tabWrap.getBoundingClientRect().width; let imgValue = imgWidth * (barPercent * (1 / 100)); let tabValue = (imgWidth - tabWidth) / 2; let moveTabBtnValue = Math.floor(imgValue - tabValue); if (status.isTabMove) { TweenMax.to(els.displayCoverLeftWrap, 0.3, { width: moveTabBtnValue + 'px', ease: Power2.easeOut }); status.isTabMove = false; } else { els.displayCoverLeftWrap.style.width = moveTabBtnValue + 'px'; } } }; return { init: init } })();})();(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.experiences = (function () { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}, objs = {}, status = {}, prevDevice = null, currDevice = resize.checkResolution(); const init = function () { els.section = document.querySelector('.highlights-galaxy-offers'); if(!!els.section) { els.offersItems = els.section.querySelectorAll('.highlights-galaxy-offers__card-item'); if(!!els.offersItems && (els.offersItems.length > 1)) { setElements(); bindEvents(); } } }; const setElements = function () { els.swiperContainer = els.section.querySelector('.highlights-galaxy-offers__card-container'); els.nextArrow = els.section.querySelector('.highlights-galaxy-offers__arrow--next'); els.prevArrow = els.section.querySelector('.highlights-galaxy-offers__arrow--prev'); }; const bindEvents = function () { window.addEventListener('DOMContentLoaded', handlerList.onLoad, {once:true}); resize.add(handlerList.onResize); els.nextArrow.addEventListener('click', swiperEvents.onClickArrow); els.nextArrow.addEventListener('keydown', swiperEvents.onClickArrow); els.prevArrow.addEventListener('click', swiperEvents.onClickArrow); els.prevArrow.addEventListener('keydown', swiperEvents.onClickArrow); }; const objList = { swiper: function () { if (objs.swiper == null) { objs.swiper = new Swiper(els.swiperContainer, { init: false, navigation: { nextEl: els.nextArrow, prevEl: els.prevArrow, }, loop: false, slidesPerView: 'auto', centeredSlides: false, }); } } }; const handlerList = { onLoad: function () { if (currDevice.indexOf('mobile') > -1) { setSwiper(); } }, onResize: function (currRes) { currDevice = currRes; if (currDevice != prevDevice) { handlerList.onResponsive(); prevDevice = currDevice; } }, onResponsive: function () { if (currDevice.indexOf('mobile') > -1) { setSwiper(); } else { swiperEvents.destroy(); } } }; const setSwiper = function () { objList.swiper(); objs.swiper.on('init', swiperEvents.init); objs.swiper.on('slideChange', swiperEvents.slideChange); objs.swiper.init(); }; const swiperEvents = { init: function () { let notification = this.el.querySelector('.swiper-notification'); if (!!notification) this.el.removeChild(notification); accessibility.slide(); }, slideChange: function () { accessibility.slide(); }, destroy: function () { if (objs.swiper != null) { objs.swiper.navigation.destroy(true); objs.swiper.destroy(true); objs.swiper = null; } }, onClickArrow: function (e) { status.arrowTimeout = null; status.arrowStyleTimeout = null; if ((e.type == 'keydown' && e.keyCode == 13) || e.type == 'click') { e.preventDefault(); if (objs.swiper.isBeginning && !objs.swiper.isEnd) { els.nextArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.prevArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.nextArrow.style.display = ''; }, 400); } else if (!objs.swiper.isBeginning && objs.swiper.isEnd) { els.prevArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.nextArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.prevArrow.style.display = ''; }, 400); } } } }; const accessibility = { slide: function () { for (let i = 0; i < objs.swiper.slides.length; i++) { if (i != objs.swiper.activeIndex) { utils.onAccessibility(objs.swiper.slides[i]); } else { utils.offAccessibility(objs.swiper.slides[i]); } } } }; return { init: init, } })();})();;(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.faq = (function () { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}; let objs = {}; let prevDevice = null; let currDevice = resize.checkResolution(); const init = function () { els.section = document.querySelector('.highlights-faq'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.faqList = els.section.querySelector('.highlights-faq__list'); }; const bindEvents = function () { resize.add(onResizeHandler); setAccordion(); }; const onResizeHandler = function (currRes) { currDevice = currRes; if (currDevice != prevDevice) { onResponsiveHandler(); prevDevice = currDevice; } }; const onResponsiveHandler = function () { let isOpenedItems = els.faqList.querySelectorAll('.highlights-faq__item.is-open'); if (isOpenedItems.length > 0) { for (let i = 0; i < isOpenedItems.length; i++) { let isOpenedItemContent = isOpenedItems[i].querySelector('.highlights-faq__answer'); let clientHeight = isOpenedItemContent.children[0].clientHeight; isOpenedItemContent.style.height = `${clientHeight}px`; } } }; const setAccordion = function () { objs.accordion = new window.flagship.common.accordion({ wrap: els.faqList, classList: { item: 'highlights-faq__item', button: 'highlights-faq__question-arrow', contents: 'highlights-faq__answer', activeClass: 'is-open' }, open: { start: function (target) { let targetInnerCta = target.querySelector('.highlights-faq__cta'); if (targetInnerCta) targetInnerCta.addEventListener('click', onClickFaqCta); } } }); objs.accordion.init(); }; const onClickFaqCta = function (e) { if (this.getAttribute('href').indexOf('#') == 0) { e.preventDefault(); let sectionId = this.getAttribute('href'); let section = document.querySelector(sectionId); let sectionTop = section.getBoundingClientRect().top; let movePosition = (sectionTop + window.pageYOffset) - utils.getNavHeight(); let clickable = section.querySelectorAll('a, button'); let title = (sectionId == '#galaxy-ai') ? section.querySelector('.common-headline') : section.querySelector('h2'); if(title.classList.contains('common-display-mo')) { if(resize.checkResolution().indexOf('mobile') > -1) { title = section.querySelector('h2.common-display-mo'); } else { title = section.querySelector('h2.common-display-pc'); } } if (!!title) { let _focusOut = function () { title.removeAttribute('tabindex'); title.removeEventListener('focusout', _focusOut); }; title.addEventListener('focusout', _focusOut); title.setAttribute('tabindex', 0); title.focus(); } else { clickable[0].focus(); } window.scrollTo(0, movePosition); } }; return { init: init } })();})();(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.gaming = (function () { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}; let objs = {}; let currDevice = resize.checkResolution(); let prevDevice = null; let maxPercent = 0.975; let minPercent = 0.018; const init = function () { els.section = document.querySelector('.highlights-gaming'); isRemaster = els.section.querySelector('.js-remaster'); if (!!els.section && !!isRemaster) { setElements(); bindEvents(); } }; const setElements = function () { els.resizeTimeout = null; els.gamingBarWrap = els.section.querySelector('.highlights-gaming__bar'); els.gamingBar = els.gamingBarWrap.querySelector('.bar'); els.gamingImage = els.section.querySelector('.highlights-gaming__image'); els.gamingCoverImage = els.section.querySelector('.highlights-gaming__cover'); els.isGrab = false; els.isAction = false; els.gamingCoverLeftWrap = els.section.querySelector('.highlights-gaming__tap-left'); els.gamingCoverLeftBtn = els.section.querySelector('.highlights-gaming__tap-left button'); els.gamingCoverRightBtn = els.section.querySelector('.highlights-gaming__tap-right button'); els.controller = els.section.querySelector('button.highlights-gaming__bar-controller'); }; const bindEvents = function () { window.addEventListener('DOMContentLoaded', onLoadHandler, {once:true}); window.addEventListener('scroll', onScrollHandler); els.section.addEventListener('keydown', grabEventHandler.onMoveEvent); els.section.addEventListener('click', grabEventHandler.onMoveEvent); els.section.addEventListener('mousedown', grabEventHandler.onStart); els.section.addEventListener('mousemove', grabEventHandler.onMove); els.section.addEventListener('mouseup', grabEventHandler.onEnd); els.section.addEventListener('mouseleave', grabEventHandler.onEnd); els.section.addEventListener('touchstart', grabEventHandler.onStart); els.section.addEventListener('touchmove', grabEventHandler.onMove); els.section.addEventListener('touchend', grabEventHandler.onEnd); els.section.addEventListener('touchcancel', grabEventHandler.onEnd); resize.add(onResizeHandler); }; const setAnimations = function () { let minValue = 1.8; let maxValue = 97.5; TweenMax.set(els.gamingBar, {left: `${minValue}%`, ease: Power2.easeOut}); TweenMax.set(els.gamingCoverImage, {width: `${minValue}%`, ease: Power2.easeOut}); objs.barAnim = new TimelineLite(); objs.barAnim .to(els.gamingBar, 1, { left: `${maxValue}%`, ease: Power2.easeOut }) .to(els.gamingBar, 1, { left: 50 + '%', ease: Power2.easeOut }); objs.imgAnim = new TimelineLite(); objs.imgAnim .to(els.gamingCoverImage, 1, { width: `${maxValue}%`, ease: Power2.easeOut }) .to(els.gamingCoverImage, 1, { width: 50 + '%', ease: Power2.easeOut }); TweenMax.set(els.gamingCoverLeftWrap, {width: `${minValue}%`, ease: Power2.easeOut}); objs.imgAnim = new TimelineLite(); objs.imgAnim .to(els.gamingCoverLeftWrap, 1, { width: `${maxValue}%`, ease: Power2.easeOut }) .to(els.gamingCoverLeftWrap, 1, { width: 50 + '%', ease: Power2.easeOut }); }; const onLoadHandler = function () { onScrollHandler(); }; const onResizeHandler = function (currRes) { currDevice = currRes; clearTimeout(els.resizeTimeout); els.resizeTimeout = setTimeout(function () { onScrollHandler(); }, 150); if (currDevice != prevDevice) { prevDevice = currDevice; } }; const onScrollHandler = function () { let winOffsetTop = window.pageYOffset + utils.getNavHeight(); let winOffsetBottom = window.pageYOffset + window.innerHeight; let targetRect = els.gamingImage.getBoundingClientRect(); let targetOffsetTop = window.pageYOffset + targetRect.top; let targetOffsetBottom = window.pageYOffset + targetRect.bottom; if ((winOffsetBottom - (window.innerHeight * 0.25) > targetOffsetTop && winOffsetTop + (window.innerHeight * 0.25) < targetOffsetBottom) && !els.isAction) { setAnimations(); els.isAction = true; } }; const grabEventHandler = { onStart: function (e) { e.target.matches('.highlights-gaming__bar-controller') && (els.isGrab = true); }, onEnd: function () { els.isGrab = false; }, onMove: function (e) { if (els.isGrab) { e && e.preventDefault(); let wrapRect = els.gamingBarWrap.getBoundingClientRect(); let wrapMaxWidth = wrapRect.width * maxPercent; let wrapMinWidth = wrapRect.width * minPercent; let xPosition = !e.touches ? e.pageX : e.touches[0].pageX; let barPosition = xPosition - wrapRect.left; if (barPosition > wrapMaxWidth) barPosition = wrapMaxWidth; else if (barPosition < wrapMinWidth) barPosition = wrapMinWidth; let barPercent = ((barPosition / wrapRect.width) * 100); els.gamingBar.style.left = barPercent + '%'; els.gamingCoverImage.style.width = barPercent + '%'; els.gamingCoverLeftWrap.style.width = barPercent + '%'; } }, onMoveEvent: function (e) { let wrapRect = els.gamingBarWrap.getBoundingClientRect(); let wrapMaxWidth = wrapRect.width * maxPercent; let wrapMinWidth = wrapRect.width * minPercent; let barRect = els.gamingBar.getBoundingClientRect(); let barPosition = barRect.left - wrapRect.left; let moveValue = Math.ceil(wrapMaxWidth / ((currDevice.indexOf('desktop') > -1) ? 8 : 4)); let isMove = e.target.classList.contains('highlights-gaming__tap-button') || e.target.classList.contains('highlights-gaming__bar-controller'); if (isMove) { if (e.type == 'click' && e.target.classList.contains('highlights-gaming__tap-button')) { let leftBtn = 'highlights-gaming__tap-left'; let rightBtn = 'highlights-gaming__tap-right'; if (e.target.parentElement.classList.contains(leftBtn)) { barPosition -= moveValue; } else if (e.target.parentElement.classList.contains(rightBtn)) { barPosition += moveValue; } } if (e.target.classList.contains('highlights-gaming__bar-controller') && (e.keyCode == 39 || e.keyCode == 37)) { e && e.preventDefault(); if (e.keyCode == 39) barPosition += moveValue; else if (e.keyCode == 37) barPosition -= moveValue; } if (barPosition < wrapMinWidth) barPosition = wrapMinWidth; else if (barPosition > wrapMaxWidth) barPosition = wrapMaxWidth; let barPercent = ((barPosition / wrapRect.width) * 100); TweenMax.to(els.gamingBar, 0.3, { left: barPercent + '%', ease: Power2.easeOut }); TweenMax.to(els.gamingCoverImage, 0.3, { width: barPercent + '%', ease: Power2.easeOut }); TweenMax.to(els.gamingCoverLeftWrap, 0.3, { width: barPercent + '%', ease: Power2.easeOut }); } } }; return { init: init } })();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.liveTranslateTutorial = (function () {const utils = window.flagship.common.utils;const common = window.flagship.highlights.common;let els = {};let objs = {};let stepInfo = [];let status = {};const init = function () {els.section = document.querySelector('.highlights-live-translate-tutorial');if (!!els.section) {setElements();bindEvents();}};const setElements = function () {els.tutorialVideoContainer = els.section.querySelector('.common-tutorial__main-video');els.videoList = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video');els.videoWrap = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video');els.videos = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video__video');els.tooltipCta = els.tutorialVideoContainer.querySelectorAll('.js-tutorial-tooltip-cta');els.tutorialReplay = els.tutorialVideoContainer.querySelector('.common-tutorial__replay-cta');};const setProperty = function(el, index){el.video = el.querySelector('video');el.controller = el.querySelector('.common-video__control');el.controller.video = el.querySelector('video');el.alert = el.parentElement.querySelector('.common-tutorial__alert');el.tooltip = el.parentElement.querySelector('.js-tutorial-tooltip');el.tooltipCta = el.parentElement.querySelector('.js-tutorial-tooltip-cta');el.video.playIndex = index;}const setStepStatus = function(el){stepInfo.push({alert: el.getAttribute('data-alert'),tooltip: el.getAttribute('data-tooltip')});}const eventList = {videoController: function(){for (let i = 0; i < objs.videos.length; i++) {objs.videos[i].controller.addEventListener('click', function(){if (this.video.paused) {this.video.play();} else {this.video.pause();}});}},nextVideoPlay: function(index){if (!!els.videoList[index].tooltip) {utils.onAccessibility(els.videoList[index].tooltip);}els.videoList[index + 1].classList.add('is-visible');utils.onAccessibility(els.videoList[index]);if (els.videos[index + 1].readyState > 3) {els.videos[index + 1].play();} else {els.videos[index + 1].addEventListener('loadeddata', function(){this.play();});}setTimeout(()=>{els.videoList[index].classList.remove('is-visible');if (!!els.videoList[index].tooltipCta) {els.videoList[index].tooltipCta.blur();}els.videoList[index + 1].setAttribute('tabindex', 0);els.videoList[index + 1].focus();els.videoList[index + 1].addEventListener('focusout', function () {let isTabindex = els.videoList[index + 1].getAttribute('tabindex');if (!!isTabindex && isTabindex == 0) {els.videoList[index + 1].removeAttribute('tabindex');}});}, 200);},click: function(){let self = this;els.tooltipCta[0].addEventListener('click', function(){self.nextVideoPlay(0);});},endCallback: function () {if (stepInfo[this.video.playIndex].tooltip == 'true') {if (!this.wrap.tooltipCta.classList.contains('is-bg-load-complete')) {this.wrap.tooltipCta.classList.add('is-bg-load-complete');}this.wrap.tooltipCta.removeAttribute('disabled');this.wrap.tooltip.classList.add('is-visible');}if (stepInfo[this.video.playIndex].alert == 'true') {this.wrap.alert.classList.add('is-visible');}if (!this.wrap.classList.contains('is-completed')) {this.wrap.classList.add('is-completed');this.controller.style.display = 'none';}}}const setVideos = function(){objs.videos = [];for (let i = 0; i < els.videoWrap.length; i++) {let isVideoWrap = els.videoWrap[i];objs.videos.push(ANIUTIL.videoHandler({wrap: isVideoWrap,video: isVideoWrap.video,controller: isVideoWrap.controller,resetCallback: function () {if (this.wrap.classList.contains('is-completed')) {this.wrap.classList.remove('is-completed');if (this.controller.style.display = 'none') this.controller.style.display = '';}},playCallback: function () {els.videoList[this.video.playIndex].removeAttribute('tabindex');els.videoList[this.video.playIndex].removeAttribute('aria-hidden');if (this.video.duration > 3) {if (this.video.muted) {this.video.muted = false;}this.controller.style.display = 'block';utils.offAccessibility(this.controller);setTagging.pause(this.controller);}},pauseCallback: function () {if (this.video.duration > 3) {setTagging.play(this.controller);}},endCallback: function () {if (!!this.wrap.tooltip) {utils.offAccessibility(this.wrap.tooltip);}if (this.video.duration > 3) {this.controller.style.display = 'none !important';}eventList.endCallback.call(this);if ((els.videos.length -1) == this.video.playIndex) {els.tutorialReplay.style.display = 'block';els.tutorialReplay.removeAttribute('tabindex'); els.tutorialReplay.removeAttribute('aria-hidden');}}}));}};const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } };const bindEvents = function () {for (let i = 0; i < els.videoWrap.length; i++) {setProperty(els.videoWrap[i], i);setStepStatus(els.videoList[i])}setVideos();eventList.videoController();eventList.click();};return {init: init,}})();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.lowLightPopup = (function () {const utils = window.flagship.common.utils;const common = window.flagship.highlights.common;let els = {};let objs = {};let status = {};const setPopupLazyLoader = {image: function () {objs.imageLoader = ANIUTIL.mediaLoader({lazyClass: '.js-low-light-popup-img-src',responsiveClass: '.js-low-light-popup-res-img',preset: status.isGlobal ? '' : '?imbypass=true',innerScroll: {use: true,wrap: els.layerPopup,},loadOption: [{resolution: 1920,attribute: 'data-src-pc'}, {resolution: 1023,attribute: 'data-src-tb'}, {resolution: 767,attribute: 'data-src-mo'}, {resolution: 360,attribute: 'data-src-mo-s'}],visiblePoint: 2});window.popupBgLoader = ANIUTIL.mediaLoader({type: 'bgImage',lazyClass: '.js-low-light-popup-bg-img',innerScroll: {use: true,wrap: els.layerPopup,},loadOption: [{resolution: 1920,attribute: '',bgOpts: ''}],visiblePoint: 1});},video: function () {objs.videoLoader = ANIUTIL.mediaLoader({type: 'video',lazyClass: '.js-low-light-popup-video-src',responsiveClass: '.js-low-light-popup-res-video',preset: status.isGlobal ? '' : '?imbypass=true',innerScroll: {use: true,wrap: els.layerPopup,},loadOption: [{resolution: 1920,attribute: 'data-video-src-pc'}, {resolution: 1023,attribute: 'data-video-src-tb'}, {resolution: 767,attribute: 'data-video-src-mo'}, {resolution: 360,attribute: 'data-video-src-mo-s'}],visiblePoint: 1,endCallback: function (video) {if (video.videoWrap && !video.videoWrap.classList.contains('is-loaded')) {video.videoWrap.classList.add('is-loaded');}}});}};const init = function () {els.section = document.querySelector('.highlights-low-light');els.layerPopup = document.querySelector('.highlights-low-light-popup');if (!!els.layerPopup) {setElements();setStatus();objList.setPopup();bindEvents();}};const setElements = function () {status.isGlobal = document.documentElement.classList.contains('global');els.contents = document.querySelector('#contents');els.openCta = els.section.querySelector('.js-layer-popup');els.innerWrap = els.layerPopup.querySelector('.common-popup__inner-wrapper');els.closeCtas = els.layerPopup.querySelectorAll('.common-popup__close-cta');els.dimmed = els.layerPopup.querySelector('.common-popup__dimmed');els.supClicker = els.layerPopup.querySelectorAll('a.click_sup');els.videoWrap = els.layerPopup.querySelector('.common-video');els.videoWrap.video = els.videoWrap.querySelector('.common-video__video');els.videoWrap.controller = els.videoWrap.querySelector('.common-video__control');els.videoWrap.controller.video = els.videoWrap.video;els.hashPopupOpener = null;};const setStatus = function () {status.isHash = false;};const bindEvents = function () {els.videoWrap.controller.addEventListener('click', handlerList.videoCta);for (let i = 0; i < els.supClicker.length; i++) {els.supClicker[i].addEventListener('click', handlerList.onClickSup);}};const objList = {setPopup: function () {utils.layerPopup({layerPopup: els.layerPopup,layerPopupClass: '.highlights-low-light-popup',openerEvent: {element: els.openCta,},closeCtas: [els.closeCtas[0], els.closeCtas[1]],dimmed: els.dimmed,moveTarget: document.documentElement,contents: els.contents,show: {start: function (target) {els.innerWrap.scrollTop = 0;els.layerPopup.classList.add('is-init');target.openerCta.blur();setPopupLazyLoader.image();setPopupLazyLoader.video();objList.setVideo();if (`#${els.openCta.getAttribute('data-hash')}` == window.location.hash) {status.isHash = true;els.hashPopupOpener = els.openCta;}},end: function () {if (utils.detector.isIosDevice) els.layerPopup.style.display = 'block';els.layerPopup.classList.add('is-open');}},hide: {start: function (target) {target.openerCta.focus();els.layerPopup.classList.remove('is-open');},end: function () {setTimeout(function () {els.layerPopup.classList.remove('is-init');}, 300);els.videoWrap.video.pause();els.videoWrap.video.currentTime = 0;if (status.isHash && els.hashPopupOpener) {els.hashPopupOpener.focus();setTimeout(function () {els.hashPopupOpener.focus();status.isHash = false;els.hashPopupOpener = null;}, 300);}}}});},setVideo: function () {objs.video = ANIUTIL.videoHandler({wrap: els.videoWrap,video: els.videoWrap.video,controller: els.videoWrap.controller,resetCallback: function () {if (this.wrap.classList.contains('is-completed')) {this.wrap.classList.remove('is-completed');}},playCallback: function () {setTagging.pause(this.controller);},pauseCallback: function () {setTagging.play(this.controller);},endCallback: function () {if (!this.wrap.classList.contains('is-completed')) {this.wrap.classList.add('is-completed');}}});}};const handlerList = {videoCta: function (e) {if (e.target == e.currentTarget) {if (e.currentTarget.video.paused) {e.currentTarget.video.play();} else {e.currentTarget.video.pause();}}},onClickSup: function (e) {e.preventDefault();e.stopPropagation();els.layerPopup.hide();let targetIndex = parseFloat(e.target.innerText),disclaimer = document.querySelectorAll('#desc-section li')[targetIndex - 1],disclaimerText = disclaimer.innerText,activeBlock = '' + disclaimerText + '';setTimeout(() => {disclaimer.innerHTML = activeBlock;disclaimer.querySelector('a').focus();}, 500);const eventList = {focusIn: function () {common.centeredFocus.call(disclaimer.querySelector('a'));disclaimer.removeEventListener('focusin', eventList.focusIn);},focusOut: function () {disclaimer.innerHTML = disclaimerText;disclaimer.removeAttribute('tabindex');disclaimer.removeEventListener('focusout', eventList.focusOut);},};disclaimer.addEventListener('focusin', eventList.focusIn);disclaimer.addEventListener('focusout', eventList.focusOut);}};const setTagging = {play: function (targetController) {if (targetController.hasAttribute('data-omni')) {let dataOmni = targetController.getAttribute('data-omni').toLowerCase();targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play'));}if (targetController.hasAttribute('ga-la')) {let gaLa = targetController.getAttribute('ga-la').toLowerCase();targetController.setAttribute('ga-la', gaLa.replace('pause', 'play'));}},pause: function (targetController) {if (targetController.hasAttribute('data-omni')) {let dataOmni = targetController.getAttribute('data-omni').toLowerCase();targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause'));}if (targetController.hasAttribute('ga-la')) {let gaLa = targetController.getAttribute('ga-la').toLowerCase();targetController.setAttribute('ga-la', gaLa.replace('play', 'pause'));}}};return {init: init,}})();})();(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.lowLight = (function () { let els = {}; let objs = {}; let status = {}; const utils = window.flagship.common.utils; const init = function () { els.section = document.querySelector('.highlights-low-light'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.swiperContainer = els.section.querySelector('.highlights-low-light__carousel'); els.prevArrow = els.section.querySelector('.swiper-button-prev'); els.nextArrow = els.section.querySelector('.swiper-button-next'); els.pagination = els.section.querySelector('.highlights-low-light__carousel-pagination'); }; const bindEvents = function () { setSwiper(); els.nextArrow.addEventListener('click', swiperEvents.onClickArrow); els.nextArrow.addEventListener('keydown', swiperEvents.onClickArrow); els.prevArrow.addEventListener('click', swiperEvents.onClickArrow); els.prevArrow.addEventListener('keydown', swiperEvents.onClickArrow); }; const setSwiper = function () { if (objs.swiper == null) { objs.swiper = new Swiper(els.swiperContainer, { init: false, slidesPerView: 'auto', speed: 800, navigation: { prevEl: els.prevArrow, nextEl: els.nextArrow, }, pagination: { el: els.pagination, type: 'bullets', clickable: true, renderBullet: function () { return '

      • '; } } }); }; objs.swiper.on('init', swiperEvents.init); objs.swiper.on('slideChange', swiperEvents.slideChange); objs.swiper.init(); }; const swiperEvents = { init: function () { let notification = this.el.querySelector('.swiper-notification'); els.bullets = this.pagination.bullets; if (!!notification) this.el.removeChild(notification); accessibility.slide(); accessibility.pagination.tagging(); accessibility.pagination.label(); els.nextArrow.removeAttribute('aria-label'); els.prevArrow.removeAttribute('aria-label'); for (let i = 0; i < els.bullets.length; i++) { els.bullets[i].removeAttribute('role'); els.bullets[i].addEventListener('click', function (e) { e.preventDefault(); e.stopPropagation(); objs.swiper.slideTo(i); }); } }, slideChange: function () { accessibility.slide(); accessibility.pagination.label(); }, onClickArrow: function (e) { status.arrowTimeout = null; status.arrowStyleTimeout = null; if ((e.type == 'keydown' && e.keyCode == 13) || e.type == 'click') { e.preventDefault(); if (objs.swiper.isBeginning && !objs.swiper.isEnd) { els.prevArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.nextArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.prevArrow.style.display = ''; }, 400); } else if (!objs.swiper.isBeginning && objs.swiper.isEnd) { els.nextArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.prevArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.nextArrow.style.display = ''; }, 400); } } } }; const accessibility = { slide: function () { for (let i = 0; i < objs.swiper.slides.length; i++) { if (i != objs.swiper.activeIndex) { utils.onAccessibility(objs.swiper.slides[i]); } else { utils.offAccessibility(objs.swiper.slides[i]); } } }, pagination: { tagging: function () { const tagging = { 'data-omni-type': 'microsite_gallery', 'data-omni': 'galaxy-s24-ultra:highlights:camera^zoom:index:', 'ga-ca': 'gallery', 'ga-ac': 'feature gallery', 'ga-la': 'galaxy-s24-ultra:highlights:camera^zoom:index:', }; for (let i = 0; i < els.bullets.length; i++) { Object.keys(tagging).forEach(key => { if (key == 'data-omni' || key == 'ga-la') { els.bullets[i].setAttribute(key, tagging[key] + (i + 1)); } else { els.bullets[i].setAttribute(key, tagging[key]); } }); } }, label: function () { for (let i = 0; i < els.bullets.length; i++) { let slideName = objs.swiper.slides[i].getAttribute('data-slide-name'); if (i === objs.swiper.realIndex) { if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { els.bullets[i].setAttribute('aria-label', `${LOCAL_VARI.slide}${i+1}: ${slideName} ${LOCAL_VARI.selected.toLowerCase()}`); } else { els.bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideName} selected`); } } else { if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { els.bullets[i].setAttribute('aria-label', `${LOCAL_VARI.slide}${i+1}: ${slideName}`); } else { els.bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideName}`); } } } }, } }; return { init: init, } })();})();;(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.overview = (() => { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}; let objs = {}; let eventFnc = {}; let statusClass = { progress: { active: 'js-progress-active', pause: 'js-progress-pause' }, video: { load: 'is-loaded', complete: 'is-video-load-complete' }, navigation: 'is-active', info: { visible: 'is-visible', active: 'is-active' }, }; let status = { currentDevice: resize.checkResolution(), isPaused: false, }; const init = () => { els.section = document.querySelector('.highlights-overview'); if (!!els.section) { setElements(); setProperty(); objList.setScene(); bindEvents(); } }; const setElements = () => { els.sectionInner = els.section.querySelector('.common-inner'); els.overviewContents = els.section.querySelector('.highlights-overview__contents') els.swiperContainer = els.section.querySelector('.js-overview-carousel'); els.slides = els.section.querySelectorAll('.highlights-overview__carousel-slide'); els.videoWrap = els.section.querySelectorAll('.common-video'); els.videos = els.section.querySelectorAll('.common-video__video'); els.videoControlCta = els.section.querySelectorAll('.common-video__control'); els.nextArrow = els.section.querySelector('.swiper-button-next'); els.prevArrow = els.section.querySelector('.swiper-button-prev'); els.progressWrap = els.section.querySelectorAll('.js-progress-wrap'); els.progressBar = els.section.querySelectorAll('.js-progress-bar'); els.navigationWrap = els.section.querySelector('.highlights-overview__navigation'); els.navigationInner = els.navigationWrap.querySelector('.highlights-overview__navigation-inner'); els.navigationList = els.navigationWrap.querySelectorAll('.highlights-overview__navigation-listitem'); els.navigationBtn = els.navigationWrap.querySelectorAll('.highlights-overview__navigation-button-wrap'); els.infoItem = els.section.querySelectorAll('.highlights-overview__info-item'); els.featureCtas = els.section.querySelectorAll('a.common-cta-encased'); // tutorial els.tutorialOpenCtas = els.section.querySelectorAll('.js-tutorial-popup'); }; const setProperty = () => { status.navSlideWrapWidth = els.navigationWrap.clientWidth; status.isRtl = document.documentElement.classList.contains('rtl'); for (let i = 0; i < els.videos.length; i++) { els.videos[i].controlCta = els.videoControlCta[i]; els.videos[i].wrap = els.videoWrap[i]; els.videoControlCta[i].video = els.videos[i]; } for (let j = 0; j < els.navigationBtn.length; j++) { els.navigationBtn[j].index = j; els.navigationBtn[j].img = els.navigationBtn[j].querySelector('.highlights-overview__navigation-button-image img'); els.navigationBtn[j].img.parentWrap = els.navigationBtn[j]; els.navigationBtn[j].text = els.navigationBtn[j].querySelector('.highlights-overview__navigation-button-text'); els.navigationBtn[j].text.parentWrap = els.navigationBtn[j]; els.navigationBtn[j].addEventListener('keydown', eventList.onClickNavigation); } }; const objList = { setSwiper: () => { if (objs.swiper == null) { objs.swiper = new Swiper(els.swiperContainer, { navigation: { nextEl: els.nextArrow, prevEl: els.prevArrow, }, init: false, speed: 500, }); objs.swiper.currentIndex = 0; objs.swiper.on('init', function () { let notification = this.el.querySelector('.swiper-notification'); this.el.removeChild(notification); els.nextArrow.removeAttribute('aria-label'); els.prevArrow.removeAttribute('aria-label'); objList.setVideo(); eventList.setVideoController(); eventList.scroll(); eventList.animationEnd(); accessibility.slide(); accessibility.setTitle(); }); objs.swiper.on('slideChange', swiperEvent.slideChange); objs.swiper.init(); } }, setVideo: () => { for (let i = 0; i < els.slides.length; i++) { let isSlide = els.slides[i]; let isVideoWrap = isSlide.querySelector('.common-video'); let isVideo = isSlide.querySelector('.common-video__video'); if (isSlide.querySelector('video')) { objs[`video_${i}`] = ANIUTIL.videoHandler({ playType: 'scrollPlay', wrap: isVideoWrap, video: isVideo, controller: isVideo.controlCta, startPoint: resize.checkResolution().indexOf('mobile') > -1 ? 25 : 35, reversePoint: resize.checkResolution().indexOf('mobile') > -1 ? 75 : 80, playCallback: function () { if (!!!els.progressBar[i].style['animation-duration']) els.progressBar[i].style['animation-duration'] = `${isVideo.duration}s`; els.progressWrap[i].classList.remove(statusClass.progress.pause); if (isVideo.currentTime == 0) els.progressWrap[i].classList.remove(statusClass.progress.active); setTimeout(() => { els.progressWrap[i].classList.add(statusClass.progress.active); }, 20); accessibility.setTagging.pause(isVideo.controlCta); }, pauseCallback: function () { setTimeout(() => { els.progressWrap[i].classList.add(statusClass.progress.pause); }, 100); accessibility.setTagging.play(isVideo.controlCta); }, endCallback: function () { if (!isVideoWrap.classList.contains('is-completed')) isVideoWrap.classList.add('is-completed'); }, resetCallback: function () { setTimeout(() => { els.progressWrap[i].classList.remove(statusClass.progress.pause); els.progressWrap[i].classList.remove(statusClass.progress.active); }, 100); } }); } else { status.imageSlideIndex = i; els.progressBar[i].style['animation-duration'] = '3s'; } } }, setScene: () => { objs.scene = SCROLLER({ trackElement: els.overviewContents, useFixed: false }); }, setNavSwiper: () => { if (objs.navSwiper == null) { objs.navSwiper = new Swiper(els.navigationWrap, { init: false, slidesPerView: 'auto', }); objs.navSwiper.on('init', function () { let notification = this.el.querySelector('.swiper-notification'); this.el.removeChild(notification); }); objs.navSwiper.on('touchMove', swiperEvent.checkScrollEnd); objs.navSwiper.init(); } } }; const bindEvents = () => { objList.setSwiper(); window.addEventListener('scroll', eventList.scroll); els.navigationWrap.addEventListener('click', eventList.onClickNavigation); els.nextArrow.addEventListener('click', swiperEvent.onClickArrow); els.nextArrow.addEventListener('keydown', swiperEvent.onClickArrow); els.prevArrow.addEventListener('click', swiperEvent.onClickArrow); els.prevArrow.addEventListener('keydown', swiperEvent.onClickArrow); swiperEvent.navInitCheck(); for (let i = 0; i < els.featureCtas.length; i++) { els.featureCtas[i].addEventListener('click', eventList.clickFeatureCta); } // tutorial for (let j = 0; j < els.tutorialOpenCtas.length; j++) { els.tutorialOpenCtas[j].addEventListener('click', eventList.clickTutorialOpenCta); } resize.add(eventList.onResize); }; const swiperEvent = { slideChange: () => { let activeIndex = objs.swiper.activeIndex; let currentIndex = objs.swiper.currentIndex; let slideLength = objs.swiper.slides.length; let loadIndex = activeIndex == slideLength - 1 ? 0 : activeIndex; let loadVideoLength = els.section.querySelectorAll(`.${statusClass.video.load}`).length; let allSlideloadComplete = els.videos.length == loadVideoLength; let nextIndex = (objs.swiper.activeIndex < objs.swiper.slides.length - 1) ? (objs.swiper.activeIndex + 1) : 0; if (!allSlideloadComplete && els.videos.length > loadIndex) { if (!els.videos[activeIndex].classList.contains(statusClass.video.complete)) { videoLoader.setResponsiveMedia([els.videos[activeIndex]]); els.videoWrap[activeIndex].classList.add(statusClass.video.load); } if (!els.videos[nextIndex].classList.contains(statusClass.video.complete)) { videoLoader.setResponsiveMedia([els.videos[nextIndex]]); els.videoWrap[nextIndex].classList.add(statusClass.video.load); } } if (currentIndex != activeIndex) { if ((currentIndex != status.imageSlideIndex)) { objs[`video_${currentIndex}`].video.pause(); objs[`video_${currentIndex}`].video.currentTime = 0; } objs[`video_${currentIndex}`].video.removeEventListener('canplay', objs[`video_${currentIndex}`].video.play); if(!!utils.isLowNetwork() || !!status.isPaused) { els.progressWrap[currentIndex].classList.remove(statusClass.progress.active); els.progressWrap[activeIndex].classList.remove(statusClass.progress.pause); } else { if (activeIndex != status.imageSlideIndex) { els.progressWrap[currentIndex].classList.remove(statusClass.progress.active); if(!!utils.isLowNetwork()) return; if (objs[`video_${activeIndex}`] != undefined && objs[`video_${activeIndex}`].video.readyState >= 4) { objs[`video_${activeIndex}`].video.play(); } else { objs[`video_${activeIndex}`].video.addEventListener('canplay', function () { this.play(); }); } } else { els.progressWrap[currentIndex].classList.remove(statusClass.progress.active); els.progressWrap[activeIndex].classList.remove(statusClass.progress.pause); els.progressWrap[activeIndex].classList.add(statusClass.progress.active); } } if (!els.navigationBtn[activeIndex].classList.contains(statusClass.navigation)) { els.navigationBtn[currentIndex].classList.remove(statusClass.navigation); els.navigationBtn[activeIndex].classList.add(statusClass.navigation); accessibility.setTitle(); } if (!els.infoItem[activeIndex].classList.contains(statusClass.info.visible)) { els.infoItem[currentIndex].classList.remove(statusClass.info.visible); els.infoItem[activeIndex].classList.add(statusClass.info.visible); } if (!els.infoItem[activeIndex].classList.contains(statusClass.info.active)) { els.infoItem[currentIndex].classList.remove(statusClass.info.active); els.infoItem[activeIndex].classList.add(statusClass.info.active); } } if (objs.navSwiper != null) swiperEvent.setNavSwiperXvalue(activeIndex); accessibility.slide(); objs.swiper.currentIndex = activeIndex; }, onClickArrow: (e) => { status.arrowTimeout = null; status.arrowStyleTimeout = null; status.accessibilityTimeout = null; if ((e.type == 'keydown' && e.keyCode == 13) || e.type == 'click') { e.preventDefault(); if (objs.swiper.isBeginning && !objs.swiper.isEnd) { els.prevArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.nextArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.prevArrow.style.display = ''; }, 400); } else if (!objs.swiper.isBeginning && objs.swiper.isEnd) { els.nextArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.prevArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.nextArrow.style.display = ''; }, 400); } else if(!objs.swiper.isBeginning && !objs.swiper.isEnd) { let target = e.target.classList.contains('swiper-button-next') ? els.nextArrow : els.prevArrow; let noTarget = target.classList.contains('swiper-button-next') ? els.prevArrow : els.nextArrow; objs.swiper.slides[objs.swiper.activeIndex].setAttribute('tabindex', -1); objs.swiper.slides[objs.swiper.activeIndex].setAttribute('aria-hidden', true); noTarget.setAttribute('tabindex', -1); noTarget.setAttribute('aria-hidden', true); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { target.focus(); }, 300); clearTimeout(status.accessibilityTimeout); status.accessibilityTimeout = setTimeout(function () { objs.swiper.slides[objs.swiper.activeIndex].removeAttribute('tabindex'); objs.swiper.slides[objs.swiper.activeIndex].removeAttribute('aria-hidden'); noTarget.removeAttribute('tabindex'); noTarget.removeAttribute('aria-hidden'); }, 400); } eventList.animationEndDestroy(); } }, navInitCheck: () => { let wrapPadding = parseInt(window.getComputedStyle(els.sectionInner).paddingLeft) * 2; let getComputedStyle = window.getComputedStyle(els.navigationList[0]); let navMargin = !!status.isRtl ? parseInt(getComputedStyle.marginLeft) : parseInt(getComputedStyle.marginRight); let navSlideWidth = els.navigationList[0].clientWidth; let slideWrapWidth = (navSlideWidth * els.navigationList.length) + (navMargin * (els.navigationList.length - 1)); status.navSwiperPadding = (status.navSlideWrapWidth - slideWrapWidth) / 2; let contentsWidth = els.sectionInner.clientWidth - wrapPadding - status.navSwiperPadding; status.isNavInit = (status.currentDevice.indexOf('mobile') > -1 && contentsWidth <= slideWrapWidth) || els.navigationList.length > 4; if(!!status.isNavInit) { objList.setNavSwiper(); } else { swiperEvent.destroy(); } }, setNavSwiperXvalue: (activeIndex) => { if (activeIndex === 0 || activeIndex === 1) { status.xValue = 0; } else if (activeIndex > 1) { if((status.navSwiperPadding * 2) < 0) { status.xValue = (status.navSlideWrapWidth - els.navigationInner.clientWidth) + Math.abs((status.navSwiperPadding * 2)); } else { status.xValue = status.navSlideWrapWidth - els.navigationInner.clientWidth; } } if(!status.isRtl) els.navigationInner.style.transform = `translate3d(-${status.xValue}px, 0px, 0px)`; else els.navigationInner.style.transform = `translate3d(${status.xValue}px, 0px, 0px)`; swiperEvent.checkScrollEnd(); }, checkScrollEnd: () => { if(!status.isRtl) { if(objs.navSwiper.getTranslate() < 0) els.navigationWrap.classList.add('is-scroll-end'); else els.navigationWrap.classList.remove('is-scroll-end'); } else { if(objs.navSwiper.getTranslate() < 0) els.navigationWrap.classList.remove('is-scroll-end'); else els.navigationWrap.classList.add('is-scroll-end'); } }, destroy: () => { if(objs.navSwiper != null) { objs.navSwiper.destroy(true); objs.navSwiper = null; } } } const eventList = { setVideoController: () => { for (let i = 0; i < els.videoControlCta.length; i++) { els.videoControlCta[i].addEventListener('click', function () { let isVideo = this.video; if (isVideo.paused) { status.isPaused = false; isVideo.play(); } else { status.isPaused = true; isVideo.pause(); } }); } }, scroll: () => { objs.scene.trackAnimation(function () { objs[`video_${objs.swiper.activeIndex}`].scrollActive(this.progress); }); }, animationEnd: () => { eventFnc.animationEnd = {}; if(!!utils.isLowNetwork()) return; for (let i = 0; i < els.progressBar.length; i++) { eventFnc.animationEnd[i] = function () { if (objs.swiper.activeIndex == (objs.swiper.slides.length - 1)) { els.progressBar[i].removeEventListener('animationend', eventFnc.animationEnd[i]); } else { setTimeout(() => { objs.swiper.slideNext(500); els.progressBar[i].removeEventListener('animationend', eventFnc.animationEnd[i]); }, 800); } }; els.progressBar[i].addEventListener('animationend', eventFnc.animationEnd[i]); } }, animationEndDestroy: () => { for (let i = 0; i < els.progressBar.length; i++) { els.progressBar[i].removeEventListener('animationend', eventFnc.animationEnd[i]); } }, onClickNavigation: (e) => { if (e.target.classList.contains('swiper-wrapper') || (e.type == 'keydown' && e.keyCode != 13)) return; let oldTarget = els.navigationWrap.querySelector(`.${statusClass.navigation}`); let targetMatches = e.target.matches('.highlights-overview__navigation-button-image img') || e.target.matches('.highlights-overview__navigation-button-text'); if (targetMatches) { currentTarget = e.target.parentWrap; } else if (e.target.classList.contains('highlights-overview__navigation-button')) { currentTarget = e.target.parentElement; } if (!currentTarget.classList.contains(statusClass.navigation)) { oldTarget.classList.remove(statusClass.navigation); currentTarget.classList.add(statusClass.navigation); objs.swiper.slideTo(currentTarget.index, 500, false) } eventList.animationEndDestroy(); accessibility.setTitle(); }, clickFeatureCta: (e) => { e.preventDefault(); let target = e.target.matches('.common-cta-encased__text') ? e.target.parentElement : e.target; let sectionId = target.getAttribute('href'); let section = document.querySelector(sectionId); let sectionTop = section.getBoundingClientRect().top; let movePosition = (sectionTop + window.pageYOffset) - utils.getNavHeight(); let clickable = section.querySelectorAll('a, button'); let title = section.querySelector('h2.common-sub-headline'); if(title.classList.contains('common-display-mo')) { if(resize.checkResolution().indexOf('mobile') > -1) { title = section.querySelector('h2.common-sub-headline.common-display-mo'); } else { title = section.querySelector('h2.common-sub-headline.common-display-pc'); } } if (!!title) { let _focusOut = function () { title.removeAttribute('tabindex'); title.removeEventListener('focusout', _focusOut); }; title.addEventListener('focusout', _focusOut); title.setAttribute('tabindex', 0); title.focus(); } else { clickable[0].focus(); } window.scrollTo(0, movePosition); }, onResize: function (currRes) { status.currentDevice = currRes; status.navSlideWrapWidth = els.navigationWrap.clientWidth; swiperEvent.navInitCheck(); }, clickTutorialOpenCta: function () { let hash = this.getAttribute('data-hash'); let tutorialPopup = document.querySelector(`#${hash}`); let tutorialPopupList = document.querySelectorAll('.common-tutorial'); if (tutorialPopup) { tutorialPopup.show(); for (let i = 0; i < tutorialPopupList.length; i++) { tutorialPopupList[i].isOverview = true; tutorialPopupList[i].overviewCta = this; } } }, }; const accessibility = { slide: () => { for (let i = 0; i < objs.swiper.slides.length; i++) { if (i != objs.swiper.activeIndex) { utils.onAccessibility(objs.swiper.slides[i]); } else { utils.offAccessibility(objs.swiper.slides[i]); } } }, setTitle: () => { for (let i = 0; i < els.navigationBtn.length; i++) { let button = els.navigationBtn[i].querySelector('button'); button.removeAttribute('title'); if (i == objs.swiper.activeIndex) { if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { button.setAttribute('title', LOCAL_VARI.selected); } else { button.setAttribute('title', 'Selected'); } } } }, setTagging: { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } } }; return { init: init } })();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.quadTelPopup = (function () {const utils = window.flagship.common.utils;const resize = window.flagship.common.resize;const common = window.flagship.highlights.common;let els = {};let objs = {};let status = {};let currDevice = resize.checkResolution();let prevDevice = null;const setPopupLazyLoader = {image: function () {objs.imageLoader = ANIUTIL.mediaLoader({lazyClass: '.js-quad-telephoto-popup-img-src',responsiveClass: '.js-quad-telephoto-popup-res-img',preset: status.isGlobal ? '' : '?imbypass=true',innerScroll: {use: true,wrap: els.layerPopup,},loadOption: [{resolution: 1920,attribute: 'data-src-pc'}, {resolution: 1023,attribute: 'data-src-tb'}, {resolution: 767,attribute: 'data-src-mo'}, {resolution: 360,attribute: 'data-src-mo-s'}],visiblePoint: 2});window.popupBgLoader = ANIUTIL.mediaLoader({type: 'bgImage',lazyClass: '.js-quad-telephoto-popup-bg-img',innerScroll: {use: true,wrap: els.layerPopup,},loadOption: [{resolution: 1920,attribute: '',bgOpts: ''}],visiblePoint: 1});},video: function () {objs.videoLoader = ANIUTIL.mediaLoader({type: 'video',lazyClass: '.js-quad-telephoto-popup-video-src',responsiveClass: '.js-quad-telephoto-popup-res-video',preset: status.isGlobal ? '' : '?imbypass=true',innerScroll: {use: true,wrap: els.layerPopup,},loadOption: [{resolution: 1920,attribute: 'data-video-src-pc'}, {resolution: 1023,attribute: 'data-video-src-tb'}, {resolution: 767,attribute: 'data-video-src-mo'}, {resolution: 360,attribute: 'data-video-src-mo-s'}],visiblePoint: 1,endCallback: function (video) {if (video.videoWrap && !video.videoWrap.classList.contains('is-loaded')) {video.videoWrap.classList.add('is-loaded');}}});}};const init = function () {els.section = document.querySelector('.highlights-quad-telephoto');els.layerPopup = document.querySelector('.highlights-quad-telephoto-popup');if (!!els.layerPopup) {setElements();setStatus();objList.setPopup();bindEvents();}};const setElements = function () {status.isGlobal = document.documentElement.classList.contains('global');els.innerWrap = els.layerPopup.querySelector('.common-popup__inner-wrapper');els.contents = document.querySelector('#contents');els.openCta = els.section.querySelector('.js-layer-popup');els.closeCtas = els.layerPopup.querySelectorAll('.common-popup__close-cta');els.dimmed = els.layerPopup.querySelector('.common-popup__dimmed');els.supClicker = els.layerPopup.querySelectorAll('a.click_sup');els.scrollVideoWrap = els.layerPopup.querySelector('.common-video.js-scroll-video');els.scrollVideoWrap.video = els.scrollVideoWrap.querySelector('.common-video__video');els.scrollVideoWrap.controller = els.scrollVideoWrap.querySelector('.common-video__control');els.scrollVideoWrap.controller.video = els.scrollVideoWrap.video;els.hashPopupOpener = null;};const setStatus = function () {status.isHash = false;};const bindEvents = function () {resize.add(handlerList.onResize);els.innerWrap.addEventListener('scroll', handlerList.scroll);els.scrollVideoWrap.controller.addEventListener('click', handlerList.videoCta);for (let i = 0; i < els.supClicker.length; i++) {els.supClicker[i].addEventListener('click', handlerList.onClickSup);}};const objList = {setPopup: function () {utils.layerPopup({layerPopup: els.layerPopup,layerPopupClass: '.highlights-quad-telephoto-popup',openerEvent: {element: els.openCta,},closeCtas: [els.closeCtas[0], els.closeCtas[1]],dimmed: els.dimmed,moveTarget: document.documentElement,contents: els.contents,show: {start: function (target) {els.innerWrap.scrollTop = 0;els.layerPopup.classList.add('is-init');target.openerCta.blur();setPopupLazyLoader.image();setPopupLazyLoader.video();objList.setVideo();objList.setScene();if (`#${els.openCta.getAttribute('data-hash')}` == window.location.hash) {status.isHash = true;els.hashPopupOpener = els.openCta;}setTimeout(function () {handlerList.scroll();}, 300);},end: function () {if (utils.detector.isIosDevice) els.layerPopup.style.display = 'block';els.layerPopup.classList.add('is-open');}},hide: {start: function (target) {target.openerCta.focus();els.layerPopup.classList.remove('is-open');},end: function () {setTimeout(function () {els.layerPopup.classList.remove('is-init');}, 300);els.scrollVideoWrap.video.pause();els.scrollVideoWrap.video.currentTime = 0;if (status.isHash && els.hashPopupOpener) {els.hashPopupOpener.focus();setTimeout(function () {els.hashPopupOpener.focus();status.isHash = false;els.hashPopupOpener = null;}, 300);}}}});},setVideo: function () {objs.scrollVideo = ANIUTIL.videoHandler({playType: 'scrollPlay',startPoint: (currDevice.indexOf('mobile') > -1) ? 15 : 30,reversePoint: (currDevice.indexOf('mobile') > -1) ? 40 : 55,wrap: els.scrollVideoWrap,video: els.scrollVideoWrap.video,controller: els.scrollVideoWrap.controller,resetCallback: function () {if (this.wrap.classList.contains('is-completed')) {this.wrap.classList.remove('is-completed');}},playCallback: function () {setTagging.pause(this.controller);},pauseCallback: function () {setTagging.play(this.controller);},endCallback: function () {if (!this.wrap.classList.contains('is-completed')) {this.wrap.classList.add('is-completed');}}});},setScene: function () {objs.scene = SCROLLER({trackElement: els.scrollVideoWrap.video,innerScroll: {use: true,wrap: els.layerPopup},useFixed: false,resize: utils.detector.isTouchDevice ? false : true});}};const handlerList = {scroll: function () {objs.scene.trackAnimation(function () {objs.scrollVideo.scrollActive(this.progress);});},onResize: function (currRes) {currDevice = currRes;if(currDevice != prevDevice) {els.scrollVideoWrap.video.pause();els.scrollVideoWrap.video.currentTime = 0;setTimeout(() => {objList.setVideo();}, 300);prevDevice = currDevice;}},videoCta: function (e) {if (e.target == e.currentTarget) {if (e.currentTarget.video.paused) {e.currentTarget.video.play();} else {e.currentTarget.video.pause();}}},onClickSup: function (e) {e.preventDefault();e.stopPropagation();els.layerPopup.hide();let targetIndex = parseFloat(e.target.innerText),disclaimer = document.querySelectorAll('#desc-section li')[targetIndex - 1],disclaimerText = disclaimer.innerText,activeBlock = '' + disclaimerText + '';setTimeout(() => {disclaimer.innerHTML = activeBlock;disclaimer.querySelector('a').focus();}, 500);const eventList = {focusIn: function () {common.centeredFocus.call(disclaimer.querySelector('a'));disclaimer.removeEventListener('focusin', eventList.focusIn);},focusOut: function () {disclaimer.innerHTML = disclaimerText;disclaimer.removeAttribute('tabindex');disclaimer.removeEventListener('focusout', eventList.focusOut);},};disclaimer.addEventListener('focusin', eventList.focusIn);disclaimer.addEventListener('focusout', eventList.focusOut);}};const setTagging = {play: function (targetController) {if (targetController.hasAttribute('data-omni')) {let dataOmni = targetController.getAttribute('data-omni').toLowerCase();targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play'));}if (targetController.hasAttribute('ga-la')) {let gaLa = targetController.getAttribute('ga-la').toLowerCase();targetController.setAttribute('ga-la', gaLa.replace('pause', 'play'));}},pause: function (targetController) {if (targetController.hasAttribute('data-omni')) {let dataOmni = targetController.getAttribute('data-omni').toLowerCase();targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause'));}if (targetController.hasAttribute('ga-la')) {let gaLa = targetController.getAttribute('ga-la').toLowerCase();targetController.setAttribute('ga-la', gaLa.replace('play', 'pause'));}}};return {init: init,}})();})();;(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.quadTelephoto = (function () { let els = {}; let objs = {}; const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let activeClass = 'is-active'; const init = function () { els.section = document.querySelector('.highlights-quad-telephoto'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.swiperContainer = els.section.querySelector('.highlights-quad-telephoto__zoom-image-wrap'); els.zoomCtaList = els.section.querySelector('.highlights-quad-telephoto__zoom-button-list'); els.zoomCta = els.section.querySelectorAll('.highlights-quad-telephoto__zoom-button'); els.tooltip = els.section.querySelector('.highlights-quad-telephoto__zoom-tooltip'); }; const objList = { setScene: function () { objs.scene = SCROLLER({ trackElement: els.section, useFixed: false }); }, setSwiper: function () { if (objs.swiper == null) { objs.swiper = new Swiper(els.swiperContainer, { init: false, }); objs.swiper.on('init', swiperEvents.init); objs.swiper.on('slideChange', swiperEvents.slideChange); objs.swiper.init(); } } }; const bindEvents = function () { objList.setSwiper(); els.zoomCtaList.addEventListener('click', handlerList.onClickZoomCta); els.section.addEventListener('keydown', handlerList.onClickZoomCta); objList.setScene(); window.addEventListener('scroll', handlerList.scroll); handlerList.scroll(); }; const handlerList = { scroll: function () { objs.scene.trackAnimation(function () { let startProgress = resize.checkResolution() == 'desktop' ? 50 : 35; if (this.progress > startProgress && this.progress < 70) { let speed = 1000; objs.swiper.slideTo(1, 800); setTimeout(() => { objs.swiper.slideTo(2, 800); }, speed); setTimeout(() => { objs.swiper.slideTo(3, 800); }, speed * 2); setTimeout(() => { objs.swiper.slideTo(4, 800); }, speed * 3); setTimeout(() => { objs.swiper.slideTo(5, 800); }, speed * 4); setTimeout(() => { objs.swiper.slideTo(1, false); }, 5500); setTimeout(() => { els.tooltip.removeAttribute('aria-hidden'); TweenMax.to(els.tooltip, 0.4, {opacity: 1}); }, 6000); window.removeEventListener('scroll', handlerList.scroll); } }); }, onClickZoomCta: function (e) { if(e.type == 'keydown' && e.keyCode != 13) return; let isZoomCta = e.target.classList.contains('highlights-quad-telephoto__zoom-button-title') ? e.target.parentElement : e.target; let isIndex = isZoomCta.getAttribute('data-index'); if (!els.tooltip.classList.contains('is-hide')) { TweenMax.to(els.tooltip, 0.4, {opacity: 0, ease: 'linear', onComplete: function () { els.tooltip.style.display = 'none'; els.tooltip.setAttribute('aria-hidden', 'true'); }}); els.tooltip.classList.add('is-hide'); } if (!isZoomCta.parentElement.classList.contains(activeClass)) { isZoomCta.parentElement.classList.add(activeClass); objs.swiper.slideTo(isIndex, 800); accessibility.setTitle(isZoomCta); accessibility.slide(); } } }; const swiperEvents = { init: function () { let notification = this.el.querySelector('.swiper-notification'); this.el.removeChild(notification); accessibility.setTitle(els.zoomCta[objs.swiper.activeIndex]); accessibility.slide(); }, slideChange: function () { for (let i = 0; i < els.zoomCta.length; i++) { els.zoomCta[i].removeAttribute('title'); els.zoomCta[i].parentElement.classList.remove(activeClass); } els.zoomCta[objs.swiper.activeIndex].parentElement.classList.add(activeClass); accessibility.setTitle(els.zoomCta[objs.swiper.activeIndex]); accessibility.slide(); } }; const accessibility = { slide: function () { for (let i = 0; i < objs.swiper.slides.length; i++) { if (i != objs.swiper.activeIndex) { utils.onAccessibility(objs.swiper.slides[i]); } else { utils.offAccessibility(objs.swiper.slides[i]); } } }, setTitle: function (cta) { if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { cta.setAttribute('title', LOCAL_VARI.selected); } else { cta.setAttribute('title', 'selected'); } }, }; return { init: init } })();})();;(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.quote = (function () { const utils = window.flagship.common.utils, resize = window.flagship.common.resize; let els = {}, prevDevice = null, currDevice = resize.checkResolution(); const init = function () { els.section = document.querySelector('.highlights-media-quote'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.swiper = null; els.itemArray = []; els.quoteWrap = els.section.querySelector('.highlights-media-quote__inner'); els.quoteContainer = els.section.querySelector('.highlights-media-quote__list-wrap'); els.quoteList = els.section.querySelector('.highlights-media-quote__list'); els.quoteListItems = els.quoteList.querySelectorAll('.highlights-media-quote__item'); els.arrowWrap = els.section.querySelector('.highlights-media-quote__arrow'); els.prevArrow = els.section.querySelector('.swiper-button-prev'); els.nextArrow = els.section.querySelector('.swiper-button-next'); els.quotePagination = els.section.querySelector('.highlights-media-quote__pagination'); }; const bindEvents = function () { window.addEventListener('DOMContentLoaded', onLodeHandler, {once : true}); resize.add(onResizeHandler); els.nextArrow.addEventListener('click', swiperEvents.onClickArrow); els.nextArrow.addEventListener('keydown', swiperEvents.onClickArrow); els.prevArrow.addEventListener('click', swiperEvents.onClickArrow); els.prevArrow.addEventListener('keydown', swiperEvents.onClickArrow); }; const onLodeHandler = function () { onResponsiveChange(); }; const onResizeHandler = function (currRes) { currDevice = currRes; if (currDevice != prevDevice) { onResponsiveChange(); prevDevice = currDevice; } }; const onResponsiveChange = function () { if (currDevice.indexOf('mobile') > -1) { setSwiper(); } else { swiperEvents.destroy(); } }; const setSwiper = function () { if (els.swiper === null) { els.quoteWrap.classList.add('js-swiper-initialized'); els.swiper = new Swiper(els.quoteContainer, { init: false, slidesPerView: 'auto', centeredSlides: true, navigation: { nextEl: els.nextArrow, prevEl: els.prevArrow, }, pagination: { el: els.quotePagination, type: 'bullets', renderBullet: function () { return '

      • '; } } }); els.swiper.on('init', swiperEvents.init); els.swiper.on('slideChange', swiperEvents.slideChange); els.swiper.init(); } }; const swiperEvents = { init: function () { let self = this, notification = self.el.querySelector('.swiper-notification'); if (!!notification) self.el.removeChild(notification); setAccessibility.slide(); setAccessibility.arrow(); setPaginationTagging.call(self); setPaginationLabel.call(self); for (let i = 0; i < self.pagination.bullets.length; i++) { (function (idx) { self.pagination.bullets[i].addEventListener('click', function () { self.slideTo(idx); }); })(i); } }, slideChange : function () { setAccessibility.slide(); setAccessibility.arrow(); setPaginationLabel.call(this); }, onClickArrow: function (e) { if ((e.type == 'keydown' && e.keyCode == 13) || (e.type == 'click' && document.documentElement.classList.contains('isTouchDevice'))) { e.preventDefault(); clearTimeout(els.arrowTimeout); els.arrowTimeout = setTimeout(function () { if (els.swiper.isBeginning && !els.swiper.isEnd) { els.nextArrow.focus(); } else if (!els.swiper.isBeginning && els.swiper.isEnd) { els.prevArrow.focus(); } }, 300); } }, destroy : function () { if (els.swiper != null) { els.quoteWrap.classList.remove('js-swiper-initialized'); els.swiper.pagination.destroy(true); els.swiper.navigation.destroy(true); els.swiper.destroy(true); els.swiper = null; } }, }; const setPaginationTagging = function () { let bullets = Array.prototype.slice.call(this.pagination.bullets), paginationTagging = { 'data-omni-type': 'microsite_contentinter', 'data-omni': 'galaxy-s24-ultra:highlights:overview:media-quote:index:', 'ga-ca': 'indication', 'ga-ac': 'carousel', 'ga-la': 'galaxy-s24-ultra:highlights:overview:media-quote:index:', }; bullets.forEach(function (ele, idx) { Object.keys(paginationTagging).forEach(function (key) { if (key == 'data-omni' || key == 'ga-la') { ele.setAttribute(key, paginationTagging[key] + (idx + 1)); } else { ele.setAttribute(key, paginationTagging[key]); } }); }); }; const setPaginationLabel = function () { let self = this, slides = Array.prototype.slice.call(this.slides), bullets = Array.prototype.slice.call(this.pagination.bullets); bullets.forEach(function (bullet, bulletIndex) { let ariaLabelText = slides[bulletIndex].querySelector('.highlights-media-quote__media').innerText; if (self.realIndex == bulletIndex) { bullet.setAttribute('aria-label', ariaLabelText + ' Selected'); } else { bullet.setAttribute('aria-label', ariaLabelText); } }); }; const setAccessibility = { slide: function () { for (let i = 0; i < els.swiper.slides.length; i++) { if (i != els.swiper.snapIndex) { utils.onAccessibility(els.swiper.slides[i]); } else { utils.offAccessibility(els.swiper.slides[i]); } } }, arrow: function () { if (els.swiper.isBeginning && !els.swiper.isEnd) { utils.offAccessibility(els.nextArrow); utils.onAccessibility(els.prevArrow); } else if (!els.swiper.isBeginning && els.swiper.isEnd) { utils.offAccessibility(els.prevArrow); utils.onAccessibility(els.nextArrow); } else { utils.offAccessibility(els.nextArrow); utils.offAccessibility(els.prevArrow); } } }; return { init: init, } })();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.samsungNoteTutorial = (function () {const utils = window.flagship.common.utils;const resize = window.flagship.common.resize;const common = window.flagship.highlights.common;let els = {};let objs = {};let stepInfo = [];const init = function () {els.section = document.querySelector('.highlights-samsung-note-tutorial');if (!!els.section) {setElements();bindEvents();}};const setElements = function () {els.tutorialVideoContainer = els.section.querySelector('.common-tutorial__main-video');els.videoList = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video');els.videoWrap = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video');els.videos = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video__video');els.tooltipCta = els.tutorialVideoContainer.querySelectorAll('.js-tutorial-tooltip-cta');els.tutorialReplay = els.tutorialVideoContainer.querySelector('.common-tutorial__replay-cta');};const setProperty = function(el, index){el.video = el.querySelector('video');el.controller = el.querySelector('.common-video__control');el.controller.video = el.querySelector('video');el.alert = el.parentElement.querySelector('.common-tutorial__alert');el.tooltip = el.parentElement.querySelector('.js-tutorial-tooltip');el.tooltipCta = el.parentElement.querySelector('.js-tutorial-tooltip-cta');el.video.playIndex = index;}const setStepStatus = function(el){stepInfo.push({alert: el.getAttribute('data-alert'),tooltip: el.getAttribute('data-tooltip')});}const eventList = {videoController: function(){for (let i = 0; i < objs.videos.length; i++) {objs.videos[i].controller.addEventListener('click', function(){if (this.video.paused) {this.video.play();} else {this.video.pause();}});}},nextVideoPlay: function(index){if (!!els.videoList[index].tooltip) {utils.onAccessibility(els.videoList[index].tooltip);}els.videoList[index + 1].classList.add('is-visible');utils.onAccessibility(els.videoList[index]);if (els.videos[index + 1].readyState > 3) {els.videos[index + 1].play();} else {els.videos[index + 1].addEventListener('loadeddata', function(){this.play();});}setTimeout(()=>{els.videoList[index].classList.remove('is-visible');if (!!els.videoList[index].tooltipCta) {els.videoList[index].tooltipCta.blur();}els.videoList[index + 1].setAttribute('tabindex', 0);els.videoList[index + 1].focus();els.videoList[index + 1].addEventListener('focusout', function () {let isTabindex = els.videoList[index + 1].getAttribute('tabindex');if (!!isTabindex && isTabindex == 0) {els.videoList[index + 1].removeAttribute('tabindex');}});}, 200);},click: function(){let self = this;for (let i = 0; i < els.tooltipCta.length; i++) {els.tooltipCta[i].addEventListener('click', function(){self.nextVideoPlay(i);});}},endCallback: function () {if (stepInfo[this.video.playIndex].tooltip == 'true') {this.wrap.tooltipCta.removeAttribute('disabled');this.wrap.tooltip.classList.add('is-visible');}if (stepInfo[this.video.playIndex].alert == 'true') {this.wrap.alert.classList.add('is-visible');}if (!this.wrap.classList.contains('is-completed')) {this.wrap.classList.add('is-completed');this.controller.style.display = 'none';}}}const setVideos = function(){objs.videos = [];for (let i = 0; i < els.videoWrap.length; i++) {let isVideoWrap = els.videoWrap[i];objs.videos.push(ANIUTIL.videoHandler({wrap: isVideoWrap,video: isVideoWrap.video,controller: isVideoWrap.controller,resetCallback: function () {if (this.wrap.classList.contains('is-completed')) {this.wrap.classList.remove('is-completed');if (this.controller.style.display = 'none') this.controller.style.display = '';}},playCallback: function () {els.videoList[this.video.playIndex].removeAttribute('tabindex');els.videoList[this.video.playIndex].removeAttribute('aria-hidden');if (this.video.duration > 3) {this.controller.style.display = 'block';utils.offAccessibility(this.controller);setTagging.pause(this.controller);}let nextPlayindex = this.video.playIndex + 1;if ((els.videos.length - 1) > this.video.playIndex && els.videos[nextPlayindex].readyState < 4) {videoLoader.setResponsiveMedia([els.videos[nextPlayindex]]);}},pauseCallback: function () {if (this.video.duration > 3) {setTagging.play(this.controller);}},endCallback: function () {if (!!this.wrap.tooltip) {utils.offAccessibility(this.wrap.tooltip);}if (this.video.duration > 3) {this.controller.style.display = 'none !important';}eventList.endCallback.call(this);if ((els.videos.length -1) == this.video.playIndex) {els.tutorialReplay.style.display = 'block';els.tutorialReplay.removeAttribute('tabindex'); els.tutorialReplay.removeAttribute('aria-hidden');}}}));}};const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } };const bindEvents = function () {for (let i = 0; i < els.videoWrap.length; i++) {setProperty(els.videoWrap[i], i);setStepStatus(els.videoList[i])}setVideos();eventList.videoController();eventList.click();};return {init: init,}})();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.suggestionAiTutorial = (function () {const utils = window.flagship.common.utils;const common = window.flagship.highlights.common;let els = {};let objs = {};let stepInfo = [];let status = {};const init = function () {els.section = document.querySelector('.highlights-generative-edit-tutorial');if (!!els.section) {setElements();bindEvents();}};const setElements = function () {els.tutorialVideoContainer = els.section.querySelector('.common-tutorial__main-video');els.videoList = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video');els.videoWrap = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video');els.videos = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video__video');els.coverImages = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video__cover-image');els.tooltipCta = els.tutorialVideoContainer.querySelectorAll('.js-tutorial-tooltip-cta');els.generativeCta = els.tutorialVideoContainer.querySelector('.js-tutorial-generative-cta');els.tutorialReplay = els.tutorialVideoContainer.querySelector('.common-tutorial__replay-cta');};const setProperty = function(el, index){el.video = el.querySelector('video');el.controller = el.querySelector('.common-video__control');el.controller.video = el.querySelector('video');el.alert = el.parentElement.querySelector('.common-tutorial__alert');el.tooltip = el.parentElement.querySelector('.js-tutorial-tooltip');el.tooltipCta = el.parentElement.querySelector('.js-tutorial-tooltip-cta');el.video.playIndex = index;}const setStepStatus = function(el){stepInfo.push({alert: el.getAttribute('data-alert'),tooltip: el.getAttribute('data-tooltip')});}const eventList = {videoController: function(){for (let i = 0; i < objs.videos.length; i++) {objs.videos[i].controller.addEventListener('click', function(){if (this.video.paused) {this.video.play();} else {this.video.pause();}});}},nextVideoPlay: function(index){if (!!els.videoList[index].tooltip) {utils.onAccessibility(els.videoList[index].tooltip);}els.videoList[index + 1].classList.add('is-visible');utils.onAccessibility(els.videoList[index]);if (els.videos[index + 1].readyState > 3) {els.videos[index + 1].play();} else {els.videos[index + 1].addEventListener('loadeddata', function(){this.play();});}setTimeout(()=>{els.videoList[index].classList.remove('is-visible');if (!!els.videoList[index].tooltipCta) {els.videoList[index].tooltipCta.blur();}els.videoList[index + 1].setAttribute('tabindex', 0);els.videoList[index + 1].focus();els.videoList[index + 1].addEventListener('focusout', function () {let isTabindex = els.videoList[index + 1].getAttribute('tabindex');if (!!isTabindex && isTabindex == 0) {els.videoList[index + 1].removeAttribute('tabindex');}});}, 200);},click: function(){let self = this;els.tooltipCta[0].addEventListener('click', function(){if (els.videos[2].readyState < 4) {imageLoader.setResponsiveMedia([els.coverImages[2], els.coverImages[3], els.coverImages[4]]);videoLoader.setResponsiveMedia([els.videos[2], els.videos[3], els.videos[4]]);}self.nextVideoPlay(0);})els.tooltipCta[1].addEventListener('click', function(){self.nextVideoPlay(1);}),els.generativeCta.addEventListener('click', function(){this.setAttribute('disabled', '');utils.onAccessibility(els.generativeCta);this.parentElement.classList.remove('is-visible');self.nextVideoPlay(5);})},endCallback: function () {let autoplay = this.video.playIndex == 2 ||this.video.playIndex == 6;if (stepInfo[this.video.playIndex].tooltip == 'true') {this.wrap.tooltipCta.removeAttribute('disabled');this.wrap.tooltip.classList.add('is-visible');}if (stepInfo[this.video.playIndex].alert == 'true') {this.wrap.alert.classList.add('is-visible');}if (autoplay) {eventList.nextVideoPlay(this.video.playIndex);}let self = this;switch (this.video.playIndex) {case 2:if (!els.generativeCta.classList.contains('is-bg-load-complete')) {els.generativeCta.classList.add('is-bg-load-complete');}els.generativeCta.parentElement.classList.add('is-visible');break;case 3:if (els.videos[5].readyState < 4) {imageLoader.setResponsiveMedia([els.coverImages[5]]);videoLoader.setResponsiveMedia([els.videos[5]]);}(function(wrap, video){setTimeout(()=>{self.wrap.alert.classList.remove('is-visible');eventList.nextVideoPlay(video.playIndex);}, 3000)})(this.wrap, this.video);break;case 4:if (els.videos[6].readyState < 4) {imageLoader.setResponsiveMedia([els.coverImages[6], els.coverImages[7]]);videoLoader.setResponsiveMedia([els.videos[6], els.videos[7]]);}(function(wrap, video){setTimeout(()=>{self.wrap.alert.classList.remove('is-visible');eventList.nextVideoPlay(video.playIndex);}, 3000)})(this.wrap, this.video);break;case 5:els.generativeCta.removeAttribute('disabled');utils.offAccessibility(els.generativeCta);break;case 7:els.generativeCta.parentElement.classList.add('is-visible');els.generativeCta.classList.add('is-tutorial-end');break;default:break;}if (!this.wrap.classList.contains('is-completed')) {this.wrap.classList.add('is-completed');this.controller.style.display = 'none';}if ((els.videos.length -1) == this.video.playIndex) {els.tutorialReplay.style.display = 'block';els.tutorialReplay.removeAttribute('tabindex');els.tutorialReplay.removeAttribute('aria-hidden');}}}const setVideos = function(){objs.videos = [];for (let i = 0; i < els.videoWrap.length; i++) {let isVideoWrap = els.videoWrap[i];objs.videos.push(ANIUTIL.videoHandler({wrap: isVideoWrap,video: isVideoWrap.video,controller: isVideoWrap.controller,resetCallback: function () {if (this.wrap.classList.contains('is-completed')) {this.wrap.classList.remove('is-completed');if (this.controller.style.display = 'none') this.controller.style.display = '';}},playCallback: function () {els.videoList[this.video.playIndex].removeAttribute('tabindex');els.videoList[this.video.playIndex].removeAttribute('aria-hidden');if (this.video.duration > 3) {this.controller.style.display = 'block';utils.offAccessibility(this.controller);setTagging.pause(this.controller);}},pauseCallback: function () {if (this.video.duration > 3) {setTagging.play(this.controller);}},endCallback: function () {if (!!this.wrap.tooltip) {utils.offAccessibility(this.wrap.tooltip);}if (this.video.duration > 3) {this.controller.style.display = 'none !important';}eventList.endCallback.call(this)}}));}};const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } };const bindEvents = function () {for (let i = 0; i < els.videoWrap.length; i++) {setProperty(els.videoWrap[i], i);setStepStatus(els.videoList[i])}setVideos();eventList.videoController();eventList.click();};return {init: init,}})();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.tutorial = (function () {const utils = window.flagship.common.utils;const resize = window.flagship.common.resize;const common = window.flagship.highlights.common;const tutorialPopup = window.flagship.highlights.tutorialPopup;let objs = {};let status = {};let commonEls = {};let isDevice = resize.checkResolution();status.isGlobal = document.documentElement.classList.contains('global'); let sectionList = document.querySelectorAll('#generative-edit, #circle-to-search, #live-translate, #chat-assist, #note-assist'); let layerPopup = document.querySelectorAll('#generative-edit-experience, #circle-to-search-experience, #live-translate-experience, #chat-assist-experience, #note-assist-experience'); let popupClassList = [ '.highlights-generative-edit-tutorial', '.highlights-circle-to-search-tutorial','.highlights-live-translate-tutorial','.highlights-chat-assist-tutorial','.highlights-samsung-note-tutorial' ]let statusClass = {isVisible: 'is-visible',isTutorialOpend: 'is-tutorial-opened',isTutorialOpenedMo: 'is-tutorial-opened-mo',isInfoOpen: 'is-info-open',isInfoVisible: 'is-info-visible',isTutorialEnd: 'is-tutorial-end',isActive: 'is-active',isBgLoadComplete: 'is-bg-load-complete',isCompleted: 'is-completed',isOpen: 'is-open',}const init = function () {status.isHash = false;status.isIos = utils.detector.isIosDevice;status.overview = {};commonEls.globalSubNav = document.querySelector('#subnav');commonEls.globalContents = document.querySelector('#contents');commonEls.dotcomContents = document.querySelector('.pd-g-floating-nav');commonEls.overview = document.querySelector('.highlights-overview');commonEls.gnb = document.querySelector('.nv00-gnb');commonEls.tooltipWrap = document.querySelectorAll('.js-tutorial-tooltip');if (status.isGlobal) {commonEls.contentsChildren = document.querySelector('#contents').children;commonEls.commonUi = document.querySelectorAll('#accessibility-navigation, #header, #footer');} else {commonEls.wrapChildren = document.querySelector('#wrap').children;commonEls.contentChildren = document.querySelector('#content').children;commonEls.rootChildren = document.querySelector('#content .root .responsivegrid .aem-Grid--12').children;commonEls.flotingNavi = document.querySelector('.pd-g-floating-nav');}for (let i = 0; i < sectionList.length; i++) {let opts = {section: sectionList[i],layerPopup: layerPopup[i],popupClass: popupClassList[i],openCta: sectionList[i].querySelector('.js-tutorial-popup'),closeCta: layerPopup[i].querySelector('.common-tutorial__close-cta--popup'),moCloseCta: layerPopup[i].querySelector('.common-tutorial__close-cta--video'),}els = getElements(opts);tooltipAccessibility();setPopup(opts, els);bindEvents(els, i);}};const getElements = function (opts) {let els = {};els.openCta = opts.section.querySelector('.js-tutorial-popup');els.layerPopup = opts.layerPopup;els.innerWrap = opts.layerPopup.querySelector('.common-tutorial__inner-wrap');els.textWrap = opts.layerPopup.querySelector('.common-tutorial__text');els.closeCtas = opts.layerPopup.querySelectorAll('.common-tutorial__close-cta');els.moCloseCta = opts.moCloseCta;els.infoPopup = opts.layerPopup.querySelector('.common-tutorial__info-area');els.videoContent = opts.layerPopup.querySelector('.common-tutorial__video-content');els.introVideoSection = opts.layerPopup.querySelector('.common-tutorial__intro-video');els.introVideoWrap = opts.layerPopup.querySelector('.common-tutorial__intro-video .common-video'); els.introVideo = opts.layerPopup.querySelector('.common-tutorial__intro-video video');els.introCoverImage = opts.layerPopup.querySelector('.common-tutorial__intro-video .common-video__cover-image');if (opts.layerPopup.classList.contains('highlights-live-translate-tutorial')) {els.introCta = opts.layerPopup.querySelector('.common-tutorial__intro-video .js-tutorial-tooltip-cta');}els.tutorialContents = opts.layerPopup.querySelector('.common-tutorial__video-content');els.tutorialVideoContainer = opts.layerPopup.querySelector('.common-tutorial__main-video');els.tutorialVideoWrap = opts.layerPopup.querySelectorAll('.common-tutorial__main-video .common-tutorial__video');els.tutorialVideos = opts.layerPopup.querySelectorAll('.common-tutorial__main-video .common-tutorial__video video');els.tutorialCoverImages = opts.layerPopup.querySelectorAll('.common-tutorial__main-video .common-video__cover-image');els.tutorialActiveCta = opts.layerPopup.querySelector('.common-tutorial__cta--play button');els.tutorialDeactiveCta = opts.layerPopup.querySelector('.common-tutorial__cta--pause button');els.tutorialTooltip = opts.layerPopup.querySelectorAll('.common-tutorial__main-video .js-tutorial-tooltip');els.tutorialAlert = opts.layerPopup.querySelectorAll('.common-tutorial__main-video .js-tutorial-alert');els.generativeCta = opts.layerPopup.querySelector('.js-tutorial-generative-cta');els.tutorialFrame = opts.layerPopup.querySelector('.common-tutorial__main-video.common-video__frame');els.tutorialReplay = opts.layerPopup.querySelector('.common-tutorial__replay-cta');els.tutorialNavigation = opts.layerPopup.querySelector('.common-tutorial__navigation');els.navPrev = els.tutorialNavigation.querySelector('.common-tutorial__navigation-button--prev');els.navNext = els.tutorialNavigation.querySelector('.common-tutorial__navigation-button--next');els.tutorialPagination = opts.layerPopup.querySelector('.common-tutorial__pagination-area');els.supClicker = opts.layerPopup.querySelectorAll('a.click_sup');els.layerPopup.opener = els.openCta;els.layerPopup.targetOpener = opts.openCta;return els;};const setProperty = function(els){els.introVideoWrap.video = els.introVideo;els.introVideoWrap.controller = els.introVideoWrap.querySelector('.common-video__control');els.introVideoWrap.controller.video = els.introVideo;};const tooltipAccessibility = function() {for (let i = 0; i < commonEls.tooltipWrap.length; i++) {utils.onAccessibility(commonEls.tooltipWrap[i]);}};const eventList = {common: {setMobileVideoWidth: function(els){if (els.layerPopup.classList.contains('is-open') && resize.checkResolution().indexOf('mobile') > -1) {let containerWidth = window.innerWidth;let containerHeight = window.innerHeight;if (!status.isIos) {let videoHeight = Math.floor(containerWidth * 2.1666);if (videoHeight > containerHeight) {els.tutorialVideoContainer.style.width = `${Math.floor(containerHeight * 0.4615)}px`;els.tutorialVideoContainer.style.height = `${containerHeight}px`;} else {els.tutorialVideoContainer.style.width = '';els.tutorialVideoContainer.style.height = `${videoHeight}px`;}} else {els.tutorialVideoContainer.style.width = `${Math.floor(containerHeight * 0.4615)}px`;}} else if (resize.checkResolution() != 'mobile' && els.tutorialVideoContainer.style.height) {if (!status.isIos) {els.tutorialVideoContainer.style.width = '';els.tutorialVideoContainer.style.height = '';} else {els.tutorialVideoContainer.style.width = '';}}},},resize: {position: function(els) {if (els.layerPopup.classList.contains('is-open')) {if (isDevice.indexOf('desktop') > -1 && resize.checkResolution().indexOf('desktop') > -1) {let isHash = location.hash;if (!status.isGlobal && window.pageYOffset == 0 && !!isHash) {eventList.popup.setPopupPosition(els.layerPopup);}}if (isDevice != resize.checkResolution()) {eventList.popup.setPopupPosition(els.layerPopup);eventList.tutorial.deactive(els);eventList.tutorial.reset(els);isDevice = resize.checkResolution();}}},},tutorial: {videoContentReset: function(els){els.videoContent.classList.remove(statusClass.isInfoOpen);els.videoContent.classList.remove(statusClass.isInfoVisible);els.videoContent.classList.add(statusClass.isTutorialOpend);},reset: function(els) {if (els.generativeCta) {els.generativeCta.classList.remove(statusClass.isVisible, statusClass.isTutorialEnd);els.generativeCta.parentElement.classList.remove(statusClass.isVisible);}els.tutorialActiveCta.parentElement.classList.add(statusClass.isActive);els.tutorialDeactiveCta.parentElement.classList.remove(statusClass.isActive);els.tutorialContents.classList.remove(statusClass.isInfoOpen);els.videoContent.classList.remove(statusClass.isInfoVisible);els.tutorialContents.classList.remove(statusClass.isTutorialOpend);if (resize.checkResolution().indexOf('mobile') > -1) {els.layerPopup.classList.remove(statusClass.isTutorialOpenedMo);}for (let i = 0; i < els.tutorialVideoWrap.length; i++) {if (els.tutorialVideoWrap[i]) els.tutorialVideoWrap[i].classList.remove(statusClass.isVisible);if (els.tutorialVideos[i]) {if (!els.tutorialVideos[i].paused) {els.tutorialVideos[i].pause();}els.tutorialVideos[i].currentTime = 0;}let isComplete = els.tutorialVideoWrap[i].querySelector(`.${statusClass.isCompleted}`);if (isComplete) els.tutorialVideos[i].videoHandler.resetCallback();if (els.tutorialTooltip[i]) els.tutorialTooltip[i].classList.remove(statusClass.isVisible);if (els.tutorialAlert[i]) els.tutorialAlert[i].classList.remove(statusClass.isVisible);clearTimeout(status.infoRemoveTiming);}if (!!els.introCta) {els.introCta.parentElement.classList.remove(statusClass.isVisible);}els.tutorialReplay.style.display = '';if (!els.tutorialReplay.hasAttribute('tabindex')) els.tutorialReplay.setAttribute('tabindex', -1);if (!els.tutorialReplay.hasAttribute('aria-hidden')) els.tutorialReplay.setAttribute('aria-hidden', true);},videoVisible: function(els) {if (!els.introVideo.paused) {els.introVideo.pause();}els.videoContent.classList.add(statusClass.isInfoOpen);setTimeout(() => {els.videoContent.classList.add(statusClass.isInfoVisible);}, 0);els.tutorialVideoWrap[0].classList.add(statusClass.isVisible);},imageLoad: function(els){if (!els.tutorialFrame.classList.contains(statusClass.isBgLoadComplete)) {els.tutorialFrame.classList.add(statusClass.isBgLoadComplete);}if (!els.tutorialDeactiveCta.classList.contains(statusClass.isBgLoadComplete)) {els.tutorialDeactiveCta.classList.add(statusClass.isBgLoadComplete);}},setActiveCta: function(els) {els.tutorialActiveCta.parentElement.classList.remove(statusClass.isActive);els.tutorialDeactiveCta.parentElement.classList.add(statusClass.isActive);if (resize.checkResolution().indexOf('mobile') > -1) {els.layerPopup.classList.add(statusClass.isTutorialOpenedMo);}},activeInfo: function(els) {let self = this;clearTimeout(status.infoRemoveTiming);status.infoRemoveTiming = setTimeout(() => {self.videoContentReset(els);els.tutorialVideos[0].play();utils.offAccessibility(els.tutorialVideoWrap[0]);if (resize.checkResolution().indexOf('mobile') > -1) {els.layerPopup.classList.add(statusClass.isTutorialOpenedMo);}if (els.tutorialVideos[1].readyState < 4) {imageLoader.setResponsiveMedia([els.tutorialCoverImages[1]]);videoLoader.setResponsiveMedia([els.tutorialVideos[1]]);}els.tutorialVideos[0].focus();status.infoRemoveTiming = null;}, 3000);},active: function (els) {this.onAccessibility(els);if (resize.checkResolution().indexOf('mobile') > -1 && !status.isIos) {document.documentElement.requestFullscreen();}if (resize.checkResolution().indexOf('mobile') > -1) {setTimeout(function () {els.moCloseCta.focus();}, 300);} else {setTimeout(function () {els.tutorialDeactiveCta.focus();}, 300);}status.infoRemoveTiming = null;this.videoVisible(els);this.imageLoad(els);this.setActiveCta(els);this.activeInfo(els);},videoReset: function(els) {els.introVideo.currentTime = 0;els.introVideo.play();for (let i = 0; i < els.tutorialVideoWrap.length; i++) {els.tutorialVideoWrap[i].classList.remove(statusClass.isVisible);if (!els.tutorialVideos[i].paused) {els.tutorialVideos[i].pause();els.tutorialVideos[i].currentTime = 0;}}},ctaReset: function(els) {els.tutorialDeactiveCta.parentElement.classList.remove(statusClass.isActive);els.tutorialActiveCta.parentElement.classList.add(statusClass.isActive);if (resize.checkResolution().indexOf('mobile') == -1) {els.layerPopup.classList.remove(statusClass.isTutorialOpenedMo);}if (!!els.introCta) {els.introCta.parentElement.classList.remove(statusClass.isVisible);}},deactive: function(els) {els.videoContent.classList.remove(statusClass.isInfoOpen, statusClass.isInfoVisible, statusClass.isTutorialOpend);this.offAccessibility(els);if (resize.checkResolution().indexOf('mobile') > -1 && !status.isIos) {document.exitFullscreen();}setTimeout(function () {els.tutorialActiveCta.focus();}, 300);this.videoReset(els)this.ctaReset(els);for (let i = 0; i < els.tutorialVideoWrap.length; i++) {utils.onAccessibility(els.tutorialVideoWrap[i]);}},onAccessibility: function(els) {if (resize.checkResolution().indexOf('mobile') > -1) {utils.onPopupAccessibility(els.textWrap);}utils.onPopupAccessibility(els.introVideoSection);if (!status.isGlobal) {utils.onPopupAccessibility(commonEls.flotingNavi);} else {utils.onPopupAccessibility(commonEls.globalSubNav);}},offAccessibility: function(els) {if (resize.checkResolution().indexOf('mobile') > -1) {utils.offPopupAccessibility(els.textWrap);}utils.offPopupAccessibility(els.introVideoSection);if (!status.isGlobal) {utils.offPopupAccessibility(commonEls.flotingNavi);} else {utils.offPopupAccessibility(commonEls.globalSubNav);}}},popup: {setOverviewStatus: function(opts) {if (opts.openCta.parentElement.getAttribute('class').indexOf('__tutorial-cta') > -1) {let isOverviewVideo = commonEls.overview.querySelector('.swiper-slide-active video');if (!isOverviewVideo.paused) {status.overview = {video: isOverviewVideo,paused: true}isOverviewVideo.pause();}}},mediaLoad: function(els) {if (!els.tutorialActiveCta.classList.contains(statusClass.isBgLoadComplete)) {els.tutorialActiveCta.classList.add(statusClass.isBgLoadComplete);}if (els.introVideo.readyState < 4) {imageLoader.setResponsiveMedia([els.introCoverImage]);videoLoader.setResponsiveMedia([els.introVideo]);}if (!els.navPrev.classList.contains(statusClass.isBgLoadComplete)) {els.navPrev.classList.add(statusClass.isBgLoadComplete);}if (!els.navNext.classList.contains(statusClass.isBgLoadComplete)) {els.navNext.classList.add(statusClass.isBgLoadComplete);}},playIntroVideo: function(els) {if (els.introVideo.readyState >= 4) {els.introVideo.currentTime = 0;els.introVideo.play();} else {els.introVideo.addEventListener('loadeddata', function(){this.play();});}},tutorialIntroImgLoad: function(els) {if (!!els.introCoverImage && !els.introCoverImage.classList.contains('is-img-load-complete')) {imageLoader.setResponsiveMedia([els.introCoverImage]);}},tutorialMediaLoad: function(els) {if (els.tutorialVideos[0].readyState < 4) {imageLoader.setResponsiveMedia([els.tutorialCoverImages[0]]);videoLoader.setResponsiveMedia([els.tutorialVideos[0]]);}if (!els.tutorialReplay.classList.contains(statusClass.isBgLoadComplete)) {els.tutorialReplay.classList.add(statusClass.isBgLoadComplete)}},setPopupPosition: function(layerPopup) {let isHash = location.hash;let dotcomGnbHeight = 0;if (!status.isGlobal && window.pageYOffset == 0 && !!isHash) {dotcomGnbHeight = document.querySelector('.nv00-gnb').clientHeight;layerPopup.style.top = `${utils.getNavHeight() + dotcomGnbHeight}px`;} else {layerPopup.style.top = `${utils.getNavHeight()}px`;}},setUiEls: function(opts, els, target) {if (commonEls.globalSubNav) commonEls.globalSubNav.style.opacity = 1;opts.layerPopup.classList.add('is-init');target.openerCta.blur();if (`#${els.openCta.getAttribute('data-hash')}` == window.location.hash) {let oldOpenPopup = document.querySelector('.common-tutorial.is-open');if (!!oldOpenPopup) {let oldOpenPopupId = oldOpenPopup.getAttribute('id');if (`#${oldOpenPopupId}` != window.location.hash) {document.querySelector(`#${oldOpenPopupId}`).hide();}}status.isHash = true;if (!status.isGlobal) commonEls.gnb.style.display = 'none';}if (!!els.introCta) {els.introVideo.addEventListener('ended', function () {els.introCta.parentElement.classList.add(statusClass.isVisible);});}},playOverview: function() {if (status.overview.paused) {status.overview.video.play();status.overview.paused = false;}},setSubnavi: function(opts) {if (commonEls.globalSubNav) commonEls.globalSubNav.style.opacity = .9;opts.layerPopup.classList.remove('is-init');},focusHandler: function(opts, els) {let isHash = status.isHash && els.layerPopup.targetOpener;let isOverview = els.layerPopup.isOverview;let isController = els.layerPopup.isController;if (isHash || !!isController && !!!isOverview) {els.layerPopup.targetOpener.focus();els.layerPopup.targetOpener.blur();setTimeout(function () {els.layerPopup.targetOpener.focus();if (isHash) {status.isHash = false;history.pushState('', document.title, window.location.pathname);if (!status.isGlobal) commonEls.gnb.style.display = '';}if (!!isController) isController = false; }, 300);}if (!!isOverview) {opts.layerPopup.overviewCta.focus();opts.layerPopup.overviewCta.blur();setTimeout(function () {if (!document.querySelector('.common-tutorial.is-open')) {opts.layerPopup.overviewCta.focus();for (let i = 0; i < layerPopup.length; i++) {layerPopup[i].isOverview = false;layerPopup[i].overviewCta = null;}}}, 300);}},onAccessibilityGlobal: function(els) {for (let i = 0; i < commonEls.contentsChildren.length; i++) {let isId = commonEls.contentsChildren[i].getAttribute('id');if ((isId != null && isId.indexOf('experience') == -1 && isId.indexOf('subnav') == -1) || isId == null) {utils.onPopupAccessibility(commonEls.contentsChildren[i]);}}for (let i = 0; i < commonEls.commonUi.length; i++) {utils.onPopupAccessibility(commonEls.commonUi[i]);}},offAccessibilityGlobal: function(els) {for (let i = 0; i < commonEls.contentsChildren.length; i++) {let isId = commonEls.contentsChildren[i].getAttribute('id');if ((isId != null && isId.indexOf('experience') == -1 && isId.indexOf('subnav') == -1) || isId == null) {utils.offPopupAccessibility(commonEls.contentsChildren[i]);}}for (let i = 0; i < commonEls.commonUi.length; i++) {utils.offPopupAccessibility(commonEls.commonUi[i]);}},onAccessibilityDotom: function(els) {for (let i = 0; i < commonEls.wrapChildren.length; i++) {let isId = commonEls.wrapChildren[i].getAttribute('id');if ((isId != null && isId.indexOf('content') == -1) || isId == null) {utils.onPopupAccessibility(commonEls.wrapChildren[i]);}}for (let i = 0; i < commonEls.contentChildren.length; i++) {let isClass = commonEls.contentChildren[i].getAttribute('class');if ((isClass != null && isClass.indexOf('root') == -1) || isClass == null) {utils.onPopupAccessibility(commonEls.contentChildren[i]);}}for (let i = 0; i < commonEls.rootChildren.length; i++) {let isClass = commonEls.rootChildren[i].getAttribute('class');if ((isClass != null && isClass.indexOf('pd-g-floating-nav') == -1) || isClass == null) {utils.onPopupAccessibility(commonEls.rootChildren[i]);}}},offAccessibilityDotcom: function(els) {for (let i = 0; i < commonEls.wrapChildren.length; i++) {utils.offPopupAccessibility(commonEls.wrapChildren[i]);}for (let i = 0; i < commonEls.contentChildren.length; i++) {utils.offPopupAccessibility(commonEls.contentChildren[i]);}for (let i = 0; i < commonEls.rootChildren.length; i++) {utils.offPopupAccessibility(commonEls.rootChildren[i]);}},onAccessibility: function(els) {if (status.isGlobal) {this.onAccessibilityGlobal(els);} else {this.onAccessibilityDotom(els);}},offAccessibility: function(els) {if (status.isGlobal) {this.offAccessibilityGlobal(els);} else {this.offAccessibilityDotcom(els);}}}}const eventHandler = {resize: function(els){window.addEventListener('resize', function() {eventList.resize.position(els);eventList.common.setMobileVideoWidth(els);});},infoPopupDeactive: function(els) {els.infoPopup.addEventListener('click', function(){eventList.tutorial.videoContentReset(els);clearTimeout(status.infoRemoveTiming);els.tutorialVideos[0].play();if (resize.checkResolution().indexOf('mobile') > -1) {els.layerPopup.classList.add(statusClass.isTutorialOpenedMo);}if (els.tutorialVideos[1].readyState < 4) {imageLoader.setResponsiveMedia([els.tutorialCoverImages[1]]);videoLoader.setResponsiveMedia([els.tutorialVideos[1]]);}status.infoRemoveTiming = null;});},tutorialActiveEvent: function (els) {if (!!els.introCta) {els.introCta.addEventListener('click', function(){eventList.tutorial.active(els);});}els.tutorialActiveCta.addEventListener('click', function(){this.parentElement.classList.remove(statusClass.isActive);eventList.tutorial.active(els);});},tutorialDeactiveEvent: function(els) {els.tutorialDeactiveCta.addEventListener('click', function(){eventList.tutorial.deactive(els);eventList.tutorial.reset(els);});},reStartTutorial: function(els) {els.tutorialReplay.addEventListener('click', function(){this.style.display = '';eventList.tutorial.reset(els);eventList.tutorial.active(els);utils.onAccessibility(els.tutorialVideoWrap[els.tutorialVideoWrap.length - 1]);});},videoController: function (index) {objs[`introVideo_${index}`].controller.addEventListener('click', function () {if (this.video.paused) {this.video.play();} else {this.video.pause();}});},onClickMoCloseCta: function (els) {els.moCloseCta.addEventListener('click', function () {eventList.tutorial.deactive(els);eventList.tutorial.reset(els);});},onClickController: function (els) {els.tutorialNavigation.addEventListener('click', function (e) {let isNaviBtn = e.target.classList.contains('common-tutorial__navigation-button');if (isNaviBtn) {_controllEvent(e.target);}});els.tutorialPagination.addEventListener('click', function (e) {let isPaginationBtn = e.target.classList.contains('common-tutorial__pagination');if (isPaginationBtn) {let currOpenPopupId = document.querySelector('.common-tutorial.is-open').getAttribute('id');let targetId = e.target.getAttribute('data-hash');if (targetId != currOpenPopupId) {_controllEvent(e.target);}}});const _controllEvent = function (target) {let targetPopupId = target.getAttribute('data-hash');document.querySelector('.common-tutorial.is-open').hide();document.querySelector(`#${targetPopupId}`).show();eventList.tutorial.reset(els);document.querySelector(`#${targetPopupId}`).isController = true;};},tutorialintroImgLoad: function (els) {window.addEventListener('scroll', function () {if (this.pageYOffset > 0) {eventList.popup.tutorialIntroImgLoad(els);}})},moveToTutorialPopup: function (els) {window.addEventListener('DOMContentLoaded', function () {if (!status.isGlobal) {document.body.prepend(els.layerPopup);} else {document.querySelector('#contents').prepend(els.layerPopup);}});},onClickSup: function (els) {for (let i = 0; i < els.supClicker.length; i++) {els.supClicker[i].addEventListener('click', function (e) {e.preventDefault();e.stopPropagation();let targetIndex = parseFloat(e.target.innerText),disclaimer = document.querySelectorAll('#desc-section li')[targetIndex - 1],disclaimerText = disclaimer.innerText,activeBlock = '' + disclaimerText + '';els.layerPopup.hide();setTimeout(() => {disclaimer.innerHTML = activeBlock;disclaimer.querySelector('a').focus();}, 500);const eventList = {focusIn: function () {common.centeredFocus.call(disclaimer.querySelector('a'));disclaimer.removeEventListener('focusin', eventList.focusIn);},focusOut: function () {disclaimer.innerHTML = disclaimerText;disclaimer.removeAttribute('tabindex');disclaimer.removeEventListener('focusout', eventList.focusOut);},};disclaimer.addEventListener('focusin', eventList.focusIn);disclaimer.addEventListener('focusout', eventList.focusOut);});}}}const setIntroVideo = function (el, index) {objs[`introVideo_${index}`] = ANIUTIL.videoHandler({wrap: el,video: el.video,controller: el.controller,playCallback: function () {if (el.classList.contains(statusClass.isCompleted)) el.classList.remove(statusClass.isCompleted);setTagging.pause(el.controller);},pauseCallback: function () {setTagging.play(el.controller);},endCallback: function () {if (!el.classList.contains(statusClass.isCompleted)) el.classList.add(statusClass.isCompleted);}});};const setPopup = function (opts, els) {tutorialPopup({tutorialPopup: opts.layerPopup,tutorialPopupClass: opts.popupClass,openerEvent: {element: opts.openCta,},closeCtas: [opts.closeCta],show: {start: function (target) {eventList.popup.setOverviewStatus(opts);eventList.popup.mediaLoad(els);eventList.popup.playIntroVideo(els);eventList.popup.tutorialMediaLoad(els);eventList.popup.setPopupPosition(opts.layerPopup);eventList.popup.setUiEls(opts, els, target);eventList.popup.onAccessibility(els);},end: function () {if (status.isIos) opts.layerPopup.style.display = 'block';opts.layerPopup.classList.add('is-open');eventList.common.setMobileVideoWidth(els);}},hide: {start: function (target) {eventList.popup.offAccessibility(els);target.openerCta.focus();opts.layerPopup.classList.remove('is-open');},end: function () {eventList.popup.playOverview();eventList.tutorial.reset(els);els.introVideo.pause();eventList.popup.setSubnavi(opts);eventList.popup.focusHandler(opts, els);}}});};const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } };const bindEvents = function (els, index) {eventHandler.moveToTutorialPopup(els);eventHandler.resize(els);eventHandler.infoPopupDeactive(els);eventHandler.tutorialActiveEvent(els);eventHandler.tutorialDeactiveEvent(els);eventHandler.reStartTutorial(els);eventHandler.onClickMoCloseCta(els);eventHandler.onClickController(els);eventHandler.tutorialintroImgLoad(els);eventHandler.onClickSup(els);// introVideosetProperty(els);setIntroVideo(els.introVideoWrap, index);eventHandler.videoController(index);};return {init: init,}})();})();;(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.viewer = (function () { const utils = window.flagship.common.utils; const resize =window.flagship.common.resize; let els = {}, status = {}, currDevice = resize.checkResolution(); const init = function () { els.viewerBtn = document.querySelector('.viewer-btn'); if(!!els.viewerBtn) { setElements(); setStatus(); setPopup(); bindEvents(); } }; const setElements = function(){ els.wrapEl = document.querySelector('#wrap'); els.contents = document.querySelector('#contents'); // popup els.popup = document.querySelector('.highlights-viewer'); els.popupContents = els.popup.querySelector('.highlights-viewer__contents'); els.popupInner = els.popup.querySelector('.highlights-viewer__inner'); els.popupWrap = els.popup.querySelector('.highlights-viewer__wrap'); els.closeCta = els.popup.querySelector('.highlights-viewer__close-cta'); els.viewerWrap = els.popup.querySelector('.highlights-viewer__contents-wrap'); els.viewerContainer = els.popup.querySelector('.highlights-viewer__container'); els.viewerIframe = els.popup.querySelector('.highlights-viewer__container-viewer'); // popup-scroll els.popupScroll = els.popup.querySelector('.highlights-viewer__scroll'); els.popupScrollUpBtn = els.popup.querySelector('.highlights-viewer__scroll-btn--up'); els.popupScrollDownBtn = els.popup.querySelector('.highlights-viewer__scroll-btn--down'); // infoPopup els.infoBtn = els.popup.querySelector('.highlights-viewer__title-cta'); els.infoCloseBtn = els.popup.querySelector('.highlights-viewer__header-close-cta'); els.infoDimmed = els.popup.querySelector('.highlights-viewer__dimmed'); // timeout els.resizeTimeout = null; els.resizeInnerTimeout = null; // viewer els.viewerOpener = null; els.viewerModel = ''; els.viewerColor = ''; }; const setStatus = function () { status.viewerBaseUrl = '//www.samsung.com/global/galaxy/3d-360/viewer/?'; status.defaultParams = '&gesture_guide=0'; status.defaultParams += '&bgcolor=transparent'; status.defaultParams += '&skin=colorlayer'; status.defaultParams += '&theme=roundlayer'; status.defaultParams += '&intro=1'; status.defaultParams += '&ruler=1'; status.defaultParams += '&breakpoint_criteria=outer'; status.defaultParams += '&breakpoint_desktop_width=1024'; status.defaultParams += '&intro_pose=2'; status.defaultParams += '&intro_pose_once=1'; status.defaultParams += '&intro_pose_hold=1'; status.moPoseReady = false; status.isHash = false; }; const bindEvents = function () { window.addEventListener('DOMContentLoaded', onLoadHandler, {once : true}); window.addEventListener('message', onReceiveV3DMessage, false); //els.popupContents.addEventListener('scroll', onScrollPopupContents); els.viewerIframe.addEventListener('DOMContentLoaded', viewerEvents.onLoadLayerPopupIframe); els.popupScroll.addEventListener('click', layerPopupScrollHandler.onClickLayerScroll); resize.add(onResizeHandler); }; const onLoadHandler = function () { setViewerWrap.innerWrapHeight(); setViewerWrap.layerScroll(); }; const onResizeHandler = function (currRes) { currDevice = currRes; if (utils.detector.isTouchDevice && !utils.detector.isIosDevice) setViewerWrap.innerWrapHeight(); setViewerWrap.layerScroll(); }; const setViewerWrap = { innerWrapHeight: function () { clearTimeout(els.resizeInnerTimeout); els.resizeInnerTimeout = setTimeout(function () { if (els.popupInner) { els.popupInner.style.height = parseInt(window.innerHeight * 0.9) + 'px'; } }, 0); }, layerScroll: function () { clearTimeout(els.resizeTimeout); els.resizeTimeout = setTimeout(function () { layerPopupScrollHandler.setLayerScroll(); }, 300); } }; const setPopup = function(){ utils.layerPopup({ layerPopup: els.popup, layerPopupClass: '.highlights-viewer', openerEvent: { element: els.viewerBtn, }, closeCtas: [els.closeCta], moveTarget: document.documentElement, contents: els.contents, show: { start: function (target) { els.popup.classList.add('is-init'); viewerEvents.show(target.openerCta); }, end: function () { if (utils.detector.isIosDevice) els.popup.style.display = 'block'; els.popup.classList.add('is-open'); if (els.popup.classList.contains('is-info-open')) { setTimeout(function () { els.infoCloseBtn.focus(); }, 500); } } }, hide: { start: function () { els.popup.classList.remove('is-open'); }, end: function () { setTimeout(function () { els.popup.classList.remove('is-init'); }, 300); viewerEvents.hide(); } } }); }; const viewerEvents = { show: function (viewerOpener) { if (viewerOpener.classList.contains('viewer-btn')) { status.isHash = false; els.viewerOpener = viewerOpener; } else { status.isHash = true; els.viewerOpener = els.viewerBtn; } els.viewerModel = els.viewerOpener.getAttribute('data-model-name'); els.viewerColor = els.viewerOpener.getAttribute('data-model-color'); els.viewerIframe.setAttribute('src', getViewerUrl()); if (currDevice.indexOf('mobile') > -1 || currDevice == 'tablet') { viewerEvents.infoPopupShow(); } els.infoBtn.addEventListener('click', function () { viewerEvents.infoPopupShow(); setTimeout(function () { els.infoCloseBtn.focus(); }, 400); }); els.popupWrap.addEventListener('click', viewerEvents.onclickViewerDimmed); }, hide: function () { els.viewerModel = ''; els.viewerIframe.setAttribute('src', 'about:blank'); if (status.isHash) { setTimeout(function () { els.viewerOpener.focus(); }, 300); } }, infoPopupShow: function () { if (!els.popup.classList.contains('is-info-open')) { els.popup.classList.add('is-info-open'); els.infoCloseBtn.addEventListener('click', viewerEvents.infoPopupHide); els.infoDimmed.addEventListener('click', viewerEvents.infoPopupHide); setTimeout(function () { els.closeCta.setAttribute('tabindex', -1); els.closeCta.setAttribute('aria-hidden', true); els.infoBtn.setAttribute('tabindex', -1); els.infoBtn.setAttribute('aria-hidden', true); els.viewerContainer.setAttribute('tabindex', -1); els.viewerContainer.setAttribute('aria-hidden', true); }, 100); } }, infoPopupHide: function () { if (els.popup.classList.contains('is-info-open')) { els.popup.classList.remove('is-info-open'); setTimeout(function () { els.infoBtn.focus(); }, 300); setTimeout(function () { els.closeCta.removeAttribute('tabindex'); els.closeCta.removeAttribute('aria-hidden'); els.infoBtn.removeAttribute('tabindex'); els.infoBtn.removeAttribute('aria-hidden'); els.viewerContainer.removeAttribute('tabindex'); els.viewerContainer.removeAttribute('aria-hidden'); }, 100); } }, onclickViewerDimmed: function (e) { if (e.currentTarget == e.target) { if(utils.detector.isIosDevice) els.viewerOpener.style.display = 'block'; els.popup.classList.remove('is-open'); document.documentElement.classList.remove('is-layer-open'); document.documentElement.style.overflow = ''; utils.visibleScroll(); utils.onAccessibility(els.popup); utils.offAccessibility(document.querySelector('#wrap')); setTimeout(function () { els.viewerOpener.focus(); }, 300); els.viewerModel = ''; els.viewerIframe.setAttribute('src', 'about:blank'); setTimeout(function () { els.popup.classList.remove('is-init'); }, 300); } }, onLoadLayerPopupIframe: function () { if (document.documentElement.classList.contains('color_yb') || (utils.getCookie('highContrastMode') != null && utils.getCookie('highContrastMode') == 1)) { els.viewerIframe.contentWindow.postMessage('V3D.highContrast.on', '*'); setTimeout(function () { els.viewerIframe.contentWindow.postMessage('V3D.highContrast.on', '*'); }, 300); } } }; const layerPopupScrollHandler = { setLayerScroll: function () { if (!els.popupContents) return; if (els.popupContents.scrollHeight > els.popupContents.clientHeight) { utils.offAccessibility(els.popupScroll); els.popupScroll && els.popupScroll.classList.add('is-scroll-btn'); } else { utils.onAccessibility(els.popupScroll); els.popupScroll && els.popupScroll.classList.remove('is-scroll-btn'); } }, onScrollPopupContents: function () { onUpdateLayerScroll(false); }, onClickLayerScroll: function (e) { e && e.preventDefault(); if (e.target.matches('.highlights-viewer__scroll-btn')) { let scrollDown = e.target.classList.contains('highlights-viewer__scroll-btn--down'), $popupContents = $(els.popupContents); if (scrollDown) { $popupContents.stop().animate({ scrollTop: $popupContents.scrollTop() + 100 }, { duration: 300, complete: function () { layerPopupScrollHandler.onUpdateLayerScroll(true); } }); } else { $popupContents.stop().animate({ scrollTop: $popupContents.scrollTop() - 100 }, { duration: 300, complete: function () { layerPopupScrollHandler.onUpdateLayerScroll(true); } }); } } }, onUpdateLayerScroll: function (isClicked) { const offsetTop = els.popupContents.scrollTop, layerBottom = els.popupContents.scrollHeight - els.popupContents.clientHeight; els.popupScrollUpBtn.removeAttribute('tabindex'); els.popupScrollUpBtn.removeAttribute('aria-hidden'); els.popupScrollUpBtn.removeAttribute('disabled'); els.popupScrollDownBtn.removeAttribute('tabindex'); els.popupScrollDownBtn.removeAttribute('aria-hidden'); els.popupScrollDownBtn.removeAttribute('disabled'); if (offsetTop == 0) { isClicked && els.popupScrollDownBtn && els.popupScrollDownBtn.focus(); els.popupScrollUpBtn.setAttribute('tabindex', '-1'); els.popupScrollUpBtn.setAttribute('aria-hidden', 'true'); els.popupScrollUpBtn.setAttribute('disabled', 'disabled'); } else if (offsetTop >= layerBottom - 1) { isClicked && els.popupScrollUpBtn && els.popupScrollUpBtn.focus(); els.popupScrollDownBtn.setAttribute('tabindex', '-1'); els.popupScrollDownBtn.setAttribute('aria-hidden', 'true'); els.popupScrollDownBtn.setAttribute('disabled', 'disabled'); } } }; const onReceiveV3DMessage = function (e) { if (e.data == 'V3D.state.popOpen') { if (currDevice.indexOf('mobile') > -1 || currDevice == 'tablet') { if (els.closeCta) { if (!els.popupWrap.classList.contains('is-popup-opened')) els.popupWrap.classList.add('is-popup-opened'); els.closeCta.setAttribute('tabindex', '-1'); els.closeCta.setAttribute('aria-hidden', 'true'); els.closeCta.setAttribute('disabled', 'disabled'); } if (els.infoBtn) { els.infoBtn.setAttribute('tabindex', '-1'); els.infoBtn.setAttribute('aria-hidden', 'true'); } } } else if (e.data == 'V3D.state.popClose') { if (currDevice.indexOf('mobile') > -1 || currDevice == 'tablet') { if (els.closeCta) { if (els.popupWrap.classList.contains('is-popup-opened')) els.popupWrap.classList.remove('is-popup-opened'); els.closeCta.removeAttribute('tabindex'); els.closeCta.removeAttribute('aria-hidden'); els.closeCta.removeAttribute('disabled'); } if (els.infoBtn) { els.infoBtn.removeAttribute('tabindex'); els.infoBtn.removeAttribute('aria-hidden'); } } } else if (e.data == 'V3D.state.introPose.ready') { if (currDevice.indexOf('desktop') > -1) { els.viewerIframe && els.viewerIframe.contentWindow.postMessage('V3D.introPose.run', '*'); } status.moPoseReady = true; setTimeout(function () { status.moPoseReady = false; }, 2000); } else if (e.data == 'V3D.state.localData.ready') { els.viewerIframe && els.viewerIframe.contentWindow.postMessage(JSON.stringify(V3DLOCALDATA), '*'); } }; const getViewerUrl = function () { let viewerUrl = status.viewerBaseUrl; // model_name viewerUrl += 'model_name=' + els.viewerModel; if (document.documentElement.classList.contains('color_yb') || (utils.getCookie('highContrastMode') != null && utils.getCookie('highContrastMode') == 1)) { viewerUrl += '&highcontrast=1'; } else { viewerUrl += '&highcontrast=0'; } // RTL utils.isRTL() && (viewerUrl += '&rtl=1'); viewerUrl += status.defaultParams; viewerUrl += '#color=' + (els.viewerColor ? els.viewerColor : 'null'); return viewerUrl; }; return { init: init } })();})();(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.ytPopup = (function () { let els = {}; const utils = window.flagship.common.utils; const init = function () { els.layerPopup = document.querySelector('.common-youtube-popup'); if(!!els.layerPopup) { setElements(); setPopup(); } }; const setElements = function () { els.contents = document.querySelector('#contents'); els.openCtas = document.querySelectorAll('.js-youtube-popup'); els.closeCta = document.querySelector('.common-youtube-popup__close-cta'); els.ytIframe = els.layerPopup.querySelector('.common-youtube-popup__iframe > iframe'); els.ytDesc = els.layerPopup.querySelector('.youtube-player__desc'); els.dimmed = els.layerPopup.querySelector('.common-youtube-popup__close-area'); }; const setPopup = function () { for (let i = 0; i < els.openCtas.length; i++) { utils.layerPopup({ layerPopup: els.layerPopup, layerPopupClass: '.common-youtube-popup', openerEvent: { element: els.openCtas[i], }, closeCtas: [els.closeCta], dimmed: els.dimmed, moveTarget: document.documentElement, contents: els.contents, show: { start: function () { els.layerPopup.classList.add('is-yt-open'); }, end: function (target) { eventList.setYoutube(target); } }, hide: { start: function () { els.layerPopup.classList.remove('is-yt-open'); }, end: function (target) { eventList.clearYoutube(); } } }); } }; const eventList = { setYoutube: function (target) { let opener = target.openerCta, ytSrc = 'htt' + 'ps://www.youtube.com/embed/' + opener.getAttribute('data-youtube-id') + '?wmode=opaque&rel=0&enablejsapi=1&version=3&autoplay=1', ytTitle = opener.getAttribute('data-youtube-title'), ytBlind = opener.querySelector('.blind').innerHTML; els.ytIframe.setAttribute('src', ytSrc); els.ytIframe.setAttribute('title', ytTitle); els.ytDesc.innerHTML = ytBlind; els.OpenerTarget = opener; }, clearYoutube: function () { els.ytIframe.removeAttribute('src'); els.ytDesc.innerHTML = ''; } }; return { init: init, } })();})();(function () { window.flagship.common.resize.bindEvent(); var initComponents = function () { flagship.highlights.accordion.init(); flagship.highlights.scrollVideo.init(); flagship.highlights.clickToVideo.init(); flagship.highlights.overview.init(); flagship.highlights.quote.init(); flagship.highlights.color.init(); flagship.highlights.viewer.init(); flagship.highlights.cameraAi.init(); flagship.highlights.camera.init(); flagship.highlights.lowLight.init(); flagship.highlights.lowLightPopup.init(); flagship.highlights.quadTelephoto.init(); flagship.highlights.quadTelPopup.init(); flagship.highlights.tutorial.init(); flagship.highlights.suggestionAiTutorial.init(); flagship.highlights.circleToSearchTutorial.init(); flagship.highlights.liveTranslateTutorial.init(); flagship.highlights.chatAssistTutorial.init(); flagship.highlights.samsungNoteTutorial.init(); flagship.highlights.gaming.init(); flagship.highlights.display.init(); flagship.highlights.experiences.init(); flagship.highlights.faq.init(); flagship.highlights.ytPopup.init(); }; initComponents();})();});

      • Galaxy S24 Ultra | Galaxy AI | Samsung DE (2024)

        References

        Top Articles
        Latest Posts
        Article information

        Author: Prof. Nancy Dach

        Last Updated:

        Views: 5837

        Rating: 4.7 / 5 (57 voted)

        Reviews: 80% of readers found this page helpful

        Author information

        Name: Prof. Nancy Dach

        Birthday: 1993-08-23

        Address: 569 Waelchi Ports, South Blainebury, LA 11589

        Phone: +9958996486049

        Job: Sales Manager

        Hobby: Web surfing, Scuba diving, Mountaineering, Writing, Sailing, Dance, Blacksmithing

        Introduction: My name is Prof. Nancy Dach, I am a lively, joyous, courageous, lovely, tender, charming, open person who loves writing and wants to share my knowledge and understanding with you.