Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (2024)

Galaxy Z Flip5

  • SPEZIFIKATIONEN
  • SUPPORT
  • REZENSIONEN

JETZT KAUFEN

  • Highlights
  • Vergleichen
  • Zubehör
  • SPEZIFIKATIONEN
  • SUPPORT
  • REZENSIONEN
Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (1)

Jetzt kaufen und gratis Lieferung sowie 0 % Finanzierung sichern.

JETZT KAUFEN JETZT RESERVIEREN JETZT VORBESTELLEN WO KANN ICH ES KAUFEN?

Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (2)
  • * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.
  • DESIGN
  • KAMERA
  • FRONTDISPLAY
  • AKKU
  • FLEX MODUS

Einfach ausgezeichnet.

Das Galaxy Z Flip5 hat verschiedene Fachredaktionen überzeugt und hervorragende Ergebnisse erhalten.

  • Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (3)1
  • Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (4)2
  • Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (5)3

1 Chip, sehr gut (1,2), veröffentlicht am 09.08.2023 unter chip.de Galaxy Z Flip5, Einzeltest.
2 Connect, gut, veröffentlicht am 11.08.2023 unter connect.de Galaxy Z Flip5 , Einzeltest.
3 Computer Bild, gut (1,5), Ausgabe 17/2023 Galaxy Z Flip5, Einzeltest.

Galaxy AI is here

Willkommen im Zeitalter der mobilen AI. Mit dem Galaxy Z Flip5 in deinen Händen kannst du deine Kreativität und Produktivität beflügeln und deine Möglichkeiten erschließen– angefangen mit dem wichtigsten Gerät in deinem Leben. Deinem Smartphone.

Legendär– einfach so.

CIRCLE TO SEARCH

Einkreisen. Suchen. Finden. So einfach ist das

Eine moderne Art der Suche mit Circle to Search.1 Zeichne einfach ein Objekt nach, um die Google-Suchergebnisse aufzurufen. Du musst nichts eintippen.

*Bild ist zu illustrativen Zwecken simuliert. Tatsächliche UI kann abweichen.

Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (6)

Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (7)

Eine Blog-Seite ist in einer Webbrowser-App geöffnet. Die Home-Taste wird lange gedrückt. Ein Google-Overlay erscheint über der App. Der folgende Text ist auf der Blog-Seite eingekreist: Spiralkartoffel. Die Suchergebnisse für Spiralkartoffeln erscheinen in einem Pop-up über der App. Das Pop-up wird nach oben in einen Vollbildschirm mit Google-Suchergebnissen gezogen.

LIVE-ÜBERSETZUNG

Die einfache Art der Kommunikation

Nutze die Live-Übersetzung in Echtzeit, während du telefonierst.2 Und halt dich fest, es funktioniert sogar beim Schreiben von Nachrichten.3

*Bild ist zu illustrativen Zwecken simuliert. Tatsächliche UI kann abweichen.

Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (8)

Ein Anruf wird in Echtzeit übersetzt. Der Dialog wird auf dem Bildschirm als Textkonversation in zwei Sprachen angezeigt.

Dolmetscher

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.4

*Bild ist zu illustrativen Zwecken simuliert. Tatsächliche Benutzeroberfläche kann abweichen.

Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (9)

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

FOTO-ASSISTENT

Größe ändern, retuschieren. So einfach ist das

Lass dich von der AI-gestützten Fotobearbeitung verzaubern.5 Generative Edit kann Hintergründe ausfüllen und unerwünschte Objekte *puff* verschwinden lassen.

*Bild ist zu illustrativen Zwecken simuliert. Tatsächliche UI kann abweichen.

Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (10)

Ein Foto wird bearbeitet. Das Motiv wird ausgewählt, die Größe wird geändert, und es wird dann an einer anderen Stelle im Bild eingefügt. Anschließend werden fehlende Bereiche ausgefüllt.

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

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (11)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (12) Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (13)

    Eine Nahaufnahme eines zusammengeklappten Galaxy Z Flip5 vom Frotdisplay und dem unteren Rahmen aus gesehen. Beim Herauszoomen klappt das Gerät auf und nimmt die Zeltform ein.

    Frontdisplay. Das bisher größte Frontdisplay eines Galaxy Z Flip.

    Entdecke das 3,4-Zoll-Frontdisplay des Galaxy Z Flip5, entwickelt für deine Selbstentfaltung.6 Dieses kompakte und auffällige zusammenklappbare Smartphone ist ebenso vielseitig wie tragbar.

    * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.

    Eine Größe, die in alle Taschen passt

    Unser bisher kompaktestes Galaxy Z Flip lässt sich jetzt flacher als seine Vorgängermodelle zusammenklappen, sodass es genauso einfach in deine Tasche passt wie in deine Hände.9

    * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (14)

    Wähle aus vier Farben, von der Natur inspiriert

    Finde deinen Vibe in einer Welt voller futuristischer Farben, die von der Natur inspiriert worden sind: Mint, Graphite, Cream, Lavender.

    *Bild dient zu Illustrationszwecken.

    Mint Graphite Cream Lavender

    Zwei Galaxy Z Flip5 Geräte in der Farbe Mint. Eines ist wie ein Zelt zusammengeklappt und von der Rückseite aus zu sehen. Das zweite ist komplett zusammengeklappt und wird zum Teil vom ersten Gerät verdeckt. Als nächstes eine Nahaufnahme der Hauptkamera. Als nächstes eine Nahaufnahme des Scharniers.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (15)

    Zwei Galaxy Z Flip5 Geräte in der Farbe Graphite. Eines ist wie ein Zelt zusammengeklappt und von der Rückseite aus zu sehen. Das zweite ist komplett zusammengeklappt und wird zum Teil vom ersten Gerät verdeckt. Als nächstes eine Nahaufnahme der Hauptkamera. Als nächstes eine Nahaufnahme des Scharniers.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (16)

    Zwei Galaxy Z Flip5 Geräte in der Farbe Cream. Eines ist wie ein Zelt zusammengeklappt und von der Rückseite aus zu sehen. Das zweite ist komplett zusammengeklappt und wird zum Teil vom ersten Gerät verdeckt. Als nächstes eine Nahaufnahme der Hauptkamera. Als nächstes eine Nahaufnahme des Scharniers.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (17)

    Zwei Galaxy Z Flip5 Geräte in der Farbe Lavender. Eines ist wie ein Zelt zusammengeklappt und von der Rückseite aus zu sehen. Das zweite ist komplett zusammengeklappt und wird zum Teil vom ersten Gerät verdeckt. Als nächstes eine Nahaufnahme der Hauptkamera. Als nächstes eine Nahaufnahme des Scharniers.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (18)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (19)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (20)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (21)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (22)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (23)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (24)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (25)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (26)

    Exklusive Online-Farben mit urbanem Flair

    Mit den exklusiven, urbanen Farben, die nur auf samsung.de verfügbar sind, wird dein Gerät jetzt noch persönlicher: Gray, Blue, Green und Yellow.10

    *Bild dient zu Illustrationszwecken.

    Exklusiv online

    Gray Blue Green Yellow

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (27)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (28)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (29)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (30)

    Besser gemeinsam

    Flipsuit Case11,12,13,14

    Mehr erfahren

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (31)

    Besser gemeinsam

    Clear Gadget Case

    Mehr erfahren

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (32)

    Kamera. Ein überzeugendes Selfie-Erlebnis.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (33)

    Aufgenommen mit dem Galaxy Z Flip5#withGalaxy

    Mit der FlexCam kannst du beeindruckende Selfies aufnehmen, die aus nahezu jedem Winkel gut werden. Ganz gleich, für welche Kamera du dich entscheidest: Das Galaxy Z Flip5 macht es dir einfach. Jetzt musst du dich nur noch vor der Kamera in Szene setzen.

    FlexCam-Selfies – auch im zusammengeklappten Zustand

    Starte die Kamera-App mit dem Frontdisplay-Shortcut, um den Moment sofort festzuhalten. Mache Fotos, verändere die Einstellungen und nimm's nochmal auf, ohne dein Smartphone auch nur aufklappen zu müssen.

    * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen

    ** Dieses Foto wurde zwecks Farbkorrektur retuschiert.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (34)

    Aufgenommen mit dem Galaxy Z Flip5#withGalaxy

    Freihändige Selfies – dank der FlexCam

    Benutze den Flex Modus und bringe deine Freunde ins Bild für ein größeres Gruppen-Selfie.15 Verwende den Kamera-Controller auf deiner Galaxy Watch6 und begeistere die Welt mit Zoomed-In-Selfies.16

    * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (35)

    Aufgenommen mit dem Galaxy Z Flip5#withGalaxy

    Mach die Nacht wie zum Tag mit Nightography.17

    Die Weitwinkelkamera des Galaxy Z Flip5 holt noch mehr von der Szene ins Bild. Aufklappen ist optional: Wische über das Kamera-Icon auf dem Frontdisplay und die FlexCam beginnt mit der Aufnahme. Und lass die Kamera laufen, denn bei einem Video mit 4K Nightography bedeutet weniger Sonnenlicht nicht, dass die Qualität leidet.18

    * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (36) Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (37)

    Eine Frau nimmt ein Selfie-Video mit zwei Freunden im Hintergrund bei Nacht auf. Dank des Weitwinkels passen alle ins Bild. Details sind klar, die Farben warm und der Hintergrund scharf.

    Aufgenommen mit dem Galaxy Z Flip5#withGalaxy

    Frontkamera-Selfies sehen einfach scharf aus

    Die Tage der unscharfen Frontkamera-Aufnahmen sind passé: Mit der aufklappbaren Frontkamera bringst du deine Selfies auf ein hohes Level. Die reflexionsarme Linse sorgt für sehr scharfe Fotos und reduziert Reflexionen sowie Streulicht-Effekte – auch in der Dunkelheit.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (38)

    • Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (39)1

    1 Galaxy Z Flip5, Gesamtwertung: sehr gut, in der Kategorie „Kamera“: sehr gut, veröffentlicht am 09.08.2023 unter chip.de, Einzeltest.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (40) Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (41)

    Drei Galaxy Z Flip5 Geräte, die über jeweils unterschiedliche, farblich angepasste Frontdisplay-Oberflächen verfügen.

    Das 3,4” Frontdisplay

    * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.

    • Beantworte Nachrichten mit einer QWERTZ-Tastatur, tätige Anrufe, überprüfe das Wetter und nimm sogar Zahlungen vor – alles über ein großes, helles Frontdisplay.6,19,20 Jetzt mit mehr Zifferblättern und einfachen Bewegungsgesten zur Kontrolle deines Smartphones, die du aus dem gesamten Galaxy Ecosystem kennst.

      * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.

      Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (42) Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (43)

      Bewegungsgesten dienen dazu, um sich durch verschiedene Apps und Widgets im Frontdisplay zu navigieren. Wenn du auf dem Startbildschirm nach rechts streichst, werden Benachrichtigungen angezeigt. Wenn du nach unten streichst, wird das Quick Panel angezeigt. Wenn du zum Startbildschirm zurückkehrst, kannst du mit einem Wischen nach links zwischen Widgets wie Samsung Health Steps und einem Kalender mit interaktiven Menüfunktionen umschalten. Wenn du schließlich vom Startbildschirm nach oben wischst, wird Samsung Wallet geöffnet.

    • Bewegungsgesten dienen dazu, um sich durch verschiedene Apps und Widgets im Frontdisplay zu navigieren. Wenn du auf dem Startbildschirm nach rechts streichst, werden Benachrichtigungen angezeigt. Wenn du nach unten streichst, wird das Quick Panel angezeigt. Wenn du zum Startbildschirm zurückkehrst, kannst du mit einem Wischen nach links zwischen Widgets wie Samsung Health Steps und einem Kalender mit interaktiven Menüfunktionen umschalten. Wenn du schließlich vom Startbildschirm nach oben wischst, wird Samsung Wallet geöffnet. Und egal, wie viele Widgets du verwendest: Mit der Multi Widget-Ansicht kommst du nicht durcheinander.

      * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.

      Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (44) Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (45)

      Wenn du vom Startbildschirm aus diagonal wischst, wird die Multi Widget-Ansicht geöffnet, die alle installierten Widgets in gekachelter Ansicht anzeigt. Durch das Zurückwischen kehrst du zum Startbildschirm zurück. Ein Wischen nach links öffnet den Kalender. Wenn du von der App aus diagonal nach innen wischst, kehrst du zur Multi Widget-Ansicht zurück, durch die du scrollen und zu einem anderen Widget navigieren kannst, wie z. B. zum Galaxy Wearable. Mit einem Wisch nach oben kehrst du schließlich zum Startbildschirm zurück.

    Passe das Frontdisplay so an, wie es dir gefällt

    Übernimm die totale Kontrolle über das Frontdisplay. Personalisiere dein Gerät mit Widgets, Video-Wallpapers, Ziffernblättern, Stilen und mehr, um dein Galaxy Z Flip5 einzigartig zu machen.19,21

    * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (46)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (47)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (48)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (49)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (50)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (51)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (52)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (53)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (54)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (55)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (56)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (57)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (58)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (59)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (60)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (61)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (62)

    Übernimm die totale Kontrolle über das Frontdisplay. Personalisiere dein Gerät mit Widgets, Video-Wallpapers, Ziffernblättern, Stilen und mehr, um dein Galaxy Z Flip5 einzigartig zu machen.19,21

    * Bild zu Illustrationszwecken simuliert. Das tatsächliche UI kann abweichen.

    * Die Informationen auf dem Finanzen-Merkliste Widget dienen nur zur Illustration.

    • Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (63)1
    • Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (64)2

    1 Galaxy Z Flip5, Gesamtwertung: sehr gut, in der Kategorie „Display“: sehr gut, veröffentlicht am 09.08.2023 unter chip.de, Einzeltest.
    2 Galaxy Z Flip5 , Gesamtwertung: gut, in der Kategorie „Display“: überragend, veröffentlicht am 11.08.2023 unter connect.de, Einzeltest.

    Akku für den ganzen Tag22 Höre bis zu 57 Std.7 Schaue bis zu 19 Std.7

    Der Akku mit 3.700 mAh wird von einem leistungsstarken Prozessor unterstützt und verteilt die Akkuladung so effizient, dass du bis in die Nacht hinein Filme streamen oder Spiele spielen kannst.23 Du benötigst zusätzliche Power? Dann aktiviere den Energiesparmodus und halte den Spaß am Laufen.

    • Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (65)1
    • Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (66)2

    1 Galaxy Z Flip5, Gesamtwertung: sehr gut, in der Kategorie „Akku“: sehr gut, veröffentlicht am 09.08.2023 unter chip.de, Einzeltest.
    2 Galaxy Z Flip5, Gesamtwertung: gut, in der Kategorie „Ausdauer“: sehr gut, veröffentlicht am 11.08.2023 unter connect.de, Einzeltest.

    Der bisher leistungsstärkste Prozessor in einem Galaxy Foldable

    Die neue Snapdragon® 8 Gen 2 For Galaxy bringt dich auf ein hohes Leistungslevel.25 Erlebe flüssige Grafiken, schnelle KI und angepasste Akkuleistung.

    * AP-Leistungsverbesserungen im Vergleich zum Galaxy Z Flip4. Die tatsächliche Leistung hängt von der Benutzerumgebung, den Bedingungen und der vorinstallierten Software und Apps ab.

    Snapdragon® 8 Gen 2 For Galaxy

    25 %↑

    GPU

    20 %↑

    NPU

    17 %↑

    CPU

    * AP-Leistungsverbesserungen im Vergleich zum Galaxy Z Flip4. Die tatsächliche Leistung hängt von der Benutzerumgebung, den Bedingungen und der vorinstallierten Software und Apps ab.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (67)

    Ein verbesserter Flex – der Flex Modus8, 25

    Verbessere, im Vergleich zum Vorgängermodell, die Art und Weise, wie du den Flex Modus verwendest, mit mehr Kontrolle an deinen Fingerspitzen.15 Blende das Panel aus oder erweitere es. Ziehe ein Touchpad und den Cursor hoch. Und navigiere mit einem erweiterten Wiedergabe-Bedienfeld einfach und präzise durch Musik und Medien.25

    * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (68) Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (69)

    Das Video wird auf dem Galaxy Z Flip5 im Flex Modus abgespielt. Das Flex Modus Panel wird durch eine Starttaste erweitert und dient zur Navigation des Videos mit einer Zeitleiste für die Wiedergabe und erweiterten Steuertasten, wie Lautstärke und Überspringen.

    Langlebig und strapazierfähig

    Das Galaxy Z Flip5 bleibt nach wie vor robust, und mit dem Extra-Support von Samsung Care+ kannst du es überall mit hin nehmen, ohne dich um eventuelle Schäden zu sorgen.

    • Dieses Foldable trägt eine robuste Rahmen-Panzerung aus Armor Aluminum.26 und Schutz gegen Feuchtigkeit27

      Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (70)

    • Das neue, langlebige Doppelschienen-Design für klappbaren Scharniere.

      Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (71)

    • Mit dem Galaxy Z Flip5 kann dir ein bisschen Feuchtigkeit den Tag nicht vermiesen.27

      Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (72)

    Melde dich bei Samsung Care+ an und profitiere von sorgenfreiem Schutz.28

    Mehr erfahren

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (73)

    Galaxy Watch6 – Habe deine Fitness im Griff

    Kopple dein Galaxy Z Flip5 mit einem Gerät der Galaxy Watch6 Serie, um deine Fitness im Blick zu behalten.29,30 Beobachte, wie deine Leistung jeden Tag gesteigert wird, und mache Selfies im Fitnessstudio, um deine Erfolge festzuhalten – dank Camera Controller auch ohne Spiegel.16, Und mit einem Gerät der Galaxy Watch6 Serie, das weiß, wo du dein Smartphone liegen gelassen hast, steht dir die Welt offen.

    *Bildschirminhalte dürfen keine Funktionen simulieren, die sie in Wirklichkeit nicht haben. Die Verwendung von Disclaimern würde nicht ausreichen, um eine dadurch erzeugte Irreführung auszuräumen.

    Better together - Zusammen ein Team

    Galaxy Watch6 Serie29

    Galaxy Watch6 kaufen

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (74)

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (75)

    Im Hinblick auf den Planeten entwickelt

    Das Galaxy Z Flip5 und Fold5 enthalten mehr recyceltes Material als ihre Vorgänger, einschließlich recyceltem Pre-Consumer-Glas und -Aluminium sowie recycelten Post-Consumer-Kunststoffen, die aus ausrangierten Fischernetzen, Wasserfässern und PET-Flaschen stammen.31,32

    *Bild ist zu illustrativen Zwecken simuliert. Tatsächliche UI kann abweichen.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (76)

    Wechseln, aktualisieren und austauschen – ganz einfach

    Smart Switch

    Smart Switch ist die gesicherte Art und Weise, wie du deine Daten von deinem alten Gerät auf dein neues Galaxy Z Flip5 übertragen kannst.33

    * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.

    Mehr erfahren

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (77)

    Eintauschen und sparen

    Noch ist es nicht an der Zeit, dein Altgerät zu entsorgen. Es könnte dir einen Rabatt auf dein neues Galaxy Z Flip5 sichern.34

    * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.

    Mehr erfahren

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (78)

    Your Privacy. Secured

    Mit Samsung Knox ist deine Privatsphäre geschützt. Teile nur das, was du willst.

    * Bild zu Illustrationszwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (79)

    Speicherkapazität

    Finde ausreichend Platz für deine Daten – entweder mit 256 GB oder 512 GB.35

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (80)

    Komme in den Genuss von 6 Monaten Microsoft365 Basic: Du bekommst 100 GB Cloud-Speicher, werbefreie, sichere E-Mails sowie Zugang zum Microsoft-Support.36

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (81)

    Bringe Farbe in dein Leben mit stilvollen Accessoires

    MEHR ERFAHREN

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (82)

    IN 360° ANSEHEN

    Probiere es aus

    * Exklusive Online-Farben nur auf samsung.de erhältlich.

    Häufig gestellte Fragen

    • Das Galaxy Z Flip5 ist in den Farben Mint, Graphite, Cream und Lavender erhältlich. Gray, Blue, Green und Yellow sind exklusive Farben, die du nur online auf samsung.de findest.

      ZU DEN FARBEN

    • Das Galaxy Z Flip5 hat ein 3,4 Zoll-Frontdisplay, das mehr Widgets, mehr Anpassungen und das bisher beste Selfie-Erlebnis auf einem Samsung Galaxy Z Flip Smartphone unterstützt.6, 25 Im Flex Modus gibt es ein erweitertes Flex-Modus-Panel.8, 15, 25 Außerdem verfügt es über das neue Flex-Scharnier mit zwei Schienen.

      VERGLEICHE GERÄTE

    • Das Galaxy Z Flip5 ist mit einer 10 MP-Selfie-Kamera ausgestattet, die einen größeren Blickwinkel hat als das Galaxy Z Flip4 . Auf der anderen Seite verfügt es über eine 12 MP-Ultra-Weitwinkel-Kamera und eine 12 MP-Weitwinkel-Kamera. Angepasste Hardware – wie die Super Clear Lens – und Software – wie adaptive VDIS – arbeiten zusammen, um scharfe und farbenfrohe Fotos, Selfies und Videos zu liefern.17

      ZUR KAMERA

    • Das Galaxy Z Flip5 ist 71,9 mm breit, 165,1 mm lang und 6,9 mm tief im aufgeklappten Zustand.37 Zugeklappt misst es 85,1 mm in der Länge und 15,1 mm in der Tiefe. Auch wenn die Breite die gleiche ist, ist das Galaxy Z Flip5 im zugeklappten Zustand kompakter als das Galaxy Z Flip4, welches zusammengeklappt 17,1 mm am Scharnier und 15,9 mm am äußeren Rand misst..

      ZUR PORTABILITÄT

    • Mit dem intelligenten 3.700 mAh-Akku des Galaxy Z Flip5 kannst du bis zu 57 Stunden lang Musik hören oder bis zu 20 Stunden lang Videos ansehen.7, 22, 23

      ZUM AKKU

    • Das Galaxy Z Flip5 ist wassergeschützt und nach IPX8 zertifiziert.27

      ZUR ROBUSTHEIT

    • Das Galaxy Z Flip5 verfügt über ein neues Flex-Scharnier, mit einem langlebigen Doppelschienen-Design.

      ZUR WIDERSTANDSFÄHIGKEIT

    • Der 6,7 Zoll-FHD+-Hauptbildschirm38 des Galaxy Z Flip5 ist ein adaptives 120 Hz Dynamic-AMOLED-Display. Das 3,4 Zoll-Super-AMOLED-Frontdisplay erreicht eine Spitzenhelligkeit von 1.600 Nits. Es ist das erste in der Galaxy Z Flip Serie mit einem Näherungssensor und das erste Galaxy Z Flip Frontdisplay, das HBM unterstützt.

    • Mit One UI kannst du das Frontdisplay mit Widgets, Ziffernblättern und vielem mehr nach Belieben anpassen.19

      ZUM FRONTDISPLAY

    ZUM GALAXY Z FOLD5

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (83)

    Sichere dir dein Galaxy Z Flip5

    JETZT KAUFEN JETZT RESERVIEREN JETZT VORBESTELLEN WO ERHÄLTLICH

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (84)

    IN AUGMENTED REALITY ÖFFNEN

    Mit Samsung Galaxy dein Leben erleben

    MEHR ENTDECKEN

    Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (88)

    Entdecke unseren epischen Standard für dein Unternehmen

    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.

    *Für die Verwendung bestimmter Samsung AI-Funktionen ist möglicherweise die Anmeldung bei einem Samsung Account erforderlich.

    *Samsung kann die Genauigkeit, Vollständigkeit oder Zuverlässigkeit der von AI-Funktionen erbrachten Ergebnisse nicht versprechen, versichern oder garantieren.

    1. Sequenzen gekürzt und simuliert. Ergebnisse dienen nur zu illustrativen Zwecken. Ergebnisse können je nach visuellen Übereinstimmungen variieren. Eine Internetverbindung ist erforderlich. Nutzer müssen möglicherweise Android auf die neueste Version aktualisieren. Die Produktfunktionalität könnte von deiner App sowie Geräteeinstellungen abhängen. Manche Funktionen sind möglicherweise nicht kompatibel mit bestimmten Apps. Die Verfügbarkeit des Dienstes kann je nach Land und Sprache variieren. Die Genauigkeit der Ergebnisse wird nicht garantiert.
    2. Live-Übersetzung erfordert eine Netzwerkverbindung und die Anmeldung bei einem Samsung Account. Live Translate ist nur auf der vorinstallierten Samsung Phone-App verfügbar. 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.
    3. Die Übersetzungsfunktion in Chat Assist erfordert möglicherweise die Anmeldung bei einem Samsung Account. Manche Chat-Anwendungen unterstützen diese Funktion möglicherweise nicht. Bei bestimmten Sprachen ist das Herunterladen eines Sprachpakets erforderlich. Die Verfügbarkeit des Dienstes kann je nach Sprache variieren. Diese Funktion wird aktiviert, sobald eine übersetzbare Sprache erkannt wird. Die Genauigkeit der Ergebnisse wird nicht garantiert.
    4. 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.
    5. Die generative Bearbeitung durch den Foto-Assistenten 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. Displaydiagonale gemessen im vollen Rechteck und ohne Berücksichtigung der abgerundeten Ecken. Die tatsächlich sichtbare Fläche beträgt aufgrund der abgerundeten Ecken und des unteren Ausschnitts etwa 95 % der vollen rechteckigen Fläche.
    7. Basierend auf Samsung-internen Labortests mit einer Vorabversion des jeweiligen Modells, die unter Standardeinstellungen über LTE per Bluetooth mit einem Kopfhörer verbunden war. Geschätzte Akkukapazität und gemessener Stromverbrauch während der Videowiedergabe (Videodatei, Auflösung 720p, auf dem Gerät gespeichert) bzw. Audiowiedergabe (mp3-Datei, 192kbps, auf dem Gerät gespeichert, LCD-Display ausgeschaltet). Die tatsächlichen Video- und Audiowiedergabezeiten variieren je nach Netzwerkverbindung, Einstellungen, Dateiformat, Bildschirmhelligkeit, Akkustand und vielen anderen Faktoren.
    8. Flex-Modus-Panel muss in den Geräteeinstellungen aktiviert werden, damit es mit den in der App-Ablage installierten Apps, einschließlich Apps von Dritten, funktioniert. Die Liste der unterstützten Apps findest du in den Flex-Modus-Panel-Einstellungen im Menü Einstellungen deines Geräts.
    9. Dieses Gerät enthält Magnete. Halte es fern von Kreditkarten, implantierten medizinischen Geräten und anderen Geräten, die von Magneten beeinflusst werden können. Im Falle von medizinischen Geräten sollte der Abstand zwischen dem Gerät und diesen mehr als 15 cm betragen. Verwende dein Gerät nicht mehr, wenn du eine Störung deines medizinischen Geräts vermutest, und konsultiere deinen Arzt oder den Hersteller deines medizinischen Geräts.
    10. Online-exklusive Farben erfordern eine spezielle Produktion. Bitte rechne mit bis zu 4 Wochen Lieferfrist.
    11. Tatsächliche UX/UI kann variieren.
    12. Die tatsächlichen Farben des Flipsuit Case, die Kollaborationskartenoptionen und entsprechenden Inhalte, die auf dem Bildschirm angezeigt werden, können abweichen. Pro Karte wird ein Inhalt angezeigt.
    13. Das Zubehör von Markenkollaborationen enthält eine Markenkollaborationskarte in der Box.
    14. Der Karteninhalt der Flipsuit-Case-Kollaboration muss vor Verwendung separat heruntergeladen werden. Für das Herunterladen ist eine Internetverbindung erforderlich.
    15. Der Flex Modus wird bei Winkeln zwischen 75° und 115° unterstützt. Einige Apps werden im Flex-Modus möglicherweise nicht unterstützt.
    16. Kamera-Controller wird von der Galaxy Watch4 und neueren Galaxy Watch Modellen unterstützt, wenn diese mit der Galaxy S9 Serie und neueren Modellen gekoppelt sind. Die Zoomfunktion des Camera Controllers ist auf der Samsung Galaxy Watch4 Serie und neueren Galaxy Watch Modellen verfügbar, die mit einem Smartphone der Galaxy S-, Galaxy Note- und Galaxy Z Serie mit One UI 5.1 oder höher und Camera Controller-Unterstützung gekoppelt sind.
    17. Snapdragon® 8 Gen 2 for Galaxy verfügt über einen eigenen Image Signal Prozessor (ISP) für beeindruckende Videos bei schlechtem Licht.
    18. Das Galaxy Z Flip5 unterstützt Videoaufnahmen in 4K. Für 4K-Auflösung müssen Videos auf einem Gerät abgespielt werden, auf dem eine Auflösung in 4K möglich ist.
    19. Bestimmte Anwendungen unterstützen möglicherweise keine Frontdisplay Widgets.
    20. Das Display des Galaxy Z Flip5 ist das erste in der Galaxy Z Flip Serie mit einem Näherungssensor und das erste Galaxy Z Flip Display, das HBM unterstützt. Der HBM-Cover Screen des Galaxy Z Flip5 hat eine Spitzenhelligkeit von 1600 Nits für eine hellere und klarere Anzeige.
    21. Die Verfügbarkeit der Funktionen kann je nach Land oder Region variieren.
    22. 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 von UX Connect Research erstellten durchschnittlichen Nutzungsprofils. Unabhängig bewertet von UX Connect Research zwischen dem 19.06. und 29.06.2023 in den USA mit Vorabversionen von SM-F946 und SM-F731 in Standardeinstellung unter Verwendung von LTE- und 5G-Sub6-Netzwerken.
    23. 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.
    24. Snapdragon ist ein Produkt von Qualcomm Technologies, Inc. und/oder seinen Tochtergesellschaften. Snapdragon ist ein Markenzeichen von Qualcomm Incorporated.
    25. Im Vergleich zu früheren Modellen.
    26. Der Rahmen beinhaltet keine Lautstärketasten und Seitentasten oder ein SIM-Fach.
    27. Das Galaxy Z Fold5 ist mit IPX8 zertifiziert. IPX8 bedeutet: Schutz bei dauerhaftem Untertauchen bei 1,5 m Wassertiefe für 30 Minuten und ausschließlich in klarem Wasser. Kein Schutz bei Salzwasser und anderen Flüssigkeiten, insbesondere Seifenlauge, Alkohol und/oder erhitzter Flüssigkeit. Der SIM-Kartenhalter muss stets vollständig mit dem Gerät abschließen, sodass durch ihn kein Wasser eindringen kann. Nicht staubresistent.
    28. Samsung Care+ ist ein Versicherungsprodukt der Assurant Europe Insurance N.V. ("AEI"), das durch die Samsung Electronics GmbH vermittelt wird. Ihr Vertragspartner für das Versicherungsprodukt "Samsung Care+" ist AEI. Der vertragliche Rahmen dieser Versicherung ist in den Allgemeinen Versicherungsbedingungen sowie in der Versicherungspolice (Versicherungsschein) beschrieben.
    29. Geräte der Galaxy Watch6 Serie sind nicht im Lieferumfang enthalten.
    30. Die Verfügbarkeit von Produkten und Funktionen kann je nach Land oder Region variieren. Die Galaxy Watch6 muss mit einem Samsung Galaxy Phone mit Android 10.0, mindestens 1,5 GB RAM und der Samsung Health App Version 6.24 oder höher gekoppelt werden. Die bioelektrische Impedanzanalyse (BIA) ist nur für allgemeine Wellness- und Fitnesszwecke gedacht. Sie ist nicht für die Erkennung, Diagnose oder Behandlung bestimmt. Die Messungen sind nur für deinen persönlichen Gebrauch bestimmt. Bitte wende dich für eine Beratung an einen Arzt.
    31. Galaxy Z Flip5: 15 Gerätekomponenten, die zu mindestens 10 % aus recyceltem Post-Consumer-Kunststoff oder recyceltem Pre-Consumer-Aluminium bestehen oder Corning® Gorilla® Glass Victus® 2 mit einem Durchschnitt von 22 % recyceltem Pre-consumer-Inhalt. Diese Komponenten umfassen die Klammer der Lautstärketasten, die Lautsprecher-Module (oben und unten), die obere Rückseite, die Anschlusskappe des Displays, die FPCB RF Kabelhalterung, die hintere Mitte, die Case-Vorderseite (Main), die Case-Vorderseite (Sub), die Lautstärketaste, den Fingertastenhalter, die Empfänger-Deko, die Stecker-zu-Stecker-Halterung, die SIM-Karte, die kleinere Scheibe und das rückseitige Glas. (Galaxy Z Flip4: 6 Gerätekomponenten). Galaxy Z Fold5: 15 Gerätekomponenten, die zu mindestens 10 % aus recyceltem Post-Consumer-Kunststoff oder recyceltem Pre-Consumer-Aluminium bestehen oder Corning® Gorilla® Glass Victus® 2 mit einem Durchschnitt von 22 % recyceltem Pre-consumer-Inhalt. Diese Komponenten umfassen die Lautstärketaste FPCB-Halterung, das obere Lautsprecher-Modul (oben und unten), das untere Lautsprecher-Modul (oben und unten), den Cover-Display-Anschluss, die Case-Vorderseite (Main), die Case-Vorderseite (Sub), die Antenne (Sub), die Antenne (Main), die Lautstärketaste, den Fingertastenhalter, die SIM-Karte, die Stecker-zu-Stecker-Halterung, die Kamera-Deko (oben und unten), die kleinere Scheibe und das rückseitige Glas. (Galaxy Z Fold4: 6 Gerätekomponenten). Die oben genannten Messungen gelten je nach Gewicht.
    32. Zu den Arten von recyceltem Material gehören recyceltes Post-Consumer-PA aus ausrangierten Fischernetzen, recyceltes Post-Consumer-PBT aus weggeworfenen PET-Flaschen, recyceltes Post-Consumer-PC aus Wasserfässern und recyceltes Pre-Consumer-Aluminium aus Altmetall, das bei der Produktion als Nebenprodukt entsteht. Das Altmetall wird wieder eingeschmolzen, Unreinheiten werden herausgefiltert und dann wird es zur Produktion von Teilen in Samsungs Herstellungsprozess wiederverwertet. Es gibt außerdem recycelte Pre-Consumer-Teile aus Altglas, das als Nebenprodukt bei der Glasproduktion entsteht. Diese Glasabfälle werden zu Scherben zerkleinert und als Komponente im Corning® Gorilla® Glass Victus® 2 Herstellungsprozess benutzt.
    33. Kabelgebundene Übertragungen erfordern mindestens Android™ 4.3. Wenn du nicht über das erforderliche USB-Kabel/den USB-Stecker für eine kabelgebundene Übertragung zum Galaxy verfügst, kannst du auch die drahtlosen Übertragungsoptionen verwenden. iOS 5 oder ein älteres Android-Betriebssystem muss die drahtlosen Übertragungsoptionen verwenden. Öffne Smart Switch Mobile in den „Einstellungen“ auf deinem neuen Galaxy-Smartphone oder lade die Smart Switch Mobile-App aus dem Galaxy Store herunter. Daten und Inhalte, die für die Übertragung verfügbar sind, können je nach Betriebssystem variieren. Die Daten des Galaxy-Geräts werden gesichert und auf dem Speichergerät wiederhergestellt. Verwende PC-Backup über Smart Switch PC oder die SD-Karten-Backup-Funktion von Smart Switch Mobile.
    34. Es gelten die allgemeinen Geschäftsbedingungen. Die Verfügbarkeit kann je nach Land oder Region variieren. Prüfe auf der Trade-In-Seite, ob das Gerät zur Eintauschaktion geeignet ist.
    35. Speicheroptionen und Verfügbarkeit können je nach Land oder Region variieren. Der tatsächlich verfügbare Speicherplatz kann je nach vorinstallierter Software variieren.
    36. Sechsmonatige Testversion von Microsoft 365 Basic verfügbar für Verbraucher mit einem OneDrive-Gallery Sync-fähigen Samsung Smartphone (Smartphones im Verizon-Netzwerk in den USA sind nicht berechtigt). Nach der 6-monatigen Testversion verlängert sich dein Abonnement automatisch in ein monatliches kostenpflichtiges Abonnement zum aktuellen Preis, vorbehaltlich der Allgemeinen Geschäftsbedingungen von Google Play. Du kannst jederzeit kündigen, um zukünftige Gebühren zu stoppen. Das Angebot gilt nicht für bestehende Microsoft 365- oder OneDrive-Premium-Abonnenten (einschließlich Testversionen), Kunden, die zuvor einen Office-, OneDrive- oder anderen Microsoft-Speicherbonus oder ein kostenloses Testangebot eingelöst haben, Kunden mit einem gesperrten OneDrive-Konto oder ehemalige Microsoft 365- oder OneDrive-/Microsoft Storage Premium-Abonnenten, die in den letzten 90 Tagen gekündigt haben. Ein Angebot pro Kunde und pro Gerät. Das Angebot kann nicht übertragen oder mit anderen Microsoft-Angeboten kombiniert werden und ist zwischen dem 15. März 2023 und dem 31. Dezember 2023 verfügbar. Das Angebot muss in diesem Zeitraum im Google Play Store eingelöst werden und die Teilnehmer müssen ihre Galerie mit OneDrive synchronisieren, um die sechsmonatige Testversion zu starten. Für das Angebot ist ein Samsung- und Microsoft-Konto erforderlich. Einzelheiten findest du auf https://www.microsoft.com/onedrive-samsung-offer.
    37. Die Tiefe wird vom oberen Rand des Glases bis zum unteren Rand des Glases gemessen.
    38. Diagonal gemessen beträgt der Hauptbildschirm des Galaxy Z Flip5 17,03 cm / 6,7 Zoll im gesamten Rechteck und 16,64 cm / 6,6 Zoll bei den abgerundeten Ecken; der tatsächlich sichtbare Bereich ist aufgrund der abgerundeten Ecken geringer.

    ')); } } }; var isZoom = function () { var winInnerWidth = window.innerWidth, winOuterWidth = window.outerWidth, 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 { setLownetworkClass: setLownetworkClass, setResolution: setResolution, onClickSup: onClickSup, centeredFocus: centeredFocus, setArBanner: setArBanner, isZoom: isZoom, } })(); window.flagship.common.utils.layerPopup = function(opts) { let utils = window.flagship.common.utils; var els = {}; var show = {}, hide = {}; var init = function() { setElements(); setOpts(); bindEvent(); }; var setElements = function() { els.html = document.documentElement; els.layerPopup = opts.layerPopup; els.contents = opts.contents; els.closeCta = opts.closeCta; els.moveTarget = opts.moveTarget; }; var 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; } var bindEvent = function() { opts.openerEvent.element.addEventListener('click', showLayer); els.layerPopup.show = showLayer; els.layerPopup.hide = hideLayer; }; var showLayer = function(e) { if (opts.openerEvent.proxy) { if (opts.openerEvent.parent) { if (e.target.parentElement.classList.contains(opts.openerEvent.class)) { utils.hiddenScroll(els.layerPopup); els.openerCta = e.target.parentElement; els.layerPopup.opener = els.openerCta; if (show.start) show.start(els); if (utils.detector.isIosDevice) e.target.parentElement.style.display = 'none'; els.html.classList.add('is-layer-open'); els.html.style.overflow = 'hidden'; els.moveTarget.appendChild(els.layerPopup); accessibility.on(); setTimeout(function() { els.closeCta.focus(); }, 300); els.closeCta.addEventListener('click', hideLayer); if (show.end) show.end(els); } } else { if (e.target.classList.contains(opts.openerEvent.class)) { utils.hiddenScroll(els.layerPopup); els.openerCta = e.target; els.layerPopup.opener = els.openerCta; if (show.start) show.start(els); if (utils.detector.isIosDevice) e.target.style.display = 'none'; els.html.classList.add('is-layer-open'); els.html.style.overflow = 'hidden'; els.moveTarget.appendChild(els.layerPopup); accessibility.on(); setTimeout(function() { els.closeCta.focus(); }, 300); els.closeCta.addEventListener('click', hideLayer); if (show.end) show.end(els); }; } } else { utils.hiddenScroll(els.layerPopup); els.openerCta = this; els.layerPopup.opener = els.openerCta; if (show.start) show.start(els); if (utils.detector.isIosDevice) this.style.display = 'none'; els.html.classList.add('is-layer-open'); els.html.style.overflow = 'hidden'; els.moveTarget.appendChild(els.layerPopup); accessibility.on(); setTimeout(function() { els.closeCta.focus(); }, 300); els.closeCta.addEventListener('click', hideLayer); if (show.end) show.end(els); } }; var hideLayer = function() { if (utils.detector.isIosDevice) els.openerCta.style.display = ''; if (hide.start) hide.start(els); els.html.classList.remove('is-layer-open'); els.html.style.overflow = ''; utils.visibleScroll(); els.closeCta.removeEventListener('click', hideLayer); accessibility.off(); setTimeout(function() { if (!!!els.openerCta) { els.layerPopup.opener.focus(); } else { els.openerCta.focus(); } }, 300); if (hide.end) hide.end(els); }; var accessibility = { on: function() { accessibility.onPopupAccessibility(document.querySelector('#wrap')); utils.offAccessibility(els.layerPopup); }, off: function() { accessibility.offPopupAccessibility(document.querySelector('#wrap')); utils.onAccessibility(els.layerPopup); }, onPopupAccessibility: function(el) { el.setAttribute('aria-hidden', true); el.setAttribute('tabindex', -1); let clickable = el.querySelectorAll('a, button, input, select, iframe'); for (let i = 0; i < clickable.length; i++) { let currAria = clickable[i].getAttribute('aria-hidden'); let currTab = clickable[i].getAttribute('tabindex'); if (currAria != null) clickable[i].setAttribute('data-prev-aria-hidden', currAria); if (currTab != null) clickable[i].setAttribute('data-prev-tabindex', currTab); clickable[i].setAttribute('tabindex', -1); clickable[i].setAttribute('aria-hidden', true); } }, offPopupAccessibility: function(el) { el.removeAttribute('aria-hidden'); el.removeAttribute('tabindex'); let clickable = el.querySelectorAll('a, button, input, select, iframe'); for (let i = 0; i < clickable.length; i++) { let prevAria = clickable[i].getAttribute('data-prev-aria-hidden'); let prevTab = clickable[i].getAttribute('data-prev-tabindex'); if (prevAria != null) clickable[i].setAttribute('aria-hidden', prevAria); else clickable[i].removeAttribute('aria-hidden'); if (prevTab != null) clickable[i].setAttribute('tabindex', prevTab); else clickable[i].removeAttribute('tabindex'); clickable[i].removeAttribute('data-prev-aria-hidden'); clickable[i].removeAttribute('data-prev-tabindex'); } }, }; return init();}var newVideoHandler = function(opts) { var init = function(opts) { this.video = opts.video; this.wrap = !!!opts.wrap ? video : opts.wrap; this.controller = !!!opts.controller ? '' : opts.controller; this.playType = opts.playType; this.startPoint = !!!opts.startPoint ? 0 : opts.startPoint; this.reversePoint = !!!opts.reversePoint ? 100 : opts.reversePoint; this.playClass = !!!opts.playClass ? 'is-playing' : opts.playClass; this.pauseClass = !!!opts.pauseClass ? 'is-paused' : opts.pauseClass; this.endedClass = !!!opts.endedClass ? 'is-ended' : opts.endedClass; this.resetCallback = opts.resetCallback; this.playCallback = opts.playCallback; this.pauseCallback = opts.pauseCallback; this.endCallback = opts.endCallback; this.tweenObject = null; this.agent = navigator.userAgent; this.isMacintosh = this.agent.indexOf('Macintosh'); this.isChrome = this.agent.indexOf('Chrome'); this.playText = !!!opts.playText ? '' : opts.playText; this.pauseText = !!!opts.pauseText ? '' : opts.pauseText; this.bindEvents(); this.video.videoHandler = this; return this; }; var fn = init.prototype; fn.eventList = { play: function() { if (!!this.playCallback) this.playCallback(); if (!this.wrap.length) { this.wrap.classList.remove(this.endedClass); this.wrap.classList.remove(this.pauseClass); this.wrap.classList.add(this.playClass); } else { for (var i = 0; i < this.wrap.length; i++) { this.wrap[i].classList.remove(this.endedClass); this.wrap[i].classList.remove(this.pauseClass); this.wrap[i].classList.add(this.playClass); } } if (this.controller) { var bilnd = this.controller.querySelector('.blind'), pauseText = this.controller.getAttribute('data-pause-text').toLowerCase(); bilnd.innerText = pauseText; } }, ended: function() { if (!!this.endCallback) this.endCallback(); if (!this.wrap.length) { this.wrap.classList.remove(this.playClass); this.wrap.classList.add(this.pauseClass) this.wrap.classList.add(this.endedClass) } else { for (var i = 0; i < this.wrap.length; i++) { this.wrap[i].classList.remove(this.playClass); this.wrap[i].classList.add(this.pauseClass) this.wrap[i].classList.add(this.endedClass) } } }, pause: function() { if (!!this.pauseCallback) this.pauseCallback(); if (!this.wrap.length) { this.wrap.classList.remove(this.playClass); this.wrap.classList.add(this.pauseClass); } else { for (var i = 0; i < this.wrap.length; i++) { this.wrap[i].classList.remove(this.playClass); this.wrap[i].classList.add(this.pauseClass); } } if (this.controller) { var bilnd = this.controller.querySelector('.blind'), playText = this.controller.getAttribute('data-play-text').toLowerCase(); bilnd.innerText = playText; } }, reset: function() { if (!!this.resetCallback) this.resetCallback(); this.video.pause(); this.video.currentTime = 0; var self = this; var _removeClass = function() { if (!self.wrap.length) { self.wrap.classList.remove(self.playClass); self.wrap.classList.remove(self.pauseClass); self.wrap.classList.remove(self.endedClass); } else { for (var i = 0; i < self.wrap.length; i++) { self.wrap[i].classList.remove(self.playClass); self.wrap[i].classList.remove(self.pauseClass); self.wrap[i].classList.remove(self.endedClass); } } } clearTimeout(_removeClass); setTimeout(_removeClass, 50); } }; fn.activeList = { scrollPlay: function(progress) { if (!document.documentElement.classList.contains('low_network') && progress > this.startPoint && progress < this.reversePoint && this.video.paused && !this.wrap.classList.contains(this.endedClass) && !this.wrap.classList.contains(this.pauseClass)) { if (this.video.readyState == 4 && this.video.paused) { this.video.play(); } else { this.video.addEventListener('canplay', this.video.play); }; }; if (this.video.readyState == 4) { if (progress === 100 || progress === 0) { this.eventList.reset.call(this); } } }, sequencePlay: function(progress, corrProgress, scrollDuration) { this.corrProgress = !!!corrProgress ? 100 : corrProgress; this.scrollDuration = !!!scrollDuration ? 0.6 : scrollDuration; if (this.video.readyState == 4 && this.video.paused) { this.videoDuration = this.video.duration; this.playCurrentTime = this.videoDuration * (progress / this.corrProgress); this.playRange = this.playCurrentTime < this.videoDuration ? this.playCurrentTime : this.videoDuration; // if (this.isMacintosh > 0 && this.isChrome > 0) { // this.video.currentTime = this.playRange; // } else { // if (this.tweenObject === null) { // this.tweenObject = new TweenMax.to(this.video, this.scrollDuration, { // currentTime: this.playRange, // ease: 'Circ.out' // }); // }; // this.tweenObject.updateTo({currentTime: this.playRange}, true); // } if (this.playCurrentTime < this.videoDuration) { this.video.currentTime = this.playRange; }; }; } } fn.bindEvents = function() { var self = this; this.playEvent = function() { self.eventList.play.call(self); } this.pauseEvent = function() { self.eventList.pause.call(self); } this.endedEvent = function() { self.eventList.ended.call(self); } this.video.addEventListener('play', this.playEvent); this.video.addEventListener('pause', this.pauseEvent); this.video.addEventListener('ended', this.endedEvent); }; fn.scrollActive = function(progress, corrProgress, scrollDuration) { switch (this.playType) { case 'scrollPlay': this.activeList.scrollPlay.call(this, progress); break; case 'sequencePlay': this.activeList.sequencePlay.call(this, progress, corrProgress, scrollDuration); break; } }; fn.destroy = function() { this.video.removeEventListener('play', this.playEvent); this.video.removeEventListener('pause', this.pauseEvent); this.video.removeEventListener('ended', this.endedEvent); this.video.videoHandler = null; }; return new init(opts);}; (function () { var 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)), els = {}; var init = function () { els.videoWrap = document.querySelectorAll('.common-video'); els.isGlobal = document.documentElement.classList.contains('global'); if (!!els.videoWrap[0]) { setElements(); } for (var i = 0; i < els.videoWrap.length; i++) { if (els.videoWrap[i].childNodes.length > 0) { 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 = els.videoWrap[i].control.getAttribute('data-play-text').toLowerCase(); } } }; var setElements = function () { els.viewerPopup = document.querySelector('.highlights-viewer'); els.scrollVideosWrap = document.querySelectorAll('.js-scroll-video'); els.scrollVideos = document.querySelectorAll('.js-scroll-video video'); for (var i = 0; i < els.scrollVideosWrap.length; i++) { els.scrollVideos[i].videoWrap = els.scrollVideosWrap[i]; } }; var bindEvents = function () { window.addEventListener('load', anchorPosition); window.addEventListener('hashchange', anchorPosition); }; 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); }; var setScrollControl = function () { window.scrollController = ANIUTIL.scrollController(); scrollController.init({ speed: 120, duration: 0.5 }); }; var 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 }); }; var 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'); } } }); }; var setDisclaimer = function () { els.supClicker = document.querySelectorAll('a.click_sup'); for (var i = 0; i < els.supClicker.length; i++) { els.supClicker[i].addEventListener('click', common.onClickSup); } }; var setCenteredfocus = function () { els.contents = document.querySelector('#contents'); els.allClickables = els.contents.querySelectorAll('a, button, input, select'); for (var i = 0; i < els.allClickables.length; i++) { els.allClickables[i].addEventListener('focusin', common.centeredFocus); } }; var anchorPosition = function () { if (window.location.hash != '') { if (window.location.hash == '#colors-see-in-360') { if (els.viewerPopup) els.viewerPopup.show(); } else if (window.location.hash == '#online-exclusive-color-see-in-360') { if (els.viewerPopup) els.viewerPopup.show(); } else if (!!document.querySelector(window.location.hash)) { var hash = location.hash.split('#')[1], hashSection = document.querySelector('#contents #' + hash), hashTimeout = null; clearTimeout(hashTimeout); hashTimeout = setTimeout(function () { var sectionTop = hashSection.getBoundingClientRect().top, navHeight = utils.getNavHeight(), hashScroll = window.pageYOffset + sectionTop - navHeight; window.scrollTo(0, hashScroll); }, 300); } } }; var setVideoTheme = function () { var videoList = document.querySelectorAll('.common-video'); for (var i = 0; i < videoList.length; i++) { var colorType = videoList[i].getAttribute('data-theme-type'); if (colorType === 'white') { videoList[i].classList.add('common-video__white'); } else if (colorType === 'black') { videoList[i].classList.add('common-video__black'); } } }; var onLoadHandler = function () { common.setLownetworkClass(); common.setArBanner(); init(); bindEvents(); setResize(); if (!maxOs && !touchDevice) { setScrollControl(); } setImageLoader(); setVideoLoader(); setDisclaimer(); setCenteredfocus(); setVideoTheme(); common.isZoom(); resize.add(common.isZoom); }; onLoadHandler(); })(); (function() { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.ai = (function() { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}, objs = {}, status = { prevIndex: 0, isAuto: true, }; const init = function() { els.section = document.querySelector('.highlights-ai'); if (!!els.section) { setElements(); eventList.setScene(); bindEvents(); } }; const setElements = function() { els.carouselWrap = els.section.querySelector('.js-carousel-wrap'); els.yotubeCta = els.section.querySelectorAll('.js-youtube-popup'); // swiper els.swiperContainer = els.section.querySelector('.swiper-container'); els.nextArrow = els.section.querySelector('.swiper-button-next'); els.prevArrow = els.section.querySelector('.swiper-button-prev'); els.pagination = els.section.querySelector('.swiper-pagination'); // video els.videoWrap = els.section.querySelectorAll('.common-video'); els.videoControlCta = Array.prototype.slice.call(els.section.querySelectorAll('.common-video__control')); }; const bindEvents = function() { eventHandler.load(); eventHandler.scroll(); eventHandler.click(); resize.add(eventList.onResize); }; const eventHandler = { load: function() { window.addEventListener('DOMContentLoaded', eventList.onLoad, { once: true }); }, scroll: function() { window.addEventListener('scroll', eventList.scroll); }, click: function() { for (let i = 0; i < els.videoControlCta.length; i++) { els.videoControlCta[i].addEventListener('click', eventList.setVideoStatus); } els.nextArrow.addEventListener('click', eventList.setArrowFocus); els.nextArrow.addEventListener('keydown', eventList.setArrowFocus); els.prevArrow.addEventListener('click', eventList.setArrowFocus); els.prevArrow.addEventListener('keydown', eventList.setArrowFocus); for (let i = 0; i < els.yotubeCta.length; i++) { els.yotubeCta[i].addEventListener('click', eventList.pauseVideo); } }, }; const eventList = { swiper: { set: function() { if (objs.swiper == null) { objs.swiper = new Swiper(els.swiperContainer, { init: false, speed: 500, navigation: { nextEl: els.nextArrow, prevEl: els.prevArrow, }, pagination: { el: els.pagination, type: 'bullets', renderBullet: function() { return '

  • '; } }, }); } }, init: function() { let notification = this.el.querySelector('.swiper-notification'); this.el.removeChild(notification); els.nextArrow.removeAttribute('aria-label'); els.nextArrow.removeAttribute('role'); els.prevArrow.removeAttribute('aria-label'); els.prevArrow.removeAttribute('role'); objs.swiper.on('slideChange', eventList.swiper.slideChange); objs.swiper.on('transitionEnd', eventList.swiper.transitionEnd); objs.swiper.on('touchMove', eventList.swiper.touchMove); objs.swiper.on('touchEnd', eventList.swiper.touchEnd); els.bullets = objs.swiper.pagination.bullets; for (let i = 0; i < els.bullets.length; i++) { els.bullets[i].addEventListener('click', function() { objs.swiper.slideTo(i); }); } eventList.setVideo(); eventList.scroll(); accessibility.slide(); accessibility.pagination.label(); accessibility.pagination.tagging(); }, slideChange: function() { let activeIndex = objs.swiper.activeIndex; let nextIndex = (activeIndex == (objs.swiper.slides.length - 1)) ? null : activeIndex + 1; if (nextIndex != null) { if (nextIndex == 2) { eventList.lazyLoad(els.videoWrap[nextIndex]); } else if (nextIndex == 3) { eventList.lazyLoad(els.videoWrap[nextIndex]); } } // video objs[`video_${status.prevIndex}`].eventList.reset.call(objs[`video_${status.prevIndex}`]); objs[`video_${status.prevIndex}`].video.removeEventListener('canplay', objs[`video_${status.prevIndex}`].video.play); if (!!status.isAuto) { 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(); }); } } // set autoplay if (objs.swiper.activeIndex == (objs.swiper.slides.length - 1)) status.isLast = true; accessibility.slide(); accessibility.pagination.label(); status.prevIndex = activeIndex; }, transitionEnd: function() { let activeController = objs[`video_${objs.swiper.activeIndex}`].controller; let isArrow = document.activeElement.classList.contains('swiper-button-next') || document.activeElement.classList.contains('swiper-button-prev'); let isBullet = document.activeElement.classList.contains('swiper-pagination-bullet'); if (!!isArrow || !!isBullet) return; activeController.focus(); }, touchMove: function() { objs.swiper.off('transitionEnd', eventList.swiper.transitionEnd); }, touchEnd: function() { objs.swiper.on('transitionEnd', eventList.swiper.transitionEnd); }, }, setVideo: function() { for (let i = 0; i < els.videoWrap.length; i++) { objs[`video_${i}`] = newVideoHandler({ playType: 'scrollPlay', wrap: els.videoWrap[i], video: els.videoWrap[i].querySelector('video'), controller: els.videoControlCta[i], startPoint: status.currentDevice.indexOf('mobile') > -1 ? 25 : 35, reversePoint: status.currentDevice.indexOf('mobile') > -1 ? 65 : 75, resetCallback: function() { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); } }, playCallback: function() { accessibility.controlTagging.play(objs[`video_${i}`].wrap.control); }, pauseCallback: function() { accessibility.controlTagging.pause(objs[`video_${i}`].wrap.control); }, endCallback: function() { if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); } if (!status.isAuto || !!status.isLast) return; setTimeout(() => { objs.swiper.slideNext(500); }, 300); } }); } }, setScene: function() { objs.scene = SCROLLER({ trackElement: els.carouselWrap, useFixed: false }); }, onLoad: function() { status.currentDevice = resize.checkResolution(); if (!!utils.isLowNetwork()) status.isAuto = false; eventList.swiper.set(); objs.swiper.on('init', eventList.swiper.init); objs.swiper.init(); }, onResize: function(currRes) { status.currentDevice = currRes; }, scroll: function() { objs.scene.trackAnimation(function() { if (!status.isAuto) return; objs[`video_${objs.swiper.activeIndex}`].scrollActive(this.progress); }); }, lazyLoad: function(videoWrap) { videoLoader.setResponsiveMedia([videoWrap.querySelector('video')], function(target) { if (!target.videoHandler.wrap.classList.add('is-loaded')) target.videoHandler.wrap.classList.add('is-loaded'); }); let image = videoWrap.querySelectorAll('img'); imageLoader.setResponsiveMedia(image); }, setVideoStatus: function() { let activeIndex = els.videoControlCta.indexOf(this); if (!objs[`video_${activeIndex}`].video.paused) { objs[`video_${activeIndex}`].video.pause(); if (!utils.isLowNetwork()) status.isAuto = false; } else { objs[`video_${activeIndex}`].video.play(); if (!utils.isLowNetwork()) status.isAuto = true; } }, setArrowFocus: function(e) { status.arrowFocusTimeout = null; if ((e.type == 'keydown' && e.keyCode == 13) || e.type == 'click') { e.preventDefault(); clearTimeout(status.arrowFocusTimeout); status.arrowFocusTimeout = setTimeout(() => { if (objs.swiper.isBeginning && !objs.swiper.isEnd) { els.nextArrow.focus(); } else if (!objs.swiper.isBeginning && objs.swiper.isEnd) { els.prevArrow.focus(); } }, 300); } }, pauseVideo: function() { if (!objs[`video_${objs.swiper.activeIndex}`].video.paused) { objs[`video_${objs.swiper.activeIndex}`].video.pause(); if (!utils.isLowNetwork()) status.isAuto = false; } } }; 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: { label: function() { for (let i = 0; i < els.bullets.length; i++) { let slideTitle = 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', `Slide${i+1}: ${slideTitle} ${LOCAL_VARI.selected.toLowerCase()}`); } else { els.bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideTitle} selected`); } } else { els.bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideTitle}`); } } }, tagging: function() { for (let i = 0; i < els.bullets.length; i++) { let tagging = { 'data-omni-type': 'microsite_pcontentinter', 'data-omni': 'galaxy-z-flip5:highlights:overview:index:', 'ga-ca': 'indication', 'ga-ac': 'carousel', 'ga-la': 'galaxy-z-flip5:highlights:overview:index:', }; Object.keys(tagging).forEach(function(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]); } }); } }, }, controlTagging: { pause: function(control) { if (!!control) { let dataOmni = control.getAttribute('data-omni'), gaLa = control.getAttribute('ga-la'); control.setAttribute('data-omni', dataOmni.replace('pause', 'play')); control.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, play: function(control) { if (!!control) { let dataOmni = control.getAttribute('data-omni'), gaLa = control.getAttribute('ga-la'); control.setAttribute('data-omni', dataOmni.replace('play', 'pause')); control.setAttribute('ga-la', gaLa.replace('play', 'pause')); } }, } }; return { init: init } })();})(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.cameraVideo = (function () { var els = {}, objs = {}, utils = window.flagship.common.utils; var init = function () { els.section = document.querySelector('.highlights-video'); if (!!els.section) { setElements(); objList.setVideo(); objList.setScene(); bindEvents(); } }; var setElements = function () { els.scrollVideoWrap = els.section.querySelector('.common-video'); els.scrollVideo = els.section.querySelector('.common-video__figure>video'); els.scrollController = els.section.querySelector('.common-video__control'); els.scrollControllerBlindText = els.scrollController.querySelector('.blind'); }; var bindEvents = function () { window.addEventListener('scroll', handlerList.scroll); els.scrollController.addEventListener('click', handlerList.videoCta); handlerList.scroll(); }; var objList = { setVideo: function () { objs.cameraVideo = ANIUTIL.videoHandler({ playType: 'scrollPlay', startPoint: 8, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains('is-completed')) { els.scrollVideoWrap.classList.remove('is-completed'); } }, playCallback: function () { els.scrollControllerBlindText.innerText = 'pause'; setTagging.pause(); }, pauseCallback: function () { els.scrollControllerBlindText.innerText = 'play'; setTagging.play(); }, endCallback: function () { if (!els.scrollVideoWrap.classList.contains('is-completed')) { els.scrollVideoWrap.classList.add('is-completed'); } } }); }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.scrollVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true }); } }; var handlerList = { scroll: function () { objs.scene.trackAnimation(function () { objs.cameraVideo.scrollActive(this.progress); }); }, videoCta: function () { if (els.scrollVideo.paused) { els.scrollVideo.play(); } else { els.scrollVideo.pause(); } } }; var setTagging = { play: function () { if (els.scrollController.hasAttribute('data-omni')) { var dataOmni = els.scrollController.getAttribute('data-omni').toLowerCase(); els.scrollController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (els.scrollController.hasAttribute('ga-la')) { var gaLa = els.scrollController.getAttribute('ga-la').toLowerCase(); els.scrollController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function () { if (els.scrollController.hasAttribute('data-omni')) { var dataOmni = els.scrollController.getAttribute('data-omni').toLowerCase(); els.scrollController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (els.scrollController.hasAttribute('ga-la')) { var gaLa = els.scrollController.getAttribute('ga-la').toLowerCase(); els.scrollController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; return { init: init } })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.colors = (function () { var els = {}, status = {}; var init = function () { els.section = document.querySelector('.highlights-colors'); if (!!els.section) { setElements(); bindEvents(); } }; var setElements = function () { els.colors = els.section.querySelectorAll('.highlights-colors__tab-button'); els.colorName = els.section.querySelectorAll('.highlights-colors__tab-name'); els.panel = els.section.querySelectorAll('.highlights-colors__tab-panel--side .highlights-colors__image-wrap'); els.popupBtn = els.section.querySelector('.common-cta-encased'); //swiper els.swiper = null; els.swiperContainer = els.section.querySelector('.swiper-container'); status.isClick = false; }; var bindEvents = function () { window.addEventListener('DOMContentLoaded', onLoadHandler, { once: true }); window.addEventListener('scroll', onLoadHandler); for (var i = 0; i < els.colors.length; i++) { els.colors[i].index = i; els.colors[i].addEventListener('click', onClickColorItem); } }; var onLoadHandler = function () { setSwiper(); }; var onClickColorItem = function () { var target = this; status.isClick = true; handlerList.colorchip(target); handlerList.colorName(target); handlerList.panel(target); handlerList.slideTo(target); }; var handlerList = { colorchip: function (target) { var oldColor = els.section.querySelector('.highlights-colors__tab .is-active'); if (!target.classList.contains('is-active')) { oldColor.classList.remove('is-active'); oldColor.setAttribute('aria-selected', false); target.classList.add('is-active'); target.setAttribute('aria-selected', true); } }, colorName: function (target) { var oldColorName = els.section.querySelector('.highlights-colors__tab-names .is-active'), index = target.index; if (!els.colorName[index].classList.contains('is-active')) { oldColorName.classList.remove('is-active'); oldColorName.setAttribute('aria-hidden', true); els.colorName[index].classList.add('is-active'); els.colorName[index].setAttribute('aria-hidden', false); } }, panel: function (target) { var oldPanel = els.section.querySelector('.highlights-colors__tab-panel-group .is-active'), index = target.index; if (!els.panel[index].classList.contains('is-active')) { oldPanel.classList.remove('is-active'); els.panel[index].classList.add('is-active'); els.popupBtn.setAttribute('data-model-color', els.panel[index].getAttribute('id')); } }, slideTo: function (target) { var index = target.index; els.swiper.slideTo((index + 1), 500, false); status.isClick = false; }, setPopupBtnColor: function (target) { els.popupBtn.setAttribute('data-model-color', target.getAttribute('id')); } } var swiperEvents = { init: function () { var notification = this.el.querySelector('.swiper-notification'); if (!!notification) this.el.removeChild(notification); var activeIndex = this.activeIndex, activeSlide = this.slides[activeIndex]; activeSlideImg = this.slides[this.activeIndex].querySelectorAll('img'), prevSlideImg = this.slides[this.activeIndex - 1].querySelectorAll('img'), nextIndex = (this.activeIndex < this.slides.length - 1) ? (this.activeIndex + 1) : 0, nextSlide = this.slides[nextIndex], nextSlideImg = nextSlide.querySelectorAll('img'); if (activeSlideImg[0] && !activeSlideImg[0].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia(activeSlideImg); } if (prevSlideImg[0] && !prevSlideImg[0].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia(prevSlideImg); } if (nextSlideImg[0] && !nextSlideImg[0].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia(nextSlideImg); } accessibility.slide(); handlerList.setPopupBtnColor(activeSlide); }, slideChange: function () { var activeIndex = els.swiper.realIndex, activeSlide = this.slides[activeIndex + 1], activeSlideImg = els.swiper.slides[els.swiper.activeIndex].querySelectorAll('img'), nextIndex = (this.activeIndex < this.slides.length - 1) ? (this.activeIndex + 1) : 0, nextSlideImg = this.slides[nextIndex].querySelectorAll('img'); if (!status.isClick) { handlerList.colorchip(els.colors[activeIndex]); handlerList.colorName(els.colors[activeIndex]); handlerList.panel(els.colors[activeIndex]); handlerList.setPopupBtnColor(this.slides[els.swiper.activeIndex]); } if (!activeSlideImg[0].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia(activeSlideImg); } if (!nextSlideImg[0].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia(nextSlideImg); } accessibility.slide(); handlerList.setPopupBtnColor(activeSlide); }, slideChangeTransitionEnd: function () { status.isClick = false; } }; var setSwiper = function () { var windowOffsetTop = window.pageYOffset, windowOffsetBottom = windowOffsetTop + window.innerHeight, targetOffsetTop = windowOffsetTop + els.section.getBoundingClientRect().top; if (els.swiper == null && windowOffsetBottom >= targetOffsetTop) { els.swiper = new Swiper(els.swiperContainer, { init: false, slidesPerView: 'auto', loop: true, loopedSlides: 1 }); els.swiper.on('init', swiperEvents.init); els.swiper.on('slideChange', swiperEvents.slideChange); els.swiper.on('slideChangeTransitionEnd', swiperEvents.slideChangeTransitionEnd); els.swiper.init(); } }; var accessibility = { slide: function () { for (var i = 0; i < els.swiper.slides.length; i++) { if (i != els.swiper.activeIndex) { els.swiper.slides[i].setAttribute('aria-hidden', true); } else { els.swiper.slides[i].setAttribute('aria-hidden', false); } } } } return { init: init } })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.customization = (function () { var els = {}, status = {}, 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)), resize = window.flagship.common.resize; var init = function () { els.section = document.querySelector('.highlights-customization'); if (!!els.section) { setElements(); bindEvents(); } }; var setElements = function () { els.uiTabBtns = els.section.querySelectorAll('.highlights-customization__ui-tab-btn'); els.uiContent = els.section.querySelector('.highlights-customization__ui-content-wrap'); els.clockUi = els.section.querySelector('.highlights-customization__ui-content--clock'); els.widgetUi = els.section.querySelector('.highlights-customization__ui-content--widget'); els.widgetUiList = Array.prototype.slice.call(els.widgetUi.querySelectorAll('.highlights-customization__ui-item')); els.clockUiList = Array.prototype.slice.call(els.clockUi.querySelectorAll('.highlights-customization__ui-item')); els.clockDisplay = els.section.querySelector('.highlights-customization__display--clock'); els.widgetDisplay = els.section.querySelector('.highlights-customization__display--widget'); els.clockDisplayItem = els.clockDisplay.querySelectorAll('.highlights-customization__display-item'); els.widgetDisplayItem = els.widgetDisplay.querySelectorAll('.highlights-customization__display-item'); }; var bindEvents = function () { window.addEventListener('DOMContentLoaded', handlerList.load, { once: true }); els.uiTabBtns[0].addEventListener('click', handlerList.clockTab); els.uiTabBtns[1].addEventListener('click', handlerList.widgetTab); if (!maxOs && !touchDevice) { els.uiContent.addEventListener('mouseenter', function () { scrollController.destroy(true); }, { capture: true }); els.uiContent.addEventListener('mouseleave', function () { scrollController.init({ speed: 120, duration: 0.5 }); }, { capture: true }); } resize.add(handlerList.checkMobile); }; var setSwiper = function() { els.scrollbar = els.isUiWrap.querySelector('.highlights-customization__scrollbar'); if (els.swiper == null) { els.swiper = new Swiper(els.isUiWrap, { init: false, slidesPerView: 'auto', observer: true, observeParents: true, observeSlideChildren: true, scrollbar: { el: els.scrollbar, draggable: true, hide: false, } }); els.swiper.on('init', function() { var notification = this.el.querySelector('.swiper-notification'); this.el.removeChild(notification); }); els.swiper.init(); } }; var destroySwiper = function() { if (els.swiper != null) { els.swiper.scrollbar.dragEl.style = ''; els.swiper.scrollbar.destroy(true); els.swiper.destroy(true); els.swiper = null; } }; var handlerList = { load: function() { status.currentTab = 'clock'; status.prevTab = els.uiTabBtns[0]; for (var i = 0; i < els.clockDisplayItem.length; i++) { utils.onAccessibility(els.clockDisplayItem[i]); } for (var i = 0; i < els.widgetDisplayItem.length; i++) { utils.onAccessibility(els.widgetDisplayItem[i]); } tabEvents.initTab(); }, checkMobile: function() { if (resize.checkResolution().indexOf('mobile') > -1) { setSwiper(); } else { destroySwiper(); } }, widgetTab: function () { if (this.classList.contains('is-active')) return; tabEvents.removeActive(); status.currentTab = 'widget'; tabEvents.changeTab(this); imageLoader.setResponsiveMedia(els.widgetUi.querySelectorAll('img')); status.prevTab = this; }, clockTab: function () { if (this.classList.contains('is-active')) return; tabEvents.removeActive(); status.currentTab = 'clock'; tabEvents.changeTab(this); status.prevTab = this; }, clickUi: function () { var self = this, currentIndex = els.isUi.indexOf(self); if (self.classList.contains('is-active')) return; clearTimeout(status.clickTimeout); status.clickTimeout = setTimeout(function () { tabEvents.removeActive(); accessibility.setTitle(self.querySelector('button')); self.classList.add('is-active'); els.isDisplay[currentIndex].classList.add('is-active'); utils.offAccessibility(els.isDisplay[currentIndex]); status.prevIndex = currentIndex; }, 200); }, }; var tabEvents = { initTab: function () { status.prevIndex = 0; status.prevDisplayWrap = els.isDisplayWrap; status.prevUiWrap = els.isUiWrap; destroySwiper(); tabEvents.getElement(); tabEvents.initTabTitle(); tabEvents.firstAddActive(); tabEvents.bindClickUi(); accessibility.uiItem(); handlerList.checkMobile(); }, changeTab: function (currentTab) { if (resize.checkResolution().indexOf('mobile') > -1) els.uiContent.scrollLeft = -1; tabEvents.initTab(currentTab); status.prevTab.classList.remove('is-active'); status.prevDisplayWrap.classList.remove('is-active'); status.prevUiWrap.classList.remove('is-visible'); status.prevUiWrap.classList.remove('is-active'); currentTab.classList.add('is-active'); els.isUiWrap.classList.add('is-visible'); setTimeout(function () { els.isUiWrap.classList.add('is-active'); }, 100); setTimeout(function() { if (resize.checkResolution().indexOf('mobile') > -1) els.uiContent.scrollLeft = 0; }, 200); els.isDisplayWrap.classList.add('is-active'); }, getElement: function () { els.isUiWrap = status.currentTab == 'clock' ? els.clockUi : els.widgetUi; els.isUi = status.currentTab == 'clock' ? els.clockUiList : els.widgetUiList; els.isDisplayWrap = status.currentTab == 'clock' ? els.clockDisplay : els.widgetDisplay; els.isDisplay = status.currentTab == 'clock' ? els.clockDisplayItem : els.widgetDisplayItem; }, removeActive: function () { els.isUi[status.prevIndex].classList.remove('is-active'); els.isUi[status.prevIndex].querySelector('button').removeAttribute('title'); els.isDisplay[status.prevIndex].classList.remove('is-active'); utils.onAccessibility(els.isDisplay[status.prevIndex]); }, firstAddActive: function () { els.isUi[0].classList.add('is-active'); accessibility.setTitle(els.isUi[0].querySelector('button')); els.isDisplay[0].classList.add('is-active'); utils.offAccessibility(els.isDisplay[0]); }, bindClickUi: function () { for (var i = 0; i < els.isUi.length; i++) { els.isUi[i].addEventListener('click', handlerList.clickUi); } }, initTabTitle: function () { if (status.currentTab === 'clock') { els.uiTabBtns[1].removeAttribute('title'); accessibility.setTitle(els.uiTabBtns[0]); } else { els.uiTabBtns[0].removeAttribute('title'); accessibility.setTitle(els.uiTabBtns[1]); } } }; var accessibility = { uiItem: function () { if (status.currentTab === 'clock') { utils.onAccessibility(els.widgetUi); utils.offAccessibility(els.clockUi); } else { utils.onAccessibility(els.clockUi); utils.offAccessibility(els.widgetUi); } }, setTitle: function (button) { if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { button.setAttribute('title', LOCAL_VARI.selected); } else { button.setAttribute('title', 'Selected'); } }, }; return { init: init } })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.design = (function () { var els = {}, objs = {}, utils = window.flagship.common.utils, resize = window.flagship.common.resize; currDevice = resize.checkResolution(); var init = function () { els.section = document.querySelector('.highlights-design'); if (!!els.section) { setElements(); objList.setVideo(); objList.setScene(); bindEvents(); } }; var setElements = function () { els.scrollVideoWrap = els.section.querySelector('.common-video'); els.scrollVideo = els.section.querySelector('.common-video__figure>video'); els.scrollController = els.section.querySelector('.common-video__control'); els.scrollControllerBlindText = els.scrollController.querySelector('.blind'); }; var bindEvents = function () { window.addEventListener('scroll', handlerList.scroll); els.scrollController.addEventListener('click', handlerList.videoCta); handlerList.scroll(); resize.add(onResizeHandler); }; var onResizeHandler = function (currRes) { currDevice = currRes; }; var objList = { setVideo: function () { objs.designVideo = ANIUTIL.videoHandler({ playType: 'scrollPlay', startPoint: (currDevice.indexOf('mobile') > -1) ? 21 : 24, reversePoint: (currDevice.indexOf('mobile') > -1) ? 82 : 80, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains('is-completed')) { els.scrollVideoWrap.classList.remove('is-completed'); } }, playCallback: function () { els.scrollControllerBlindText.innerText = 'pause'; setTagging.pause(); }, pauseCallback: function () { els.scrollControllerBlindText.innerText = 'play'; setTagging.play(); }, endCallback: function () { if (!els.scrollVideoWrap.classList.contains('is-completed')) { els.scrollVideoWrap.classList.add('is-completed'); } } }); }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.scrollVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true }); } }; var handlerList = { scroll: function () { objs.scene.trackAnimation(function () { objs.designVideo.scrollActive(this.progress); }); }, videoCta: function () { if (els.scrollVideo.paused) { els.scrollVideo.play(); } else { els.scrollVideo.pause(); } } }; var setTagging = { play: function () { if (els.scrollController.hasAttribute('data-omni')) { var dataOmni = els.scrollController.getAttribute('data-omni').toLowerCase(); els.scrollController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (els.scrollController.hasAttribute('ga-la')) { var gaLa = els.scrollController.getAttribute('ga-la').toLowerCase(); els.scrollController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function () { if (els.scrollController.hasAttribute('data-omni')) { var dataOmni = els.scrollController.getAttribute('data-omni').toLowerCase(); els.scrollController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (els.scrollController.hasAttribute('ga-la')) { var gaLa = els.scrollController.getAttribute('ga-la').toLowerCase(); els.scrollController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; return { init: init } })(); })(); ; (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.durability = (function () { var els = {}, utils = window.flagship.common.utils; var init = function () { els.section = document.querySelector('.highlights-durability'); if (!!els.section) { setElements(); setProperty(); bindEvents(); } }; var setElements = function () { els.durabilityItemWrap = els.section.querySelector('.highlights-durability__list'); els.durabilityItem = els.section.querySelectorAll('.highlights-durability__item'); }; var setProperty = function() { for (var i = 0; i < els.durabilityItem.length; i++) { els.durabilityItem[i].btn = els.durabilityItem[i].querySelector('.highlights-durability__item-button'); els.durabilityItem[i].desc = els.durabilityItem[i].querySelector('.highlights-durability__item-description'); els.durabilityItem[i].img = els.durabilityItem[i].querySelector('.highlights-durability__item-image'); if (!els.durabilityItem[i].classList.contains('is-open')) utils.onAccessibility(els.durabilityItem[i].img); } }; var bindEvents = function() { window.addEventListener('DOMContentLoaded', onLoadHandler, { once: true }); for (var i = 0; i < els.durabilityItem.length; i++) { els.durabilityItem[i].btn.addEventListener('click', onClickItemBtn); } }; var onLoadHandler = function() { els.durabilityItem[0].desc.style.display = 'block'; }; var onClickItemBtn = function() { var currentItem = this.parentElement.parentElement, oldItem = els.durabilityItemWrap.querySelector('.is-open'), dataOmni = this.getAttribute('data-omni'), gaLa = this.getAttribute('ga-la'); if ((currentItem != oldItem) && !currentItem.classList.contains('is-open')) { oldItem.setAttribute('aria-expanded', false); utils.onAccessibility(oldItem.img); this.setAttribute('aria-expanded', true); utils.offAccessibility(currentItem.img); $(oldItem.desc).slideUp(300); $(currentItem.desc).slideDown(300); setTimeout(function() { oldItem.classList.remove('is-open'); currentItem.classList.add('is-open'); }, 100); this.setAttribute('data-omni', dataOmni.replace('open', 'close')); this.setAttribute('ga-la', gaLa.replace('open', 'close')); } }; return { init: init } })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.excellence = (function () { var els = {}, objs = {}, resize = window.flagship.common.resize, utils = window.flagship.common.utils, currDevice = null, prevDevice = null; var init = function () { els.section = document.querySelector('.highlights-excellence'); if (!!els.section) { setElements(); setProperty(); bindEvents(); } }; var setElements = function () { els.contentWrap = document.querySelector('#wrap'); els.sceneTrack = els.section.querySelector('.highlights-excellence__fixed-track'); els.sceneFixed = els.section.querySelector('.highlights-excellence__fixed-item'); els.item = els.section.querySelectorAll('.highlights-excellence__item'); els.accBanner = document.querySelector('.highlights-accessories'); // swiper els.swiper = null; els.swiperEl = els.section.querySelector('.highlights-excellence__carousel'); els.swiperSlides = els.swiperEl.querySelectorAll('.highlights-excellence__item'); els.swiperNavArrowNext = els.swiperEl.querySelector('.swiper-button-next'); els.swiperNavArrowPrev = els.swiperEl.querySelector('.swiper-button-prev'); els.arrowTimeout = null; els.orientationTimeout = null; }; var setProperty = function () { for (var i = 0; i < els.item.length; i++) { var clickable = els.item[i].querySelectorAll('a, button'); if (clickable.length > 0) { for (var j = 0; j < clickable.length; j++) { clickable[j].item = els.item[i]; clickable[j].addEventListener('keydown', onFocusClickable); } } } }; var objList = { setScene: function () { if (objs.scene == null) { objs.scene = SCROLLER({ trackElement: els.sceneTrack, fixedElement: els.sceneFixed, useFixed: utils.detector.isIEorEdge < 0 ? false : true, useSticky: utils.detector.isIEorEdge < 0 ? true : false, trackHeight: 1.5, correction: -1, useStrictMode: false }); } } }; var bindEvents = function () { window.addEventListener('DOMContentLoaded', onLoadHandler, { once: true }); window.addEventListener('scroll', scrollerHandlerList.onScroller); window.addEventListener('orientationchange', function () { clearTimeout(els.orientationTimeout); els.orientationTimeout = setTimeout(function () { checkBrokenFixed(); setCard(); }, 1000); }); els.swiperNavArrowNext.addEventListener('click', swiperEvents.onClickArrow); els.swiperNavArrowNext.addEventListener('keydown', swiperEvents.onClickArrow); els.swiperNavArrowPrev.addEventListener('click', swiperEvents.onClickArrow); els.swiperNavArrowPrev.addEventListener('keydown', swiperEvents.onClickArrow); resize.add(onResizeHandler); }; var onLoadHandler = function () { currDevice = resize.checkResolution(); prevDevice = currDevice; setTimeout(function() { checkBrokenFixed(); setCard(); }, 100); }; var onResizeHandler = function (currRes) { currDevice = currRes; if (currDevice != prevDevice) { onResponsiveHandler(); prevDevice = currDevice; } else if (!utils.detector.isTouchDevice) { checkBrokenFixed(); } setCard();} var onResponsiveHandler = function() { if (currDevice.indexOf('mobile') > -1) { els.accBanner.style.marginTop = ''; } checkBrokenFixed(); }; var setCard = function() { var slideMargin = parseInt(window.getComputedStyle(els.swiperSlides[0]).marginLeft), slideWidth = els.swiperSlides[0].clientWidth + (slideMargin * 2), slideWrapWidth = slideWidth * (els.swiperSlides.length), innerWidth = els.section.querySelector('.common-inner').clientWidth, contentWrapWidth = els.contentWrap.clientWidth, currSize = (contentWrapWidth - innerWidth) / 2, SlideTotalSize = slideWrapWidth + currSize; if (document.documentElement.classList.contains('is-broken-fixed')) { scrollerHandlerList.destroyScroller(); if (els.swiper != null) swiperEvents.destroy(); } else { if (currDevice.indexOf('mobile') == -1) { if (els.swiper != null) swiperEvents.destroy(); if (els.item.length > 3 || contentWrapWidth < SlideTotalSize) { objList.setScene(); scrollerHandlerList.onScroller(); } else { scrollerHandlerList.destroyScroller(); } } else { scrollerHandlerList.destroyScroller(); setSwiper(); } } }; // scroller var scrollerHandlerList = { onScroller: function () { if (objs.scene != null) { if (!document.documentElement.classList.contains('is-broken-fixed')) { var outerHeight = els.sceneFixed.clientHeight, innerHeight = els.sceneFixed.querySelector('.common-inner').clientHeight, accMarginTop = (outerHeight - innerHeight) / 2 - utils.getNavHeight(), accValue = (accMarginTop < 0) ? 0 : accMarginTop; els.accBanner.style.marginTop = -accValue + 'px'; } objs.scene.trackAnimation(function () { if (this.progress > -10 && this.progress < 100) { var slideMargin = parseInt(window.getComputedStyle(els.swiperSlides[0]).marginLeft), slideWidth = els.swiperSlides[0].clientWidth + (slideMargin * 2), slideWrapWidth = slideWidth * (els.swiperSlides.length), innerWidth = els.section.querySelector('.common-inner').clientWidth, contentWrapWidth = els.contentWrap.clientWidth, moveSize = slideWrapWidth - contentWrapWidth, currSize = (contentWrapWidth - innerWidth), slideValue = moveSize + currSize; transValue = ANIUTIL.calRange({ targetValue: slideValue, progress: this.progress, startPoint: 0, endPoint: 20 }); var tweener = new TweenMax(els.swiperEl, 0.2, { x: transValue * (utils.isRTL() ? 1 : -1) + 'px', ease: 'none' }); tweener.updateTo({ x: transValue * (utils.isRTL() ? 1 : -1) + 'px' }, true); } }); } }, destroyScroller: function () { if (objs.scene != null) { objs.scene.destroy(true, true); objs.scene = null; els.swiperEl.style = ''; els.sceneTrack.style = ''; } } }; // swiper var setSwiper = function () { if (els.swiper == null) { els.swiper = new Swiper(els.swiperEl, { init: false, centeredSlides: true, slidesPerView: 'auto', navigation: { nextEl: els.swiperNavArrowNext, prevEl: els.swiperNavArrowPrev, } }); els.swiper.init(); els.swiper.on('init', swiperEvents.init); els.swiper.on('slideChange', swiperEvents.slideChange); } }; var swiperEvents = { init: function () { var notification = this.el.querySelector('.swiper-notification'); if (!!notification) this.el.removeChild(notification); setAccessibility.slide(); setAccessibility.arrow(); }, slideChange: function () { setAccessibility.slide(); setAccessibility.arrow(); }, destroy: function () { if (els.swiper != null) { els.swiper.destroy(true); els.swiper = null; } }, 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.swiperNavArrowNext.focus(); } else if (!els.swiper.isBeginning && els.swiper.isEnd) { els.swiperNavArrowPrev.focus(); } }, 300); } } }; var setAccessibility = { slide: function () { for (var 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.swiperNavArrowNext); utils.onAccessibility(els.swiperNavArrowPrev); } else if (!els.swiper.isBeginning && els.swiper.isEnd) { utils.offAccessibility(els.swiperNavArrowPrev); utils.onAccessibility(els.swiperNavArrowNext); } else { utils.offAccessibility(els.swiperNavArrowNext); utils.offAccessibility(els.swiperNavArrowPrev); } } }; var checkBrokenFixed = function () { if (currDevice.indexOf('mobile') == -1) { var widHeight = window.innerHeight - utils.getNavHeight(), headLineHeight = els.sceneFixed.querySelector('.common-sub-headline').clientHeight, carouselMarginTop = parseInt(window.getComputedStyle(els.swiperEl).marginTop), itemHeightArr = [], maxHeight = null, cardHeight = null; for (var i = 0; i < els.swiperSlides.length; i++) { itemHeightArr.push(els.swiperSlides[i].clientHeight); } maxHeight = itemHeightArr.reduce(function(prev, itemArr) { return Math.max(prev, itemArr); }); cardHeight = maxHeight; totalHeight = headLineHeight + carouselMarginTop + cardHeight; if (widHeight <= totalHeight) { document.documentElement.classList.add('is-broken-fixed'); } else { document.documentElement.classList.remove('is-broken-fixed'); } } else { document.documentElement.classList.remove('is-broken-fixed'); } }; var onFocusClickable = function(e) { var targetItem = this.item, targetIndex = [].indexOf.call(els.swiperSlides, targetItem); if (objs.scene != null) { var startScroll = els.sceneTrack.getBoundingClientRect().top + window.pageYOffset, maxScroll = startScroll + (parseInt(window.getComputedStyle(els.sceneTrack).height) / 2); els.sceneFixed.scrollLeft = 0; if (e.type == 'keydown' && targetIndex >= 3) { window.scrollTo(0, maxScroll); } else { window.scrollTo(0, startScroll); } } }; return { init: init } })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.exclusive = (function () { var els = {}; var init = function () { els.section = document.querySelector('.highlights-exclusive'); if (!!els.section) { setElements(); bindEvents(); } }; var setElements = function () { els.colors = els.section.querySelectorAll('.highlights-exclusive__tab-button'); els.panel = els.section.querySelectorAll('.highlights-exclusive__tab-panel'); els.colorName = els.section.querySelectorAll('.highlights-exclusive__tab-name'); els.popupBtn = els.section.querySelector('.common-cta-encased'); }; var bindEvents = function () { for (var i = 0; i < els.colors.length; i++) { els.colors[i].index = i; els.colors[i].addEventListener('click', onClickColorItem); if (els.colors[i].classList.contains('is-active')) { els.popupBtn.setAttribute('data-model-color', els.panel[els.colors[i].index].getAttribute('id')); } } }; var onClickColorItem = function () { var oldColor = els.section.querySelector('.highlights-exclusive__tab .is-active'), oldPanel = els.section.querySelector('.highlights-exclusive__tab-panel-group .is-active'), oldColorName = els.section.querySelector('.highlights-exclusive__tab-names .is-active'), index = this.index; // colorchip if (!this.classList.contains('is-active')) { oldColor.classList.remove('is-active'); oldColor.setAttribute('aria-selected', false); this.classList.add('is-active'); this.setAttribute('aria-selected', true); } // panel if (!els.panel[index].classList.contains('is-active')) { oldPanel.classList.remove('is-active'); oldPanel.setAttribute('aria-hidden', true); els.panel[index].classList.add('is-active'); els.panel[index].setAttribute('aria-hidden', false); els.popupBtn.setAttribute('data-model-color', els.panel[index].getAttribute('id')); } if (!els.colorName[index].classList.contains('is-active')) { oldColorName.classList.remove('is-active'); oldColorName.setAttribute('aria-hidden', true); els.colorName[index].classList.add('is-active'); els.colorName[index].setAttribute('aria-hidden', false); } }; return { init: init } })(); })();; (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.faq = (function () { var els = {}, utils = window.flagship.common.utils; var init = function () { els.section = document.querySelector('.highlights-faq'); if (!!els.section) { setElements(); bindEvents(); } }; var setElements = function () { els.faqItems = els.section.querySelectorAll('.highlights-faq__item'); }; var bindEvents = function () { for (var i = 0; i < els.faqItems.length; i++) { els.faqItems[i].arrowBtn = els.faqItems[i].querySelector('.highlights-faq__item button'); els.faqItems[i].arrowBtn.index = i; els.faqItems[i].answer = els.faqItems[i].querySelector('.highlights-faq__answer'); els.faqItems[i].cta = els.faqItems[i].querySelector('.highlights-faq__cta'); els.faqItems[i].arrowBtn.addEventListener('click', onClickFaqBtn); if (els.faqItems[i].cta) { els.faqItems[i].cta.addEventListener('click', onClickFaqCta); } } }; var onClickFaqBtn = function () { var index = this.index, parentWrap = els.faqItems[index], dataOmni = this.getAttribute('data-omni'), gaLa = this.getAttribute('ga-la'), self = this; if (!parentWrap.classList.contains('is-open')) { parentWrap.classList.add('is-open'); $(parentWrap.answer).stop().slideDown(300); this.setAttribute('aria-expanded', true); setTimeout(function () { self.setAttribute('data-omni', dataOmni.replace('open', 'close')); self.setAttribute('ga-la', gaLa.replace('open', 'close')); }, 50); } else { parentWrap.classList.remove('is-open'); $(parentWrap.answer).stop().slideUp(250); this.setAttribute('aria-expanded', false); setTimeout(function () { self.setAttribute('data-omni', dataOmni.replace('close', 'open')); self.setAttribute('ga-la', gaLa.replace('close', 'open')); }, 50); } }; var onClickFaqCta = function (e) { if (this.getAttribute('href').indexOf('#') == 0) { e.preventDefault(); var faqId = this.getAttribute('href').split('#')[1], section = document.querySelector('#' + faqId), sectionTop = section.getBoundingClientRect().top, navHeight = utils.getNavHeight(), faqScroll = window.pageYOffset + sectionTop - navHeight, sectionTimeout = null; clearTimeout(sectionTimeout); sectionTimeout = setTimeout(function () { if (!!section.querySelectorAll('button, a')[0]) { section.querySelectorAll('button, a')[0].focus(); } else { section.querySelector('.common-eyebrow').setAttribute('tabindex', 0); section.querySelector('.common-eyebrow').focus(); section.querySelector('.common-eyebrow').addEventListener('focusout', function () { section.querySelector('.common-eyebrow').removeAttribute('tabindex'); }); } }, 20); window.scrollTo(0, faqScroll); }; }; return { init: init } })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.flexpanel = (function () { var els = {}, objs = {}, utils = window.flagship.common.utils, resize = window.flagship.common.resize; currDevice = resize.checkResolution(); var init = function () { els.section = document.querySelector('.highlights-flex-mode'); if (!!els.section) { setElements(); objList.setVideo(); objList.setScene(); bindEvents(); } }; var setElements = function () { els.scrollVideoWrap = els.section.querySelector('.js-scroll-video'); els.scrollVideo = els.section.querySelector('.js-scroll-video .common-video__figure>video'); els.scrollController = els.section.querySelector('.js-scroll-video .common-video__control'); els.scrollControllerBlindText = els.scrollController.querySelector('.blind'); }; var bindEvents = function () { window.addEventListener('scroll', handlerList.scroll); els.scrollController.addEventListener('click', handlerList.videoCta); handlerList.scroll(); resize.add(onResizeHandler); }; var onResizeHandler = function (currRes) { currDevice = currRes; }; var objList = { setVideo: function () { objs.flexpanelVideo = ANIUTIL.videoHandler({ playType: 'scrollPlay', startPoint: 10, reversePoint: (currDevice.indexOf('mobile') > -1) ? 76 : 87, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains('is-completed')) { els.scrollVideoWrap.classList.remove('is-completed'); } }, playCallback: function () { els.scrollControllerBlindText.innerText = 'pause'; setTagging.pause(); }, pauseCallback: function () { els.scrollControllerBlindText.innerText = 'play'; setTagging.play(); }, endCallback: function () { if (!els.scrollVideoWrap.classList.contains('is-completed')) { els.scrollVideoWrap.classList.add('is-completed'); } } }); }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.scrollVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true }); } }; var handlerList = { scroll: function () { objs.scene.trackAnimation(function () { objs.flexpanelVideo.scrollActive(this.progress); }); }, videoCta: function () { if (els.scrollVideo.paused) { els.scrollVideo.play(); } else { els.scrollVideo.pause(); } } }; var setTagging = { play: function () { if (els.scrollController.hasAttribute('data-omni')) { var dataOmni = els.scrollController.getAttribute('data-omni').toLowerCase(); els.scrollController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (els.scrollController.hasAttribute('ga-la')) { var gaLa = els.scrollController.getAttribute('ga-la').toLowerCase(); els.scrollController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function () { if (els.scrollController.hasAttribute('data-omni')) { var dataOmni = els.scrollController.getAttribute('data-omni').toLowerCase(); els.scrollController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (els.scrollController.hasAttribute('ga-la')) { var gaLa = els.scrollController.getAttribute('ga-la').toLowerCase(); els.scrollController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; return { init: init } })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.flexwindowBig = (function () { var els = {}, objs = {}, utils = window.flagship.common.utils, resize = window.flagship.common.resize; currDevice = resize.checkResolution(); var init = function () { els.section = document.querySelector('.highlights-flexwindow__scroll-video'); if (!!els.section) { setElements(); objList.setVideo(); objList.setScene(); bindEvents(); } }; var setElements = function () { els.scrollVideoWrap = els.section.querySelector('.js-scroll-video'); els.scrollVideo = els.section.querySelector('.js-scroll-video .common-video__figure>video'); els.scrollController = els.section.querySelector('.js-scroll-video .common-video__control'); els.scrollControllerBlindText = els.scrollController.querySelector('.blind'); }; var bindEvents = function () { window.addEventListener('scroll', handlerList.scroll); els.scrollController.addEventListener('click', handlerList.videoCta); handlerList.scroll(); resize.add(onResizeHandler); }; var onResizeHandler = function (currRes) { currDevice = currRes; }; var objList = { setVideo: function () { objs.flexwindowBigVideo = ANIUTIL.videoHandler({ playType: 'scrollPlay', startPoint: 26, reversePoint: (currDevice.indexOf('mobile') > -1) ? 54 : 77, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains('is-completed')) { els.scrollVideoWrap.classList.remove('is-completed'); } }, playCallback: function () { els.scrollControllerBlindText.innerText = 'pause'; setTagging.pause(); }, pauseCallback: function () { els.scrollControllerBlindText.innerText = 'play'; setTagging.play(); }, endCallback: function () { if (!els.scrollVideoWrap.classList.contains('is-completed')) { els.scrollVideoWrap.classList.add('is-completed'); } } }); }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.scrollVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true }); } }; var handlerList = { scroll: function () { objs.scene.trackAnimation(function () { objs.flexwindowBigVideo.scrollActive(this.progress); }); }, videoCta: function () { if (els.scrollVideo.paused) { els.scrollVideo.play(); } else { els.scrollVideo.pause(); } } }; var setTagging = { play: function () { if (els.scrollController.hasAttribute('data-omni')) { var dataOmni = els.scrollController.getAttribute('data-omni').toLowerCase(); els.scrollController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (els.scrollController.hasAttribute('ga-la')) { var gaLa = els.scrollController.getAttribute('ga-la').toLowerCase(); els.scrollController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function () { if (els.scrollController.hasAttribute('data-omni')) { var dataOmni = els.scrollController.getAttribute('data-omni').toLowerCase(); els.scrollController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (els.scrollController.hasAttribute('ga-la')) { var gaLa = els.scrollController.getAttribute('ga-la').toLowerCase(); els.scrollController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; return { init: init } })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.flexwindowGesture = (function () { var els = {}, objs = {}, utils = window.flagship.common.utils; var init = function () { els.section = document.querySelector('.highlights-flexwindow__item--gesture'); if (!!els.section) { setElements(); objList.setVideo(); objList.setScene(); bindEvents(); } }; var setElements = function () { els.scrollVideoWrap = els.section.querySelector('.js-scroll-video'); els.scrollVideo = els.section.querySelector('.js-scroll-video .common-video__figure>video'); els.scrollController = els.section.querySelector('.js-scroll-video .common-video__control'); els.scrollControllerBlindText = els.scrollController.querySelector('.blind'); }; var bindEvents = function () { window.addEventListener('scroll', handlerList.scroll); els.scrollController.addEventListener('click', handlerList.videoCta); handlerList.scroll(); }; var objList = { setVideo: function () { objs.flexwindowGestureVideo = ANIUTIL.videoHandler({ playType: 'scrollPlay', startPoint: 10, reversePoint: 84, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains('is-completed')) { els.scrollVideoWrap.classList.remove('is-completed'); } }, playCallback: function () { els.scrollControllerBlindText.innerText = 'pause'; setTagging.pause(); }, pauseCallback: function () { els.scrollControllerBlindText.innerText = 'play'; setTagging.play(); }, endCallback: function () { if (!els.scrollVideoWrap.classList.contains('is-completed')) { els.scrollVideoWrap.classList.add('is-completed'); } } }); }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.scrollVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true }); } }; var handlerList = { scroll: function () { objs.scene.trackAnimation(function () { objs.flexwindowGestureVideo.scrollActive(this.progress); }); }, videoCta: function () { if (els.scrollVideo.paused) { els.scrollVideo.play(); } else { els.scrollVideo.pause(); } } }; var setTagging = { play: function () { if (els.scrollController.hasAttribute('data-omni')) { var dataOmni = els.scrollController.getAttribute('data-omni').toLowerCase(); els.scrollController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (els.scrollController.hasAttribute('ga-la')) { var gaLa = els.scrollController.getAttribute('ga-la').toLowerCase(); els.scrollController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function () { if (els.scrollController.hasAttribute('data-omni')) { var dataOmni = els.scrollController.getAttribute('data-omni').toLowerCase(); els.scrollController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (els.scrollController.hasAttribute('ga-la')) { var gaLa = els.scrollController.getAttribute('ga-la').toLowerCase(); els.scrollController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; return { init: init } })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.flexwindowMap = (function () { var els = {}, objs = {}, utils = window.flagship.common.utils; var init = function () { els.section = document.querySelector('.highlights-flexwindow__item--map'); if (!!els.section) { setElements(); objList.setVideo(); objList.setScene(); bindEvents(); } }; var setElements = function () { els.scrollVideoWrap = els.section.querySelector('.js-scroll-video'); els.scrollVideo = els.section.querySelector('.js-scroll-video .common-video__figure>video'); els.scrollController = els.section.querySelector('.js-scroll-video .common-video__control'); els.scrollControllerBlindText = els.scrollController.querySelector('.blind'); }; var bindEvents = function () { window.addEventListener('scroll', handlerList.scroll); els.scrollController.addEventListener('click', handlerList.videoCta); handlerList.scroll(); }; var objList = { setVideo: function () { objs.flexwindowMapVideo = ANIUTIL.videoHandler({ playType: 'scrollPlay', startPoint: 10, reversePoint: 84, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains('is-completed')) { els.scrollVideoWrap.classList.remove('is-completed'); } }, playCallback: function () { els.scrollControllerBlindText.innerText = 'pause'; setTagging.pause(); }, pauseCallback: function () { els.scrollControllerBlindText.innerText = 'play'; setTagging.play(); }, endCallback: function () { if (!els.scrollVideoWrap.classList.contains('is-completed')) { els.scrollVideoWrap.classList.add('is-completed'); } } }); }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.scrollVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true }); } }; var handlerList = { scroll: function () { objs.scene.trackAnimation(function () { objs.flexwindowMapVideo.scrollActive(this.progress); }); }, videoCta: function () { if (els.scrollVideo.paused) { els.scrollVideo.play(); } else { els.scrollVideo.pause(); } } }; var setTagging = { play: function () { if (els.scrollController.hasAttribute('data-omni')) { var dataOmni = els.scrollController.getAttribute('data-omni').toLowerCase(); els.scrollController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (els.scrollController.hasAttribute('ga-la')) { var gaLa = els.scrollController.getAttribute('ga-la').toLowerCase(); els.scrollController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function () { if (els.scrollController.hasAttribute('data-omni')) { var dataOmni = els.scrollController.getAttribute('data-omni').toLowerCase(); els.scrollController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (els.scrollController.hasAttribute('ga-la')) { var gaLa = els.scrollController.getAttribute('ga-la').toLowerCase(); els.scrollController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; return { init: init } })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.viewer = (function () { var els = {}, status = {}, resize = window.flagship.common.resize, utils = window.flagship.common.utils, currDevice = resize.checkResolution(); var init = function () { els.viewerBtns = document.querySelectorAll('.viewer-btn'); if (els.viewerBtns.length > 0) { setElements(); setStatus(); setPopup(); bindEvents(); } }; var setElements = function () { els.wrapEl = document.querySelector('#wrap'); els.contents = document.querySelector('#contents'); // popup els.popup = document.querySelector('.highlights-viewer'); els.popupContents = els.popup.querySelector('.common-popup__contents'); els.popupInner = els.popup.querySelector('.common-popup__inner'); els.popupWrap = els.popup.querySelector('.common-popup__wrap'); els.closeCta = els.popup.querySelector('.common-popup__close-cta'); els.viewerWrap = els.popup.querySelector('.highlights-viewer__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 = ''; els.customizationList = document.querySelectorAll('.highlights-customization__ui-content'); }; var 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.isExclusive = false; status.isHash = false; }; var 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); }; var onLoadHandler = function () { setViewerWrap.innerWrapHeight(); setViewerWrap.layerScroll(); }; var onResizeHandler = function (currRes) { currDevice = currRes; if (utils.detector.isTouchDevice && !utils.detector.isIosDevice) setViewerWrap.innerWrapHeight(); setViewerWrap.layerScroll(); }; var 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); }, }; var setPopup = function () { for (var i = 0; i < els.viewerBtns.length; i++) { utils.layerPopup({ layerPopup: els.popup, openerEvent: { element: els.viewerBtns[i], }, closeCta: 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(target) { if (utils.detector.isIosDevice) target.openerCta.style.display = ''; target.openerCta.focus(); els.popup.classList.remove('is-open'); }, end: function () { setTimeout(function () { els.popup.classList.remove('is-init'); }, 300); viewerEvents.hide(); // customization accessibility set if (!els.customizationList[0].classList.contains('is-active')) { utils.onAccessibility(els.customizationList[0]); } else { utils.onAccessibility(els.customizationList[1]); } } } }); } }; var viewerEvents = { show: function (viewerOpener) { if (viewerOpener.classList.contains('viewer-btn')) { status.isHash = false; els.viewerOpener = viewerOpener; } else { status.isHash = true; if (window.location.hash == '#colors-see-in-360') { els.viewerOpener = els.viewerBtns[0]; } else { els.viewerOpener = els.viewerBtns[1]; } } status.isExclusive = (els.viewerOpener.getAttribute('data-hash') == 'online-exclusive-color-see-in-360') ? true : false; 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 = ''; 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); // customization accessibility set if (!els.customizationList[0].classList.contains('is-active')) { utils.onAccessibility(els.customizationList[0]); } else { utils.onAccessibility(els.customizationList[1]); } } }, 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); } } }; var 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')) { var 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) { var 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'); } } }; var 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), '*'); } }; var getViewerUrl = function () { var viewerUrl = status.viewerBaseUrl; // model_name viewerUrl += 'model_name=' + els.viewerModel; // only exclusive color status.isExclusive && (viewerUrl += '&exclusive_mode=1'); 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 () { var els = {}, utils = window.flagship.common.utils; var init = function () { els.layerPopup = document.querySelector('.youtube-layer-popup'); if (!!els.layerPopup) { setElements(); setPopup(); els.layerPopup.addEventListener('click', eventList.clickDimmed); } }; var setElements = function () { els.contents = document.querySelector('#contents'); els.openCtas = document.querySelectorAll('.js-youtube-popup'); els.closeCta = document.querySelector('.youtube-layer-popup__close-cta'); els.ytIframe = els.layerPopup.querySelector('.youtube-layer-popup__iframe > iframe'); els.ytDesc = els.layerPopup.querySelector('.youtube-player__desc'); } var setPopup = function () { for (var i = 0; i < els.openCtas.length; i++) { utils.layerPopup({ layerPopup: els.layerPopup, openerEvent: { element: els.openCtas[i], }, closeCta: els.closeCta, moveTarget: document.documentElement, contents: els.contents, show: { start: function () { els.layerPopup.removeAttribute('tabindex'); els.layerPopup.removeAttribute('aria-hidden'); els.layerPopup.classList.add('is-yt-open'); }, end: function(target) { eventList.setYoutube(target); target.openerCta.blur(); } }, hide: { start: function(target) { if (utils.detector.isIosDevice) target.openerCta.style.display = ''; els.layerPopup.setAttribute('tabindex', -1); els.layerPopup.setAttribute('aria-hidden', true); els.layerPopup.classList.remove('is-yt-open'); }, end: function(target) { eventList.clearYoutube(); target.openerCta.focus(); // customization accessibility set var uiList = document.querySelectorAll('.highlights-customization__ui-content'); if (!uiList[0].classList.contains('is-active')) { utils.onAccessibility(uiList[0]); } else { utils.onAccessibility(uiList[1]); } } } }); } }; var eventList = { setYoutube: function (target) { var 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 = ''; }, clickDimmed: function(e) { if (e.target.classList.contains('youtube-layer-popup__inner') || e.target.classList.contains('youtube-layer-popup__close-area')) { if (utils.detector.isIosDevice) els.OpenerTarget.style.display = ''; els.layerPopup.classList.remove('is-yt-open'); document.documentElement.classList.remove('is-layer-open'); document.documentElement.style.overflow = ''; utils.visibleScroll(); utils.onAccessibility(els.layerPopup); utils.offAccessibility(document.querySelector('#wrap')); setTimeout(function() { els.OpenerTarget.focus(); }, 300); eventList.clearYoutube(); } } }; return { init: init, } })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.sidebar = (function () { var els = {}, objs = {}, utils = window.flagship.common.utils; var init = function () { els.contents = document.querySelector('#contents'); if (!!els.contents) { setElements(); setScene(); bindEvents(); } }; var setElements = function () { els.kv = els.contents.querySelector('.highlights-kv'); els.sidebar = els.contents.querySelector('.highlights-sidebar'); els.sidebarBtn = els.sidebar.querySelector('.highlights-sidebar__cta'); els.sidebarBtnBlindText = els.sidebar.querySelector('.highlights-sidebar__cta .blind'); els.sidebarList = els.sidebar.querySelector('.highlights-sidebar__list'); els.sidebarListItem = els.sidebarList.querySelectorAll('.highlights-sidebar__item'); els.durability = els.contents.querySelector('.highlights-durability'); els.footer = document.querySelector('.common-bottom-disclaimer'); // settimeout els.scrollTimeout = null; }; var bindEvents = function () { window.addEventListener('scroll', scrollHandler); els.sidebarBtn.addEventListener('click', sidebarEvents.sidebarOnClick); for (var i = 0; i < els.sidebarListItem.length; i++) { els.sidebarListItem[i].addEventListener('click', sidebarEvents.itemOnClick); } }; var setScene = function () { objs.scene = SCROLLER({ trackElement: els.contents, useFixed: false, useStrictMode: false }); }; var scrollHandler = function () { objs.scene.trackAnimation(function () { var kvBottom = this.winScrollTop + els.kv.getBoundingClientRect().bottom - utils.getNavHeight(), footerTop = this.winScrollTop + els.footer.getBoundingClientRect().top + (window.innerHeight / 2), self = this; var _highlighting = function () { for (var i = 0; i < els.sidebarListItem.length; i++) { var targetId = els.sidebarListItem[i].querySelector('a').getAttribute('href').split('#')[1], target = els.contents.querySelector('#' + targetId), targetOffetTop = self.winScrollTop + target.getBoundingClientRect().top, targetOffetBottom = self.winScrollTop + target.getBoundingClientRect().bottom - (window.innerHeight / 2), durabilityTop = self.winScrollTop + els.durability.getBoundingClientRect().top + (window.innerHeight / 2), oldActiveItem = els.sidebarList.querySelector('.is-active'); if (self.winScrollBottom >= targetOffetTop && self.winScrollTop <= targetOffetBottom) { if (!els.sidebarListItem[i].classList.contains('is-active')) { if (oldActiveItem) oldActiveItem.classList.remove('is-active'); els.sidebarListItem[i].classList.add('is-active'); } } if (self.winScrollBottom >= durabilityTop) { if (els.sidebarListItem[i].classList.contains('is-active')) { els.sidebarListItem[i].classList.remove('is-active'); } } } } if (self.wheelDirection == 'up') { if (self.winScrollTop >= kvBottom) { els.sidebar.classList.add('is-active'); els.sidebarBtn.removeAttribute('tabindex'); els.sidebarBtn.removeAttribute('aria-hidden'); } else { hideSidebar(); } } else { hideSidebar(); } _highlighting(); }); }; var hideSidebar = function () { if (els.sidebar.classList.contains('is-active')) { els.sidebar.classList.remove('is-active'); els.sidebarBtn.setAttribute('tabindex', -1); els.sidebarBtn.setAttribute('aria-hidden', true); sidebarEvents.sidebarClose(); } }; var sidebarEvents = { sidebarOnClick: function () { if (!els.sidebar.classList.contains('is-open')) { sidebarEvents.sidebarOpen(); } else { sidebarEvents.sidebarClose(); } }, sidebarOpen: function () { els.sidebar.classList.add('is-open'); accessibility.off(); setTimeout(function () { window.addEventListener('click', sidebarEvents.outsideOnClick); }, 50); }, sidebarClose: function () { els.sidebar.classList.remove('is-open'); accessibility.on(); window.removeEventListener('click', sidebarEvents.outsideOnClick); }, outsideOnClick: function (e) { var sidebar = e.target.matches('.highlights-sidebar__button>button'); if (!sidebar) { sidebarEvents.sidebarClose(); } }, itemOnClick: function (e) { e.preventDefault(); var oldItem = els.sidebarList.querySelector('.is-active'), self = this; var _moveSection = function () { var navHeight = utils.getNavHeight(), sectionId = self.querySelector('a').getAttribute('href').split('#')[1], section = document.querySelector('#' + sectionId), sectionTop = section.getBoundingClientRect().top, sectionScroll = window.pageYOffset + sectionTop - navHeight, sectionTimeout = null; clearTimeout(sectionTimeout); sectionTimeout = setTimeout(function () { var eyeBrow = section.querySelector('.common-text'); clickAble = section.querySelectorAll('a, button')[0]; if (!!eyeBrow) { var focusOutEvent = function () { eyeBrow.removeAttribute('tabindex'); eyeBrow.removeEventListener('focusout', focusOutEvent); }; eyeBrow.addEventListener('focusout', focusOutEvent); eyeBrow.setAttribute('tabindex', 0); eyeBrow.focus(); } else { clickAble.focus(); } window.scrollTo(0, sectionScroll); }, 30); setTimeout(function () { hideSidebar(); }, 60); }; if (!this.classList.contains('is-active')) { if (oldItem && oldItem.classList.contains('is-active')) { oldItem.classList.remove('is-active'); } this.classList.add('is-active'); } _moveSection(); } }; var accessibility = { on: function () { els.sidebarList.setAttribute('aria-hidden', true); els.sidebarList.setAttribute('tabindex', -1); var openText = els.sidebarBtn.getAttribute('data-open-text'); els.sidebarBtnBlindText.innerText = openText; setTagging.close(); for (var i = 0; i < els.sidebarListItem.length; i++) { els.sidebarListItem[i].querySelector('a').setAttribute('tabindex', '-1'); } }, off: function () { els.sidebarList.setAttribute('aria-hidden', false); els.sidebarList.removeAttribute('tabindex'); var closeText = els.sidebarBtn.getAttribute('data-close-text'); els.sidebarBtnBlindText.innerText = closeText; setTagging.open(); for (var i = 0; i < els.sidebarListItem.length; i++) { els.sidebarListItem[i].querySelector('a').removeAttribute('tabindex'); } } }; var setTagging = { open: function () { var dataOmni = els.sidebarBtn.getAttribute('data-omni'), gaLa = els.sidebarBtn.getAttribute('ga-la'); setTimeout(function () { els.sidebarBtn.setAttribute('data-omni', dataOmni.replace('open', 'close')); els.sidebarBtn.setAttribute('ga-la', gaLa.replace('open', 'close')); }, 50); }, close: function () { var dataOmni = els.sidebarBtn.getAttribute('data-omni'), gaLa = els.sidebarBtn.getAttribute('ga-la'); setTimeout(function () { els.sidebarBtn.setAttribute('data-omni', dataOmni.replace('close', 'open')); els.sidebarBtn.setAttribute('ga-la', gaLa.replace('close', 'open')); }, 50); } }; return { init: init } })(); })(); (function () { window.flagship.common.resize.bindEvent(); var initComponents = function() { flagship.highlights.ai.init(); flagship.highlights.colors.init(); flagship.highlights.customization.init(); flagship.highlights.cameraVideo.init(); flagship.highlights.design.init(); flagship.highlights.durability.init(); flagship.highlights.excellence.init(); flagship.highlights.exclusive.init(); flagship.highlights.faq.init(); flagship.highlights.flexpanel.init(); flagship.highlights.flexwindowBig.init(); flagship.highlights.flexwindowGesture.init(); flagship.highlights.flexwindowMap.init(); flagship.highlights.viewer.init(); flagship.highlights.ytPopup.init(); flagship.highlights.sidebar.init();}; initComponents(); })(); });

  • Galaxy Z Flip5 | Kamera und Spezifikationen | Samsung DE (2024)

    References

    Top Articles
    Latest Posts
    Article information

    Author: Lidia Grady

    Last Updated:

    Views: 6094

    Rating: 4.4 / 5 (65 voted)

    Reviews: 88% of readers found this page helpful

    Author information

    Name: Lidia Grady

    Birthday: 1992-01-22

    Address: Suite 493 356 Dale Fall, New Wanda, RI 52485

    Phone: +29914464387516

    Job: Customer Engineer

    Hobby: Cryptography, Writing, Dowsing, Stand-up comedy, Calligraphy, Web surfing, Ghost hunting

    Introduction: My name is Lidia Grady, I am a thankful, fine, glamorous, lucky, lively, pleasant, shiny person who loves writing and wants to share my knowledge and understanding with you.