Galaxy Z Flip5
- SPECIFICHE
- SUPPORTO
- RECENSIONI
PARTECIPA ALLA MASTERCLASSACQUISTA ORA
- Panoramica
- Confronta
- Accessori
- SPECIFICHE
- SUPPORTO
- RECENSIONI
ACQUISTA ORA ACQUISTA ORA ACQUISTA ORA DOVE ACQUISTARE
- *Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
- DESIGN
- FOTOCAMERA
- FLEX WINDOW
- BATTERIA
- FLEX MODE
Galaxy AI è qui
Ti diamo il benvenuto nell’era dell’AI sullo smartphone. Con Galaxy Z Flip5 nelle tue mani, puoi esprimere in libertà nuovi livelli di creatività e produttività e aprirti a nuove possibilità, avvalendoti del dispositivo più importante della tua vita. Il tuo smartphone.
Semplicemente epico.
Cerchia e cerca
Cerchia, trova. Semplicissimo.
Un’esperienza di ricerca online mai vista prima grazie a Cerchia e cerca.1 È sufficiente cerchiare un oggetto per lanciare una ricerca su di esso in Google Search. Non è necessario digitare le parole da cercare.
*Immagine simulata a scopo illustrativo. L’UI effettiva può variare.
Traduzione Live
Il modo più semplice per comunicare
Grazie a Traduzione Live, ora puoi avere traduzioni in tempo reale mentre usi il telefono.2Abbatti le barriere linguistiche come mai prima d’ora, anche durante i messaggi scritti. Rispondi nella tua lingua: anche i tuoi interlocutori vedranno il tuo messaggio tradotto3.
*Immagine simulata a scopo illustrativo. L’UI effettiva può variare.
Interprete
Un interprete a portata di mano
Vuoi chiedere un consiglio a un abitante del posto? Nessun problema! Hai un interprete a portata di mano. Usalo anche in modalità aereo senza Wi-Fi.4
*Immagine simulata a scopo illustrativo. L’UI effettiva può variare.
Assistente foto
Aggiusta le dimensioni e ritocca tutto come vuoi tu. Semplicissimo
Libera la magia dell’editing fotografico potenziato dall’AI.5 Modifica Generativa può riempire gli sfondi e far sparire gli oggetti indesiderati in un attimo.
*Immagine simulata a scopo illustrativo. L’UI effettiva può variare.
Try Galaxy sul tuo telefono Scansiona questo QR code o visita trygalaxy.com
Flex Window. Il più grande display esterno mai visto su un Galaxy Z Flip
Galaxy Z Flip5 è dotato, per la prima volta, di Flex Window da 3,4 pollici, pensata per esprimere al massimo la tua personalità.6Compatto e dal design irresistibile in ogni angolazione, questo dispositivo pieghevole è tanto versatile quanto portatile.
*Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
Misura perfetta per ogni tasca
Il nostro Galaxy Z Flip più compatto di sempre: si richiude perfettamente per essere comodo sia in mano, che in tasca.9
*Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
Scegli tra i quattro colori disponibili
Trova il tuo colore preferito in un mondo di colori futuristici: Mint, Graphite, Cream, Lavender.10
*Immagine simulata a scopo illustrativo.
Mint Graphite Cream Lavender
Due dispositivi Galaxy Z Flip5 nella tonalità Mint. Uno è piegato a mo’ di tenda; ne è visibile il pannello posteriore. Il secondo è piegato e parzialmente nascosto dal primo. Poi, un primo piano della fotocamera posteriore. Successivamente, un primo piano del Flex Hinge.
Due dispositivi Galaxy Z Flip5 nella tonalità Graphite. Uno è piegato a mo’ di tenda; ne è visibile il pannello posteriore. Il secondo è piegato e parzialmente nascosto dal primo. Poi, un primo piano della fotocamera posteriore. Successivamente, un primo piano del Flex Hinge.
Due dispositivi Galaxy Z Flip5 nella tonalità Cream. Uno è piegato a mo’ di tenda; ne è visibile il pannello posteriore. Il secondo è piegato e parzialmente nascosto dal primo. Poi, un primo piano della fotocamera posteriore. Successivamente, un primo piano del Flex Hinge.
Due dispositivi Galaxy Z Flip5 nella tonalità Lavender. Uno è piegato a mo’ di tenda; ne è visibile il pannello posteriore. Il secondo è piegato e parzialmente nascosto dal primo. Poi, un primo piano della fotocamera posteriore. Successivamente, un primo piano del Flex Hinge.
Colori esclusivi, disponibili solo online.
Aggiungi un ulteriore tocco di personalità al tuo dispositivo con gli esclusivi colori disponibili solo su Samsung.com:Gray,Blue,Green eYellow.10
*Immagine simulata a scopo illustrativo.
Esclusiva online
Gray Blue Green Yellow
L’unione fa la forza
Flipsuit Case34,35,36,37
Scopri di più
L’unione fa la forza
Clear Gadget Case
Scopri di più
Fotocamera. La migliore esperienza selfie su uno smartphone Galaxy
Scatto effettuato da Galaxy Z Flip5#withGalaxy
Scatta selfie straordinari a mani libere con FlexCam e rendi ogni angolazione la migliore. Non importa che fotocamera userai, Galaxy Z Flip5 rende tutto semplice. Ora dovrai solo occuparti di sfoggiare la tua posa migliore.
Selfie fantastici. Anche a telefono chiuso.
Avvia l’app della fotocamera da Flex Window per immortalare il momento. Passa da una foto all’altra, cambia lo scenario e ripeti, senza mai aprire il telefono.
*Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
*La foto è stata ritoccata per modificarne il colore.
Scatto effettuato da Galaxy Z Flip5#withGalaxy
Selfie a mani libere. Grazie, FlexCam
Porta i tuoi amici nell’obiettivo per un selfie di gruppo più ampio, grazie a FlexMode.15 Scatta da lontano usando la funzione Controller Fotocamera sul tuo Galaxy Watch6 e stupisci il mondo intero con i tuoi selfie.16 L’ultima novità in fatto di flessibilità.
*Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
Scatto effettuato da Galaxy Z Flip5#withGalaxy
Splendidi scatti notturni con Nightography17
La fotocamera grandangolare di Galaxy Z Flip5 catturerà una maggiore porzione della scena. Non serve aprire il telefono: basta sfiorare l’icona della Fotocamera nella Flex Window e cominciare a registrare con la FlexCam. E quando scende la sera, nessun problema: con i video con Nightography in 4K, cala la luce ma non la qualità delle riprese.18
*Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
Scatto effettuato da Galaxy Z Flip5#withGalaxy
Selfie con fotocamera anteriore. Una qualità eccezionale
Apri la fotocamera anteriore per scattare selfie di qualità straordinaria. I selfie frontali sfocati resteranno solo un ricordo. La lente Super Clear renderà le tue foto nitide e ridurrà l’effetto sfocato causato dalle luci presenti dietro di te.
Scopri la Flex Window da 3,4”
*Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
-
Rispondi ai messaggi, chiama, controlla le previsioni meteo e paga, il tutto utilizzando Flex Window. 6,19,20 Personalizza Flex Window con i quadranti orologio e usa i gesti scorciatoia dell’ecosistema Galaxy.
*Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
-
A prescindere da quanti widget utilizzi, non ti sentirai mai perso con Multi Widget View.
*Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
Personalizza il display esterno proprio come vuoi tu
Ottieni il pieno controllo di Flex Window. Personalizza il tuo dispositivo con tantissimi widget, sfondi video, quadranti orologio, stili e molto altro, per rendere il tuo Galaxy Z Flip5 davvero tuo.19,21
*Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
Ottieni il pieno controllo di Flex Window. Personalizza il tuo dispositivo con tantissimi widget, sfondi video, quadranti orologio, stili e molto altro, per rendere il tuo Galaxy Z Flip5 davvero tuo.19,21
*Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
*Le informazioni mostrate dal widget Finance Watchlist sono unicamente a scopo illustrativo.
Batteria a lunga durata22 Ascolta fino a 57 ore7 Guarda video fino a 20 ore7
Grazie al potente processore, la batteria da 3700 mAh (capacità tipica) è ancora più efficiente: prolunga l’autonomia del telefono in modo da poter continuare a guardare il tuo film o a giocare per tutta la notte.23Hai bisogno di più energia? Attiva la modalità risparmio energetico e il divertimento durerà ancora più a lungo.
Il processore più potente su un pieghevoleGalaxy
Il nuovo Snapdragon® 8 Gen 2 Mobile Platform per Galaxy ti porta a un livello di potenza tutto nuovo.24Scopri la grafica più fluida, l’IA più rapida e le migliori prestazioni della batteria.
*Miglioramenti delle prestazioni AP rispetto a Galaxy Z Flip4. Le prestazioni reali dipenderanno dall’ambiente dell’utente, dalle condizioni e dai software e dalle applicazioni pre-installati.
Snapdragon® 8 Gen 2 Mobile Platform per Galaxy
25 %↑
GPU
20 %↑
NPU
17 %↑
CPU
*Miglioramenti delle prestazioni AP rispetto a Galaxy Z Flip4. Le prestazioni reali dipenderanno dall’ambiente dell’utente, dalle condizioni e dai software e dalle applicazioni pre-installati.
Una flessibilità tutta nuova: pannelloFlex mode8
FlexMode a portata di mano, con un maggior numero di controlli.15 Nascondi o espandi il pannello con un solo tocco. Puoi inoltre usare il touchpad e il cursore. E il migliorato pannello di controllo di riproduzione multimediale ti permetterà di navigare tra i tuoi brani e gli altri contenuti in modo ancora più preciso.25
*Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
Resistente, per un utilizzo senza preoccupazioni
Galaxy Z Flip5 è ancora più durevole: con il supporto aggiuntivo di Samsung Care+, potrai portarlo ovunque tu vada senza temere che ti scivoli dalle mani.
-
Galaxy Z Flip5 presenta un rivestimento resistente costituito da una scocca rinforzata in Armor Aluminium.26
-
Ti presentiamo un nuovo, resistente, design a doppio binario per le cerniere dei nostri smartphone pieghevoli
-
Con Galaxy Z Flip5, un po’ di umidità non rovinerà di certo la tua giornata.27
Iscriviti a Samsung Care+ per approfittare di una protezione che ti libererà da ogni preoccupazione28
Scopri di più
Watch6. Comincia il tuo percorso fitness
Collega il tuo Galaxy Z Flip5 con un dispositivo della famiglia Galaxy Watch6 per scoprire di più sulle tue prestazioni durante l’allenamento.25,26Osservati mentre fai progressi ogni giorno e scatta selfie a mani libere in palestra per dimostrarlo.12,27 E con un dispositivo della famiglia Galaxy Watch6 avrai sempre traccia del tuo telefono: per essere libero di andare ovunque tu voglia
*Immagine simulata a scopo illustrativo. L’UI effettiva può variare.
Fantastici da soli, ancora meglio insieme
Galaxy Watch625
Progettato pensando al pianeta
Rispetto alle generazioni precedenti, Galaxy Z Flip5 e Fold5 sono realizzati con una maggiore varietà di materiali riciclati: vetro e alluminio riciclati pre-consumo, ma anche plastiche riciclate post-consumo provenienti da vecchie reti da pesca, cisterne per il recupero dell’acqua piovana e bottiglie in PET.28,38
*Immagine simulata a scopo illustrativo. L’UI effettiva può variare.
Cambia, passa al meglio e permuta. È tutto così semplice
Smart Switch
Scopri il modo pratico e sicuro per spostare tutto ciò che amavi del tuo vecchio dispositivo sul tuo nuovoGalaxy Z Flip5.29
*Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
Scopri di più
La tua Privacy. Al Sicuro.
La tua privacy è al sicuro conSamsung Knox. Condividi ciò che vuoi. Metti tutti gli altri contenuti al sicuro.
*Immagine a scopo illustrativo. L’effettiva UIpotrebbe variare.
Spazio di Archiviazione
Conserva tutto grazie alle opzioni di archiviazione da 256GB e 512GB.31
Migliora la tua giornata con degli accessori all’insegna dello stile
SCOPRI DI PIÙ
GUARDA A 360°
Portalo a spasso
*Colori esclusivi disponibili solo online su Samsung.com.
Domande frequenti
-
Galaxy Z Flip5 è disponibile nelle tonalitàMint,Graphite,Cream eLavender.10Gray,Blue,Green eYellow sono colori disponibili esclusivamente su Samsung.com10
VAI AI COLORI
-
Galaxy Z Flip5 è dotato di Flex Window da 3,4 pollici, in grado di supportare un maggior numero di widget, ed è caratterizzato da una più ampia personalizzazione e dalla migliore esperienza selfie mai vista prima su uno smartphone Samsung Galaxy.6,17,25L’esperienza Flex Mode è migliorata grazie al nuovissimo Pannello Flex Mode.8,15Il dispositivo presenta inoltre una nuova cerniera Flex Hinge con design a doppio binario.
CONFRONTA DISPOSITIVI
-
Galaxy Z Flip5 è dotato di una fotocamera anteriore da 10MP con un grandangolo più ampio rispetto aGalaxy Z Flip4. Inoltre, presenta posteriormente una fotocamera ultra-grandangolare da 12MP e una fotocamera grandangolare da 12 MP. L’hardware migliorato (ad esempio la lenteSuper Clear), e il software aggornato (come il VDIS adattivo), collaborano per offrire foto, selfie e video nitidi e colorati.25
VAI ALLA FOTOCAMERA
-
Galaxy Z Flip5 ha una larghezza di 71,9 millimetri, una lunghezza di 165,1 millimetri e uno spessore di 6,9 millimetri da aperto. Da chiuso, ha una lunghezza di 85,1 millimetri e uno spessore di 15,1 millimetri.32 Benché la larghezza sia rimasta invariata, il Galaxy Z Flip5 è più compatto rispetto al Galaxy Z Flip4 chiuso, il quale misura17,1 millimetri in corrispondenza della cerniera e 15,9 millimetri sul bordo esterno.
MISURA PERFETTA PER OGNI TASCA
-
La batteria intelligente di Galaxy Z Flip5 ha una capacità tipica di 3700mAh e ti consente di ascoltare fino a 57 ore di musica, oppure di guardare fino a 20 ore di video.7,22,23
VAI ALLA BATTERIA
-
Galaxy Z Flip5 è resistente all’acqua, con un grado di protezione IPX8.27
VAI ALLA RESISTENZA
-
Galaxy Z Flip5 è dotato di una nuova cerniera, denominata Flex Hinge, con un nuovo resistente design a doppio binario.
VAI ALLA RESISTENZA
-
Il display principale FHD+ da 6,7 pollici di Galaxy Z Flip5 è un Dynamic AMOLED 2X da 120Hz.33 Il display esterno Super AMOLED da 3,4 pollici raggiunge una luminosità massima di 1.600 nits.6,20 Si tratta del primo dispositivo della gamma Galaxy Z Flip dotato di un sensore di prossimità e del primo display esterno della serie Galaxy Z Flip a supportare l’HBM.
-
È possibile personalizzare Flex Window tramite widget, quadranti orologio e molto altro ancora, con la One UI.19
VAI A FLEX WINDOW
VAI A GALAXY Z FOLD5
Scopri tutti i modi per avere il tuo Galaxy Z Flip5
ACQUISTA ORA ACQUISTA ORA ACQUISTA ORA DOVE ACQUISTARE
L’orizzonte si apre con Galaxy
SCOPRI DI PIÙ
Scopri un modo totalmente nuovo di lavorare
VAI A SAMSUNG BUSINESS
*Tutte le specifiche e le descrizioni qui fornite possono differire dalle specifiche e descrizioni effettive del prodotto. Samsung si riserva il diritto di apportare modifiche al presente documento e al prodotto qui descritto, in qualsiasi momento, senza l’obbligo per Samsung di notificare tali modifiche.Tutte le funzionalità, le caratteristiche, le specifiche, l’interfaccia grafica (Graphical user interface, GUI) e le altre informazioni sul prodotto fornite nel presente documento, inclusi, a titolo esemplificativo ma non esaustivo, i vantaggi, il design, i prezzi, i componenti, le prestazioni, la disponibilità e le capacità del prodotto sono soggetti a modifiche senza preavviso od obbligo. I contenuti dello schermo sono immagini simulate e sono solo a scopo dimostrativo.
**Il codice sconto è emesso gratuitamente da Samsung Electronics Italia S.p.A. ed è spendibile in un’unica soluzione esclusivamente su Samsung Online Shop (http://shop.samsung.com/it). Il presente codice sconto non è nominativo e quindi liberamente cedibile a terzi. Il buono dà diritto ad uno sconto di € 150,00 per l’acquisto di Samsung Galaxy Z Flip5 (codice SM-F731B) o Galaxy Z Fold5(codice SM-F946B) e può essere utilizzato, entro e non oltre il 30 settembre 2023. Decorso il predetto termine, il codice sconto perderà automaticamente effetto. Il codice sconto non è rimborsabile, non dà diritto a resto e non si applica ad eventuali spese di spedizione. Il codice sconto non è applicabile nel caso in cui si noleggi uno dei prodotti con il servizio Samsung Smart Upgrade. Il codice sconto non è cumulabile con altri codici sconto emessi da Samsung Electronics Italia S.p.A. e spendibili sul Samsung Shop Online. Agli acquisti si applicano le “Condizioni Generali di vendita di Samsung Online Shop
*Per alcune funzioni IA di Samsung potrebbe essere necessario l’accesso a un Samsung Account.
*Samsung non promette, assicura o garantisce l’accuratezza, la completezza o l’affidabilità del risultato fornito dalle funzioni IA.
*Le funzioni di Galaxy AI saranno gratuite fino al termine del 2025 sui dispositivi Samsung Galaxy supportati. Alle funzioni IA fornite da terze parti potrebbero applicarsi termini diversi.
- Le sequenze sono state accorciate e sono simulate. I risultati sono solo a scopo illustrativo. I risultati possono variare a seconda degli abbinamenti visivi. Richiede una connessione a internet. Potrebbe essere necessario aggiornare Android alla versione più recente. La funzionalità del prodotto può dipendere dalle impostazioni dell’app e del dispositivo. Alcune funzioni potrebbero non essere compatibili con alcune app. La disponibilità del servizio varia a seconda del Paese e della lingua. L’accuratezza dei risultati non è garantita.
- Live Translate richiede una connessione di rete e l’accesso a un Samsung Account. Live Translate è disponibile solo nell’app preinstallata Samsung Phone. Alcune lingue potrebbero richiedere il download di un pacchetto specifico per la lingua. La disponibilità del servizio può variare a seconda della lingua. L’accuratezza dei risultati non è garantita.
- La funzionalità di traduzione di Chat Assist potrebbe richiedere l’accesso al Samsung Account. Alcune applicazioni di chat potrebbero non supportare questa funzionalità. Alcune lingue potrebbero richiedere il download di un pacchetto specifico per la lingua. La disponibilità del servizio può variare a seconda della lingua. Questa funzionalità viene attivata quando viene rilevata una lingua traducibile. L’accuratezza dei risultati non è garantita.
- Interpreter richiede l’accesso al Samsung Account. Alcune lingue potrebbero richiedere il download di un pacchetto specifico per la lingua. La disponibilità del servizio può variare a seconda della lingua. L’accuratezza dei risultati non è garantita. La disponibilità e le funzioni supportate possono variare a seconda del Paese, della regione o dell’operatore di rete mobile. La disponibilità delle lingue supportate può variare.
- Generative Edit richiede una connessione di rete e l’accesso a un Samsung Account. L’editing con Generative Edit genera una foto ridimensionata fino a 12MP. Con il salvataggio, all’immagine risultante viene sovrapposta una filigrana visibile per indicare che l’immagine è stata generata dall’IA. La precisione e l’affidabilità del risultato generato non sono garantite.
- La dimensione della cover delloschermo esterno del Galaxy Z Flip5 ha una diagonale di 3,4pollici. L’area di visione effettiva rappresenta circa il 95% del totale, per la presenza degli angoli arrotondati e del profilo inferiore.
- In base a test interni di Samsung in condizioni di laboratorio, effettuati sulla versione prelancio del modello connessa agli auricolari via Bluetooth usando impostazioni predefinite tramite LTE. Stima relativa alla capacità della batteria e alla corrente rispetto al consumo elettrico della batteria durante la riproduzione di video (file video con risoluzione di 720p, salvato sul dispositivo) e riproduzione audio (file mp2, 192 kbps, salvato sul dispositivo con schermo LCD spent), rispettivamente. Il tempo effettivo di riproduzione dei video varia in base alla connessione di rete, alle impostazioni, al formato del file video, alla luminosità dello schermo, allo stato della batteria e a molti altri fattori.
- Il Pannello Flex Mode deve essere abilitato tramite le impostazioni del dispositivo per poter essere utilizzato con le app installate nel pannello delle app, anche app di terze parti. Un elenco delle app supportate è reperibile all’interno delle impostazioni del Pannello Flex Mode, all’interno del menù delle impostazioni del tuo dispositivo.
- Questo dispositivo contiene magneti. Tenere lontano da carte di credito, dispositivi medici interni e altri dispositivi che potrebbero essere compromessi dai magneti. In caso di dispositivi medici, tenere il dispositivo a una distanza maggiore di 15 cm. Interrompere l’utilizzo del dispositivo in caso di sospetta interferenza con il proprio dispositivo medico e consultare il medico o il fabbricante del dispositivo medico.
- La disponibilità dei colori può variare in base al Paese, alla regione o all’operatore di rete mobile.
- Flex mode supportata ad angolazioni comprese tra 75˚ e 115˚. In Flex mode alcune app potrebbero non essere compatibili.
- L’app Camera Controller è compatibile con Galaxy Watch4 e modelli Galaxy Watch successivi se accoppiati a smartphone della serie Galaxy S9 e successive. La funzione zoom di Camera Controller è disponibile sugli orologi della serie Samsung Galaxy Watch4 e sui modelli Galaxy Watch successivi se accoppiati a smartphone della serie Galaxy S, della serie Galaxy Note e Galaxy Z series dotati di sistema operativo One UI 5.1 o versioni successive compatibili con Camera Controller.
- Snapdragon 8 Gen 2 Mobile Platform per Galaxy dispone di un blocco ISP (processore di immagine) dedicato per il miglioramento dei video in condizioni di scarsa illuminazione.
- Galaxy Z Flip5 supporta la registrazione di video in 4K. Per guardare i video in risoluzione 4K, questi devono essere riprodotti su un dispositivo dotato di risoluzione 4K.
- Alcune applicazioni potrebbero non essere compatibili con i widget Flex Window.
- Il display esterno di Galaxy Z Flip5 è il primo della gamma Galaxy Z Flip a essere dotato di un sensore di prossimità, nonché il primo display esterno Galaxy Z Flip a supportare HBM. L’HBM del display esterno del Galaxy Z Flip5 ha una luminosità massima di 1.600 nits, per uno schermo più nitido e chiaro.
- La disponibilità della funzione può variare a seconda del Paese o della regione.
- La durata effettiva della batteria varia in base all’ambiente di rete, alle funzioni e alle app usate, alla frequenza delle chiamate e dei messaggi, al numero di ricariche effettuate, e a numerosi altri fattori. Dato stimato in base al profilo di utilizzo dell’utente medio/tipico. Collaudato da UX Connect Research.Valutato in modo indipendente da UX Connect Research tra il 19 giugno 2023 e il 29 giugno 2023 negli Stati Uniti d’America, con versioni pre-lancio diSM-F946 e SM-F731 in condizioni di impostazioni predefinite utilizzando reti LTE e5G Sub6.
- Valore tipico testato secondo condizioni di laboratori esterni. Il valore tipico è il valore medio stimato tenendo in considerazione la deviazione nella capacità della batteria tra i campioni di batterie testati ai sensi della norma IEC 61960. La capacità nominale è di 4270mAh per il Galaxy Z Fold5, 3591mAhmAh per il Galaxy Z Flip5. La durata effettiva della batteria può variare a seconda dell’ambiente di rete, delle modalità d’uso e di altri fattori.
- Snapdragon è un prodotto di Qualcomm Technologies, Inc. e/o delle sue controllate. Snapdragon è un marchio o un marchio registrato di Qualcomm Incorporated.
- Rispetto ai modelli precedenti.
- La scocca non include i pulsanti di regolazione del volume, i pulsanti laterali o il vassoio SIM.
- La resistenza all’acqua è basata su condizioni di prova di immersione in laboratorio fino a 1,5 metri di acqua dolce, per un massimo di 30 minuti. Non consigliato per l’uso in spiaggia o in piscina. La resistenza all’acqua e alla polvere del dispositivo non è permanente e potrebbe diminuire nel tempo a causa del normale stato di usura. La valutazione IPX8 non include la resistenza alla polvere.
- La copertura Samsung Care+ può variare a seconda del Paese e potranno essere applicate delle franchigie.
- I dispositivi della gammaGalaxy Watch6 sono venduti separatamente.
- La disponibilità dei prodotti e delle funzioni può variare in base al Paese o alla regione. Galaxy Watch6deve essere abbinato a uno smartphone Samsung Galaxy dotato di sistema operativo Android 10.0, almeno 1.5GB di RAM e la versione 6.24 dell’app Samsung Health o successive. L’analisi bioimpedenziometrica (BIA) è progettataesclusivamente a scopi di salute e benessere in senso generale. Non destinato all’uso per il rilevamento, la diagnosi e il trattamento. Le misurazioni sono solo a scopo di riferimento per l’utente. Consultare un medico per una consulenza professionale.
- La disponibilità può variare a seconda del mercato, dell’operatore di rete mobile, del modello e dello smartphone accoppiato compatibile con Camera Controller. L’aggiornamento sarà inizialmente disponibile sulle versioni Bluetooth e arriverà successivamente sulle versioni LTE.
- Galaxy Z Flip5: 15 componenti che contengono almeno il 10% di plastica riciclata post-consumo o di alluminio riciclato pre-consumo, oppure Corning® Gorilla® Glass Victus® 2 con una media del 22% di materiali riciclati pre-consumo. Tali componenti includono la staffa dei tasti laterali del volume, il modulo dei diffusori (superiore e inferiore), la parte superiore posteriore, il tappo del connettore del display, la staffa del cavo RF FPCB, la parte centrale posteriore, la scocca frontale (principale), la scocca frontale (inferiore), i tasti laterali del volume, la staffa per anello per dito, la decorazione del ricevitore, il supporto da connettore a connettore, il cassetto SIM, il vetro inferiore e quello posteriore. (Galaxy Z Flip4: 6 componenti). Galaxy Z Fold5: 15 componenti che contengono almeno il 10% di plastica riciclata post-consumo o di alluminio riciclato pre-consumo, oppure Corning® Gorilla® Glass Victus® 2 con una media del 22% di vetro riciclato pre-consumo. Tali componenti includono la staffa FPCB dei tasti laterali del volume, il modulo del diffusore in alto (superiore e inferiore), il modulo del diffusore in basso (superiore e inferiore), il connettore del Cover Display, la scocca frontale (principale), la scocca frontale (inferiore), l’antenna (inferiore), l’antenna (principale), i tasti laterali del volume, la staffa per anello per dito, il cassetto SIM, il supporto da connettore a connettore, la decorazione del ricevitore (superiore e inferiore), il vetro inferiore e quello posteriore. (Galaxy Z Fold4: 6 componenti). Le misure sopra riportate si basano sul peso.
- Per i trasferimenti via cavo è necessario almeno il sistema Android™ 4.3. Se non possiedi un cavo/connettore USB adatto per il trasferimento via cavo dei dati sul Galaxy, puoi utilizzare le opzioni di trasferimento wireless. iOS 5 o le versioni di Android OS meno recenti richiedono l’utilizzo di opzioni di trasferimento wireless. Sul tuo nuovo telefono Galaxy, apri Smart Switch Mobile nelle “Impostazioni” oppure scarica l’app Smart Switch dal Galaxy Store. I dati e i contenuti disponibili per il trasferimento possono variare in base al sistema operativo. Viene eseguito il backup dei dati del dispositivo Galaxy per trasferirli quindi al dispositivo ricevente. Effettua il backup da PC con Smart Switch PC oppure usa la funzione di backup della carta SD di Smart Switch Mobile.
- Si applicano termini e condizioni. La disponibilità potrebbe variare in base alPaese o alla regione. Verifica la disponibilità di permuta del dispositivo sulla pagina di Trade-in.
- Le opzioni di spaziodi archiviazione e la disponibilità possono variare in base al Paese, alla regione. La disponibilità dello spazio di archiviazione effettiva può variare a seconda del software per-installato.
- Spessore misurato dal pannello del vetro superiore al pannello del vetro inferiore.
- Misurato diagonalmente, il display principale di Galaxy Z Flip5 ha una dimensione di 6,7" considerando l’intero rettangolo e di 6,6" esclusi gli angoli stondati; l’area visualizzabile effettiva è inferiore per la presenza degli angoli stondati e del foro della fotocamera.
- L’UX/UI reale potrebbe variare.
- I colori di Flipsuit Case, le opzioni delle carte collaborative e i corrispondenti contenuti visibili sullo schermo potrebbero variare. Si visualizza una porzione di contenuto per carta.
- Gli accessori prodotti in collaborazione con altri brand includono una scheda di collaborazione con il brand per confezione.
- Il contenuto della carta prodotta in collaborazione della Flipsuit Case deve essere scaricato separatamente prima dell’uso. È necessaria una connessione di rete per il download.
- Le tipologie di materiali riciclati includono PA riciclato post-consumo proveniente da vecchie reti da pesca, PBT riciclato post-consumo proveniente da vecchie bottiglie in PET, PC riciclato post-consumo proveniente da cisterne per il recupero dell’acqua piovana e alluminio riciclato pre-consumo proveniente da materiali di scarto generati come sottoprodotti dal processo produttivo. Il metallo di scarto viene nuovamente fuso, filtrato per rimuovere le impurità e poi riciclato per realizzare elementi utili al processo produttivo di Samsung. È inoltre presente vetro riciclato pre-consumo, ossia scarti di vetro generati come sottoprodotti dal processo produttivo. Tale vetro di scarto viene frantumato e poi utilizzato come componente nel processo produttivo del Corning® Gorilla® Glass Victus® 2.
" ) ); } } }; var isZoom = function () { var winInnerWidth = window.innerWidth, winOuterWidth = window.outerWidth, zoomLevel = 100 / ((winInnerWidth / winOuterWidth) * 100); if (zoomLevel > 1.75) { document.documentElement.classList.add("browser-zoomed-175"); } else { document.documentElement.classList.remove("browser-zoomed-175"); } }; return { setLownetworkClass: setLownetworkClass, setResolution: setResolution, onClickSup: onClickSup, centeredFocus: centeredFocus, setArBanner: setArBanner, isZoom: isZoom, }; })(); window.flagship.common.utils.layerPopup = function(opts) { let utils = window.flagship.common.utils; var els = {}; var show = {}, hide = {}; var init = function() { setElements(); setOpts(); bindEvent(); }; var setElements = function() { els.html = document.documentElement; els.layerPopup = opts.layerPopup; els.contents = opts.contents; els.closeCta = opts.closeCta; els.moveTarget = opts.moveTarget; }; var setOpts = function() { show.start = (!!!opts.show) ? undefined : opts.show.start; show.end = (!!!opts.show) ? undefined : opts.show.end; hide.start = (!!!opts.hide) ? undefined : opts.hide.start; hide.end = (!!!opts.hide) ? undefined : opts.hide.end; } var bindEvent = function() { opts.openerEvent.element.addEventListener('click', showLayer); els.layerPopup.show = showLayer; els.layerPopup.hide = hideLayer; }; var showLayer = function(e) { if (opts.openerEvent.proxy) { if (opts.openerEvent.parent) { if (e.target.parentElement.classList.contains(opts.openerEvent.class)) { utils.hiddenScroll(els.layerPopup); els.openerCta = e.target.parentElement; els.layerPopup.opener = els.openerCta; if (show.start) show.start(els); if (utils.detector.isIosDevice) e.target.parentElement.style.display = 'none'; els.html.classList.add('is-layer-open'); els.html.style.overflow = 'hidden'; els.moveTarget.appendChild(els.layerPopup); accessibility.on(); setTimeout(function() { els.closeCta.focus(); }, 300); els.closeCta.addEventListener('click', hideLayer); if (show.end) show.end(els); } } else { if (e.target.classList.contains(opts.openerEvent.class)) { utils.hiddenScroll(els.layerPopup); els.openerCta = e.target; els.layerPopup.opener = els.openerCta; if (show.start) show.start(els); if (utils.detector.isIosDevice) e.target.style.display = 'none'; els.html.classList.add('is-layer-open'); els.html.style.overflow = 'hidden'; els.moveTarget.appendChild(els.layerPopup); accessibility.on(); setTimeout(function() { els.closeCta.focus(); }, 300); els.closeCta.addEventListener('click', hideLayer); if (show.end) show.end(els); }; } } else { utils.hiddenScroll(els.layerPopup); els.openerCta = this; els.layerPopup.opener = els.openerCta; if (show.start) show.start(els); if (utils.detector.isIosDevice) this.style.display = 'none'; els.html.classList.add('is-layer-open'); els.html.style.overflow = 'hidden'; els.moveTarget.appendChild(els.layerPopup); accessibility.on(); setTimeout(function() { els.closeCta.focus(); }, 300); els.closeCta.addEventListener('click', hideLayer); if (show.end) show.end(els); } }; var hideLayer = function() { if (utils.detector.isIosDevice) els.openerCta.style.display = ''; if (hide.start) hide.start(els); els.html.classList.remove('is-layer-open'); els.html.style.overflow = ''; utils.visibleScroll(); els.closeCta.removeEventListener('click', hideLayer); accessibility.off(); setTimeout(function() { if (!!!els.openerCta) { els.layerPopup.opener.focus(); } else { els.openerCta.focus(); } }, 300); if (hide.end) hide.end(els); }; var accessibility = { on: function() { accessibility.onPopupAccessibility(document.querySelector('#wrap')); utils.offAccessibility(els.layerPopup); }, off: function() { accessibility.offPopupAccessibility(document.querySelector('#wrap')); utils.onAccessibility(els.layerPopup); }, onPopupAccessibility: function(el) { el.setAttribute('aria-hidden', true); el.setAttribute('tabindex', -1); let clickable = el.querySelectorAll('a, button, input, select, iframe'); for (let i = 0; i < clickable.length; i++) { let currAria = clickable[i].getAttribute('aria-hidden'); let currTab = clickable[i].getAttribute('tabindex'); if (currAria != null) clickable[i].setAttribute('data-prev-aria-hidden', currAria); if (currTab != null) clickable[i].setAttribute('data-prev-tabindex', currTab); clickable[i].setAttribute('tabindex', -1); clickable[i].setAttribute('aria-hidden', true); } }, offPopupAccessibility: function(el) { el.removeAttribute('aria-hidden'); el.removeAttribute('tabindex'); let clickable = el.querySelectorAll('a, button, input, select, iframe'); for (let i = 0; i < clickable.length; i++) { let prevAria = clickable[i].getAttribute('data-prev-aria-hidden'); let prevTab = clickable[i].getAttribute('data-prev-tabindex'); if (prevAria != null) clickable[i].setAttribute('aria-hidden', prevAria); else clickable[i].removeAttribute('aria-hidden'); if (prevTab != null) clickable[i].setAttribute('tabindex', prevTab); else clickable[i].removeAttribute('tabindex'); clickable[i].removeAttribute('data-prev-aria-hidden'); clickable[i].removeAttribute('data-prev-tabindex'); } }, }; return init();}var newVideoHandler = function(opts) { var init = function(opts) { this.video = opts.video; this.wrap = !!!opts.wrap ? video : opts.wrap; this.controller = !!!opts.controller ? '' : opts.controller; this.playType = opts.playType; this.startPoint = !!!opts.startPoint ? 0 : opts.startPoint; this.reversePoint = !!!opts.reversePoint ? 100 : opts.reversePoint; this.playClass = !!!opts.playClass ? 'is-playing' : opts.playClass; this.pauseClass = !!!opts.pauseClass ? 'is-paused' : opts.pauseClass; this.endedClass = !!!opts.endedClass ? 'is-ended' : opts.endedClass; this.resetCallback = opts.resetCallback; this.playCallback = opts.playCallback; this.pauseCallback = opts.pauseCallback; this.endCallback = opts.endCallback; this.tweenObject = null; this.agent = navigator.userAgent; this.isMacintosh = this.agent.indexOf('Macintosh'); this.isChrome = this.agent.indexOf('Chrome'); this.playText = !!!opts.playText ? '' : opts.playText; this.pauseText = !!!opts.pauseText ? '' : opts.pauseText; this.bindEvents(); this.video.videoHandler = this; return this; }; var fn = init.prototype; fn.eventList = { play: function() { if (!!this.playCallback) this.playCallback(); if (!this.wrap.length) { this.wrap.classList.remove(this.endedClass); this.wrap.classList.remove(this.pauseClass); this.wrap.classList.add(this.playClass); } else { for (var i = 0; i < this.wrap.length; i++) { this.wrap[i].classList.remove(this.endedClass); this.wrap[i].classList.remove(this.pauseClass); this.wrap[i].classList.add(this.playClass); } } if (this.controller) { var bilnd = this.controller.querySelector('.blind'), pauseText = this.controller.getAttribute('data-pause-text').toLowerCase(); bilnd.innerText = pauseText; } }, ended: function() { if (!!this.endCallback) this.endCallback(); if (!this.wrap.length) { this.wrap.classList.remove(this.playClass); this.wrap.classList.add(this.pauseClass) this.wrap.classList.add(this.endedClass) } else { for (var i = 0; i < this.wrap.length; i++) { this.wrap[i].classList.remove(this.playClass); this.wrap[i].classList.add(this.pauseClass) this.wrap[i].classList.add(this.endedClass) } } }, pause: function() { if (!!this.pauseCallback) this.pauseCallback(); if (!this.wrap.length) { this.wrap.classList.remove(this.playClass); this.wrap.classList.add(this.pauseClass); } else { for (var i = 0; i < this.wrap.length; i++) { this.wrap[i].classList.remove(this.playClass); this.wrap[i].classList.add(this.pauseClass); } } if (this.controller) { var bilnd = this.controller.querySelector('.blind'), playText = this.controller.getAttribute('data-play-text').toLowerCase(); bilnd.innerText = playText; } }, reset: function() { if (!!this.resetCallback) this.resetCallback(); this.video.pause(); this.video.currentTime = 0; var self = this; var _removeClass = function() { if (!self.wrap.length) { self.wrap.classList.remove(self.playClass); self.wrap.classList.remove(self.pauseClass); self.wrap.classList.remove(self.endedClass); } else { for (var i = 0; i < self.wrap.length; i++) { self.wrap[i].classList.remove(self.playClass); self.wrap[i].classList.remove(self.pauseClass); self.wrap[i].classList.remove(self.endedClass); } } } clearTimeout(_removeClass); setTimeout(_removeClass, 50); } }; fn.activeList = { scrollPlay: function(progress) { if (!document.documentElement.classList.contains('low_network') && progress > this.startPoint && progress < this.reversePoint && this.video.paused && !this.wrap.classList.contains(this.endedClass) && !this.wrap.classList.contains(this.pauseClass)) { if (this.video.readyState == 4 && this.video.paused) { this.video.play(); } else { this.video.addEventListener('canplay', this.video.play); }; }; if (this.video.readyState == 4) { if (progress === 100 || progress === 0) { this.eventList.reset.call(this); } } }, sequencePlay: function(progress, corrProgress, scrollDuration) { this.corrProgress = !!!corrProgress ? 100 : corrProgress; this.scrollDuration = !!!scrollDuration ? 0.6 : scrollDuration; if (this.video.readyState == 4 && this.video.paused) { this.videoDuration = this.video.duration; this.playCurrentTime = this.videoDuration * (progress / this.corrProgress); this.playRange = this.playCurrentTime < this.videoDuration ? this.playCurrentTime : this.videoDuration; // if (this.isMacintosh > 0 && this.isChrome > 0) { // this.video.currentTime = this.playRange; // } else { // if (this.tweenObject === null) { // this.tweenObject = new TweenMax.to(this.video, this.scrollDuration, { // currentTime: this.playRange, // ease: 'Circ.out' // }); // }; // this.tweenObject.updateTo({currentTime: this.playRange}, true); // } if (this.playCurrentTime < this.videoDuration) { this.video.currentTime = this.playRange; }; }; } } fn.bindEvents = function() { var self = this; this.playEvent = function() { self.eventList.play.call(self); } this.pauseEvent = function() { self.eventList.pause.call(self); } this.endedEvent = function() { self.eventList.ended.call(self); } this.video.addEventListener('play', this.playEvent); this.video.addEventListener('pause', this.pauseEvent); this.video.addEventListener('ended', this.endedEvent); }; fn.scrollActive = function(progress, corrProgress, scrollDuration) { switch (this.playType) { case 'scrollPlay': this.activeList.scrollPlay.call(this, progress); break; case 'sequencePlay': this.activeList.sequencePlay.call(this, progress, corrProgress, scrollDuration); break; } }; fn.destroy = function() { this.video.removeEventListener('play', this.playEvent); this.video.removeEventListener('pause', this.pauseEvent); this.video.removeEventListener('ended', this.endedEvent); this.video.videoHandler = null; }; return new init(opts);}; (function () { var resize = window.flagship.common.resize, common = window.flagship.highlights.common, utils = window.flagship.common.utils, agent = navigator.userAgent.toLowerCase(), maxOs = agent.indexOf("mac os") > -1, touchDevice = ('ontouchstart' in window || (window.DocumentTouch && document instanceof window.DocumentTouch)), els = {}; var init = function () { els.videoWrap = document.querySelectorAll(".common-video"); els.isGlobal = document.documentElement.classList.contains("global"); if (!!els.videoWrap[0]) { setElements(); } for (var i = 0; i < els.videoWrap.length; i++) { if (els.videoWrap[i].childNodes.length > 0) { els.videoWrap[i].control = els.videoWrap[i].querySelector( ".common-video__control" ); els.videoWrap[i].blind = els.videoWrap[i].querySelector(".blind"); els.videoWrap[i].blind.innerHTML = els.videoWrap[i].control .getAttribute("data-play-text") .toLowerCase(); } } }; var setElements = function() { els.viewerPopup = document.querySelector('.highlights-viewer'); els.scrollVideosWrap = document.querySelectorAll('.js-scroll-video'); els.scrollVideos = document.querySelectorAll('.js-scroll-video video'); for (var i = 0; i < els.scrollVideosWrap.length; i++) { els.scrollVideos[i].videoWrap = els.scrollVideosWrap[i]; } }; var bindEvents = function () { window.addEventListener("load", anchorPosition); window.addEventListener("hashchange", anchorPosition); }; var setResize = function () { resize.init( [ { resolution: 1920, resolutionName: "desktop", eventFunction: "", }, { resolution: 1023, resolutionName: "tablet", eventFunction: "", }, { resolution: 767, resolutionName: "mobile", eventFunction: "", }, { resolution: 320, resolutionName: "mobileS", eventFunction: "", }, ], 200 ); resize.add(common.setResolution); }; var setScrollControl = function () { window.scrollController = ANIUTIL.scrollController(); scrollController.init({ speed: 120, duration: 0.5, }); }; var setImageLoader = function () { window.imageLoader = ANIUTIL.mediaLoader({ lazyClass: ".js-img-src", responsiveClass: ".js-res-img", preset: els.isGlobal ? "" : "?imbypass=true", loadOption: [ { resolution: 1920, attribute: "data-src-pc", }, { resolution: 1023, attribute: "data-src-tb", }, { resolution: 767, attribute: "data-src-mo", }, { resolution: 360, attribute: "data-src-mo-s", }, ], visiblePoint: 2, }); window.bgLoader = ANIUTIL.mediaLoader({ type: "bgImage", lazyClass: ".js-bg-img", loadOption: [ { resolution: 1920, attribute: "", bgOpts: "", }, ], visiblePoint: 1, }); }; var setVideoLoader = function () { window.videoLoader = ANIUTIL.mediaLoader({ type: "video", lazyClass: ".js-video-src", responsiveClass: ".js-res-video", preset: els.isGlobal ? "" : "?imbypass=true", loadOption: [ { resolution: 1920, attribute: "data-video-src-pc", }, { resolution: 1023, attribute: "data-video-src-tb", }, { resolution: 767, attribute: "data-video-src-mo", }, { resolution: 360, attribute: "data-video-src-mo-s", }, ], visiblePoint: 1, endCallback: function (video) { if ( video.videoWrap && !video.videoWrap.classList.contains("is-loaded") ) { video.videoWrap.classList.add("is-loaded"); } }, }); }; var setDisclaimer = function () { els.supClicker = document.querySelectorAll("a.click_sup"); for (var i = 0; i < els.supClicker.length; i++) { els.supClicker[i].addEventListener("click", common.onClickSup); } }; var setCenteredfocus = function () { els.contents = document.querySelector("#contents"); els.allClickables = els.contents.querySelectorAll( "a, button, input, select" ); for (var i = 0; i < els.allClickables.length; i++) { els.allClickables[i].addEventListener( "focusin", common.centeredFocus ); } }; var anchorPosition = function () { if (window.location.hash != "") { if (window.location.hash == "#colors-see-in-360") { if (els.viewerPopup) els.viewerPopup.show(); } else if ( window.location.hash == "#online-exclusive-color-see-in-360" ) { if (els.viewerPopup) els.viewerPopup.show(); } else if (!!document.querySelector(window.location.hash)) { var hash = location.hash.split("#")[1], hashSection = document.querySelector("#contents #" + hash), hashTimeout = null; clearTimeout(hashTimeout); hashTimeout = setTimeout(function () { var sectionTop = hashSection.getBoundingClientRect().top, navHeight = utils.getNavHeight(), hashScroll = window.pageYOffset + sectionTop - navHeight; window.scrollTo(0, hashScroll); }, 300); } } }; var setVideoTheme = function () { var videoList = document.querySelectorAll(".common-video"); for (var i = 0; i < videoList.length; i++) { var colorType = videoList[i].getAttribute("data-theme-type"); if (colorType === "white") { videoList[i].classList.add("common-video__white"); } else if (colorType === "black") { videoList[i].classList.add("common-video__black"); } } }; var onLoadHandler = function () { common.setLownetworkClass(); common.setArBanner(); init(); bindEvents(); setResize(); if (!maxOs && !touchDevice) { setScrollControl(); } setImageLoader(); setVideoLoader(); setDisclaimer(); setCenteredfocus(); setVideoTheme(); common.isZoom(); resize.add(common.isZoom); }; onLoadHandler(); })(); (function() { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.ai = (function() { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}, objs = {}, status = { prevIndex: 0, isAuto: true, }; const init = function() { els.section = document.querySelector('.highlights-ai'); if (!!els.section) { setElements(); eventList.setScene(); bindEvents(); } }; const setElements = function() { els.carouselWrap = els.section.querySelector('.js-carousel-wrap'); els.yotubeCta = els.section.querySelectorAll('.js-youtube-popup'); // swiper els.swiperContainer = els.section.querySelector('.swiper-container'); els.nextArrow = els.section.querySelector('.swiper-button-next'); els.prevArrow = els.section.querySelector('.swiper-button-prev'); els.pagination = els.section.querySelector('.swiper-pagination'); // video els.videoWrap = els.section.querySelectorAll('.common-video'); els.videoControlCta = Array.prototype.slice.call(els.section.querySelectorAll('.common-video__control')); }; const bindEvents = function() { eventHandler.load(); eventHandler.scroll(); eventHandler.click(); resize.add(eventList.onResize); }; const eventHandler = { load: function() { window.addEventListener('DOMContentLoaded', eventList.onLoad, { once: true }); }, scroll: function() { window.addEventListener('scroll', eventList.scroll); }, click: function() { for (let i = 0; i < els.videoControlCta.length; i++) { els.videoControlCta[i].addEventListener('click', eventList.setVideoStatus); } els.nextArrow.addEventListener('click', eventList.setArrowFocus); els.nextArrow.addEventListener('keydown', eventList.setArrowFocus); els.prevArrow.addEventListener('click', eventList.setArrowFocus); els.prevArrow.addEventListener('keydown', eventList.setArrowFocus); for (let i = 0; i < els.yotubeCta.length; i++) { els.yotubeCta[i].addEventListener('click', eventList.pauseVideo); } }, }; const eventList = { swiper: { set: function() { if (objs.swiper == null) { objs.swiper = new Swiper(els.swiperContainer, { init: false, speed: 500, navigation: { nextEl: els.nextArrow, prevEl: els.prevArrow, }, pagination: { el: els.pagination, type: 'bullets', renderBullet: function() { return '
'; } }, }); } }, init: function() { let notification = this.el.querySelector('.swiper-notification'); this.el.removeChild(notification); els.nextArrow.removeAttribute('aria-label'); els.nextArrow.removeAttribute('role'); els.prevArrow.removeAttribute('aria-label'); els.prevArrow.removeAttribute('role'); objs.swiper.on('slideChange', eventList.swiper.slideChange); objs.swiper.on('transitionEnd', eventList.swiper.transitionEnd); objs.swiper.on('touchMove', eventList.swiper.touchMove); objs.swiper.on('touchEnd', eventList.swiper.touchEnd); els.bullets = objs.swiper.pagination.bullets; for (let i = 0; i < els.bullets.length; i++) { els.bullets[i].addEventListener('click', function() { objs.swiper.slideTo(i); }); } eventList.setVideo(); eventList.scroll(); accessibility.slide(); accessibility.pagination.label(); accessibility.pagination.tagging(); }, slideChange: function() { let activeIndex = objs.swiper.activeIndex; let nextIndex = (activeIndex == (objs.swiper.slides.length - 1)) ? null : activeIndex + 1; if (nextIndex != null) { if (nextIndex == 2) { eventList.lazyLoad(els.videoWrap[nextIndex]); } else if (nextIndex == 3) { eventList.lazyLoad(els.videoWrap[nextIndex]); } } // video objs[`video_${status.prevIndex}`].eventList.reset.call(objs[`video_${status.prevIndex}`]); objs[`video_${status.prevIndex}`].video.removeEventListener('canplay', objs[`video_${status.prevIndex}`].video.play); if (!!status.isAuto) { if (objs[`video_${activeIndex}`] != undefined && objs[`video_${activeIndex}`].video.readyState >= 4) { objs[`video_${activeIndex}`].video.play(); } else { objs[`video_${activeIndex}`].video.addEventListener('canplay', function() { this.play(); }); } } // set autoplay if (objs.swiper.activeIndex == (objs.swiper.slides.length - 1)) status.isLast = true; accessibility.slide(); accessibility.pagination.label(); status.prevIndex = activeIndex; }, transitionEnd: function() { let activeController = objs[`video_${objs.swiper.activeIndex}`].controller; let isArrow = document.activeElement.classList.contains('swiper-button-next') || document.activeElement.classList.contains('swiper-button-prev'); let isBullet = document.activeElement.classList.contains('swiper-pagination-bullet'); if (!!isArrow || !!isBullet) return; activeController.focus(); }, touchMove: function() { objs.swiper.off('transitionEnd', eventList.swiper.transitionEnd); }, touchEnd: function() { objs.swiper.on('transitionEnd', eventList.swiper.transitionEnd); }, }, setVideo: function() { for (let i = 0; i < els.videoWrap.length; i++) { objs[`video_${i}`] = newVideoHandler({ playType: 'scrollPlay', wrap: els.videoWrap[i], video: els.videoWrap[i].querySelector('video'), controller: els.videoControlCta[i], startPoint: status.currentDevice.indexOf('mobile') > -1 ? 25 : 35, reversePoint: status.currentDevice.indexOf('mobile') > -1 ? 65 : 75, resetCallback: function() { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); } }, playCallback: function() { accessibility.controlTagging.play(objs[`video_${i}`].wrap.control); }, pauseCallback: function() { accessibility.controlTagging.pause(objs[`video_${i}`].wrap.control); }, endCallback: function() { if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); } if (!status.isAuto || !!status.isLast) return; setTimeout(() => { objs.swiper.slideNext(500); }, 300); } }); } }, setScene: function() { objs.scene = SCROLLER({ trackElement: els.carouselWrap, useFixed: false }); }, onLoad: function() { status.currentDevice = resize.checkResolution(); if (!!utils.isLowNetwork()) status.isAuto = false; eventList.swiper.set(); objs.swiper.on('init', eventList.swiper.init); objs.swiper.init(); }, onResize: function(currRes) { status.currentDevice = currRes; }, scroll: function() { objs.scene.trackAnimation(function() { if (!status.isAuto) return; objs[`video_${objs.swiper.activeIndex}`].scrollActive(this.progress); }); }, lazyLoad: function(videoWrap) { videoLoader.setResponsiveMedia([videoWrap.querySelector('video')], function(target) { if (!target.videoHandler.wrap.classList.add('is-loaded')) target.videoHandler.wrap.classList.add('is-loaded'); }); let image = videoWrap.querySelectorAll('img'); imageLoader.setResponsiveMedia(image); }, setVideoStatus: function() { let activeIndex = els.videoControlCta.indexOf(this); if (!objs[`video_${activeIndex}`].video.paused) { objs[`video_${activeIndex}`].video.pause(); if (!utils.isLowNetwork()) status.isAuto = false; } else { objs[`video_${activeIndex}`].video.play(); if (!utils.isLowNetwork()) status.isAuto = true; } }, setArrowFocus: function(e) { status.arrowFocusTimeout = null; if ((e.type == 'keydown' && e.keyCode == 13) || e.type == 'click') { e.preventDefault(); clearTimeout(status.arrowFocusTimeout); status.arrowFocusTimeout = setTimeout(() => { if (objs.swiper.isBeginning && !objs.swiper.isEnd) { els.nextArrow.focus(); } else if (!objs.swiper.isBeginning && objs.swiper.isEnd) { els.prevArrow.focus(); } }, 300); } }, pauseVideo: function() { if (!objs[`video_${objs.swiper.activeIndex}`].video.paused) { objs[`video_${objs.swiper.activeIndex}`].video.pause(); if (!utils.isLowNetwork()) status.isAuto = false; } } }; const accessibility = { slide: function() { for (let i = 0; i < objs.swiper.slides.length; i++) { if (i != objs.swiper.activeIndex) { utils.onAccessibility(objs.swiper.slides[i]); } else { utils.offAccessibility(objs.swiper.slides[i]); } } }, pagination: { label: function() { for (let i = 0; i < els.bullets.length; i++) { let slideTitle = objs.swiper.slides[i].getAttribute('data-slide-name'); if (i === objs.swiper.realIndex) { if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { els.bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideTitle} ${LOCAL_VARI.selected.toLowerCase()}`); } else { els.bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideTitle} selected`); } } else { els.bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideTitle}`); } } }, tagging: function() { for (let i = 0; i < els.bullets.length; i++) { let tagging = { 'data-omni-type': 'microsite_pcontentinter', 'data-omni': 'galaxy-z-flip5:highlights:overview:index:', 'ga-ca': 'indication', 'ga-ac': 'carousel', 'ga-la': 'galaxy-z-flip5:highlights:overview:index:', }; Object.keys(tagging).forEach(function(key) { if (key == 'data-omni' || key == 'ga-la') { els.bullets[i].setAttribute(key, tagging[key] + (i + 1)); } else { els.bullets[i].setAttribute(key, tagging[key]); } }); } }, }, controlTagging: { pause: function(control) { if (!!control) { let dataOmni = control.getAttribute('data-omni'), gaLa = control.getAttribute('ga-la'); control.setAttribute('data-omni', dataOmni.replace('pause', 'play')); control.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, play: function(control) { if (!!control) { let dataOmni = control.getAttribute('data-omni'), gaLa = control.getAttribute('ga-la'); control.setAttribute('data-omni', dataOmni.replace('play', 'pause')); control.setAttribute('ga-la', gaLa.replace('play', 'pause')); } }, } }; return { init: init } })();})(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.cameraVideo = (function () { var els = {}, objs = {}, utils = window.flagship.common.utils; var init = function () { els.section = document.querySelector(".highlights-video"); if (!!els.section) { setElements(); objList.setVideo(); objList.setScene(); bindEvents(); } }; var setElements = function () { els.scrollVideoWrap = els.section.querySelector(".common-video"); els.scrollVideo = els.section.querySelector( ".common-video__figure>video" ); els.scrollController = els.section.querySelector( ".common-video__control" ); els.scrollControllerBlindText = els.scrollController.querySelector(".blind"); }; var bindEvents = function () { window.addEventListener("scroll", handlerList.scroll); els.scrollController.addEventListener("click", handlerList.videoCta); handlerList.scroll(); }; var objList = { setVideo: function () { objs.cameraVideo = ANIUTIL.videoHandler({ playType: "scrollPlay", startPoint: 8, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.remove("is-completed"); } }, playCallback: function () { els.scrollControllerBlindText.innerText = "Pausa"; 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("Pausa", "Play") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("Pausa", "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", "Pausa") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("Play", "Pausa") ); } }, }; 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 = "Pausa"; 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("Pausa", "Play") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("Pausa", "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", "Pausa") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("Play", "Pausa") ); } }, }; 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 = "Pausa"; 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("Pausa", "Play") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("Pausa", "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", "Pausa") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("Play", "Pausa") ); } }, }; 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 = "Pausa"; 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("Pausa", "Play") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("Pausa", "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", "Pausa") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("Play", "Pausa") ); } }, }; 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 = "Pausa"; 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("Pausa", "Play") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("Pausa", "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", "Pausa") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("Play", "Pausa") ); } }, }; 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 = "Pausa"; 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("Pausa", "Play") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("Pausa", "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", "Pausa") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("Play", "Pausa") ); } }, }; 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(); })(); });