Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (2024)

Galaxy Z Fold5

  • SPECIFICATIONS
  • REVIEWS
  • SUPPORT

BUY NOW

  • Highlights
  • Compare
  • Accessories
  • My Fold5
  • SPECIFICATIONS
  • REVIEWS
  • SUPPORT
Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (1)

n/a n/a Buy now n/a

Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (2)
  • *S Pen Fold Edition for Galaxy Z Fold5 sold separately.
  • DESIGN
  • BIG SCREEN
  • BATTERY
  • MULTITASKING
  • CAMERA

Galaxy AI is here

Welcome to the era of mobile AI. With Galaxy Z Fold5 in your hands, you can unleash whole new levels of creativity, productivity and possibility —starting with the most important device in your life. Your smartphone.

Epic, just like that.

CIRCLE TO SEARCH

Circle it, find it. Just like that

Search like never before with Circle to Search.1 Simply trace an object to get Google Search results. No typing required.

*Image simulated for illustrative purposes. Actual UI may be different.

Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (3)

Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (4)

A blog page is open in a web browser app. S Pen is used to long press the Home button. A Google overlay appears over the app. S Pen is used to circle text on the blog page: Tornado Potato. Search results for tornado potato appear in a popup over the app. S Pen is used to drag the results upward into a full screen of Google search results.

LIVE TRANSLATE

The easiest way to communicate

Get real-time interpretation while you're on the phone.2 Speak in your own language and it’ll get translated on their end, too.

*Image simulated for illustrative purposes. Actual UI may be different.

Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (5)

A phone call is translated in real time. The dialogue is shown on screen as a text conversation in two languages.

INTERPRETER

An Interpreter in your pocket

Want to ask a local for a recommendation? Don't worry! There's an interpreter in your pocket. Enjoy it even in airplane mode with no Wi-Fi.3

*Image simulated for illustrative purposes. Actual UI may be different.

Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (6)

In the Interpreter app, a conversation in two languages is transcribed and translated in real time.

PHOTO ASSIST

Resize it, retouch it. Just like that

New AI editing options let you get the photo you wanted, letting you relocate objects and intelligently fill in the space they left behind.4

*Image simulated for illustrative purposes. Actual UI may be different.

Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (7)

A photo is edited in the Gallery app. An edit button is tapped and one of the subjects is selected. They are moved to another location in the picture. Then, missing areas are filled in.

    Try Galaxy on your phone Scan this QR code or visit trygalaxy.com

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (8)

    The ultimate 7.6” Main Display

    Unfold a stunning, immersive screen — reimagined to bring you gaming like never before, cinematic viewing wherever you are and PC-style productivity — all on a tablet-sized device.5,7

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (9) Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (10)

    Light passes over the bottom frame of a folded Galaxy Z Fold5 hidden in darkness. Another glimmer reveals the edge of the bottom frame again as the device opens up, revealing the entire device seen from a fully opened Main Screen. A scene of a sport utility vehicle parked on a reflective surface that mirrors a starry night sky is shown on the display.

    Our lightest, most compact Galaxy Z Fold yet

    The laws of physics have nothing on this levelled-up design. Galaxy Z Fold5 lives up to its name by folding closed, making a massive screen implausibly pocketable.

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (11) Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (12)

    A close up of the partially folded Main Screen as it completely closes. The final angle centres on the frame and Flex Hinge seen from the bottom.

    Open it up, fold it shut or flex to the perfect angle. The redesigned Flex Hinge is a technical marvel that bends to your will.

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (14)

    13.4mm Thickness8

    253g Weight

    *Image simulated for illustrative purposes.

    Slimmer, lighter and more portable than ever9

    We've trimmed down the form factor, giving you a tighter grip on what you love without sacrificing an ounce of power.9

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (15)

    Set the vibe with your favourite colour

    The future looks bright with these nature-inspired hues.

    Icy Blue Phantom Black Cream

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (16)

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (17)

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (18)

    Online exclusive colours you can only find here

    For the trendsetters who love to stand out — get ready to meet your match. Take your pick from two exclusive colours from our urban nature lineup. Only on Samsung.com.

    Online Exclusive

    Blue

    Online Exclusive

    Grey

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (19)

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (20)

    And now for your viewing pleasure

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (21) Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (22)

    A dark and dramatic scene from Netflix's The Witcher plays on the Cover Screen of a horizontal Galaxy Z Fold5. Netflix membership required. The device unfolds to the Main Screen where the scene seamlessly continues on the large display.

    *Image simulated for illustrative purposes. Actual UI may be different.

    Keep it bright. Even in direct light

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (23)

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (24)

    Don't worry about sunlight ruining your view as you enjoy a movie-going experience on the 7.6-inch Main Screen.5 You'll feel like you're right in the middle of the action — with Galaxy Z Fold5 emitting up to 1750 nits of brightness.10

    Enjoy all day battery11 battery Listen up to 73 hrs6 Watch up to 21 hrs6

    A phone this impressive — you'll want to be on it all the time. With a massive 4400mAh (typical) dual battery system, you can.12 Paired up with an advanced processor, it efficiently adjusts power usage to your habits and your needs, making one charge last longer.

    Powerful gaming with the fastest Snapdragon on a Galaxy Z Fold yet

    Power your road to victory with the upgraded hardware and software of Snapdragon® 8 Gen 2 Mobile Platform for Galaxy.13 This high-performance processor fuels champion-level gameplay.

    • GPU 32 %↑
    • NPU 25 %↑
    • CPU 18 %↑

    *”HoYoverse” is a trademark and/or registered trademark of COGNOSPHERE PTE. LTD. Genshin Impact available for download at Galaxy Store now. Genshin Impact artworks are copyrighted and Cognosphere PTE. LTD. enjoys the exclusive rights.

    *AP performance improvements shown compared to prior generation chipset. Actual performance will depend on user environment, conditions and pre-installed software and applications.

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (25)

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (26) Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (27)

    Gameplay of Genshin Impact. Movement is smooth and graphics are clear.

    Multi Window.
    Your multitasking secret weapon

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (28)

    The most advanced multitasking experience on a Samsung Galaxy smartphone yet lets you keep three windows on one screen, so you can stream, shop, browse and play more.14

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (29) Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (30)

    Three windows are open on the Main Screen of Galaxy Z Fold5. Two are internet browsers and one is a text message chat. In one of the internet browsers is a photo of a cake. The cake is cropped from the picture and dragged and dropped in the text message chat.

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (31)

    The task bar holds up to twelve apps at once — now keeping four of your most recent — so you can effortlessly swap between the ones you like to use the most.15 Add S Pen to your task-blasting toolkit for even more efficiency.17

    Our most portable S Pen for Fold yet, with a compact case

    When the ideas flow, reach for S Pen to write, scribble and jot with precision your hands could only dream of. Open Samsung Notes for a canvas that syncs across all your devices, or make journaling an artform in your favourite note-taking app.

    *S Pen Fold Edition with Slim S Pen Case sold separately.

    *GoodNotes app required separate download and purchase.

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (32)

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (33)

    Better together

    Slim S Pen Case

    for on-the-go precision

    Learn more

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (34)

    GoodNotes

    now with even more creative control

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (35)

    Standout cameras. Cover to cover

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (36) Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (37)

    Close up of the Galaxy Z Fold5 rear cameras, positioned horizontally.

    • 10MP

      3x Optical Zoom Telephoto Camera

    • 50MP

      Wide-angle Camera

    • 12MP

      Ultra Wide Camera

    • 10MP

      Cover Camera

    • 4MP

      Under Display Camera

    *Image simulated for illustrative purposes. Actual UI may be different.

    The 50MP MVP

    Not just an advanced camera system, this unique form factor featuring two expansive displays allows you to set up your phone like a mobile studio, complete with 30x Space Zoom.17 So you can shoot, reshoot, zoom and edit with a whole new level of creative freedom.

    Dual Preview puts your subject in control

    Unfold Galaxy Z Fold5 to show your subject exactly what you're seeing in the viewfinder.18 This way, they can adjust their pose and fix their hair to look their best.

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (38)

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (39)

    A tennis player poses for a photo on the tennis court. A teammate kneels in front to take the photo with the Rear Camera of an unfolded Galaxy Z Fold5. The photo taker observes the Main Screen while the photo subject observes the Cover Screen. Next, the photo preview is displayed on the Cover Screen as well as the Main Screen.

    Captured by Galaxy Z Fold5#withGalaxy

    Balanced and bright in low light

    Unfold to the Main Screen and capture the high resolution night photos you've always dreamed of — stunning low-light photography that captures each moment with colour and clarity.

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (40)

    Captured by Galaxy Z Fold5#withGalaxy

    Tap record. Capture memories

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (41) Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (42)

    A florist clips the stems of a bundle of flowers. The natural movements, shades of colours and diverse textures of the flowers are captured with realistic quality and definition.

    Captured by Galaxy Z Fold5#withGalaxy

    With the Rear Camera, take videos lush with colour and detail. For even more clarity, Auto FPS sets the optimal exposure from moment to moment, so your video stays bright from start to finish.

    *This video has been retouched for colour correction. Actual UI may be different.

    Premium and tough, inside and out

    Galaxy Z Fold5 stands up to fold after fold after fold. Samsung Care+ is available for extra protection.

    • Galaxy Z Fold5 is reinforced with a tough aluminum frame.22 This powerful shell lives up to its name — Armor Aluminum — protecting your phone from damage.

      Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (43)

    • Our new dual rail hinge is stronger, more durable and a beauty to behold.9

      Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (44)

    • Sealed tight with top-of-the-line water resistance.23

      Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (45)

    Samsung Care+ is available for extra protection.

    Learn more

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (46)

    Control more screens at once with Multi control

    Enjoy seamless device collaboration. Multi control lets you use a keyboard and mouse across devices like your Galaxy Z Fold5 and Galaxy Tab S9, making it even easier to copy and paste or drag and drop.22 Your tablet can even double as a second screen, to make your portable workspace even more efficient.

    *Galaxy Tab S9 Ultra and Bluetooth Mouse Slim sold separately.

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (47)

    Designed with the planet in mind

    The Galaxy Z Flip5 and Fold5 feature a wider variety of recycled materials than their previous generations, including pre-consumer recycled glass and aluminum and post-consumer recycled plastics, sourced from discarded fishing nets, water barrels and PET bottles.28,29

    *Image simulated for illustrative purposes. Actual UI may be different.

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (48)

    Switch, upgrade and trade. It's all easy

    Smart Switch

    Safe and secure. Take your photos, apps and messages with you when you switch to Galaxy.27

    Learn more

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (49)

    Your old tech, unmissable discounts

    Don’t let the dust settle on your old tech. You're two minutes away from an instant Trade In discount on your order.

    Learn more

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (50)

    Your Privacy. Secured

    Your privacy is on lock with Samsung Knox. Share what you want. Secure everything else.

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (51)

    Storage

    Store it all with 256GB, 512GB and 1TB options.23

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (52)

    Get started with 6 months of Microsoft 365 Basic. You'll get 100 GB of cloud storage, plus ad-free, secure email and access to Microsoft support.24

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (53)

    Accessories that do more

    LEARN MORE

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (54)

    SEE IN 360°

    Take it for a spin

    *Online exclusive colours only available on Samsung.com.

    Frequently Asked Questions

    • The biggest difference between the two phones is their size. At 253 grams, Galaxy Z Fold5 is 10 grams lighter than Galaxy Z Fold4. It is also thinner than Galaxy Z Fold4. Unfolded, it is 6.1mm thick, while its predecessor measures 6.3mm.8 Folded, it is a more pocketable size at 13.4mm evenly across the device, while Galaxy Z Fold4 measures 15.8mm at the hinge and 14.2mm at the outer edge.

      The Galaxy Z Fold5 also has an upgraded processor which elevates performance across the board with CPU performance improved by 18%, GPU by 32% and NPU by 25% compared to Galaxy Z Fold4.25

      Learn more about the core differences between the Galaxy Z Fold5 and the Galaxy Z Fold4 in our helpful article.

      COMPARE DEVICES

    • The Galaxy Z Fold5 has two screens. Folded, the Galaxy Z Fold5 is 154.9mm long, 67.1mm wide and 13.4mm thick.8 When unfolded, it is 129.9mm wide and 6.1mm thick.

      Learn more about how to choose the best phone screen size for you here.

      GO TO PORTABILITY

    • Yes, the Galaxy Z Fold5 does work with the S Pen. However, the Galaxy Z Fold5 does not come with an S Pen. Purchase the newly trimmed-down S Pen Fold Edition for Galaxy Z Fold5 to enjoy smooth note-taking and perform Air Commands.26

      Learn more about how to get the most out of the Samsung S Pen here.

      GO TO S PEN

    • Galaxy Z Fold5 is available in Icy Blue, Phantom Black and Cream. Blue and Grey are exclusive colours found only on Samsung.com.

      GO TO COLOURS

    • The Galaxy Z Fold5 Cover Screen has a 10MP Front Camera. The Main Screen has a hidden 4MP Under Display Camera. And on the rear, Galaxy Z Fold5 is equipped with a 50MP Wide Camera, 12MP Ultra Wide Camera and 10MP Telephoto Camera. Throughout your day, take crisp, clear photos enhanced by an advanced processor and AI-powered software. Download Expert RAW for even more creative control of Galaxy Z Fold5's pro-grade cameras.19

      Learn more about which camera features are best for you here.

      GO TO CAMERAS

    • The Galaxy Z Fold5 has the same 4400mAh (typical) battery as the Galaxy Z Fold4. But the advanced processor which means a single charge lasts longer on Galaxy Z Fold5 than Galaxy Z Fold4. This means you have more efficient power usage, so you can listen to up to 73 hours of music or watch up to 21 hours of video.6,12

      Learn how to choose the best phone for your battery needs here.

      GO TO BATTERY

    • Galaxy Z Fold5 features the new, durable dual rail Flex Hinge. Plus, Galaxy Z Fold5 carries a IPX8 rating for water resistance.11

      Compare all the Galaxy Z foldable phones here.

      GO TO DURABILITY

    GO TO GALAXY Z FLIP5

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (55)

    Check out smart ways to pay for your Galaxy Z Fold5

    n/a n/a Buy now n/a

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (56)

    OPEN IN AR

    Life opens up with Galaxy

    EXPLORE MORE

    Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (60)

    Unfold a whole new way to do business

    GO TO SAMSUNG BUSINESS

    *All specifications and descriptions provided herein may be different from the actual specifications and descriptions for the product. Samsung reserves the right to make changes to this document and the product described herein, at anytime, without obligation on Samsung to provide notification of such change. All functionality, features, specifications, GUI and other product information provided in this document including, but not limited to, the benefits, design, pricing, components, performance, availability and capabilities of the product are subject to change without notice or obligation. The contents within the screen are simulated images and are for demonstration purposes only.

    *Samsung Account login may be required to use certain Samsung AI features.

    *Samsung does not make any promises, assurances or guarantees as to the accuracy, completeness or reliability of the output provided by AI features.

    *Galaxy AI features will be provided for free until the end of 2025 on supported Samsung Galaxy devices. Different terms may apply for AI features provided by third parties.

    1. Sequences shortened and simulated. Results for illustrative purposes only. Results may vary depending on visual matches. Requires internet connection. Users may need to update Android to the latest version. Product functionality may be dependent on your app and device settings. Some functions may not be compatible with certain apps. Availability of the service varies by country and language. Accuracy of results is not guaranteed.
    2. Live Translate requires a network connection and Samsung Account login. Live Translate is only available on the pre-installed Samsung Phone app. Certain languages may require language pack download. Service availability may vary by language. Accuracy of results is not guaranteed.
    3. Interpreter requires Samsung Account login. Certain languages may require language pack download. Service availability may vary by language. Accuracy of results is not guaranteed. Availability and supported features may vary by country, region or carrier. Availability of supported languages may vary.
    4. Generative Edit requires a network connection and Samsung Account login. Editing with Generative Edit results in a resized photo up to 12MP. A visible watermark is overlaid on the image output upon saving in order to indicate that the image is generated by AI. The accuracy and reliability of the generated output is not guaranteed.
    5. Measured diagonally, Galaxy Z Fold5’s Main Screen size is 7.6” in the full rectangle and 7.4” accounting for the rounded corners; actual viewable area is less due to the rounded corners.
    6. Based on internal testing. Actual video and audio playback times vary by network connection, settings, file format, screen brightness, battery condition and other factors.
    7. Measured diagonally, Galaxy Z Fold5's Cover Screen size is 6.2” in the full rectangle and 6.1” accounting for the rounded corners; actual viewable area is smaller due to the rounded corners and camera hole.
    8. Thickness measured from the top glass panel to the bottom glass panel.
    9. Compared to previous Galaxy Z Fold models.
    10. The Dynamic AMOLED 2X display on Galaxy Z Fold5 received a certification from VDE Germany for 100 percent Mobile Colour Volume in the DCI-P3 colour range, which means your images aren’t washed out and you’ll get unbelievably vivid colours regardless of differing levels of brightness. The display can achieve peak brightness of up to 1750 nits, improving the contrast between dark and light aspects of digital content for a more brilliant picture quality, with a 3,000,000:1 contrast ratio to make your mobile experience more immersive.
    11. Actual battery life varies by network environment, features and apps used, frequency of calls and messages, the number of times charged, and many other factors. Estimated against the average usage profile compiled by UX Connect Research. Independently assessed by UX Connect research between 2023.06.19-2023.06.29 in US with pre-release versions of SM-F946 and SM-F731 under default setting using LTE and 5G Sub6 networks.
    12. Typical value tested under third-party laboratory condition. Typical value is the estimated average value considering the deviation in battery capacity among the battery samples tested under IEC 61960 standard. Rated capacity is 4270mAh for Galaxy Z Fold5, and 3591mAh for Galaxy Z Flip5. Actual battery life may vary depending on network environment, usage patterns and other factors.
    13. Snapdragon is a product of Qualcomm Technologies, Inc. and/or its subsidiaries. Snapdragon is a trademark or registered trademark of Qualcomm Incorporated.
    14. Certain applications may not support Multi Window or App Pair.
    15. Taskbar feature supported on the Main Screen only.
    16. S Pen Fold Edition for Galaxy Z Fold5 sold separately. Use an S Pen that is designed for Galaxy Z Fold. All other S Pens or stylus pens may damage the screen. Galaxy Z Fold5 does not have a built-in slot for the S Pen. S Pen support is limited to the Main Screen.
    17. 30x Space Zoom includes 3x optical zoom and 30x digital zoom with AI Super Resolution technology. Zooming in past 3x may cause some image deterioration.
    18. Dual Preview supported on the native Camera app on devices running One UI 2.1 and above.
    19. Expert RAW must be downloaded separately from the Galaxy Store, for free, before use. Supported on S23 series devices, S22 series devices, S21 Ultra, S20 Ultra, Note20 Ultra, Z Fold5, Z Fold4, Z Fold3 and Z Fold2.
    20. Frame does not include volume and side keys or SIM tray.
    21. Based on lab test conditions for submersion in up to 1.5 meters of freshwater for up to 30 minutes. Not advised for beach or pool use. Water resistance of device is not permanent and may diminish over time because of normal wear and tear. IPX8 rating is not dust-resistant.
    22. Multi control is available only on select Galaxy smartphones with One UI 5.1 or above, Galaxy Tab devices with One UI 5.1.1 or above and Galaxy Book devices launched in 2021 or later with either Samsung Settings v1.5 (Intel) or Samsung Settings v3.3 (ARM). Some function availability may vary by device model. Some Multi control actions may be unavailable in certain apps. Samsung account login required. Wi-Fi and Bluetooth connection required.
    23. Actual storage availability may vary depending on pre-installed software.
    24. Six month trial of Microsoft 365 Basic available for consumers with OneDrive-Gallery Sync capable Samsung phones (phones on the Verizon network in the U.S. not eligible). After the 6 month trial, your subscription will automatically renew into a monthly paid subscription at the current price, subject to Google Play’s terms and conditions. Cancel any time to stop future charges. Offer not available to existing Microsoft 365 or OneDrive premium subscribers (including trials), customers who previously redeemed an Office, OneDrive or other Microsoft storage bonus or free trial offer, customers with a locked OneDrive account, or former Microsoft 365 or OneDrive/Microsoft Storage premium subscribers who cancelled in the last 90 days. One offer per customer and per device. Offer cannot be transferred or combined with other Microsoft offers, and is available between March 15, 2023 and December 31, 2023. Offer must be redeemed during this period on the Google Play Store and participants must sync their gallery with OneDrive to commence the 6 month trial. Offer requires a Samsung and Microsoft account. Refer to https://www.microsoft.com/onedrive-samsung-offer for details.
    25. AP performance improvements shown compared to Galaxy Z Fold4. Actual performance will depend on user environment, conditions and pre-installed software and applications.
    26. Air Command feature availability may vary by model or app.
    27. Wired transfers require at least Android™ 4.3. If you do not have the required USB cable/connector for a wired transfer to Galaxy, you can also use wireless transfer options. iOS 5 or older Android OS must use wireless transfer options. Open Smart Switch Mobile in “Settings” on your new Galaxy phone or download Smart Switch Mobile app from Galaxy Store. Data and content available for transfer may vary by OS. The data of the Galaxy device is backed up and restored to the storage device. Use PC backup through Smart Switch PC or SD card backup function of Smart Switch Mobile.
    28. Galaxy Z Flip5: 15 device components that feature a minimum of 10% post-consumer recycled material plastic or pre-consumer recycled aluminum, or Corning® Gorilla® Glass Victus® 2 with an average of 22% pre-consumer recycled content. These components include Volume Key Bracket, Speaker Module (Upper & Lower), Rear Top, Display Connector Cap, FPCB RF Cable Bracket, Rear Mid, Case Front (Main), Case Front (Sub), Volume Key, Finger Key Bracket, Receiver Deco, Connector to Connector Holder, SIM Tray, Sub Window, Back Glass. (Galaxy Z Flip4: 6 device components). Galaxy Z Fold5: 15 device components that feature a minimum of 10% post-consumer recycled material plastic or pre-consumer recycled aluminum, or Corning® Gorilla® Glass Victus® 2 with an average of 22% pre-consumer recycled glass. These components include Volume Key FPCB Bracket, Top Speaker Module (Upper & Lower), Bottom Speaker Module (Upper & Lower), Cover Display Connector, Case Front (Main), Case Front (Sub), Antenna (Sub), Antenna (Main), Volume Key, Finger Key Bracket, SIM Tray, Connector to Connector Holder, Camera Deco (Top & Bottom), Sub Window, Back Glass. (Galaxy Z Fold4: 6 device components). The above measurements are based on weight.
    29. Types of recycled materials include post-consumer recycled PA sourced from discarded fishing nets, post-consumer recycled PBT sourced from discarded PET bottles, post-consumer recycled PC sourced from water barrels and pre-consumer recycled aluminum sourced from discarded scrap material generated as a by-product during manufacturing. The scrap metal is re-melted, filtered for impurities and then recycled to make parts within Samsung’s manufacturing process. There is also pre-consumer recycled content sourced from discarded glass waste generated as a byproduct of glass manufacturing. This glass waste is crushed into cullet and then used as a component in the Corning® Gorilla® Glass Victus® 2 manufacturing process.

    " ) ); } } }; 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: 1, }); 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-fold5:highlights:overview:index:', 'ga-ca': 'indication', 'ga-ac': 'carousel', 'ga-la': 'galaxy-z-fold5: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.batteryAp = (function () { var els = {}, objs = {}, utils = window.flagship.common.utils; var init = function () { els.sectionVideo = document.querySelector(".highlights-ap__video"); if (!!els.sectionVideo) { setElements(); objList.setVideo(); objList.setScene(); bindEvents(); } }; var setElements = function () { els.scrollVideoWrap = els.sectionVideo.querySelector(".js-scroll-video"); els.scrollVideo = els.sectionVideo.querySelector( ".js-scroll-video .common-video__figure>video" ); els.scrollController = els.sectionVideo.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.batteryApVideo = ANIUTIL.videoHandler({ playType: "scrollPlay", startPoint: 3, reversePoint: 87, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.remove("is-completed"); } }, playCallback: function () { els.scrollControllerBlindText.innerText = "pause"; setTagging.pause(); }, pauseCallback: function () { els.scrollControllerBlindText.innerText = "play"; setTagging.play(); }, endCallback: function () { if (!els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.add("is-completed"); } }, }); }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.scrollVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true, }); }, }; var handlerList = { scroll: function () { objs.scene.trackAnimation(function () { objs.batteryApVideo.scrollActive(this.progress); }); }, videoCta: function () { if (els.scrollVideo.paused) { els.scrollVideo.play(); } else { els.scrollVideo.pause(); } }, }; var setTagging = { play: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("pause", "play") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("pause", "play") ); } }, pause: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("play", "pause") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("play", "pause") ); } }, }; return { init: init, }; })(); flagship.highlights.batteryAp.init(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.cameraOverview = (function () { var els = {}, objs = {}, utils = window.flagship.common.utils; var init = function () { els.section = document.querySelector(".highlights-camera"); 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.cameraOverviewVideo = ANIUTIL.videoHandler({ playType: "scrollPlay", startPoint: 15, reversePoint: 80, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.remove("is-completed"); } }, playCallback: function () { els.scrollControllerBlindText.innerText = "pause"; setTagging.pause(); }, pauseCallback: function () { els.scrollControllerBlindText.innerText = "play"; setTagging.play(); }, endCallback: function () { if (!els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.add("is-completed"); } }, }); }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.scrollVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true, }); }, }; var handlerList = { scroll: function () { objs.scene.trackAnimation(function () { objs.cameraOverviewVideo.scrollActive(this.progress); }); }, videoCta: function () { if (els.scrollVideo.paused) { els.scrollVideo.play(); } else { els.scrollVideo.pause(); } }, }; var setTagging = { play: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("pause", "play") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("pause", "play") ); } }, pause: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("play", "pause") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("play", "pause") ); } }, }; return { init: init, }; })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.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(".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.cameraVideo = ANIUTIL.videoHandler({ playType: "scrollPlay", startPoint: 7, reversePoint: 87, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.remove("is-completed"); } }, playCallback: function () { els.scrollControllerBlindText.innerText = "pause"; setTagging.pause(); }, pauseCallback: function () { els.scrollControllerBlindText.innerText = "play"; setTagging.play(); }, endCallback: function () { if (!els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.add("is-completed"); } }, }); }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.scrollVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true, }); }, }; var handlerList = { scroll: function () { objs.scene.trackAnimation(function () { objs.cameraVideo.scrollActive(this.progress); }); }, videoCta: function () { if (els.scrollVideo.paused) { els.scrollVideo.play(); } else { els.scrollVideo.pause(); } }, }; var setTagging = { play: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("pause", "play") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("pause", "play") ); } }, pause: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("play", "pause") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("play", "pause") ); } }, }; return { init: init, }; })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.colors = (function () { var els = {}; 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.panel = els.section.querySelectorAll( ".highlights-colors__tab-panel" ); els.colorName = els.section.querySelectorAll( ".highlights-colors__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-colors__tab .is-active" ), oldPanel = els.section.querySelector( ".highlights-colors__tab-panel-group .is-active" ), oldColorName = els.section.querySelector( ".highlights-colors__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") ); } // colors name 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.design = (function () { var els = {}, objs = {}, utils = window.flagship.common.utils; 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(".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.designVideo = ANIUTIL.videoHandler({ playType: "scrollPlay", startPoint: 20, reversePoint: 77, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.remove("is-completed"); } }, playCallback: function () { els.scrollControllerBlindText.innerText = "pause"; setTagging.pause(); }, pauseCallback: function () { els.scrollControllerBlindText.innerText = "play"; setTagging.play(); }, endCallback: function () { if (!els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.add("is-completed"); } }, }); }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.scrollVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true, }); }, }; var handlerList = { scroll: function () { objs.scene.trackAnimation(function () { objs.designVideo.scrollActive(this.progress); }); }, videoCta: function () { if (els.scrollVideo.paused) { els.scrollVideo.play(); } else { els.scrollVideo.pause(); } }, }; var setTagging = { play: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("pause", "play") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("pause", "play") ); } }, pause: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("play", "pause") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("play", "pause") ); } }, }; return { init: init, }; })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.durability = (function () { var els = {}, utils = window.flagship.common.utils; var init = function () { els.section = document.querySelector(".highlights-durability"); if (!!els.section) { setElements(); setProperty(); bindEvents(); } }; var setElements = function () { els.durabilityItemWrap = els.section.querySelector( ".highlights-durability__list" ); els.durabilityItem = els.section.querySelectorAll( ".highlights-durability__item" ); }; var setProperty = function () { for (var i = 0; i < els.durabilityItem.length; i++) { els.durabilityItem[i].btn = els.durabilityItem[i].querySelector( ".highlights-durability__item-button" ); els.durabilityItem[i].desc = els.durabilityItem[i].querySelector( ".highlights-durability__item-description" ); els.durabilityItem[i].img = els.durabilityItem[i].querySelector( ".highlights-durability__item-image" ); if (!els.durabilityItem[i].classList.contains("is-open")) utils.onAccessibility(els.durabilityItem[i].img); } }; var bindEvents = function () { window.addEventListener("DOMContentLoaded", onLoadHandler, { once: true, }); for (var i = 0; i < els.durabilityItem.length; i++) { els.durabilityItem[i].btn.addEventListener("click", onClickItemBtn); } }; var onLoadHandler = function () { els.durabilityItem[0].desc.style.display = "block"; }; var onClickItemBtn = function () { var currentItem = this.parentElement.parentElement, oldItem = els.durabilityItemWrap.querySelector(".is-open"), dataOmni = this.getAttribute("data-omni"), gaLa = this.getAttribute("ga-la"); if ( currentItem != oldItem && !currentItem.classList.contains("is-open") ) { oldItem.setAttribute("aria-expanded", false); utils.onAccessibility(oldItem.img); this.setAttribute("aria-expanded", true); utils.offAccessibility(currentItem.img); $(oldItem.desc).slideUp(300); $(currentItem.desc).slideDown(300); setTimeout(function () { oldItem.classList.remove("is-open"); currentItem.classList.add("is-open"); }, 100); this.setAttribute("data-omni", dataOmni.replace("open", "close")); this.setAttribute("ga-la", gaLa.replace("open", "close")); } }; return { init: init, }; })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.excellence = (function () { var els = {}, objs = {}, resize = window.flagship.common.resize, utils = window.flagship.common.utils, currDevice = null, prevDevice = null; var init = function () { els.section = document.querySelector(".highlights-excellence"); if (!!els.section) { setElements(); setProperty(); bindEvents(); } }; var setElements = function () { els.contentWrap = document.querySelector("#wrap"); els.sceneTrack = els.section.querySelector( ".highlights-excellence__fixed-track" ); els.sceneFixed = els.section.querySelector( ".highlights-excellence__fixed-item" ); els.item = els.section.querySelectorAll( ".highlights-excellence__item" ); els.accBanner = document.querySelector(".highlights-accessories"); // swiper els.swiper = null; els.swiperEl = els.section.querySelector( ".highlights-excellence__carousel" ); els.swiperSlides = els.swiperEl.querySelectorAll( ".highlights-excellence__item" ); els.swiperNavArrowNext = els.swiperEl.querySelector( ".swiper-button-next" ); els.swiperNavArrowPrev = els.swiperEl.querySelector( ".swiper-button-prev" ); els.arrowTimeout = null; els.orientationTimeout = null; }; var setProperty = function () { for (var i = 0; i < els.item.length; i++) { var clickable = els.item[i].querySelectorAll("a, button"); if (clickable.length > 0) { for (var j = 0; j < clickable.length; j++) { clickable[j].item = els.item[i]; clickable[j].addEventListener("keydown", onFocusClickable); } } } }; var objList = { setScene: function () { if (objs.scene == null) { objs.scene = SCROLLER({ trackElement: els.sceneTrack, fixedElement: els.sceneFixed, useFixed: utils.detector.isIEorEdge < 0 ? false : true, useSticky: utils.detector.isIEorEdge < 0 ? true : false, trackHeight: 1.5, correction: -1, useStrictMode: false, }); } }, }; var bindEvents = function () { window.addEventListener("DOMContentLoaded", onLoadHandler, { once: true, }); window.addEventListener("scroll", scrollerHandlerList.onScroller); window.addEventListener("orientationchange", function () { clearTimeout(els.orientationTimeout); els.orientationTimeout = setTimeout(function () { checkBrokenFixed(); setCard(); }, 1000); }); els.swiperNavArrowNext.addEventListener( "click", swiperEvents.onClickArrow ); els.swiperNavArrowNext.addEventListener( "keydown", swiperEvents.onClickArrow ); els.swiperNavArrowPrev.addEventListener( "click", swiperEvents.onClickArrow ); els.swiperNavArrowPrev.addEventListener( "keydown", swiperEvents.onClickArrow ); resize.add(onResizeHandler); }; var onLoadHandler = function () { currDevice = resize.checkResolution(); prevDevice = currDevice; setTimeout(function () { checkBrokenFixed(); setCard(); }, 100); }; var onResizeHandler = function (currRes) { currDevice = currRes; if (currDevice != prevDevice) { onResponsiveHandler(); prevDevice = currDevice; } else if (!utils.detector.isTouchDevice) { checkBrokenFixed(); } setCard(); }; var onResponsiveHandler = function () { if (currDevice.indexOf("mobile") > -1) { els.accBanner.style.marginTop = ""; } checkBrokenFixed(); }; var setCard = function () { var slideMargin = parseInt( window.getComputedStyle(els.swiperSlides[0]).marginLeft ), slideWidth = els.swiperSlides[0].clientWidth + slideMargin * 2, slideWrapWidth = slideWidth * els.swiperSlides.length, innerWidth = els.section.querySelector(".common-inner").clientWidth, contentWrapWidth = els.contentWrap.clientWidth, currSize = (contentWrapWidth - innerWidth) / 2, SlideTotalSize = slideWrapWidth + currSize; if (document.documentElement.classList.contains("is-broken-fixed")) { scrollerHandlerList.destroyScroller(); if (els.swiper != null) swiperEvents.destroy(); } else { if (currDevice.indexOf("mobile") == -1) { if (els.swiper != null) swiperEvents.destroy(); if (els.item.length > 3 || contentWrapWidth < SlideTotalSize) { objList.setScene(); scrollerHandlerList.onScroller(); } else { scrollerHandlerList.destroyScroller(); } } else { scrollerHandlerList.destroyScroller(); setSwiper(); } } }; // scroller var scrollerHandlerList = { onScroller: function () { if (objs.scene != null) { if ( !document.documentElement.classList.contains("is-broken-fixed") ) { var outerHeight = els.sceneFixed.clientHeight, innerHeight = els.sceneFixed.querySelector(".common-inner").clientHeight, accMarginTop = (outerHeight - innerHeight) / 2 - utils.getNavHeight(), accValue = accMarginTop < 0 ? 0 : accMarginTop; els.accBanner.style.marginTop = -accValue + "px"; } objs.scene.trackAnimation(function () { if (this.progress > -10 && this.progress < 100) { var slideMargin = parseInt( window.getComputedStyle(els.swiperSlides[0]).marginLeft ), slideWidth = els.swiperSlides[0].clientWidth + slideMargin * 2, slideWrapWidth = slideWidth * els.swiperSlides.length, innerWidth = els.section.querySelector(".common-inner").clientWidth, contentWrapWidth = els.contentWrap.clientWidth, moveSize = slideWrapWidth - contentWrapWidth, currSize = contentWrapWidth - innerWidth, slideValue = moveSize + currSize; transValue = ANIUTIL.calRange({ targetValue: slideValue, progress: this.progress, startPoint: 0, endPoint: 20, }); var tweener = new TweenMax(els.swiperEl, 0.2, { x: transValue * (utils.isRTL() ? 1 : -1) + "px", ease: "none", }); tweener.updateTo( { x: transValue * (utils.isRTL() ? 1 : -1) + "px", }, true ); } }); } }, destroyScroller: function () { if (objs.scene != null) { objs.scene.destroy(true, true); objs.scene = null; els.swiperEl.style = ""; els.sceneTrack.style = ""; } }, }; // swiper var setSwiper = function () { if (els.swiper == null) { els.swiper = new Swiper(els.swiperEl, { init: false, centeredSlides: true, slidesPerView: "auto", navigation: { nextEl: els.swiperNavArrowNext, prevEl: els.swiperNavArrowPrev, }, }); els.swiper.init(); els.swiper.on("init", swiperEvents.init); els.swiper.on("slideChange", swiperEvents.slideChange); } }; var swiperEvents = { init: function () { var notification = this.el.querySelector(".swiper-notification"); if (!!notification) this.el.removeChild(notification); setAccessibility.slide(); setAccessibility.arrow(); }, slideChange: function () { setAccessibility.slide(); setAccessibility.arrow(); }, destroy: function () { if (els.swiper != null) { els.swiper.destroy(true); els.swiper = null; } }, onClickArrow: function (e) { if ( (e.type == "keydown" && e.keyCode == 13) || (e.type == "click" && document.documentElement.classList.contains("isTouchDevice")) ) { e.preventDefault(); clearTimeout(els.arrowTimeout); els.arrowTimeout = setTimeout(function () { if (els.swiper.isBeginning && !els.swiper.isEnd) { els.swiperNavArrowNext.focus(); } else if (!els.swiper.isBeginning && els.swiper.isEnd) { els.swiperNavArrowPrev.focus(); } }, 300); } }, }; var setAccessibility = { slide: function () { for (var i = 0; i < els.swiper.slides.length; i++) { if (i != els.swiper.snapIndex) { utils.onAccessibility(els.swiper.slides[i]); } else { utils.offAccessibility(els.swiper.slides[i]); } } }, arrow: function () { if (els.swiper.isBeginning && !els.swiper.isEnd) { utils.offAccessibility(els.swiperNavArrowNext); utils.onAccessibility(els.swiperNavArrowPrev); } else if (!els.swiper.isBeginning && els.swiper.isEnd) { utils.offAccessibility(els.swiperNavArrowPrev); utils.onAccessibility(els.swiperNavArrowNext); } else { utils.offAccessibility(els.swiperNavArrowNext); utils.offAccessibility(els.swiperNavArrowPrev); } }, }; var checkBrokenFixed = function () { if (currDevice.indexOf("mobile") == -1) { var widHeight = window.innerHeight - utils.getNavHeight(), headLineHeight = els.sceneFixed.querySelector( ".common-sub-headline" ).clientHeight, carouselMarginTop = parseInt( window.getComputedStyle(els.swiperEl).marginTop ), itemHeightArr = [], maxHeight = null, cardHeight = null; for (var i = 0; i < els.swiperSlides.length; i++) { itemHeightArr.push(els.swiperSlides[i].clientHeight); } maxHeight = itemHeightArr.reduce(function (prev, itemArr) { return Math.max(prev, itemArr); }); cardHeight = maxHeight; totalHeight = headLineHeight + carouselMarginTop + cardHeight; if (widHeight <= totalHeight) { document.documentElement.classList.add("is-broken-fixed"); } else { document.documentElement.classList.remove("is-broken-fixed"); } } else { document.documentElement.classList.remove("is-broken-fixed"); } }; var onFocusClickable = function (e) { var targetItem = this.item, targetIndex = [].indexOf.call(els.swiperSlides, targetItem); if (objs.scene != null) { var startScroll = els.sceneTrack.getBoundingClientRect().top + window.pageYOffset, maxScroll = startScroll + parseInt(window.getComputedStyle(els.sceneTrack).height) / 2; els.sceneFixed.scrollLeft = 0; if (e.type == "keydown" && targetIndex >= 3) { window.scrollTo(0, maxScroll); } else { window.scrollTo(0, startScroll); } } }; return { init: init, }; })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.exclusive = (function () { var els = {}; var init = function () { els.section = document.querySelector(".highlights-exclusive"); if (!!els.section) { setElements(); bindEvents(); } }; var setElements = function () { els.colors = els.section.querySelectorAll( ".highlights-exclusive__tab-button" ); els.panel = els.section.querySelectorAll( ".highlights-exclusive__tab-panel" ); els.info = els.section.querySelectorAll( ".highlights-exclusive__tab-info" ); 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" ), oldInfo = els.section.querySelector( ".highlights-exclusive__tab-info-wrap .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") ); } // colors name if (!els.info[index].classList.contains("is-active")) { oldInfo.classList.remove("is-active"); oldInfo.setAttribute("aria-hidden", true); els.info[index].classList.add("is-active"); els.info[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 = faqId === "camera" ? 0 : 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.hinge = (function () { var els = {}, objs = {}, utils = window.flagship.common.utils; var init = function () { els.section = document.querySelector(".highlights-hinge"); 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.hingeVideo = ANIUTIL.videoHandler({ playType: "scrollPlay", startPoint: 5, reversePoint: 90, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.remove("is-completed"); } }, playCallback: function () { els.scrollControllerBlindText.innerText = "pause"; setTagging.pause(); }, pauseCallback: function () { els.scrollControllerBlindText.innerText = "play"; setTagging.play(); }, endCallback: function () { if (!els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.add("is-completed"); } }, }); }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.scrollVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true, }); }, }; var handlerList = { scroll: function () { objs.scene.trackAnimation(function () { objs.hingeVideo.scrollActive(this.progress); }); }, videoCta: function () { if (els.scrollVideo.paused) { els.scrollVideo.play(); } else { els.scrollVideo.pause(); } }, }; var setTagging = { play: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("pause", "play") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("pause", "play") ); } }, pause: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("play", "pause") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("play", "pause") ); } }, }; return { init: init, }; })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.performanceDisplay = (function () { var els = {}, objs = {}; var init = function () { els.section = document.querySelector( ".highlights-performance__display-wrap" ); if (!!els.section) { setElements(); setScene(); bindEvents(); } }; var setElements = function () { els.imageWrap = els.section.querySelector( ".highlights-performance__image-wrap" ); els.afterImage = els.imageWrap.querySelector( ".highlights-performance__image--after" ); }; var bindEvents = function () { window.addEventListener("scroll", scrollHandler); }; var setScene = function () { objs.scene = SCROLLER({ trackElement: els.afterImage, useFixed: false, }); }; var scrollHandler = function () { objs.scene.trackAnimation(function () { var value = ANIUTIL.calRange({ targetValue: 1, progress: this.progress, startPoint: 20, endPoint: 50, }); TweenMax.to(els.afterImage, 0.3, { opacity: value, }); }); }; return { init: init, }; })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.performanceVideo = (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-performance__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.productivityVideo = ANIUTIL.videoHandler({ playType: "scrollPlay", startPoint: 20, reversePoint: currDevice.indexOf("mobile") > -1 ? 81 : 80, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.remove("is-completed"); } }, playCallback: function () { els.scrollControllerBlindText.innerText = "pause"; setTagging.pause(); }, pauseCallback: function () { els.scrollControllerBlindText.innerText = "play"; setTagging.play(); }, endCallback: function () { if (!els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.add("is-completed"); } }, }); }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.scrollVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true, }); }, }; var handlerList = { scroll: function () { objs.scene.trackAnimation(function () { objs.productivityVideo.scrollActive(this.progress); }); }, videoCta: function () { if (els.scrollVideo.paused) { els.scrollVideo.play(); } else { els.scrollVideo.pause(); } }, }; var setTagging = { play: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("pause", "play") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("pause", "play") ); } }, pause: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("play", "pause") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("play", "pause") ); } }, }; return { init: init, }; })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.portability = (function () { var els = {}, resize = window.flagship.common.resize, currDevice = resize.checkResolution(); var init = function () { els.section = document.querySelector(".highlights-portability"); if (!!els.section) { setElements(); bindEvents(); } }; var setElements = function () { els.textWrap = els.section.querySelector( ".highlights-portability__text" ); }; var bindEvents = function () { window.addEventListener("DOMContentLoaded", onLoadHandler, { once: true, }); resize.add(resizeHandler); }; var resizeHandler = function (currRes) { currDevice = currRes; checkTextHeight(); }; var onLoadHandler = function () { checkTextHeight(); }; var checkTextHeight = function () { var textHeight = els.textWrap.getBoundingClientRect().height; if ( currDevice && currDevice.indexOf("mobile") > -1 && textHeight > 541 ) { if (!els.section.classList.contains("is-text-overflow")) { els.section.classList.add("is-text-overflow"); } } else { if (els.section.classList.contains("is-text-overflow")) { els.section.classList.remove("is-text-overflow"); } } }; return { init: init, }; })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.productivity = (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-productivity"); 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(resizeHandler); }; var resizeHandler = function (currRes) { currDevice = currRes; }; var objList = { setVideo: function () { objs.productivityVideo = ANIUTIL.videoHandler({ playType: "scrollPlay", startPoint: 32, reversePoint: currDevice.indexOf("mobile") > -1 ? 70 : 85, wrap: els.scrollVideoWrap, video: els.scrollVideo, resetCallback: function () { if (els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.remove("is-completed"); } }, playCallback: function () { els.scrollControllerBlindText.innerText = "pause"; setTagging.pause(); }, pauseCallback: function () { els.scrollControllerBlindText.innerText = "play"; setTagging.play(); }, endCallback: function () { if (!els.scrollVideoWrap.classList.contains("is-completed")) { els.scrollVideoWrap.classList.add("is-completed"); } }, }); }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.scrollVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true, }); }, }; var handlerList = { scroll: function () { objs.scene.trackAnimation(function () { objs.productivityVideo.scrollActive(this.progress); }); }, videoCta: function () { if (els.scrollVideo.paused) { els.scrollVideo.play(); } else { els.scrollVideo.pause(); } }, }; var setTagging = { play: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("pause", "play") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("pause", "play") ); } }, pause: function () { if (els.scrollController.hasAttribute("data-omni")) { var dataOmni = els.scrollController .getAttribute("data-omni") .toLowerCase(); els.scrollController.setAttribute( "data-omni", dataOmni.replace("play", "pause") ); } if (els.scrollController.hasAttribute("ga-la")) { var gaLa = els.scrollController .getAttribute("ga-la") .toLowerCase(); els.scrollController.setAttribute( "ga-la", gaLa.replace("play", "pause") ); } }, }; return { init: init, }; })(); })(); (function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.viewer = (function () { var els = {}, status = {}, resize = window.flagship.common.resize, utils = window.flagship.common.utils, currDevice = resize.checkResolution(); var init = function () { els.viewerBtns = document.querySelectorAll(".viewer-btn"); if (els.viewerBtns.length > 0) { setElements(); setStatus(); setPopup(); bindEvents(); } }; var setElements = function () { els.wrapEl = document.querySelector("#wrap"); els.contents = document.querySelector("#contents"); // popup els.popup = document.querySelector(".highlights-viewer"); els.popupContents = els.popup.querySelector( ".common-popup__contents" ); els.popupInner = els.popup.querySelector(".common-popup__inner"); els.popupWrap = els.popup.querySelector(".common-popup__wrap"); els.closeCta = els.popup.querySelector(".common-popup__close-cta"); els.viewerWrap = els.popup.querySelector(".highlights-viewer__wrap"); els.viewerContainer = els.popup.querySelector( ".highlights-viewer__container" ); els.viewerIframe = els.popup.querySelector( ".highlights-viewer__container-viewer" ); // popup-scroll els.popupScroll = els.popup.querySelector( ".highlights-viewer__scroll" ); els.popupScrollUpBtn = els.popup.querySelector( ".highlights-viewer__scroll-btn--up" ); els.popupScrollDownBtn = els.popup.querySelector( ".highlights-viewer__scroll-btn--down" ); // infoPopup els.infoBtn = els.popup.querySelector( ".highlights-viewer__title-cta" ); els.infoCloseBtn = els.popup.querySelector( ".highlights-viewer__header-close-cta" ); els.infoDimmed = els.popup.querySelector( ".highlights-viewer__dimmed" ); // timeout els.resizeTimeout = null; els.resizeInnerTimeout = null; // viewer els.viewerOpener = null; els.viewerModel = ""; els.viewerColor = ""; }; 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(); }, }, }); } }; 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 && 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); } }, 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 && 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 && 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 && 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(); }, }, }); } }; 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.cameraOverview.init(); flagship.highlights.cameraVideo.init(); flagship.highlights.colors.init(); flagship.highlights.design.init(); flagship.highlights.durability.init(); flagship.highlights.excellence.init(); flagship.highlights.exclusive.init(); flagship.highlights.faq.init(); flagship.highlights.hinge.init(); flagship.highlights.performanceDisplay.init(); flagship.highlights.performanceVideo.init(); flagship.highlights.portability.init(); flagship.highlights.productivity.init(); flagship.highlights.viewer.init(); flagship.highlights.ytPopup.init(); flagship.highlights.sidebar.init(); }; initComponents(); })(); });

  • Samsung Galaxy Z Fold5 | Galaxy AI | Samsung UK (2024)
    Top Articles
    Oakley Rae - A TikTok Star and Social Media Influencer - Tad Toper
    Oakley Rae Net worth, Age, Height, Weight, Family, bio/Wikipedia
    Qdoba Calorie Calc
    Palmbeachschools Jobs
    Csl Plasma Birthday Bonus
    Basic Setup – OpenXR & Pimax HMDs...
    Q-global Web-based Administration, Scoring, and Reporting
    Thothub Alinity
    2 værelses hus i Ejby
    Crestwood Funeral Home Obituaries Gadsden Al
    Tacos Diego Hugoton Ks
    Do you want to do a backbend?
    The Woman King Showtimes Near Cinemark 14 Lancaster
    Half Inning In Which The Home Team Bats Crossword
    My Sagu Blackboard
    Aspen Portal Amherst Ny
    Nerdwallet American Express Gold
    Linus Tech Tips Forums
    Elanco Rebates.com 2022
    Missing 2023 Showtimes Near Lucas Cinemas Albertville
    Aaa Saugus Ma Appointment
    Receive Sms Verification
    Marisa Jacques Bio
    In Branch Chase Atm Near Me
    Peloton Guide Stuck Installing Update
    Mtvkay21
    Who Is Acropolis 1989? Wiki, Bio, Age, Boyfriend, Net Worth | Biography Lane
    Spn 102 Fmi 16 Dd15
    TV tablå Alla TV-program idag | Snabb och enkel tv-guide
    Hmnu Stocktwits
    Apex Item Store.com
    Sim7 Bus Time
    Ice Quartz Osrs
    Rte Packaging Marugame
    Pulaski County Busted Newspaper
    Mission Impossible 7 Showtimes Near Regal Bridgeport Village
    2026 Rankings Update: Tyran Stokes cements No. 1 status, Brandon McCoy, NBA legacies lead loaded SoCal class
    Palmetto Pediatrics Westside
    Austin Powers Judo Chop Gif
    Limestone Bank Hillview
    Obituary Sidney Loving
    Egg Inc Ultimate Walkthrough & Game Guide - Talk Android
    Abq Pets Craigslist
    Craigs List Williamsport
    The Realreal Temporary Closure
    Gatlinburg SkyBridge: Is It Worth the Trip? An In-Depth Review - Travel To Gatlinburg
    Leslie Pool Supply Simi Valley
    Varsity Competition Results 2022
    Tillamook Headlight Herald Obituaries
    4215 Tapper Rd Norton Oh 44203
    Evalue Mizzou
    Union Corners Obgyn
    Latest Posts
    Article information

    Author: Ray Christiansen

    Last Updated:

    Views: 5523

    Rating: 4.9 / 5 (69 voted)

    Reviews: 84% of readers found this page helpful

    Author information

    Name: Ray Christiansen

    Birthday: 1998-05-04

    Address: Apt. 814 34339 Sauer Islands, Hirtheville, GA 02446-8771

    Phone: +337636892828

    Job: Lead Hospitality Designer

    Hobby: Urban exploration, Tai chi, Lockpicking, Fashion, Gunsmithing, Pottery, Geocaching

    Introduction: My name is Ray Christiansen, I am a fair, good, cute, gentle, vast, glamorous, excited person who loves writing and wants to share my knowledge and understanding with you.