Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (2024)

Galaxy Z Flip5

  • ESPECIFICACIONES
  • SOPORTE
  • RESEÑAS

Comprar

  • Destacados
  • Compara
  • Accesorios
  • ESPECIFICACIONES
  • SOPORTE
  • RESEÑAS
Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (1)

COMPRAR AHORA PRECÓMPRALO YA Comprar DÓNDE COMPRAR

Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (2)
  • *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.
  • DISEÑO
  • CÁMARA
  • FLEX WINDOW
  • BATERÍA
  • FLEX MODE

Nos recomiendan

Premios Xataka NordVPN 2023: Mejor Móvil Plegable

Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (3)

Galaxy AI ya está aquí

Bienvenido a la era de la AI móvil. Con el Galaxy Z Flip5 en tus manos, podrás dar rienda suelta a niveles nuevos de creatividad, productividad y posibilidades, empezando por el dispositivo más importante de tu vida. Tu smartphone.

Épico, sin más.

RODEA PARA BUSCAR

Rodéalo, encuéntralo. Así de fácil

Busca como nunca con Rodea para buscar.1 Simplemente rastrea un objeto para obtener los resultados de la Búsqueda de Google. Sin necesidad de teclear.

* Imagen simulada con fines ilustrativos. La UI real puede variar.

Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (4)

Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (5)

La página de un blog está abierta en una aplicación del navegador web. Se efectúa una pulsación larga del botón de inicio. Aparece una superposición de Google sobre la aplicación. El texto de la página del blog aparece marcado con un círculo: Patatas Tornado. Los resultados de la búsqueda de Patatas tornado aparecen en una ventana emergente sobre la aplicación. La ventana emergente se arrastra hacia arriba en una pantalla completa de resultados de búsqueda de Google.

LIVE TRANSLATE

El modo más fácil de comunicarse

La AI te ayuda a comunicarte en otro idioma mientras hablas por teléfono.2 Y no solo eso, funciona incluso en mensajería.3

* Imagen simulada con fines ilustrativos. La UI real puede variar.

Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (6)

Una llamada telefónica se traduce en tiempo real. El diálogo se muestra en pantalla como una conversación de texto en dos idiomas.

INTERPRETER

Un intérprete en tu bolsillo

¿Quieres pedirle indicaciones a un lugareño? ¡No te preocupes! Tienes un intérprete en el bolsillo. Disfruta de esta función incluso en modo avión sin conexión Wi-Fi.4

* Imagen simulada con fines ilustrativos. La UI real puede variar.

Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (7)

En la aplicación Intérprete, se ve cómo se transcribe y se traduce una conversación en dos idiomas en tiempo real.

PHOTO ASSIST

Redimensiónalo, retócalo. Así de fácil

Desbloquea la magia de la edición fotográfica gracias a la AI.5 Generative Edit puede rellenar fondos y hacer que los objetos indeseados desaparezca como por arte de magia.

* Imagen simulada con fines ilustrativos. La UI real puede variar.

Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (8)

Se está editando una foto. El sujeto se selecciona, se redimensiona y se mueve a otro lugar de la imagen. Después, se rellenan las zonas que faltan.

    Try Galaxy en tu teléfono Escanea este QR code o visita trygalaxy.com

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (9)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (10) Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (11)

    Un primer plano de un Galaxy Z Flip5 plegado visto desde la Flex Window y el marco inferior. Si se aleja el zoom, el dispositivo se abre como una tienda de campaña.

    Flex Window. La pantalla externa más grande en un Galaxy Z Flip hasta la fecha

    Galaxy Z Flip5 estrena una Flex Window de 3,4 pulgadas, pensada para que puedas expresarse como quieras, con más opciones.6 Compacto y llamativo desde cualquier ángulo, este plegable es tan versátil como portátil.

    *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

    Talla única. ¡Compatible con todos los bolsillos!

    Nuestro Galaxy Z Flip más compacto hasta ahora se pliega para deslizarse igual de fácil en tu bolsillo que en tus manos.9

    *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (12)

    Elige entre cuatro colores inspirados en la naturaleza

    Encuentra tu ambiente en un mundo de combinaciones de colores futuristas inspiradas en el mundo natural: Mint, Graphite, Cream, Lavender.10

    * Imagen simulada con fines ilustrativos.

    Mint Graphite Cream Lavender

    Dos dispositivos Galaxy Z Flip5 en color Mint. Uno está plegado como una tienda de campaña y se ve desde el panel trasero. El segundo está plegado y parcialmente oculto por el primer dispositivo. A continuación, un primer plano de la cámara trasera. A continuación, un primer plano de la bisagra Flex.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (13)

    Dos dispositivos Galaxy Z Flip5 en color Graphite. Uno está plegado como una tienda de campaña y se ve desde el panel trasero. El segundo está plegado y parcialmente oculto por el primer dispositivo. A continuación, un primer plano de la cámara trasera. A continuación, un primer plano de la bisagra Flex.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (14)

    Dos dispositivos Galaxy Z Flip5 en color Cream. Uno está plegado como una tienda de campaña y se ve desde el panel trasero. El segundo está plegado y parcialmente oculto por el primer dispositivo. A continuación, un primer plano de la cámara trasera. A continuación, un primer plano de la bisagra Flex.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (15)

    Dos dispositivos Galaxy Z Flip5 en color Lavender. Uno está plegado como una tienda de campaña y se ve desde el panel trasero. El segundo está plegado y parcialmente oculto por el primer dispositivo. A continuación, un primer plano de la cámara trasera. A continuación, un primer plano de la bisagra Flex.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (16)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (17)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (18)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (19)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (20)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (21)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (22)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (23)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (24)

    Colores exclusivos en línea que evocan la naturaleza urbana

    Añade un toque extra de personalidad a tu dispositivo con los colores exclusivos que solo encontrarás en Samsung.com:Gray, Blue, Green y Yellow.10

    * Imagen simulada con fines ilustrativos.

    Exclusivo online

    Gray Blue Green Yellow

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (25)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (26)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (27)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (28)

    Mejor juntos

    Funda Flipsuit35,36,37,38

    Más información

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (29)

    Mejor juntos

    Funda Transparente Gadget

    Más información

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (30)

    Cámara. Las mejores selfies en un smartphone Galaxy hasta la fecha

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (31)

    Capturado por Galaxy Z Flip5#withGalaxy

    Saca selfies increíbles con FlexCam y haz que cualquier ángulo sea el mejor. No importa la cámara que elijas, Galaxy Z Flip5 te lo pone fácil. Ahora solo te queda dominar el arte de la pose.

    Selfies con FlexCam. Aunque esté cerrado

    Abre la aplicación de la cámara con el acceso directo de Flex Window para capturar el momento. Haz fotos, modifica los ajustes y vuelve a hacerlas sin abrir el smartphone.

    *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

    * Esta foto ha sido retocada para corregir el color.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (32)

    Capturado por Galaxy Z Flip5#withGalaxy

    Sí, sí. Selfies con manos libres. Cortesía de FlexCam

    Despliega el Flex Mode y acerca a tus amigos para un selfie de grupo más amplio.11Utiliza el Camera Controller de tu Galaxy Watch6 y sorprende al mundo con selfies con zoom.12

    *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (33)

    Capturado por Galaxy Z Flip5#withGalaxy

    Captura la noche con Nightography 13

    La cámara panorámica del Galaxy Z Flip5 permite captar una mayor parte de la escena. El despliegue es opcional: solo tienes que deslizar el icono de la cámara en la Flex Window y empezar a grabar con FlexCam. Y mantén la cámara en marcha, porque con el vídeo 4K Nightography, perder luz solar no significa perder calidad.14

    *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (34) Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (35)

    Una mujer graba un vídeo selfie de noche con dos amigos detrás. El gran angular los encuadra a todos. Los detalles son nítidos, los colores cálidos y los detalles del fondo nítidos.

    Capturado por Galaxy Z Flip5#withGalaxy

    Selfies con la cámara frontal

    Olvídate de las fotos borrosas de la cámara frontal. La lente supernítida mantiene la calidad de las fotos e incluso reduce los destellos de las luces brillantes detrás de ti.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (36)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (37) Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (38)

    Cada uno de los tres dispositivos Galaxy Z Flip5 cuenta con interfaces Flex Window personalizadas con diferentes colores.

    Conoce la Flex Window de 3,4”

    *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

    • Responde a los mensajes con un teclado QWERTY, haz llamadas, consulta la previsión meteorológica e incluso saca la cartera, todo ello desde una gran y luminosa Flex Window.6,15,16Ahora con más esferas de reloj y gestos entrecruzados que conoces del ecosistema Galaxy.

      *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

      Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (39) Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (40)

      Los gestos entrecruzados se utilizan para navegar por diversas aplicaciones y widgets en la Flex Window. En la pantalla de inicio, al deslizar el dedo hacia la derecha aparecen notificaciones. Si se desliza hacia abajo, aparecerá el panel rápido. Si vuelves a la pantalla de inicio, desliza el dedo hacia la izquierda para acceder a los widgets, como Samsung Health Steps y un Calendario con menú interactivo. Por último, deslizando el dedo hacia arriba desde la pantalla de inicio se abre Samsung Wallet.

    • Y no importa cuántos widgets utilices, con la vista Multi Widget nunca te perderás.

      *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

      Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (41) Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (42)

      Al pellizcar diagonalmente desde la pantalla de inicio se abre la vista Multi Widget, que es una representación en mosaico de los widgets instalados. Si pellizcas hacia fuera, volverás a la pantalla de inicio. Si deslizas el dedo hacia la izquierda, se abre la aplicación Calendario. Pellizcando en diagonal desde la aplicación se vuelve a la vista Multi Widget, por la que se puede desplazar y utilizar para navegar a otra aplicación, como Galaxy Wearable. Por último, si deslizas el dedo hacia arriba, volverás a la pantalla de inicio.

    Personaliza la Flex Window como más te guste

    Toma el control total de la Flex Window. Personaliza tu dispositivo con un montón de widgets, fondos de pantalla de vídeo, esferas de reloj, estilos y mucho más para que tu Galaxy Z Flip5 sea único. 15,17

    *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (43)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (44)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (45)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (46)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (47)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (48)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (49)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (50)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (51)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (52)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (53)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (54)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (55)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (56)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (57)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (58)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (59)

    Toma el control total de Flex Window. Personaliza tu dispositivo con un montón de widgets, fondos de pantalla de vídeo, esferas de reloj, estilos y mucho más. ¡Tu Galaxy Z Flip5 sera único! 16,17

    *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

    * La información mostrada en el widget de lista de Vigilancia de Finanzas tiene únicamente fines ilustrativos.

    Autonomía todo el día18 Escucha hasta 57 horas de música 7 Visualiza hasta 20 horas de vídeos 7

    Respaldada por un potente procesador, esta batería de 3.700 mAh (típica) es aún más eficiente, alargando la carga para que puedas seguir viendo películas o jugando hasta altas horas de la noche.19¿Necesitas más energía? Activa el modo de bajo consumo para que la diversión no pare.

    El procesador más potente en smartphones pleglables de Galaxy hasta el momento

    La nueva plataforma móvil Snapdragon® 8 Gen 2 te lleva a un nuevo nivel de potencia.20Disfruta de gráficos más fluidos, una IA más rápida y un mejor rendimiento de la batería.

    * Se muestran las mejoras de rendimiento de AP en comparación con Galaxy Z Flip4. El rendimiento real dependerá del entorno del usuario, las condiciones, el software y las aplicaciones preinstalados.

    Plataforma móvil Snapdragon® 8 Gen 2 Mobile

    25 %↑

    GPU

    20 %↑

    NPU

    17 %↑

    CPU

    * Se muestran las mejoras de rendimiento de AP en comparación con Galaxy Z Flip4. El rendimiento real dependerá del entorno del usuario, las condiciones y el software y las aplicaciones preinstalados.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (60)

    Una nueva forma de entender la flexibilidad — Panel Flex Mode8

    Aumenta el nivel de uso de Flex Mode con más controles al alcance de la mano.11Oculta o amplía el panel con solo pulsar un botón. Incluso puedes utilizar un touchpad y un cursor. Además, un panel de control de reproducción mejorado hace que navegar por la música y los archivos multimedia sea más fácil y preciso.21

    *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (61)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (62) Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (63)

    El vídeo se reproduce en Galaxy Z Flip5 en Flex mode. El panel del Flex mode se expande desde un botón de inicio y se utiliza para navegar por el vídeo con una línea de tiempo de reproducción y botones de control avanzados, como volumen y salto.

    Duradero para que no te pares

    Galaxy Z Flip5 sigue siendo resistente. Y más si cuentas con el seguro Samsung Care+. Llévatelo contigo sin preocuparte de cualquier desliz que pueda surgir por el camino.

    • Este plegable lleva un resistente armazón – Armor Aluminum.22

      Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (64)

    • Presentamos un nuevo y duradero diseño de doble raíl para nuestras bisagras plegables.

      Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (65)

    • Con Galaxy Z Flip5, un poco de humedad no empañará tu día.23

      Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (66)

    Añade el seguro Samsung Care+ para una protección sin preocupaciones24

    Más información

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (67)

    Galaxy Watch6. Comienza tu viaje hacia el mundo fitness

    Vincula Galaxy Z Flip5 con un dispositivo de la serie Galaxy Watch6 para obtener más información sobre tu rendimiento en el entrenamiento.25,26Observa cómo mejoras cada día con selfies en el gimnasio que lo demuestran, sin necesidad de espejos cuando usas Camera Controller.12,27Y con un dispositivo de la serie Galaxy Watch6 que vigila dónde has dejado el smartphone, podrás ir donde quieras.

    * Imagen simulada con fines ilustrativos. La UI real puede variar.

    Mejor juntos

    Serie Galaxy Watch6 25

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (68)

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (69)

    Diseñado con el planeta en mente

    Los Galaxy Z Flip5 y Fold5 incorporan una mayor variedad de materiales reciclados que sus generaciones anteriores, incluidos vidrio y aluminio reciclados antes del consumo y plásticos reciclados después del consumo, procedentes de redes de pesca desechadas, barriles de agua y botellas de PET.28,39

    * Imagen simulada con fines ilustrativos. La UI real puede variar.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (70)

    Cambia, mejora e intercambia. Todo es fácil

    Smart Switch

    Conoce la forma segura de trasladar lo que más te gustaba de tu antiguo dispositivo a tu nuevo Galaxy Z Flip5.29

    *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

    Más información

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (71)

    Entrega tu antiguo dispositivo y ahorra

    No retires todavía tu antiguo dispositivo al cajón de los trastos, ¡puedes conseguir un descuento para tu nuevo Galaxy Z Flip5!30

    *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

    Más información

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (72)

    Tu privacidad, garantizada

    Tu privacidad está bajo llave con Samsung Knox. Comparte lo que quieras. Protege todo lo demás.

    *Imagen simulada con fines ilustrativos. La UI real puede ser diferente.

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (73)

    Almacenamiento

    Almacena todo con las opciones de 256 GB y 512 GB.31

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (74)

    Comienza con 6 meses de Microsoft 365 Basic. Obtendrás100 GB de almacenamiento, además de correo electrónico seguro sin publicidad y acceso al soporte técnico de Microsoft.32

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (75)

    Mejora tu día con estos accesorios

    MÁS INFORMACIÓN

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (76)

    VER EN 360°

    Dale una vuelta

    *Colores exclusivos solo disponibles en Samsung.com.

    Preguntas frecuentes

    • El Galaxy Z Flip5 viene en cuatro colores estándar inspirados en la naturaleza: Mint, Graphite, Cream y Lavender.10Mint es un verde claro y aireado, Graphite es un negro clásico y elegante, Cream es un blanco cremoso y sutil, y Lavender es un lila suave y sutil.
      Además de estos cuatro colores clásicos, el Galaxy Z Flip5 también está disponible en cuatro colores exclusivos: Gray, Blue, Green y Yellow. Grey es un gris plateado y sofisticado, Blue es un azul profundo y llamativo, Green es un verde natural y alegre, y Yellow es un amarillo brillante y optimista. Estos colores exclusivos solo están disponibles en Samsung.com.10

      IR A COLORES

    • >Galaxy Z Flip5 utiliza una Flex Window de 3,4 pulgadas que admite más widgets, más personalización y la mejor experiencia selfie en un smartphone Galaxy hasta la fecha.6,13,21 La experiencia Flex Mode ha mejorado gracias a un Panel Flex Mode totalmente nuevo. También cuenta con una nueva bisagra Flex con un diseño de doble carril. 8,11En general, el Galaxy Z Flip5 es una actualización significativa del Galaxy Z Flip4. Si estás buscando un nuevo teléfono plegable, el Galaxy Z Flip5 es una excelente opción.

      COMPARAR DISPOSITIVOS

    • El Galaxy Z Flip5 tiene una cámara frontal de 10 MP con un campo de visión de 123 grados, más amplio que el campo de visión de 81 grados de la cámara frontal del Galaxy Z Flip4. Esto significa que puedes sacar selfies más grandes y sorprendentes con el Galaxy Z Flip5. Por otro lado, también tiene una cámara ultra gran angular de 12 MP y una cámara gran angular de 12 MP. Además, gracias a la combinación de un sistema hardware mejorado, la lente Super Clear Lens, el software, el VDIS adaptativo, se consiguen fotos, selfies y vídeos nítidos y llenos de color. Galaxy Z Flip5 tiene una increíble calidad de cámara. Sus cámaras son capaces de capturar fotos y videos nítidos, coloridos y detallados, incluso en condiciones de poca luz. 21

      IR A LA CÁMARA

    • La diferencia de tamaño entre el Galaxy Z Flip4 y el Galaxy Z Flip5 se debe a la nueva bisagra Flex con diseño de doble carril del Galaxy Z Flip5. Esta bisagra es más delgada y compacta que la bisagra del Galaxy Z Flip4, lo que permite que el Galaxy Z Flip5 sea más corto y delgado. El tamaño más pequeño del Galaxy Z Flip5 lo hace más fácil de llevar y transportar. También lo hace más cómodo de usar, ya que se adapta mejor a la mano.

      IR A PORTABILIDAD

    • La batería inteligente de 3.700 mAh (típica) de Galaxy Z Flip5 te permite escuchar música hasta 57 horas o ver 20 horas de reproducción de vídeo. 7,18,19 La batería también cuenta con una función de carga rápida de 25W, que te permite cargar el teléfono del 0 al 100% en aproximadamente una hora. Sin embargo, la duración real de la batería variará en función de tus hábitos de uso. Si eres un usuario intensivo, es posible que tengas que cargar el teléfono más a menudo. Sin

      IR A LA BATERÍA

    • Sí, el Galaxy Z Flip5 es resistente al agua. Tiene una clasificación IPX8,23lo que significa que puede soportar una inmersión de hasta 1,5 metros de profundidad durante 30 minutos. Esto significa que puedes usar el teléfono bajo la lluvia o en la piscina sin preocuparte de que se dañe.

      IR A DURABILIDAD

    • Galaxy Z Flip5 cuenta con una nueva bisagra, denominada Flex Hinge, que presenta un diseño duradero de doble raíl. Esta bisagra nueva y mejorada, es más duradera que la bisagra del Galaxy Z Flip4. Gracias a su diseño de doble raíl, el peso del teléfono se distribuye de manera uniforme, lo que lo hace menos propenso a doblarse o agrietarse.

      IR A DURABILIDAD

    • La pantalla principal FHD+ de 6,7 pulgadas de Galaxy Z Flip5 es una pantalla Dynamic AMOLED 2X adaptativa de 120 Hz. La pantalla Dynamic AMOLED 2X es una nueva tecnología de pantalla que ofrece negros más profundos, colores más vibrantes y un contraste más alto que las pantallas AMOLED tradicionales. La pantalla de 120 Hz también ofrece una animación más fluida y suave, lo que es ideal para ver videos, jugar juegos y navegar por la web. 34

      Además, la pantalla Super AMOLED de 3,4 pulgadas alcanza un brillo máximo de 1.600 nits.6,16 Este es un brillo muy alto para una pantalla de este tamaño, lo que significa que será fácil de ver incluso en condiciones de mucha luz. El Galaxy Z Flip5 también es el primer teléfono de la serie Galaxy Z Flip con sensor de proximidad y la primera pantalla externa de Galaxy Z Flip compatible con HBM.

    • La Flex Window del Galaxy Z Flip5 con One UI, es una pantalla pequeña que se encuentra en la parte exterior del teléfono. Se puede utilizar para ver notificaciones, responder mensajes, controlar la música y mucho más. Para personalizar la Flex Window tendrás que ir a la “Configuración” y en la pantalla “Personalizar”, podrás añadir y quitar widgets, esferas de reloj y otras aplicaciones de la Flex Window.15
      También puedes cambiar el tamaño de la Flex Window y el modo en el que se muestra. Podrás añadir las aplicaciones que uses con frecuencia, como la aplicación de mensajes o la aplicación de correo electrónico. Con Flex Window tendrás la libertad de hacer tu propia ventana personalizada para ver notificaciones, controlar la música y mucho más.

      IR A FLEX WINDOW

    • Los colores exclusivos de Samsung se pueden encontrar solo aquí. Entra y disfruta de las ventajas que te ofrece comprar los modelos exclusivos de Samsung.

    • Samsung Galaxy Z Flip 5 tiene una pantalla interior Dynamic AMOLED 2X de 6,7 pulgadas con una resolución de 2640 x 1080 píxeles y una frecuencia de actualización de 120 Hz. La pantalla exterior es un Super AMOLED de 3,4 pulgadas con una resolución de 720 x 748 píxeles y una frecuencia de actualización de 60 Hz.
      La pantalla interior del Galaxy Z Flip 5 ofrece alta calidad, colores vivos y negros profundos. Además, la frecuencia de actualización de 120 Hz hace que la pantalla sea muy fluida, lo que es ideal para ver vídeos, jugar o navegar por Internet. La pantalla exterior es más pequeña, pero es útil para ver notificaciones, responder a mensajes de texto o sacar selfies.

    • El Samsung Galaxy Z Flip 5 tiene 8 GB de RAM. Con esta memoria podrás ejecutar múltiples aplicaciones y juegos sin problemas. La RAM también ayuda a que el teléfono arranque más rápido y se carguen las aplicaciones más rápido.

    • El Samsung Galaxy Z Flip 5 viene con 256 GB o 512 GB de almacenamiento interno. Este almacenamiento es más que suficiente para guardar multitud de fotos, vídeos, música, aplicaciones y otros archivos.

    • En contraste con ediciones previas, los usuarios ya no tienen la opción de emplear un S Pen convencional, que normalmente acompañaba a la serie Note de Samsung en este smartphone. En su lugar, se requiere el nuevo S Pen diseñado específicamente para el Galaxy Z Fold 5, el cual se integra en una de las fundas opcionales disponibles.

    • El Galaxy Z Flip 5 destaca por su diseño innovador y plegable que ofrece una experiencia única en términos de portabilidad y funcionalidad. Además, su pantalla AMOLED ofrece colores vibrantes y una alta calidad visual. El dispositivo también resalta por su potente rendimiento, gracias a un procesador de última generación que permite ejecutar aplicaciones y tareas con fluidez. Otra característica distintiva es su cámara, que ofrece la versatilidad de tomar fotos en diversas situaciones, y su batería de larga duración, que asegura un uso continuo a lo largo del día.

    • ¡Por supuesto! El Samsung Galaxy Z Flip 5 cuenta con una pantalla flexible que es una de sus características más destacadas. Esta pantalla utiliza una tecnología innovadora que permite doblar el dispositivo por la mitad, haciéndolo compacto y fácil de transportar. La pantalla flexible usa un vidrio ultradelgado que ofrece durabilidad y calidad visual, para que tengas una experiencia única en términos de diseño y funcionalidad. Al plegar el dispositivo, puedes disfrutar de una pantalla más pequeña en la parte frontal para notificaciones y tareas rápidas, y al desplegarlo, obtendrás una pantalla más amplia para navegar, ver contenido y realizar diversas actividades con comodidad.

    • Si, dispone de carga inalámbrica, para utilizarla en el Galaxy Z Flip 5, simplemente colócalo sobre una base de carga inalámbrica certificada por Qi, y el proceso de carga se iniciará de forma automática. Si optas por la carga por cable, conecta el cable que viene con el smartphone a una toma de corriente y al dispositivo, y el proceso de carga comenzará.
      Con estas opciones de carga versátiles, el Galaxy Z Flip 5 no solo te ofrece conveniencia en la carga inalámbrica, sino también una velocidad excepcional cuando optas por la carga por cable. En conjunto, estas características garantizan que puedas mantener tu dispositivo cargado y listo para su uso en todo momento.

    • El Galaxy Z Flip 5 funciona con el sistema operativo Android 13, junto con la capa de personalización One UI de Samsung. Esto significa que los usuarios pueden disfrutar de la amplia gama de funciones y aplicaciones ofrecidas por el ecosistema de Android, además de las características exclusivas que aporta la interfaz personalizada de Samsung. Al contar con Android como sistema operativo base, el Galaxy Z Flip te da acceso a una experiencia de usuario intuitiva, actualizaciones de seguridad y mejoras de rendimiento periódicas, así como la posibilidad de personalizar el dispositivo según las preferencias individuales.

    • El Galaxy Z Flip 5 presenta una pantalla principal de 6.7 pulgadas cuando está completamente desplegado. Esta pantalla utiliza tecnología AMOLED que te hará disfrutar de colores vibrantes y una alta calidad visual. Además, el Galaxy Z Flip 5 también cuenta con una pantalla exterior más pequeña que tiene un tamaño de 1.9 pulgadas. Esta pantalla externa es ideal para ver notificaciones, la hora, mensajes rápidos y otras funciones básicas sin necesidad de abrir el dispositivo por completo.

    • En el evento Galaxy Unpacked celebrado en Seúl el 26 de julio de 2023, Samsung dio a conocer su último lanzamiento, el Z Flip 5. Aquí no solo presentó el dispositivo plegable, sino también otros productos destacados como el Galaxy Z Fold 5, Galaxy Watch 6 y Tab S9. Este modelo tuvo un período de precompra y la fecha oficial de su lanzamiento fue el 11 de agosto de 2023. Desde ese día, el Z Flip 5 está disponible en tiendas y online, permitiendo que los usuarios disfruten de su tecnología plegable y características excepcionales.

    • Hay dos formas de apagar el Samsung Z Flip 5. Por un lado, mantén presionado el botón lateral hasta que aparezca el menú de apagado y toca “Apagar”. Otra opción es deslizar el dedo hacia abajo desde la parte superior de la pantalla para abrir el panel de notificaciones. Luego, toca el icono de energía y toca “Apagar”. Además, si tu Samsung Z Flip 5 no responde, puedes forzar el reinicio del teléfono. Para hacer esto, mantén presionados los botones laterales y de bajar volumen durante unos segundos. De esta forma, el teléfono se reiniciará y se encenderá nuevamente.

    • Hacer una captura de pantalla en el Samsung Z Flip 5 es sencillo y se puede lograr siguiendo estos pasos: mantén presionados el botón lateral y el botón de bajar volumen al mismo tiempo durante unos segundos. La captura de pantalla se guardará automáticamente en la galería. Otra forma de hacerlo es deslizando el dedo desde la parte inferior de la pantalla hacia arriba y manteniendo presionado el botón de inicio. Luego, toca el ícono de la captura de pantalla.

    IR A GALAXY Z FOLD5

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (77)

    Descubre cómo conseguir tu Galaxy Z Flip5

    COMPRAR AHORA RESÉRVALO YA Comprar DÓNDE COMPRAR

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (78)

    ABRIR EN REALIDAD AUMENTADA

    La vida se abre con Galaxy

    DESCUBRE MÁS

    Galaxy Z Flip5 | Especificaciones y Cámara | Samsung España (82)

    Despliega toda una nueva forma de hacer negocios

    IR A SAMSUNG BUSINESS

    * Todas las especificaciones y descripciones proporcionadas en este documento podrían diferir de las especificaciones y descripciones reales del producto. Samsung se reserva el derecho a realizar cambios en este documento y en el producto descrito en el mismo en cualquier momento, sin obligación por parte de Samsung de notificar dicho cambio. Toda información sobre funcionalidad, características, especificaciones, interfaz gráfica de usuario y cualquier otra información sobre el producto proporcionada en este documento, incluyendo, entre otros datos, las ventajas, el diseño, el precio, los componentes, el rendimiento, la disponibilidad y las capacidades del producto, están sujetas a cambio sin previo aviso ni obligación. Los contenidos que aparecen en pantalla son imágenes simuladas cuyo fin es meramente demostrativo.

    *Es posible que se requiera el inicio de sesión en Samsung Account para usar ciertas funciones de Samsung AI.

    *Samsung no promete, asegura ni garantiza la exactitud, integridad o fiabilidad de los resultados proporcionados por las funciones de AI.

    *Las funciones de Galaxy AI se proporcionarán de forma gratuita hasta finales de 2025 en los dispositivos Samsung Galaxy compatibles. Pueden aplicarse términos diferentes para las funciones de AI proporcionadas por terceros.

    1. Secuencias acortadas y simuladas. Resultados solo con fines ilustrativos. Los resultados pueden variar dependiendo de las coincidencias visuales. Requiere conexión a Internet. Es posible que los usuarios tengan que actualizar Android a la última versión. La funcionalidad del producto puede depender de tu aplicación y de la configuración del dispositivo. Algunas funciones pueden no ser compatibles con ciertas aplicaciones. La disponibilidad del servicio varía según el país y el idioma. No se garantiza la exactitud de los resultados.
    2. Live Translate requiere una conexión de red e iniciar sesión en Samsung Account. Live Translate solo está disponible en la aplicación preinstalada Samsung Phone. Ciertos idiomas pueden requerir la descarga del paquete correspondiente. El servicio puede variar según el idioma. No se garantiza la exactitud de los resultados.
    3. La función de traducción en Chat Assist puede requerir el inicio de sesión en la Samsung Account. Es posible que algunas aplicaciones de chat no admitan esta función. Ciertos idiomas pueden requerir la descarga del paquete correspondiente. El servicio puede variar según el idioma. Esta función se activa cuando se detecta un idioma traducible. No se garantiza la exactitud de los resultados.
    4. Intérprete necesita que inicies sesión en tu Samsung Account. Ciertos idiomas pueden requerir la descarga del paquete correspondiente. El servicio puede variar según el idioma. No se garantiza la exactitud de los resultados. La disponibilidad y funciones compatibles puede variar según el país, la región o el operador. La disponibilidad de idiomas compatibles puede variar.
    5. Generative Edit requiere una conexión de red e iniciar sesión en Samsung Account. La edición con Generative Edit da como resultado una foto redimensionada de hasta 12MP. Una marca de agua visible se superpone en la imagen al guardarla para indicar que la imagen ha sido generada por AI. La precisión y fiabilidad de la imagen generada no está garantizada.
    6. Diagonalmente, la pantalla externa de Galaxy Z Flip5 mide 3,4” en su forma rectangular completa; el área de visión real equivale aprox. al 95 % del área rectangular completa debido a las esquinas redondeadas y una abertura menor.
    7. Basado en las condiciones de las pruebas de laboratorio internas de Samsung con la versión de prelanzamiento de un modelo determinado conectado a un auricular a través de Bluetooth con la configuración predeterminada a través de LTE. Estimado contra la capacidad de la batería y la corriente medida sobre el consumo de energía de la batería durante la reproducción de vídeo (resolución de archivo de vídeo 720p, guardado en el dispositivo) y reproducción de audio (archivo mp3, 192 kbps, guardado en el dispositivo con la pantalla LCD apagada), respectivamente.El tiempo real de reproducción de vídeo y audio varía según la conexión de red, la configuración, el formato de archivo, el brillo de la pantalla, el estado de la batería y muchos otros factores.
    8. El Panel Flex Model debe estar habilitado en la configuración del dispositivo para poder usarse con aplicaciones instaladas en la bandeja de aplicaciones, incluidas aplicaciones de terceros. La lista de aplicaciones compatibles se puede encontrar en la configuración del Panel Flex Mode en el menú de configuración de tu dispositivo.
    9. Este dispositivo contiene imanes. Mantenlo alejado de tarjetas de crédito, dispositivos médicos implantados y otros dispositivos a los que puedan afectar los imanes. En el caso de dispositivos médicos, mantenlo a más de 15 cm de distancia. Deja de utilizar tu dispositivo si sospechas cualquier interferencia con tu dispositivo médico y consulta a tu médico o al fabricante del dispositivo médico.
    10. Los colores disponibles pueden variar según el país, la región o el operador.
    11. Flex Mode es compatible con ángulos de75°y 115°. Es posible que algunas aplicaciones no se admitan en Flex Mode.
    12. Camera Controller es compatible con Galaxy Watch4 y otros modelos Galaxy Watchlanzados posteriormente cuando se emparejan con Galaxy S9 Series y posteriores. La función de zoom de Camera Controller está disponible en la serie Galaxy Watch4 y otros modelos deGalaxy Watchlanzados posteriormente cuando se emparejan con un smartphone Galaxy SSeries, Galaxy Note Seriesy Galaxy Z Seriescon One UI 5.1 o superior compatibles con Camera Controller.
    13. La Snapdragon® 8 Gen 2 Mobile Platform for Galaxy cuenta con un bloque de procesador de señal de imagen (ISP) dedicado para mejorar el video con poca luz.
    14. Galaxy Z Flip5 admite la grabación de vídeo en 4K. Para ver en resolución 4K, los vídeos deben reproducirse en un dispositivo con resolución de vídeo 4K.
    15. Ciertas aplicaciones pueden no ser compatibles con widgets Flex Window.
    16. La pantalla principal FHD+ de 6,7 pulgadas de Galaxy Z Flip5 es una pantalla Dynamic AMOLED 2X adaptativa de 120 Hz.34La pantalla Super AMOLED de 3,4 pulgadas alcanza un brillo máximo de 1.600 nits.6,18Es el primero de la serie Galaxy Z Flip con sensor de proximidad y la primera pantalla externa de Galaxy Z Flip compatible con HBM.
    17. La disponibilidad de la función puede variar según el país o región.
    18. La autonomía de la batería varía en función del entorno de red, las funciones y aplicaciones utilizadas, la frecuencia de llamadas y mensajes, el número de veces que se ha cargado y muchos otros factores. Estimación basada en el perfil de uso medio recopilado por UX Connect Research. Evaluado de forma independiente por UX Connect Research entre el 19.06.2023 - 29.06.2023 en EE. UU. con versiones preliminares de SM-F946 y SM-F731 con la configuración predeterminada utilizando redes LTE y 5G Sub6.
    19. Valor típico probado en condiciones de laboratorio de terceros. El valor típico es el valor medio estimado teniendo en cuenta la desviación en la capacidad de la batería entre las muestras de batería probadas según la norma IEC 61960. La capacidad nominal es de 4.270 mAh para Galaxy Z Fold5 y 3.591 mAh para Galaxy Z Flip5. La autonomía de la batería puede variar en función del entorno de red, los patrones de uso y otros factores.
    20. Snapdragon es un producto de Qualcomm Technologies, Inc. y/o sus filiales. Snapdragon es una marca comercial o marca registrada de Qualcomm Incorporated.
    21. En comparación con modelos anteriores.
    22. El marco no incluye las teclas de volumen o laterales, ni la bandeja SIM.
    23. Basado en una prueba de inmersión en condiciones de 1,5 metros bajo agua dulce durante un máximo de 30 minutos. No se recomienda su uso en playas o piscinas. La resistencia al agua del dispositivo no es permanente y puede disminuir con el tiempo debido al uso y desgaste habituales. La calificación IPX8 no es resistente al polvo.
    24. La cobertura de Samsung Care+ puede variar según el país. Pueden aplicarse copagos.
    25. Los dispositivos de la serie Galaxy Watch6 se venden por separado.
    26. La disponibilidad del producto y de las funciones puede variar según el país o la región. Galaxy Watch6 debe estar emparejado con Samsung Galaxy con Android 10.0, un mínimo de 1,5GB de RAM y la versión 6.24 o posterior de la aplicación Samsung Health. El análisis de impedancia bioelécrica está ideado únicamente para usos de fitness y bienestar general. No está indicado para la detección, el diagnóstico o el tratamiento. Las medidas son solo para referencia personal. Consulta con un profesional médico para obtener asesoramiento.
    27. La disponibilidad puede variar según el mercado, el operador, el modelo y el smartphone emparejado compatible con Camera Controller. La actualización estará disponible inicialmente en las versiones Bluetooth y se extenderá a las versiones LTE más adelante.
    28. Galaxy Z Flip5: 15 componentes del dispositivo con un mínimo del 10% de material plástico reciclado después del consumo o aluminio reciclado antes del consumo, o Corning® Gorilla® Glass Victus® 2 con una media del 22% de contenido reciclado antes del consumo. Estos componentes incluyen el Soporte de la Tecla de Volumen, Módulo de Altavoces (Superior e Inferior), Parte Superior Trasera, Tapa del Conector de la Pantalla, Soporte del Cable RF FPCB, Parte Media Trasera, Parte Frontal de la Carcasa (Principal), Parte Frontal de la Carcasa (Secundaria), Tecla de Volumen, Soporte de la Tecla Dactilar, Decoración del Auricular, Soporte de Conector a Conector, Bandeja SIM, Ventana Secundaria, Cristal Trasero. (Galaxy Z Flip4: 6 componentes del dispositivo). Galaxy Z Fold5: 15 componentes del dispositivo con un mínimo del 10% de material plástico reciclado después del consumo o aluminio reciclado antes del consumo, o Corning® Gorilla® Glass Victus® 2 con una media del 22% de cristal reciclado antes del consumo. Estos componentes incluyen el Soporte de la Tecla Volumen FPCB, Módulo del Altavoz Superior (Superior e Inferior), Módulo del Altavoz Inferior (Superior e Inferior), Conector de la Cover Display, Parte Frontal de la Carcasa (Principal), Parte Frontal de la Carcasa (Secundaria), Antena (Secundaria), Antena (Principal), Tecla de Volumen, Soporte de la Tecla Dactilar, Bandeja SIM, Soporte de Conector a Conector, Decoración de la Cámara (Superior e Inferior), Ventana Secundaria, Cristal Trasero. (Galaxy Z Fold4: 6 componentes del dispositivo). Las medidas anteriores se basan en el peso.
    29. Las transferencias por cable requieren al menos Android™ 4.3. Si no dispones del cable/conector USB necesario para una transferencia por cable a Galaxy, también puedes utilizar las opciones de transferencia inalámbrica. iOS 5 o Android OS anteriores deben utilizar las opciones de transferencia inalámbrica. Abre Smart Switch Mobile en “Ajustes” en tu nuevo teléfono Galaxy o descarga la aplicación SmartSwitch Mobile desde Galaxy Store. Los datos y contenidos disponibles para la transferencia pueden variar según el sistema operativo. Se hace una copia de los datos del dispositivo Galaxy y se restauran en el dispositivo de almacenamiento. Utiliza la copia de seguridad en PC a través de Smart Switch PC o la función de copia de seguridad en tarjeta SD de Smart Switch Mobile.
    30. Se aplican las condiciones generales. La disponibilidad puede variar según el país o la región. Comprueba los requisitos para canjear el dispositivo en la página de trade-in.
    31. Las opciones de disponibilidad y almacenamiento pueden variar según el país o la región. La disponibilidad real del almacenamiento puede variar en función del software preinstalado.
    32. Prueba de seis meses de Microsoft 365 Basic disponible para los consumidores con teléfonos Samsung compatibles con OneDrive-Gallery Sync (los teléfonos de la red de Verizon en los EE.UU. no son elegibles). Después de la prueba de 6 meses, tu suscripción se renovará automáticamente en una suscripción mensual pagada al precio actual, sujeta a los términos y condiciones de Google Play. Cancela en cualquier momento para dejar de recibir futuros cargos. Oferta no disponible para los suscriptores Premium existentes de Microsoft 365 o OneDrive (incluidos los periodos de prueba), clientes que previamente canjearon un bono de almacenamiento de Office, OneDrive u otra oferta de prueba gratuita de Microsoft, clientes con una cuenta OneDrive bloqueada, o antiguos suscriptores premium de Microsoft 365 o OneDrive/Microsoft Storage que cancelaron en los últimos 90 días. Una oferta por cliente y por dispositivo. La oferta no se puede transferir ni combinar con otras ofertas de Microsoft, y está disponible entre el 15 de marzo de 2023 y el 31 de diciembre de 2023. La oferta debe canjearse durante este período en Google Play Store y los participantes deben sincronizar su Gallery con OneDrive para comenzar la prueba de 6 meses. La oferta requiere una cuenta de Samsung y Microsoft. Consulta https://www.microsoft.com/onedrive-samsung-offer para obtener más información.
    33. Espesor medido desde el panel de vidrio superior hasta el panel de vidrio inferior.
    34. Medida en diagonal, la pantalla de Galaxy Z Flip5 tiene un tamaño de 6,7” como un rectángulo completo y de 6,6” teniendo en cuenta las esquinas redondeadas. El área de visión real es menor debido a las esquinas redondeadas y al orificio de la cámara.
    35. La UX/UI real puede variar.
    36. Los colores reales de la funda Flipsuit, las opciones de tarjeta de colaboración y el contenido correspondiente mostrado en la pantalla pueden variar. Se muestra una unidad de contenido por tarjeta.
    37. Los accesorios colaboradores con nuestra marca incluyen una tarjeta de colaboración de marca por caja.
    38. El contenido de la tarjeta de colaboración Flipsuit Case debe descargarse por separado antes de su uso. Se requiere conexión de red para la descarga.
    39. Los tipos de materiales reciclados incluyen PA reciclada después del consumo procedente de redes de pesca desechadas, PBT reciclado después del consumo procedente de botellas de PET desechadas, PC reciclado después del consumo procedente de barriles de agua y aluminio reciclado después del consumo procedente de chatarra desechada generada como subproducto durante la fabricación. La chatarra se vuelve a fundir, se filtra para eliminar impurezas y se recicla para fabricar piezas dentro del proceso de fabricación de Samsung. También hay contenido reciclado anterior al consumo procedente de residuos de vidrio desechado generados como subproducto de la fabricación de vidrio. Este residuo de vidrio se tritura hasta convertirlo en pequeños trozos y luego se utiliza como componente en el proceso de fabricación del vidrio Corning® Gorilla® Glass Victus® 2.

    ')); } } }; 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 | Especificaciones y Cámara | Samsung España (2024)
    Top Articles
    Latest Posts
    Article information

    Author: Catherine Tremblay

    Last Updated:

    Views: 5424

    Rating: 4.7 / 5 (67 voted)

    Reviews: 90% of readers found this page helpful

    Author information

    Name: Catherine Tremblay

    Birthday: 1999-09-23

    Address: Suite 461 73643 Sherril Loaf, Dickinsonland, AZ 47941-2379

    Phone: +2678139151039

    Job: International Administration Supervisor

    Hobby: Dowsing, Snowboarding, Rowing, Beekeeping, Calligraphy, Shooting, Air sports

    Introduction: My name is Catherine Tremblay, I am a precious, perfect, tasty, enthusiastic, inexpensive, vast, kind person who loves writing and wants to share my knowledge and understanding with you.