Samsung Galaxy Z Flip5 | Samsung Brasil (2024)

Galaxy Z Flip5

  • ESPECIFICAÇÕES
  • SUPORTE
  • AVALIAÇÕES

Comprar Agora

  • Destaques
  • Compare
  • Acessórios
  • ESPECIFICAÇÕES
  • SUPORTE
  • AVALIAÇÕES
Samsung Galaxy Z Flip5 | Samsung Brasil (1)

COMPRAR AGORA REGISTRE-SE AGORA COMPRAR AGORA ONDE COMPRAR

Samsung Galaxy Z Flip5 | Samsung Brasil (2)
  • *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.
  • DESIGN
  • CÂMERA
  • Tela Externa
  • BATERIA
  • MODO FLEX

O Galaxy AI está aqui

Bem-vindo à era da IA móvel. Com o Z Flip5 em suas mãos, você pode liberar níveis totalmente novos de criatividade, produtividade e potencial, começando com o dispositivo mais importante da sua vida: seu celular.

Incrível, simples assim.

CIRCULE PARA PESQUISAR

Circule, encontre. Simples assim

Pesquise como nunca com o Circule para Pesquisar1 : Basta circular um objeto para acessar os resultados da pesquisa do Google. Não é necessário digitar.

*Imagens simuladas para fins ilustrativos. A interface de usuário real pode ser diferente.

Samsung Galaxy Z Flip5 | Samsung Brasil (3)

Samsung Galaxy Z Flip5 | Samsung Brasil (4)

Uma página de blog é aberta em um aplicativo de navegador da web. O botão de início é pressionado e segurado. Uma sobreposição do Google aparece sobre o aplicativo. O texto na página do blog é circulado: Tornado Potato. Os resultados da pesquisa de tornado potato aparecem em um pop-up sobre o aplicativo. O pop-up é arrastado para cima para uma tela cheia de resultados de pesquisa do Google.

LIVE TRANSLATE

A maneira mais fácil de se comunicar

A IA ajuda você a se comunicar em outro idioma enquanto você fala ao telefone.2 E isso funciona até mesmo em mensagens.3

*Imagens simuladas para fins ilustrativos. A interface de usuário real pode ser diferente.

Samsung Galaxy Z Flip5 | Samsung Brasil (5)

Um telefonema é traduzido em tempo real. O diálogo é mostrado na tela como uma conversa de texto em dois idiomas.

INTERPRETER

Um intérprete no seu bolso

Quer pedir uma recomendação a um morador da região? Não se preocupe! Você tem um intérprete no bolso. E pode usá-lo até mesmo no modo avião sem Wi-Fi.4

*Imagens simuladas para fins ilustrativos. A interface de usuário real pode ser diferente.

Samsung Galaxy Z Flip5 | Samsung Brasil (6)

No aplicativo Interpreter, uma conversa em dois idiomas é transcrita e traduzida em tempo real.

PHOTO ASSIST

Redimensione, retoque. Simples assim

Descubra a magia da edição de fotos com tecnologia de IA.5 GO Generative Edit pode preencher fundos e fazer com que objetos indesejados desapareçam como mágica.

*Imagens simuladas para fins ilustrativos. A interface de usuário real pode ser diferente.

Samsung Galaxy Z Flip5 | Samsung Brasil (7)

Uma foto está sendo editada. O elemento principal é selecionado, redimensionado e movido para outro local na foto. Em seguida, as áreas ausentes são preenchidas.

    Try Galaxy no seu celular Escaneie este QR code ou acesse trygalaxy.com

    Samsung Galaxy Z Flip5 | Samsung Brasil (8)

    Samsung Galaxy Z Flip5 | Samsung Brasil (9) Samsung Galaxy Z Flip5 | Samsung Brasil (10)

    Imagem de perto de um Galaxy Z Flip5 dobrado visto da Tela Externa e da moldura inferior. Diminuindo o zoom, o dispositivo se abre para ficar como uma cabana.

    O melhor. Premium e compacto.

    É lindo e cabe na palma da sua mão. O Galaxy Z Flip5 estreia uma Tela Externa maior, feita para você se expressar.

    *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.

    Cabe em qualquer bolsa ou bolso

    Fácil e prático: é só dobrar e guardar. Um celular compacto e fino, para você carregar nas mãos uma tela dobrável que cabe até nos menores bolsos e bolsas.9

    *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.

    Samsung Galaxy Z Flip5 | Samsung Brasil (11)

    Opções de cores pensadas para você.

    Encontre seu estilo em um mundo de cores futuristas: Verde Claro, Grafite, Creme e Rosa.10

    *Imagens simuladas para fins ilustrativos.

    Verde Claro Grafite Creme Rosa

    Dois dispositivos Galaxy Z Flip5 Verde Claro. Um está dobrado como uma cabana e visto do painel posterior; o outro está dobrado e parcialmente coberto pelo primeiro dispositivo. Uma imagem de perto da Câmera Traseira. Em seguida, uma imagem de perto da nova dobradiça, em peça única.

    Samsung Galaxy Z Flip5 | Samsung Brasil (12)

    Dois dispositivos Galaxy Z Flip5 Grafite. Um está dobrado como uma cabana e visto do painel posterior; o outro está dobrado e parcialmente coberto pelo primeiro dispositivo. Uma imagem de perto da Câmera Traseira. Em seguida, uma imagem de perto da nova dobradiça, em peça única.

    Samsung Galaxy Z Flip5 | Samsung Brasil (13)

    Dois dispositivos Galaxy Z Flip5 Creme. Um está dobrado como uma cabana e visto do painel posterior; o outro está dobrado e parcialmente coberto pelo primeiro dispositivo. Uma imagem de perto da Câmera Traseira. Em seguida, uma imagem de perto da nova dobradiça, em peça única.

    Samsung Galaxy Z Flip5 | Samsung Brasil (14)

    Dois dispositivos Galaxy Z Flip5 Rosa. Um está dobrado como uma cabana e visto do painel posterior; o outro está dobrado e parcialmente coberto pelo primeiro dispositivo. Uma imagem de perto da Câmera Traseira. Em seguida, uma imagem de perto da nova dobradiça, em peça única.

    Samsung Galaxy Z Flip5 | Samsung Brasil (15)

    Samsung Galaxy Z Flip5 | Samsung Brasil (16)

    Samsung Galaxy Z Flip5 | Samsung Brasil (17)

    Samsung Galaxy Z Flip5 | Samsung Brasil (18)

    Samsung Galaxy Z Flip5 | Samsung Brasil (19)

    Samsung Galaxy Z Flip5 | Samsung Brasil (20)

    Samsung Galaxy Z Flip5 | Samsung Brasil (21)

    Samsung Galaxy Z Flip5 | Samsung Brasil (22)

    Samsung Galaxy Z Flip5 | Samsung Brasil (23)

    Cores exclusivas on-line

    Adicione um toque extra de personalidade ao seu dispositivo com cores exclusivas que você só encontra em Samsung.com: Cinza, Azul, Verde e Amarelo.10

    *Imagens simuladas para fins ilustrativos.

    Apenas on-line

    Cinza Azul Verde Amarelo

    Samsung Galaxy Z Flip5 | Samsung Brasil (24)

    Samsung Galaxy Z Flip5 | Samsung Brasil (25)

    Samsung Galaxy Z Flip5 | Samsung Brasil (26)

    Samsung Galaxy Z Flip5 | Samsung Brasil (27)

    Melhores juntos

    Capa Flipsuit11,12,13,14

    Saiba mais

    Samsung Galaxy Z Flip5 | Samsung Brasil (28)

    Melhores juntos

    Capa Gadget Transparente

    Saiba mais

    Samsung Galaxy Z Flip5 | Samsung Brasil (29)

    Você vai tirar as melhores selfies.

    Samsung Galaxy Z Flip5 | Samsung Brasil (30)

    Capturado com Galaxy Z Flip5#withGalaxy

    Capture selfies impressionantes com a Câmera Flex e torne de qualquer ângulo o seu melhor. Não importa qual câmera você escolha, o Galaxy Z Flip5 torna tudo mais fácil. Agora tudo o que você precisa fazer é dominar a arte de posar.

    Selfies até quando o celular estiver fechado

    Inicie o aplicativo da câmera com o atalho da Tela Externa para capturar o momento. Tire fotos, ajuste as configurações e tire fotos novamente, tudo sem precisar abrir o celular.

    *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.

    *Esta foto foi retocada para corrigir as cores.

    Samsung Galaxy Z Flip5 | Samsung Brasil (31)

    Capturado com Galaxy Z Flip5#withGalaxy

    Selfies com as mãos livres.

    Use o Modo Flex e enquadre seus amigos com uma selfie de grupo mais ampla.15 Use o Controle de Câmera no seu Galaxy Watch6 e surpreenda o mundo com selfies ampliadas.16 É o melhor flex.

    *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.

    Samsung Galaxy Z Flip5 | Samsung Brasil (32)

    Capturado com Galaxy Z Flip5#withGalaxy

    Capture a noite com o Nightography13

    A Câmera Principal do Galaxy Z Flip5 traz ainda mais da cena para o quadro. Você nem precisa abrir o celular, basta deslizar o ícone da câmera na Tela Externa e começar a gravar com a Câmera Flex. E deixe a câmera rodando, porque com o vídeo 4K Nightography a qualidade não precisa ir embora junto com a luz do sol.14

    *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.

    *O nightography pode variar conforme condições de disparo, incluindo múltiplos objetos, condições de baixa luminosidade, falta de foco ou objetos em movimento.

    Samsung Galaxy Z Flip5 | Samsung Brasil (33) Samsung Galaxy Z Flip5 | Samsung Brasil (34)

    Uma mulher grava um vídeo selfie à noite com dois amigos atrás dela. A grande angular coloca todos no quadro. Os detalhes são nítidos, as cores são quentes e o fundo é claro.

    Capturado com Galaxy Z Flip5#withGalaxy

    Selfies com a câmera frontal. Uma perfeição

    Inove as suas selfies com a câmera frontal. Um novo jeito de tirar foto. A Lente Super Clear mantém as fotos nítidas e até reduz o reflexo de luzes brilhantes atrás de você.

    Samsung Galaxy Z Flip5 | Samsung Brasil (35)

    Samsung Galaxy Z Flip5 | Samsung Brasil (36) Samsung Galaxy Z Flip5 | Samsung Brasil (37)

    Três dispositivos Galaxy Z Flip5 apresentam diferentes interfaces da Tela Externa personalizadas de forma colorida.

    Mais espaço para personalidade com uma Tela Externa maior.

    *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.

    • Responda a mensagens, faça chamadas, verifique a previsão do tempo e até abra sua carteira, tudo em uma Tela Externa grande e brilhante.6,19,20 Agora com mais mostradores de relógio e a navegação por gestos que você conhece em todo o ecossistema Galaxy.

      *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.

      Samsung Galaxy Z Flip5 | Samsung Brasil (38) Samsung Galaxy Z Flip5 | Samsung Brasil (39)

      Navegação por gestos é usada para acessar vários aplicativos e widgets na Tela Externa. Na tela inicial, deslizar para a direita abre as Notificações. Puxar para baixo revela o Quick Panel. Voltando à tela inicial, deslizar para a esquerda alterna entre os widgets, como o Samsung Health Steps e um calendário com recursos de menu interativos. Por fim, deslizar para cima na tela inicial abre o Samsung Wallet.

    • E não importa quantos widgets adicionar em sua Tela Externa, você nunca se perderá com o Multi Widget View.

      *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.

      Samsung Galaxy Z Flip5 | Samsung Brasil (40) Samsung Galaxy Z Flip5 | Samsung Brasil (41)

      O movimento de pinça para dentro na tela inicial abre o Multi Widget View, que é uma representação lado a lado dos widgets instalados. O movimento de pinça para fora retorna à tela inicial. Deslizar para a esquerda abre o widget Calendário. O movimento de pinça para dentro no aplicativo retorna ao Multi Widget View, que pode ser rolado e usado para navegar para outro widget, como o Galaxy Buds2 Pro. Por fim, deslizar para cima retorna à tela inicial.

    Personalize a Tela Externa do seu jeito

    Assuma o controle total da Tela Externa. Personalize seu dispositivo com vários widgets, papéis de parede de vídeo, mostradores de relógio, estilos e muito mais para tornar seu Galaxy Z Flip5 exclusivamente seu.19,21

    *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.

    Samsung Galaxy Z Flip5 | Samsung Brasil (42)

    Samsung Galaxy Z Flip5 | Samsung Brasil (43)

    Samsung Galaxy Z Flip5 | Samsung Brasil (44)

    Samsung Galaxy Z Flip5 | Samsung Brasil (45)

    Samsung Galaxy Z Flip5 | Samsung Brasil (46)

    Samsung Galaxy Z Flip5 | Samsung Brasil (47)

    Samsung Galaxy Z Flip5 | Samsung Brasil (48)

    Samsung Galaxy Z Flip5 | Samsung Brasil (49)

    Samsung Galaxy Z Flip5 | Samsung Brasil (50)

    Samsung Galaxy Z Flip5 | Samsung Brasil (51)

    Samsung Galaxy Z Flip5 | Samsung Brasil (52)

    Samsung Galaxy Z Flip5 | Samsung Brasil (53)

    Samsung Galaxy Z Flip5 | Samsung Brasil (54)

    Samsung Galaxy Z Flip5 | Samsung Brasil (55)

    Samsung Galaxy Z Flip5 | Samsung Brasil (56)

    Samsung Galaxy Z Flip5 | Samsung Brasil (57)

    Samsung Galaxy Z Flip5 | Samsung Brasil (58)

    Assuma o controle total da Tela Flex. Personalize seu dispositivo com vários widgets, papéis de parede de vídeo, mostradores de relógio, estilos e muito mais para tornar seu Galaxy Z Flip5 exclusivamente seu.19,21

    *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.

    *As informações exibidas no widget Lista de observação financeira são meramente ilustrativas.

    Bateria que dura o dia inteiro22 Ouça até 57 horas7 Assista até 20 horas7

    Em conjunto com o poderoso processador, a bateria é ainda mais eficiente, estendendo a carga para que você possa continuar assistindo filmes ou jogando até tarde da noite.23 Precisa de um extra? Ative o modo de baixo consumo de energia para manter a diversão fluindo.

    O processador mais poderoso entre os Galaxy Dobráveis

    O novo Snapdragon® 8 Gen 2 for Galaxy leva você a um nível totalmente novo de poder.24 Experimente gráficos mais suaves, IA mais rápida e melhor desempenho da bateria.

    *Melhorias de desempenho AP mostradas em comparação com o Galaxy Z Flip4. O desempenho real dependerá do ambiente do usuário, das condições e do software e aplicativos pré-instalados.

    Snapdragon® 8 Gen 2 for Galaxy

    25 %↑

    GPU

    20 %↑

    NPU

    17 %↑

    CPU

    *Melhorias de desempenho AP mostradas em comparação com o Galaxy Z Flip4. O desempenho real dependerá do ambiente do usuário, das condições e do software e aplicativos pré-instalados.

    Samsung Galaxy Z Flip5 | Samsung Brasil (59)

    Novo Painel Modo Flex8

    Aumente o nível de como você usa o Modo Flex com mais controles ao seu alcance.15 Oculte ou expanda o painel com o toque de um botão. Pode até usar um touchpad e um cursor. E um painel de controle de reprodução aprimorado torna a procura por música e mídia mais fácil e precisa do que nunca.25

    *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.

    Samsung Galaxy Z Flip5 | Samsung Brasil (60) Samsung Galaxy Z Flip5 | Samsung Brasil (61)

    O vídeo é reproduzido no Galaxy Z Flip5 no Modo Flex. O Painel Modo Flex é expandido a partir de um botão de inicialização e usado para navegar no vídeo com uma linha do tempo de reprodução e botões de controle avançados, como volume e pular.

    Maior durabilidade para você continuar na ativa

    O Galaxy Z Flip5 continua resistente. E com o suporte adicional do Samsung Care+, leve-o com você sem se preocupar com qualquer deslize que possa acontecer ao longo do caminho.

    • Agora o Galaxy Z Flip está mais resistente do que nunca para acompanhar o seu dia a dia. Reforçado com uma estrutura resistente de alumínio que protege o seu aparelho contra danos.26

      Samsung Galaxy Z Flip5 | Samsung Brasil (62)

    • Nossa nova dobradiça é mais forte e mais durável.

      Samsung Galaxy Z Flip5 | Samsung Brasil (63)

    • Com resistência à água de primera linha.27

      Samsung Galaxy Z Flip5 | Samsung Brasil (64)

    Cadastre-se no Samsung Care+ e tenha mais proteção sem preocupações28

    Saiba mais

    Samsung Galaxy Z Flip5 | Samsung Brasil (65)

    Watch6. Comece sua jornada fitness

    Vincule o Galaxy Z Flip5 a um dispositivo da série Galaxy Watch6 para saber mais sobre o desempenho do seu treino.29,30 Observe seu progresso todos os dias com selfies dos treinos para comprovar, sem necessidade de espelhos ao usar o Controle de Câmera.16,31 E com um dispositivo da série Galaxy Watch6 monitorando onde você deixou seu celular, você está livre para ir aonde quiser.

    *Imagens simuladas para fins ilustrativos. A interface de usuário real pode ser outra.

    Melhores juntos

    Série Galaxy Watch629

    Saiba mais

    Samsung Galaxy Z Flip5 | Samsung Brasil (66)

    Samsung Galaxy Z Flip5 | Samsung Brasil (67)

    Criado pensando no planeta

    O Galaxy Z Flip5 e Fold5 apresentam uma variedade maior de materiais reciclados do que as gerações anteriores, incluindo vidro reciclado pré-consumo e alumínio e plásticos reciclados pós-consumo, obtidos de redes de pesca, garrafões de água e garrafas PET descartadas.32,33

    *Imagens simuladas para fins ilustrativos. A UI real pode ser outra.

    Samsung Galaxy Z Flip5 | Samsung Brasil (68)

    Troque, atualize e negocie. É fácil

    Transfira todos os seus dados de forma prática e segura do celular antigo para o seu novo Galaxy

    Com o Smart Switch você transfere todos os seus dados, via cabo ou WI-FI sem perder nada. Suas fotos, aplicativos, fundo de tela, compromissos e até mesmo seu histórico de conversa no WhatsApp migram com você para o seu novo Galaxy independente do seu sistema operacional.
    Faça você mesmo ou vá até uma de nossas lojas.34

    *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.
    **O histórico de conversas do WhatsApp somente poderá ser migrado antes do usuário realizar o login no WhatsApp do novo dispositivo. Se o usuário realizar o login no WhatsApp no novo dispositivo antes de realizar a migração ou antes do Smart Switch finalizar a transferência dos dados, a migração do aplicativo não será possível. WhatsApp é uma marca registrada pelo Meta Inc.

    Saiba mais

    Samsung Galaxy Z Flip5 | Samsung Brasil (69)

    Sua privacidade protegida

    Sua privacidade está garantida com o Samsung Knox. Compartilhe o que quiser. Proteja todo o resto.

    *Imagens meramente ilustrativas. A interface do usuário (UX/UI) real pode ser diferente.

    Samsung Galaxy Z Flip5 | Samsung Brasil (70)

    Armazenamento

    Armazene tudo com opções de 256 GB e 512GB.35

    Samsung Galaxy Z Flip5 | Samsung Brasil (71)

    Comece com 6 meses de Microsoft 365 Basic. Você terá 100GB de armazenamento em nuvem, além de e-mail seguro e sem anúncios e acesso ao suporte da Microsoft.37

    Samsung Galaxy Z Flip5 | Samsung Brasil (72)

    Eleve seu dia com acessórios elegantes

    SAIBA MAIS

    Samsung Galaxy Z Flip5 | Samsung Brasil (73)

    SEE IN 360°

    Girar

    *Cores exclusivas disponíveis apenas no site Samsung.com.

    Perguntas frequentes

    • O Galaxy Z Flip5 está disponível em Verde Claro, Grafite, Creme e Rosa.10Cinza, Azul, Verde e Amarelo são cores exclusivas encontradas apenas no site Samsung.com.10

      IR PARA CORES

    • O Galaxy Z Flip5 tem uma Tela Externa de 3,4 polegadas que comporta mais widgets, mais personalização e a melhor experiência de selfie em um celular Samsung Galaxy.6,17,25 A experiência do Modo Flex melhorou com o novo Painel Modo Flex.8,15 Ele também apresenta uma nova dobradiça, em peça única, com um design de trilho duplo.

    • O Galaxy Z Flip5 está equipado com uma câmera frontal de 10MP com um ângulo mais amplo que o Galaxy Z Flip4. Por outro lado, possui uma Câmera Ultra Wide de 12MP e uma Câmera Wide de 12MP. Hardware aprimorado (como o Super Clear Lens) e software (como VDIS adaptável) trabalham juntos para fornecer fotos, selfies e vídeos nítidos e coloridos.25

      IR PARA CÂMERA

    • O Galaxy Z Flip5 tem 71,9milímetros de largura, 165,1milímetros de comprimento e 6,9milímetros de espessura quando aberto.37 Dobrado, tem 85,1milímetros de comprimento e 15,1milímetros de espessura. Embora a largura seja a mesma, o Galaxy Z Flip5 é mais compacto que o Galaxy Z Flip4 dobrado, que mede 17,1milímetros na dobradiça e 15,9milímetros na borda externa.

      IR PARA PORTABILIDADE

    • A bateria inteligente de 3700mAh (padrão) do Galaxy Z Flip5 permite ouvir música por até 57horas ou assistir a 20horas de reprodução de vídeo.7,22,23

      IR PARA BATERIA

    • O Galaxy Z Flip5 é resistente à água e tem classificação IPX8.27

      IR PARA DURABILIDADE

    • O Galaxy Z Flip5 tem uma nova dobradiça, em peça única, que apresenta um design durável de trilho duplo.

      IR PARA DURABILIDADE

    • A Tela Principal FHD+ de 6,7polegadas do Galaxy Z Flip5 é um display adaptável Dynamic AMOLED 2X de 120Hz.37 A Tela Externa Super AMOLED de 3,4polegadas atinge um brilho máximo de 1.600nits.6,20É o primeiro da série Galaxy Z Flip com um sensor de proximidade e a primeira Tela Externa Galaxy Z Flip compatível com HBM.

    • Com o One UI, é possível personalizar a Tela Externa com widgets, mostradores de relógio e muito mais.19

      IR PARA TELA EXTERNA

    IR PARA GALAXY Z FOLD5

    Samsung Galaxy Z Flip5 | Samsung Brasil (74)

    Veja outras formas de garantir o seu Galaxy ZFlip5

    COMPRAR AGORA REGISTRE-SE AGORA COMPRAR AGORA ONDE COMPRAR

    Samsung Galaxy Z Flip5 | Samsung Brasil (75)

    ABRIR EM RA

    A vida começa com Galaxy

    EXPLORE MAIS

    Samsung Galaxy Z Flip5 | Samsung Brasil (79)

    Abra uma maneira totalmente nova de fazer negócios

    IR PARA SAMSUNG BUSINESS

    * Imagens meramente ilustrativas. Promoção Troca Smart Samsung válida de 01/02/2023 a 31/12/2023. O valor do seu celular, tablet ou smartwatch novo ou usado, adquirido nacionalmente, que esteja ligando, dependendo da marca, do modelo e da avaliação feita por um especialista, utilizando a tabela da Assurant, poderá valer até R$ 3.000,00 (três mil reais) desconto na compra de um novo aparelho. O valor do produto usado só poderá ser utilizado em um único vale-compra de um único novo aparelho participante. Esta promoção é válida somente para venda de produtos nos Canais Oficiais Samsung (www.shop.samsung.com/br/ e Aplicativo Samsung) e Lojas Físicas Samsung. O valor do produto anunciado deve ser consultado no site ou loja. Consulte a lista geral dos produtos participantes elegíveis para troca e que poderão ser trocados nas lojas Samsung em www.samsung.com/br/trade-in/. Habilitado para tecnologia 5G. A velocidade real pode variar, dependendo do país, da operadora e do ambiente do usuário. Para mais detalhes, consulte sua operadora.

    * Todas as especificações e descrições fornecidas aqui podem ser diferentes das especificações e descrições reais do produto. A Samsung reserva-se o direito de fazer alterações neste documento e no produto aqui descrito, a qualquer momento, sem obrigação da Samsung de notificar tal alteração. Todos os recursos, funcionalidades, especificações, interface gráfica do usuário e outras informações de produto fornecidas neste documento incluindo, entre outros, benefícios, design, preço, componentes, desempenho, disponibilidade e recursos do produto estão sujeitos a alterações sem aviso prévio ou obrigações. O conteúdo da tela consiste em imagens simuladas e serve apenas para fins de demonstração.

    Promoção válida de 26/07/2023 até 01/03/2024. Na compra de um dos modelos do Galaxy Z Flip5 ou Galaxy Z Fold5, o consumidor poderá resgatar uma avaliação gratuita de 6 (seis) meses do Microsoft 365 Basic disponível para consumidores com OneDrive-Gallery Sync. Após os 6 (seis) meses, será cobrado o custo de R$ 12,00 (doze) reais por mês, sujeita aos Termos & Condições do Google Play. O consumidor poderá cancelar sem qualquer custo antes de completar os 6 (seis) meses. Oferta não disponível para assinantes premium existentes do Microsoft 365 ou OneDrive (incluindo testes gratuitos) ou antigos assinantes premium do Microsoft 365 ou OneDrive que cancelaram nos últimos 90 (noventa) dias. O resgate é valido apenas uma vez por consumidor e por dispositivo. A oferta não poderá ser transferida ou combinada com outras ofertas da Microsoft. A oferta deve ser resgatada durante o período da ação no Google Play Store e os participantes devem sincronizar a galeria do dispositivo com o OneDrive para iniciar o período de avaliação de 6 (seis) meses. Necessário uma Samsung Account e uma conta na Microsoft. Consulte o regulamento completo em: www.samsung.com/br/microsoft365-basic-regulation.

    Na compra de um Samsung Galaxy Z Flip5 ou de um Samsung Galaxy Z Fold5 no período de 01/02/2023 até 01/03/2024, o Participante poderá resgatar uma avaliação gratuita de 4 (quatro) meses da assinatura do YouTube Premium. Brinde estará disponível apenas para Participantes que não possuam uma assinatura ativa do YouTube Premium, YouTube Music Premium ou Google Play Music, não tenham assinado anteriormente o YouTube Premium (anteriormente denominado YouTube Red), YouTube Music Premium ou Google Play Music, nem tenham participado de um teste do YouTube Premium (anteriormente denominado YouTube Red), YouTube Music Premium ou Google Play Music. O resgate deverá ser realizado no período de 01/02/2023 até 01/03/2024 diretamente no site http://youtube.com/premium/samsung. É necessária uma forma de pagamento válida no momento da inscrição. No final do período de teste haverá cobrança automática pelo preço da assinatura individual, atualmente em R$ 20,90 mensalmente. É possível cancelar o teste gratuitamente a qualquer momento antes do término do período de teste. Para mais informações acesse o regulamento completo em: www.samsung.com/br/youtube-premium-regulation.

    *O login na conta Samsung é necessário para determinados recursos da Samsung AI.

    *A Samsung não faz nenhuma afirmação, promessa ou garantia quanto à precisão, integridade ou confiabilidade dos resultados fornecidos pelos recursos de IA.

    *Os recursos do Galaxy AI serão fornecidos gratuitamente até o final de 2025 em dispositivos Samsung Galaxy compatíveis. Outros termos podem se aplicar a recursos de IA fornecidos por terceiros.

    1. Sequências encurtadas e simuladas. Resultados apenas para fins ilustrativos. Os resultados podem variar conforme as correspondências visuais. Requer conexão com a internet. Os usuários podem precisar atualizar o Android para a versão mais recente. A funcionalidade do produto pode depender das configurações do seu aplicativo e dispositivo. Algumas funções podem não ser compatíveis com determinados aplicativos. A disponibilidade do serviço varia de acordo com o país e o idioma. A precisão dos resultados não é garantida.
    2. O Live Translate requer uma conexão de rede e login na conta Samsung. O Live Translate só está disponível no aplicativo pré-instalado do aplicativo do celular Samsung. O download do pacote de idiomas pode ser necessário para alguns idiomas. A disponibilidade do serviço pode variar de acordo com o idioma. A precisão dos resultados não é garantida.
    3. O recurso de tradução do Chat Assist pode exigir login na conta Samsung. Alguns aplicativos de bate-papo podem não ser compatíveis com esse recurso. Alguns idiomas podem exigir download do pacote de idiomas. A disponibilidade do serviço pode variar de acordo com o idioma. Esse recurso é ativado quando um idioma traduzível é detectado. A precisão dos resultados não é garantida.
    4. O recurso Interpreter requer login na conta Samsung. Certos idiomas podem exigir download do pacote de idiomas. A disponibilidade do serviço pode variar de acordo com o idioma. A precisão dos resultados não é garantida. A disponibilidade e os recursos compatíveis podem variar de acordo com o país, região ou operadora. A disponibilidade dos idiomas compatíveis pode variar.
    5. A Generative Edit requer uma conexão de rede e login na conta Samsung. Editar com Generative Edit resulta em uma foto redimensionada de até 12MP. Uma marca d'água visível é sobreposta na saída da imagem ao salvar para indicar que a imagem foi gerada por IA. A precisão e a confiabilidade da imagem gerada não são garantidas.
    6. Medido na diagonal, o tamanho da Tela Externa do Galaxy Z Flip5 é de 3,4 polegadas na forma retangular completa; A área visível real é de aproximadamente 95% da área retangular completa devido aos cantos arredondados e ao recorte inferior.
    7. Com base nas condições de teste de laboratório interno da Samsung com a versão de pré-lançamento do modelo especificado conectado ao fone de ouvido via Bluetooth em configurações padrão sobre o LTE. Estimado contra a capacidade da bateria e medição corrente sobre o consumo de energia da bateria durante a reprodução de vídeo (resolução de arquivo de vídeo 720p, salva no dispositivo) e reprodução de áudio (arquivo MP3, 192kbps, salvo no dispositivo com a tela LCD desligada), respectivamente. Os tempos de reprodução de vídeo e áudio reais variam de acordo com a conexão de rede, configurações, formato de arquivo, brilho da tela, condição da bateria e muitos outros fatores.
    8. O Painel Modo Flex deve estar ativado nas configurações do dispositivo para ser usado com aplicativos instalados na bandeja de aplicativos, incluindo aplicativos de terceiros. A lista de aplicativos suportados pode ser encontrada nas configurações do Painel Modo Flex no menu de configurações do seu dispositivo.
    9. Este dispositivo contém ímãs. Mantenha-o longe de cartões de crédito, dispositivos médicos implantados e outros dispositivos que possam ser afetados por ímãs. No caso de dispositivos médicos, mantenha seu dispositivo a mais de 15cm de distância. Pare de usar seu dispositivo se suspeitar de qualquer interferência com seu dispositivo médico e consulte seu médico ou o fabricante do dispositivo médico.
    10. A disponibilidade de cores pode variar de acordo com o país, a região e a operadora.
    11. A UX/UI real pode ser diferente.
    12. As cores reais da Capa Flipsuit, as opções do cartão de colaboração e o conteúdo correspondente exibido na tela podem diferir. Um conteúdo é exibido por cartão.
    13. Os acessórios de colaboração da brand incluem um cartão de colaboração da brand por caixa.
    14. O conteúdo do cartão de colaboração da Capa Flipsuit deve ser baixado separadamente antes do uso. Conexão de rede necessária para download..
    15. Modo Flex suportado em ângulos entre 75° e 115°. Alguns aplicativos podem não ser suportados no modo Flex. Recomenda-se manter o celular parado enquanto estiver no modo Flex.
    16. O Controle de Câmera é compatível com o Galaxy Watch4 e modelos Galaxy Watch lançados posteriormente quando pareado com a série Galaxy S9 e posterior. O recurso de zoom do Controle de Câmera está disponível na série Samsung Galaxy Watch4 e nos modelos Galaxy Watch lançados posteriormente pareados com um celular da série Galaxy S, série Galaxy Note e série Galaxy Z executando One UI 5.1 ou superior compatível com o Controle de Câmera.
    17. O Snapdragon® 8 Gen 2 for Galaxy apresenta um bloco dedicado de processador de sinal de imagem (ISP) para aprimoramento de vídeo em baixa luminosidade.
    18. O Galaxy Z Flip5 é compatível com gravação de vídeo 4K. Para visualizar em resolução 4K, os vídeos devem ser reproduzidos em um dispositivo com resolução de vídeo 4K.
    19. Alguns aplicativos podem não ser compatíveis com widgets da Tela Externa.
    20. O Galaxy Z Flip5 é compatível com gravação de vídeo 4K. Para visualizar em resolução 4K, os vídeos devem ser reproduzidos em um dispositivo com resolução de vídeo 4K.
    21. A disponibilidade dos recursos pode variar conforme o país ou a região.
    22. A duração real da bateria varia de acordo com o ambiente de rede, recursos e aplicativos usados, frequência de chamadas e mensagens, número de vezes que é carregada e muitos outros fatores. Estimado em relação ao perfil de uso médio compilado pela UX Connect Research. Avaliado independentemente pela pesquisa UX Connect entre 19/06/2023 e 29/06/2023 nos EUA com versões de pré-lançamento de SM-F946 e SM-F731 na configuração padrão usando redes LTE e 5G Sub6.
    23. Valor típico testado sob condição laboratorial de terceiros. O valor típico é o valor médio estimado, considerando o desvio na capacidade da bateria entre as amostras de bateria testadas no padrão IEC 61960. A capacidade nominal é 4270mAh para o Galaxy Z Fold5 e 3591mAh para o Galaxy Z Flip5. A duração real da bateria pode variar dependendo do ambiente de rede, padrões de uso e outros fatores.
    24. Snapdragon é um produto da Qualcomm Technologies, Inc. e/ou de suas subsidiárias. Snapdragon é uma marca comercial ou marca registrada da Qualcomm Incorporated.
    25. Comparado com modelos anteriores.
    26. A moldura não inclui teclas de volume e laterais ou bandeja do SIM.
    27. Com base nas condições de teste laboratorial para submersão em até 1,5metro de água doce por até 30minutos. Não recomendado para uso na praia ou piscina. A resistência a água do dispositivo não é permanente e pode diminuir com o tempo devido ao desgaste normal. A classificação IPX8 não é resistente a poeira.
    28. A cobertura do Samsung Care+ pode variar conforme o país e franquias podem ser aplicadas.
    29. Dispositivos da série Galaxy Watch6 vendidos separadamente.
    30. A disponibilidade de produtos e recursos pode variar de acordo com o país ou a região. O Galaxy Watch6 deve ser pareado com um celular Samsung Galaxy com Android 10.0, memória RAM mínima de 1,5GB e aplicativo Samsung Health versão 6.24 ou posterior. A análise de impedância bioelétrica (BIA) destina-se apenas para fins gerais de bem-estar e condicionamento físico. Não se destina ao uso na detecção, diagnóstico ou tratamento. As medidas são apenas para sua referência pessoal. Consulte um profissional médico para aconselhamento.
    31. A disponibilidade pode variar de acordo com o mercado, a operadora, o modelo e o celular emparelhado compatível com o Controle de Câmera. A atualização estará inicialmente disponível nas versões Bluetooth e será lançada nas versões LTE posteriormente.
    32. Galaxy Z Flip5: 15 componentes do dispositivo que apresentam no mínimo 10% de plástico de material reciclado pós-consumo ou alumínio reciclado pré-consumo, ou Corning® Gorilla® Glass Victus® 2 com uma média de 22% de conteúdo reciclado pré-consumo. Esses componentes incluem Suporte de Tecla de Volume, Módulo do Alto-Falante (Superior e Inferior), Parte Superior Traseira, Tampa do Conector do Display, Suporte do Cabo RF FPCB, Parte Central Traseira, Parte Frontal da Capa (Principal), Parte Frontal da Capa (Sub), Tecla de Volume, Suporte da Tecla Digital, Decoração do Receptor, Conector para Suporte do Conector, Bandeja SIM, Subjanela, Vidro Traseiro. (Galaxy Z Flip4: 6 componentes do dispositivo). Galaxy Z Fold5: 15 componentes do dispositivo que apresentam no mínimo 10% de plástico de material reciclado pós-consumo ou alumínio reciclado pré-consumo, ou Corning® Gorilla® Glass Victus® 2 com uma média de 22% de vidro reciclado pré-consumo. Esses componentes incluem Suporte FPCB de Tecla de Volume, Módulo de Alto-falante Superior (Superior e Inferior), Módulo de Alto-falante Inferior (Superior e Inferior), Conector de Cover Display, Frente da Capa (Principal), Frente da Capa (Sub), Antena (Sub), Antena (Principal), Tecla de Volume, Suporte da Tecla Digital, Bandeja SIM, Conector para Suporte do Conector, Decoração da Câmera (Superior e Inferior), Subjanela, Vidro Traseiro. (Galaxy Z Fold4: 6 componentes do dispositivo). As medições acima são baseadas no peso.
    33. Os tipos de materiais reciclados incluem PA reciclado pós-consumo proveniente de redes de pesca descartadas, PBT reciclado pós-consumo proveniente de garrafas PET descartadas, PC reciclado pós-consumo proveniente de garrafões de água e alumínio reciclado pré-consumo proveniente de material descartado gerado como subproduto durante a fabricação. A sucata é derretida novamente, filtrada para remover impurezas e, em seguida, reciclada para fazer peças dentro do processo de fabricação da Samsung. Há também conteúdo reciclado pré-consumo proveniente de resíduos de vidro descartados gerados como subproduto da fabricação de vidro. Esse resíduo de vidro é esmagado na aleta e, em seguida, usado como componente no processo de fabricação do Corning® Gorilla® Glass Victus® 2.
    34. Transferências com fio exigem pelo menos Android™ 4.3. Se você não tiver o cabo USB/conector necessário para uma transferência com fio para o Galaxy, também poderá usar opções de transferência sem fio. O sistema operacional iOS 5 ou Android OS mais antigo deve usar opções de transferência sem fio. Abra o Smart Switch Mobile em “Configurações” no seu novo celular Galaxy ou baixe o aplicativo Smart Switch Mobile na Galaxy Store. Os dados e o conteúdo disponíveis para transferência podem variar de acordo com o sistema operacional. O backup dos dados do dispositivo Galaxy é feito e restaurado no dispositivo de armazenamento. Use o backup do PC com a função de backup do Smart Switch PC ou cartão SD do Smart Switch Mobile.
    35. Teste de seis meses do Microsoft 365 Basic disponível para consumidores com celulares Samsung com capacidade OneDrive-Gallery Sync (celulares na rede Verizon nos EUA não são qualificados). Após o período de teste de 6 meses, sua assinatura será renovada automaticamente em uma assinatura paga mensalmente pelo preço atual, sujeito aos termos e condições do Google Play. Cancele a qualquer momento para interromper cobranças futuras. A promoção não está disponível para assinantes premium existentes do Microsoft 365 ou OneDrive (incluindo avaliações); clientes que resgataram anteriormente um bônus de armazenamento do Office, OneDrive ou outro bônus de armazenamento da Microsoft ou promoção de avaliação gratuita; clientes com uma conta do OneDrive bloqueada ou antigos assinantes premium do Microsoft 365 ou OneDrive/Microsoft Storage que cancelaram nos últimos 90 dias. Uma promoção por cliente e por dispositivo. A promoção não pode ser transferida ou combinada com outras da Microsoft e está disponível entre 15 de março e 31 de dezembro de 2023. A promoção deve ser resgatada durante esse período na Google Play Store e os participantes devem sincronizar sua galeria com o OneDrive para iniciar o período de teste de 6 meses. A promoção requer uma conta Samsung e Microsoft. Consulte https://www.microsoft.com/onedrive-samsung-offer para obter detalhes.
    36. Espessura medida do painel de vidro superior até o painel de vidro inferior.
    37. Medido na diagonal, o tamanho da Tela Principal do Galaxy Z Flip5 5G é de 6,7” como um retângulo inteiro e de 6,6” considerando os cantos arredondados; a área visível real é menor devido aos cantos arredondados e ao orifício da câmera.

    " ) ); } } }; 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(); })(); });

  • Samsung Galaxy Z Flip5 | Samsung Brasil (2024)
    Top Articles
    Latest Posts
    Article information

    Author: Patricia Veum II

    Last Updated:

    Views: 6284

    Rating: 4.3 / 5 (64 voted)

    Reviews: 87% of readers found this page helpful

    Author information

    Name: Patricia Veum II

    Birthday: 1994-12-16

    Address: 2064 Little Summit, Goldieton, MS 97651-0862

    Phone: +6873952696715

    Job: Principal Officer

    Hobby: Rafting, Cabaret, Candle making, Jigsaw puzzles, Inline skating, Magic, Graffiti

    Introduction: My name is Patricia Veum II, I am a vast, combative, smiling, famous, inexpensive, zealous, sparkling person who loves writing and wants to share my knowledge and understanding with you.