Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (2024)

Table of Contents
Galaxy Z Fold6 เบาที่สุด เบาที่สุด สีสันสดใส มั่นใจ มหัศจรรย์ Galaxy AI มาแล้วใน Galaxy Foldables วงเพื่อค้นหา NOTE ASSIST Chat Assist Browsing Assist PHOTO ASSIST Portrait Studio Instant Slow-mo Sketch to Image INTERPRETER LIVE TRANSLATE สนทนากับ Gemini เพื่อจุดประกายไอเดียต่าง ๆ ของคุณ สมจริงได้อย่างเต็มอิ่ม การเล่นเกมในสมาร์ทโฟนที่สมจริงที่สุดของเรา การเล่นเกมอันทรงพลังด้วยหน่วยประมวลผลที่เร็วที่สุดของ Galaxy Foldables เล่นเกมได้หนัก และนานขึ้น เทิร์นโปรได้ด้วย ProVisual Engine เก็บทุกรายละเอียดเล็ก ๆ น้อย ๆ ซูมได้อย่างคมชัดด้วยพลัง AI ให้ภาพดูสดใสขึ้นได้ด้วย Super HDR ทำไมถึงต้องเปลี่ยนไปใช้ Galaxy เปลี่ยนมาใช้ได้ง่าย ๆ จาก iOS แบ่งปันได้อย่างไม่มีสะดุด ความเป็นส่วนตัวที่ปลอดภัย ทนทาน วางใจได้ ใช้งานได้ยาวนาน ออกแบบมาเพื่อให้ทนทาน ได้รับการปกป้องด้วยอะลูมิเนียม แข็งแกร่งอย่างแท้จริง กันน้ำได้ตลอด Samsung Care+ ดูแลสุขภาพไปกับ fold การเปลี่ยนแปลงครั้งใหญ่ล้วนเริ่มต้นจากก้าวเล็ก ๆ อุปกรณ์เสริม คำถามที่พบบ่อย

Galaxy Z Fold6

  • SPECS
  • REVIEWS

สั่งซื้อล่วงหน้า

  • Features
  • Compare
  • Accessories
  • Preorder
  • SPECS
  • REVIEWS
Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (1)

ซื้อเลย ลงทะเบียนความสนใจ สั่งซื้อล่วงหน้า สถานที่จำหน่าย

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (2)

Galaxy AI is here

พก ขุมพลังแบบ PC ไว้ได้ในกระเป๋าของคุณด้วย GalaxyZFold6 ที่ทรงพลังมากกว่าที่เคยเป็นในรูปลักษณ์อันบางเฉียบซึ่งมีหน้าจอที่สามารถใช้ทำอะไรต่อมิอะไรได้มากมาย พร้อมการเสริมพลังด้วย Galaxy AI สำหรับอุปกรณ์หน้าจอพับได้

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (3)

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (4)

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (5)

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (6)

ดีไซน์ที่เบาและบางลง

ข้ามไปที่ดีไซน์

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (7)

Galaxy Z Fold6 สี Silver Shadow มีขนาดบางลง เอียงให้เล็กน้อยขณะกางออก พร้อมหันให้เห็นพื้นผิวของเลนส์กล้องหลัง

วงแล้วค้นหา เพื่อเพิ่มความสามารถด้านการทำงาน

ข้ามไปที่วงเพื่อค้นหา

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (8)

มีการใช้ S Pen เพื่อวงล้อมรอบขนมกาเล็ตต์ที่อยู่ในเมนู มีผลลัพธ์การค้นหาของขนมกาเล็ตต์ปรากฏขึ้นมา วงเพื่อค้นหาด้วย Google

Note Assist ที่ช่วยให้เวิร์กโฟลว์ของคุณลื่นไหลขึ้น

ข้ามไปที่ Note Assist

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (9)

หลังจากที่โหลดไฟล์ที่บันทึกไว้ในแอป Samsung Notes แล้ว ก็มีการใช้ปุ่มแปลงเสียงพูดเป็นข้อความเพื่อแปลงไฟล์ที่บันทึกไว้เป็นข้อความ ปุ่ม Summary ถูกกดเพื่อสร้างสรุป

การเล่นเกมที่สมจริงและทรงพลัง

ข้ามไปที่ประสิทธิภาพ

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (10)

ภาพของชิปเซตที่มี CPU, NPU และ GPU เรืองแสงขึ้นมา ชิปเซตโผล่ขึ้นมาและเปล่งแสง จากนั้นภาพก็ตัดไปเป็นเกมในหน้าจอที่กางออก มีโลโก้เกม Dark and Darker mobile กับฉากจากเกมปรากฏขึ้นมา

เบาที่สุด

253 239 g

บางที่สุด 6.1 5.6 mm

พลิกเปิดความสมบูรณ์แบบ

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (11)

ภาพระยะใกล้ของ Galaxy Z Fold6 ที่แสดงให้เห็นด้านข้างด้วยมุมเอียงเล็กน้อย

เบาที่สุด

239 g

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (12)

บางที่สุด 5.6 mm

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (13)

เปิดโลกแห่งความสมบูรณ์แบบ

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (14)

บางและเบาลง พร้อมรูปทรง ที่พกไว้ในกระเป๋าได้ รวมถึงหน้าจออันน่าทึ่งที่กางออกได้และสว่างกว่าเดิม

สีสันสดใส มั่นใจ มหัศจรรย์

สีสันที่โดดเด่นพอ ๆ กับคุณ มั่นเข้าไว้และโดดเด่นได้อย่างแท้จริงด้วยหนึ่งใน สีสันพิเศษทางออนไลน์ — ที่มีให้เลือกเฉพาะใน Samsung.com

มุมมอง 360 องศา 3 มิติ ข้อเสนอพิเศษสำหรับการซื้อออนไลน์

Silver Shadow Pink Navy Crafted Black สีพิเศษทางออนไลน์ White สีพิเศษทางออนไลน์

มุมที่ตั้งไว้ล่วงหน้า

*สีพิเศษต่าง ๆ มีให้เลือกเฉพาะในเว็บไซต์ Samsung.com

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (15)

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (16)

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (17)

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (18)

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (19)

Silver Shadow Pink Navy Crafted Black สีพิเศษทางออนไลน์ White สีพิเศษทางออนไลน์

มุมที่ตั้งไว้ล่วงหน้า

*สีพิเศษต่าง ๆ มีให้เลือกเฉพาะในเว็บไซต์ Samsung.com

Galaxy AI มาแล้วใน Galaxy Foldables

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (20)

Galaxy AI Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (21) Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (22)

is here ใน Galaxy Foldables is here ใน Galaxy Foldables

วงเพื่อค้นหา

วงเพื่อค้นหาได้ในหน้าจอใหญ่ ๆ

นี่คือวิธีการ ค้นหา ที่มีประสิทธิภาพในสมาร์ทโฟน เพียง วงสิ่งที่ต้องการหา เสริม ความสามารถด้านการทำงาน ในหน้าจอขนาดมหึมาที่กางออกได้ด้วยการใช้นิ้วหรือ SPen

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (23)

มีเมนูของร้านอาหารเปิดอยู่ S Pen วงข้อความในหน้าที่เป็นชื่อของเมนูกาเล็ตต์ มีผลลัพธ์ปรากฏขึ้นในป๊อปอัพวงเพื่อค้นหาด้วย Google

แตะเพื่อลอง

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (24)

ภาพมุมมองทั้งหมดของ Galaxy Z Fold6 ที่กางออกอยู่ เมื่อปุ่ม Home ถูกกด ฟีเจอร์วงเพื่อค้นหาก็เปิดใช้งาน

แตะเพื่อลอง

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (25)

มีวงล้อมรอบคำว่า "Galette" คำว่า "Galette" ถูกระบุ แล้วก็มีผลลัพธ์การค้นหาของ Google สำหรับคำดังกล่าวปรากฏขึ้นมา

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (26)

NOTE ASSIST

วิธีที่ง่ายที่สุดในการสรุปโน้ตใน Galaxy Foldables

จดโน้ตการเรียนการสอนได้ในไม่กี่ขั้นตอน แม้ว่าคุณจะทำอะไรหลายอย่างอยู่ก็ตาม Note Assist จะถอด เสียงพูดที่บันทึกไว้ ออกมาเป็นข้อความแล้วก็ จัดรูปแบบ ให้กลายเป็นโน้ต เพื่อให้ได้ การสรุป ที่มีประสิทธิภาพ นอกจากนี้ก็ยังมี SPen ที่พร้อมสร้างความมหัศจรรย์ได้ในหน้าจอด้วย

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (27)

มีการแตะปุ่มการบันทึกเสียงพูดในแอป Samsung Notes และเมื่อมีการกดปุ่ม Summary เสียงที่บันทึกไว้ก็ได้รับการสรุป

แตะเพื่อลอง

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (28)

เสียงที่บันทึกไว้เปลี่ยนเป็นข้อความเมื่อมีการกดปุ่มแปลงเสียงพูดให้เป็นข้อความ

แตะเพื่อลอง

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (29)

เมื่อแตะปุ่ม Summary แอป Samsung Notes ก็สร้างสรุปของเสียงที่บันทึกไว้

Chat Assist

อยากเขียนอะไรสักอย่างในตอนที่รีบ ๆ อยู่รึเปล่า แค่พิมพ์ คีย์เวิร์ดบางคำ เพื่อสร้าง ถ้อยคำ ที่สมบูรณ์ได้เลย

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (30)

Browsing Assist

เจอเว็บไซต์ที่คุณอยากทำความเข้าใจได้อย่างรวดเร็วแล้วรึเปล่า AI จะ สรุป ทั้งเว็บไซต์ให้ในพริบตา

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (31)

PHOTO ASSIST

แก้ไขได้อย่างง่ายดายด้วยความสามารถของ Galaxy AI

เอนจินที่รับรู้ได้ถึงวัตถุต่าง ๆ จะช่วยให้คุณแก้ไขภาพถ่ายได้ตามใจ ด้วย Photo Assist แค่กดนิ้วมือลงบนวัตถุค้างไว้เพื่อ ขยับ ลบ หรือขยาย รวมถึง ปรับมุมหรือเติมพื้นหลัง ได้อย่างง่ายดาย

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (32)

จุดสนใจของภาพอันหนึ่งถูกเลือกและขยับไปยังจุดอื่นในภาพ บริเวณที่ภาพหายไปถูกเติมให้เต็มด้วย AI

Portrait Studio

ให้ AI ช่วยจุดประกายจินตนาการของคุณด้วย Portrait Studio ที่จะทำให้ภาพพอตเทรตเซลฟี เปลี่ยนเป็น ผลงานศิลปะ อันน่าทึ่งได้ทันที

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (33)

Instant Slow-mo

Instant Slow-mo ช่วยให้คุณโฟกัสไปกับช่วงเวลาสำคัญ ๆ ด้วยการเลือกใช้ สโลโมชัน กับวิดีโอ พร้อม แชร์ หรือบันทึกคลิป

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (34)

วิดีโอเล่นและเริ่มที่จะช้าลงเมื่อมีการแตะหน้าจอเพื่อแสดง Instant Slow-mo

Sketch to Image

สร้างสรรค์ภาพขึ้นมาได้เองหรือจากภาพถ่ายใด ๆ ใช้ AI เพื่อ แปลงโฉม ภาพร่าง ให้กลายเป็นภาพที่งดงาม

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (35)

INTERPRETER

ที่สุดแห่งประสบการณ์การแปลภาษาสำหรับคุณด้วยหน้าจอคู่,

ต้องเดินทางและสนทนากับคนท้องถิ่นรึเปล่า Interpreter จะช่วยแปลภาษาได้ทันที ไม่ว่าจะเป็นการแนะนำตัวเองของคุณ หรือการรับฟังงานประชุมระดับสากลที่มีการใช้ภาษาต่างประเทศก็ตาม

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (36)

การสนทนาในสองภาษาได้รับการถอดเสียงและแปลแบบเรียลไทม์

แตะเพื่อลอง

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (37)

Galaxy AI ถอดเสียงบทสนทนาแบบเรียลไทม์ คำแปลของแต่ละภาษาปรากฏเป็นข้อความอยู่ในหน้าจอ

แตะเพื่อลอง

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (38)

ปุ่ม dual screen เปิดใช้งาน Interpreter ได้ผ่านจอนอก

LIVE TRANSLATE

คุยสายโทรศัพท์ได้แบบไร้พรมแดน

แปลบทสนทนาในสายโทรศัพท์ ได้ทันที ซึ่งเหมาะอย่างยิ่งสำหรับคำแปลเสียงพูดแบบเรียลไทม์ในหลาย ๆ แอป โดยเฉพาะอย่างยิ่งเมื่อคุณต้องคุยสายด้วยการสนทนาที่มีการใช้สองภาษา

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (39)

สนทนากับ Gemini เพื่อจุดประกายไอเดียต่าง ๆ ของคุณ

เนื่องจาก Samsung เป็นพันธมิตรกับ Google มาอย่างยาวนาน อุปกรณ์ Galaxy ของคุณในปัจจุบันจึงมาพร้อมกับแอป Google Gemini เชิญคุณสนทนากับ Gemini เพื่อเรียนรู้ด้วยวิธีการใหม่ ๆ เขียนโน้ตขอบคุณ วางแผนงานอีเวนต์ และอื่น ๆ อีกมากมาย

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (40)

สมจริงได้อย่างเต็มอิ่ม

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (41)

มีโลโก้เกม Dark and Darker mobile ภาพแรกเป็นภาพระยะใกล้ของฉากในเกม จากนั้นก็ซูมออกจนเห็นหน้าจอของ Galaxy Z Fold6 ที่กางออกและมีเกมเล่นอยู่

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (42)

*DARK AND DARKER MOBILE เป็นเครื่องหมายการค้าหรือเครื่องหมายบริการของ KRAFTON, INC.

การเล่นเกมในสมาร์ทโฟนที่สมจริงที่สุดของเรา

Fold เสนอ หน้าจอมหึมา ให้กับคอเล่นเกมมือถือตัวจริง ซึ่งดีกว่าเดิมด้วย ความสว่างและความใส อันทรงพลังของ Vision Booster ที่เฉิดฉายได้แม้จะเล่นท่ามกลางแดดจ้าก็ตาม,

  • 2,600 nit

  • 1.5 เท่า สว่างกว่า

การเล่นเกมอันทรงพลังด้วยหน่วยประมวลผลที่เร็วที่สุดของ Galaxy Foldables

เพลิดเพลินไปกับ การเล่นเกม ที่ไหลลื่นด้วย Vulkan แม้จะเล่นเกม AAA ก็ตาม จากนั้น Snapdragon® 8 Gen 3 for Galaxy ก็จะเรนเดอร์ กราฟิก ที่ดูงดงามอย่างแท้จริง

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (43)

Snapdragon ที่เร็วที่สุดใน GalaxyZFold,

  • GPU

    19 % การเรนเดอร์กราฟิกที่เร็วกว่า

  • NPU

    42 % ประสิทธิภาพ AI ในอุปกรณ์ที่ดีกว่าเดิม

  • CPU

    18 % ประสิทธิภาพที่ดีกว่าเดิม

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (44)

Snapdragon ที่เร็วที่สุดใน GalaxyZFold,

เล่นเกมได้หนัก และนานขึ้น

แบตเตอรี่ของเราจะช่วยให้คุณ สนุกได้ทั้งวัน เพราะแบตเตอรี่ไม่ได้แค่มีความจุที่ใหญ่เท่านั้น แต่ยังได้รับประโยชน์จาก การแสดงผลที่มีประสิทธิภาพ กว่าเดิมด้วย ดังนั้น เล่นให้เต็มที่ไปเลย

  • ฟังเพลงได้นานสุด

    77 ชม.

  • ดูวิดีโอได้นานสุด

    23 ชม.

เทิร์นโปรได้ด้วย ProVisual Engine

พบกับระบบกล้องที่ทรงพลังที่สุดของ Fold ด้วย NPU ที่ล้ำกว่าเดิม, สเปคที่เหนือความคาดหมาย และ ProVisual Engine ระบบกล้องที่จะแปลงโฉมประสบการณ์มัลติมีเดียของคุณไปอย่างสิ้นเชิง

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (45)

กล้องหน้า

  • 10MP กล้องฝาเครื่อง

  • 4MP กล้องใต้จอแสดงผล

กล้องหลัง

  • 12MP กล้องมุมกว้างพิเศษ

  • 50MP กล้องมุมกว้าง 2x Optical Quality Zoom

  • 10MP 3x Optical Zoom กล้องเทเลโฟโต

เก็บทุกรายละเอียดเล็ก ๆ น้อย ๆ

ด้วยกล้องความละเอียดสูงระดับ 50MP ของเรา ทุกรายละเอียดจะดูสมจริงได้ด้วย ความชัด และ ความสดใส อันน่าทึ่ง

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (46)

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (47)

ถ่ายด้วย GalaxyZFold6 #withGalaxy

ซูมได้อย่างคมชัดด้วยพลัง AI

ซูมเข้าได้สุด ๆ พร้อมลดนอยส์ลงและคงความละเอียดไว้ได้อย่าง ชัดเจน ด้วย ProVisual Engine ซึ่งจะวิเคราะห์บริเวณที่ทำการซูมเข้าเพื่อทำให้การถ่ายของคุณดูดีขึ้นมาได้อย่างยิ่ง

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (48)

การซูมเข้าภาพถ่ายจาก 1.0 เท่าเป็น 1.9 เท่า ที่รายละเอียดยังดูคมชัดแม้จะซูมเข้าก็ตาม

ถ่ายด้วย GalaxyZFold6 #withGalaxy

Zoom Map

ใช้ Zoom Map เพื่อดูทิศทางที่คุณหันกล้องไปขณะที่คุณซูมเข้า ซึ่งจะทำให้คุณเล็งกล้องได้อย่างง่ายดาย

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (49)

ถ่ายด้วย GalaxyZFold6 #withGalaxy

ให้ภาพดูสดใสขึ้นได้ด้วย Super HDR

รับชมได้อย่างสมจริง Super HDR จะช่วยทำให้รายละเอียดต่าง ๆ ดูโดดเด่นและดูน่าประทับใจ ขึ้นมาได้ แม้จะเป็นช่วงก่อนที่คุณจะถ่ายภาพก็ตาม

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (50)

ถ่ายด้วย GalaxyZFold6 #withGalaxy

ทำไมถึงต้องเปลี่ยนไปใช้ Galaxy

  • เปลี่ยนมาใช้ได้ง่าย ๆ จาก iOS

    การเปลี่ยน มาใช้จาก iOS นั้น ง่าย มาก! ด้วย Smart Switch คุณจะสามารถถ่ายโอนข้อมูลภาพถ่าย, วิดีโอ, รายชื่อผู้ติดต่อ และแอปได้อย่างง่ายดาย,,

    เรียนรู้เพิ่มเติม

    Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (51)

  • แบ่งปันได้อย่างไม่มีสะดุด

    ส่งไฟล์, ข้อมูล และคอนเทนต์ระหว่างอุปกรณ์ได้ แม้จะเป็น iOS กับ PC ก็ตาม นี่คือวิธีการแชร์อย่างเปิดกว้างที่ทั้งรวดเร็วและปลอดภัย

    Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (52)

  • ความเป็นส่วนตัวที่ปลอดภัย

    ใน ความเป็นส่วนตัวและความปลอดภัย ดูว่าแอปไหนกำลังเข้าถึงข้อมูลของคุณได้อย่างรวดเร็ว จากนั้นก็กำหนดการตั้งค่าได้ตามใจ ยิ่งไปกว่านั้น ด้วยฟีเจอร์ Advanced Intelligence คุณจะสามารถประมวลผลข้อมูลสำหรับบริการ AI ได้จากอุปกรณ์ Galaxy ของคุณหรือผ่านคลาวด์

    Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (53)

ทนทาน วางใจได้ ใช้งานได้ยาวนาน

  • ออกแบบมาเพื่อให้ทนทาน

    พบกับ FlexHinge ที่บางเฉียบที่เปี่ยมไปด้วยนวัตกรรมของเรา

    Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (54)

  • ได้รับการปกป้องด้วยอะลูมิเนียม

    Armor Aluminum ที่ดีกว่าเดิมจะช่วยปกป้องได้ตลอด,

    Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (55)

  • แข็งแกร่งอย่างแท้จริง

    การปกป้องที่แข็งแกร่งด้วย Corning® Gorilla® Glass Victus® 2

    Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (56)

  • กันน้ำได้ตลอด

    มาตรฐานการกันน้ำ IP48 สำหรับการหกเลอะที่ไม่คาดคิด

    Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (57)

Samsung Care+

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (58)

การดูแล ชั้นเลิศ จากผู้เชี่ยวชาญของ Samsung

เรียนรู้เพิ่มเติม

Try Galaxy ในโทรศัพท์ของคุณ

ได้ลองสัมผัสประสบการณ์อุปกรณ์ Galaxy ใหม่ล่าสุดแล้วหรือยัง ทำไมไม่ลองตอนนี้เลยล่ะ โดยใช้โทรศัพท์ของคุณ! เพียงสแกน QR โค้ดและดาวน์โหลดเพื่อเริ่มใช้

ไปที่ trygalaxy.com

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (59)

ดูแลสุขภาพไปกับ fold

เริ่มต้นการผจญภัยครั้งต่อไปของคุณได้ด้วย GalaxyBuds3Pro และ ค้นหา Energy Score ของคุณ ด้วย Galaxy Watch Ultra หรือ Galaxy Watch7 โฉมใหม่,

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (60)

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (61)

Samsung Health

เรียนรู้เพิ่มเติม

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (62)

การเปลี่ยนแปลงครั้งใหญ่ล้วนเริ่มต้นจากก้าวเล็ก ๆ

เป้าหมายของเราคืออนาคต ที่ยั่งยืน กว่าเดิม

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (63)

อุปกรณ์เสริม

สำรวจเพิ่มเติม

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (64)

คำถามที่พบบ่อย

GalaxyZFlip6

เรียนรู้เพิ่มเติม

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (65)

ดูวิธีอัจฉริยะต่าง ๆ เพื่อคว้า GalaxyZFold6 ของคุณ

ซื้อเลย ลงทะเบียนความสนใจ สั่งซื้อล่วงหน้า สถานที่จำหน่าย

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (66)

ชม GalaxyZFold6 ในรูปแบบ AR เปิดในรูปแบบ AR

ชีวิตที่เป็นอิสระกับ Galaxy

สำรวจเพิ่มเติม

Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (70)

มุมมอง 360 องศา 3 มิติ ข้อเสนอพิเศษสำหรับการซื้อออนไลน์

Silver Shadow Pink Navy Crafted Black สีพิเศษทางออนไลน์ White สีพิเศษทางออนไลน์

มุมที่ตั้งไว้ล่วงหน้า

*สีพิเศษต่าง ๆ มีให้เลือกเฉพาะในเว็บไซต์ Samsung.com

พลิกเปิดสู่ยุคใหม่แห่งธุรกิจ

ไปที่ Samsung business

*ข้อมูลจำเพาะและลักษณะที่ระบุไว้ในที่นี้อาจแตกต่างไปจากข้อมูลจำเพาะและลักษณะจริงของผลิตภัณฑ์ Samsung ขอสงวนสิทธิ์ในการเปลี่ยนแปลงเอกสารฉบับนี้และผลิตภัณฑ์ที่ระบุไว้ในที่นี้เมื่อใดก็ได้ โดยไม่มีข้อผูกมัดใดที่ Samsung จะต้องแจ้งให้ทราบถึงการเปลี่ยนแปลงดังกล่าว ฟังก์ชั่น, ฟีเจอร์, ข้อมูลจำเพาะ, GUI และข้อมูลอื่น ๆ ของผลิตภัณฑ์ทั้งหมดที่ระบุไว้ในเอกสารนี้ รวมถึงแต่ไม่จำกัดเพียง คุณประโยชน์, การออกแบบ, ราคา, ส่วนประกอบ, ประสิทธิภาพ, ความพร้อมให้บริการ และความสามารถของผลิตภัณฑ์ อาจเปลี่ยนแปลงได้โดยไม่ต้องแจ้งให้ทราบหรือไม่มีข้อผูกมัดใด ๆ ทั้งนี้ เนื้อหาในหน้าจอเป็นภาพจำลองและทำขึ้นเพื่อจุดประสงค์ในการสาธิตเท่านั้น

*อาจต้องเข้าสู่ระบบ Samsung Account เพื่อใช้ฟีเจอร์ Samsung AI บางอย่าง

*Samsung ไม่ให้สัญญา รับรอง หรือรับประกันถึงความถูกต้องแม่นยำ ความครบถ้วนสมบูรณ์ หรือความเชื่อถือได้ ของผลลัพธ์ที่ได้จากฟีเจอร์ AI

*ฟีเจอร์ Galaxy AI ที่สามารถใช้งานได้อาจแตกต่างกันไปขึ้นอยู่กับแต่ละภูมิภาค/ประเทศ, เวอร์ชัน ระบบปฏิบัติการ/One UI, รุ่นของอุปกรณ์ และผู้ให้บริการโทรศัพท์

*ฟีเจอร์ต่าง ๆ ของ Galaxy AI มีให้บริการฟรีไปจนถึงสิ้นปี 2025 ในอุปกรณ์ Samsung Galaxy ที่สามารถใช้งานฟีเจอร์ดังกล่าว ทั้งนี้ อาจมีข้อกำหนดที่แตกต่างออกไปสำหรับฟีเจอร์ AI ที่เป็นขององค์กรภายนอก

*Galaxy AI อาจไม่สามารถให้บริการแก่ผู้เยาว์ในบางภูมิภาคเนื่องด้วยข้อจำกัดด้านอายุในการใช้งาน AI

  1. ภาพมีการตัดต่อให้สั้นลงและเป็นการจำลองขึ้นมา ผลลัพธ์ต่าง ๆ มีไว้เพื่อจุดประสงค์ในการสาธิตวิธีการใช้งานเท่านั้น ความพร้อมให้บริการอาจแตกต่างกันไปในแต่ละประเทศ ภาษา หรือรุ่นของอุปกรณ์ ต้องต่ออินเทอร์เน็ต ผู้ใช้อาจจำเป็นต้องอัปเดต Android และแอป Google เป็นเวอร์ชันล่าสุด ใช้งานได้กับแอปและพื้นผิวที่รองรับ ผลลัพธ์อาจแตกต่างกันขึ้นอยู่กับการจับคู่ภาพ ไม่รับประกันความถูกต้องแม่นยำของผลลัพธ์
  2. ฟีเจอร์ Summary ของ Note Assist ต้องมีการเชื่อมต่อเครือข่ายและการเข้าสู่ระบบของ Samsung Account ความพร้อมให้บริการอาจขึ้นอยู่กับภาษา ฟีเจอร์ Summary ของ Note Assist จะเปิดใช้งานก็ต่อเมื่อมีตัวอักขระถึงตามจำนวนที่กำหนดไว้และไม่เกินขีดจำกัดของตัวอักขระ ฟีเจอร์การบันทึกเสียงพูดของ Note Assist อาจไม่รองรับในบางประเทศ ไฟล์เสียงต้องมีระยะเวลาไม่เกิน 3 ชั่วโมงจึงจะประมวลผลได้ ไม่รับประกันความถูกต้องแม่นยำของผลลัพธ์
  3. เมื่อเทียบกับ GalaxyZFold รุ่นก่อนหน้า
  4. วัดความหนาจากด้านบนสุดถึงด้านล่างสุดของกระจกเมื่อกางเครื่องออก
  5. สีที่วางจำหน่ายอาจแตกต่างกันไปในแต่ละประเทศหรือผู้ให้บริการ
  6. GalaxyZFold6 ไม่มีช่องเก็บ SPen ในตัว SPen มีจำหน่ายแยกต่างหาก ให้ใช้ SPen ที่ออกแบบมาสำหรับ GalaxyZFold SPen Fold Edition รองรับกับ GalaxyZFold5 และ Z Fold6 ปากกา SPen หรือปากกาสไตลัสอื่น ๆ อาจทำให้หน้าจอเสียหายได้ SPen รองรับเฉพาะกับหน้าจอหลัก
  7. ฟีเจอร์ Composer สำหรับ Chat Assist ต้องมีการเชื่อมต่อเครือข่ายและเข้าสู่ระบบ Samsung Account ฟีเจอร์นี้จะเปิดใช้งานเมื่ออักขระถึงจำนวนที่กำหนด ความพร้อมให้บริการอาจขึ้นอยู่กับภาษา ไม่รับประกันความถูกต้องแม่นยำของผลลัพธ์
  8. ฟีเจอร์ Summary สำหรับ Browsing Assist ต้องมีการเชื่อมต่อเครือข่ายและการเข้าสู่ระบบของ Samsung Account ความพร้อมให้บริการอาจขึ้นอยู่กับภาษา บริการอาจมีข้อจำกัดด้านการใช้งานหรือไม่สามารถใช้งานได้กับเว็บไซต์ที่ต้องชำระเงินบางแห่ง มีการจำกัดจำนวนอักขระที่ใช้ ไม่รับประกันความถูกต้องแม่นยำของผลลัพธ์
  9. ฟีเจอร์ Generative Edit สำหรับ Photo Assist ต้องอาศัยการเชื่อมต่อเครือข่ายและการเข้าสู่ระบบบัญชี Samsung Account การแต่งภาพด้วย Generative Edit อาจทำให้ได้รูปภาพที่ปรับขนาดได้สูงสุด 12MP ลายน้ำที่มองเห็นได้จะถูกซ้อนทับบนรูปภาพที่ได้ขณะบันทึกเพื่อระบุว่ารูปภาพสร้างขึ้นโดย AI ไม่อาจรับประกันความถูกต้องและความน่าเชื่อถือของเอาต์พุตที่สร้างขึ้น
  10. ฟีเจอร์ Portrait Studio สำหรับ Photo Assist ต้องอาศัยการเชื่อมต่อเครือข่ายและการเข้าสู่ระบบบัญชี Samsung Account การแต่งภาพด้วย Portrait Studio จะทำให้ได้รูปภาพที่ปรับขนาดได้สูงสุด 9MP ลายน้ำที่มองเห็นได้จะถูกซ้อนทับบนรูปภาพที่ได้ขณะบันทึกเพื่อระบุว่ารูปภาพนั้นถูกสร้างขึ้นโดย AI ไม่อาจรับประกันความถูกต้องและความน่าเชื่อถือของเอาต์พุตที่สร้างขึ้น
  11. ฟีเจอร์ Instant Slow-mo สำหรับ Photo Assist มีให้ใช้งานใน Samsung Video Player และ Samsung Gallery อาจใช้ไม่ได้กับไฟล์วิดีโอบางประเภท ไม่รับประกันความถูกต้องแม่นยำของผลลัพธ์
  12. ฟีเจอร์ Sketch to Image ต้องอาศัยการเชื่อมต่อเครือข่ายและการเข้าสู่ระบบบัญชี Samsung Account การแก้ไขด้วย Sketch to Image จะทำให้ได้รูปภาพที่ปรับขนาดได้สูงสุด 12MP ลายน้ำที่มองเห็นได้จะถูกซ้อนทับบนรูปภาพที่ได้ขณะบันทึกเพื่อระบุว่ารูปภาพนั้นถูกสร้างขึ้นโดย AI ไม่อาจรับประกันความถูกต้องและความน่าเชื่อถือของเอาต์พุตที่สร้างขึ้น
  13. ฟีเจอร์ Interpreter จำเป็นต้องใช้การเข้าสู่ระบบ Samsung Account อาจต้องมีการดาวน์โหลดภาษาเพิ่มเติมสำหรับบางภาษา ความพร้อมให้บริการอาจแตกต่างกันไปในแต่ละภาษา ไม่รับประกันความถูกต้องแม่นยำของผลลัพธ์ ความพร้อมให้บริการและฟีเจอร์ที่รองรับต่าง ๆ อาจแตกต่างกันไปในแต่ละประเทศ ภูมิภาค หรือผู้ให้บริการ ความพร้อมให้บริการของภาษาที่รองรับอาจแตกต่างกันไป
  14. หน้าจอคู่สามารถใช้งานได้ในโหมดบทสนทนาเท่านั้น
  15. ฟีเจอร์ Live Translate ต้องใช้การเชื่อมต่อเครือข่ายเพื่อรับข้อความการโทร สามารถแปลได้โดยไม่ต้องเชื่อมต่อเครือข่ายเมื่ออุปกรณ์ได้รับข้อความการโทรแล้ว จำเป็นต้องเข้าสู่ระบบ Samsung Account ฟีเจอร์ Live Translate มีให้บริการในแอปโทรศัพท์ Samsung ที่ติดตั้งไว้ล่วงหน้าและแอปบุคคลที่สามบางรายเท่านั้น ความพร้อมให้บริการอาจแตกต่างกันไปในแต่ละภาษาหรือภูมิภาค อาจจำเป็นต้องดาวน์โหลดชุดภาษาสำหรับบางภาษา ไม่รับประกันความถูกต้องแม่นยำของผลลัพธ์
  16. จำกัดเฉพาะสมาร์ทโฟน Samsung
  17. GalaxyZFold6 มีค่าความสว่างสูงสุดอยู่ที่ 2,600 nit ทั้งในหน้าจอหลักและหน้าจอฝาเครื่อง การแสดงผลสามารถปรับความสว่างได้ ซึ่งจะปรับระดับความสว่างให้โดยอัตโนมัติตามสภาพแวดล้อม ในบริเวณที่มีค่าความสว่าง 5,000 lux ขึ้นไป High Brightness Mode กับ Vision Booster จะถูกเปิดใช้งาน
  18. เมื่อเทียบกับ GalaxyZFold5
  19. ผลิตภัณฑ์แบรนด์ Snapdragon เป็นผลิตภัณฑ์ของ Qualcomm Technologies, Inc. และ/หรือบริษัทย่อย
  20. การปรับปรุงประสิทธิภาพของ AP ที่แสดงเมื่อเทียบกับ GalaxyZFold5 ประสิทธิภาพจริงจะขึ้นอยู่กับสภาพแวดล้อมของผู้ใช้, เงื่อนไขและซอฟต์แวร์และแอปพลิเคชันที่ติดตั้งไว้ล่วงหน้า
  21. จำกัดเฉพาะสมาร์ทโฟน Galaxy foldable
  22. อายุของแบตเตอรี่ตามจริงอาจแตกต่างกันไปตามสภาพแวดล้อมของเครือข่าย, คุณสมบัติ และแอปที่ใช้งาน, จำนวนครั้งที่โทรศัพท์กับส่งข้อความ, จำนวนครั้งที่แบตเตอรี่ผ่านการชาร์จและปัจจัยอื่น ๆ อีกมากมาย ประมาณค่าเทียบกับประวัติการใช้งานของผู้ใช้ทั่วไป และทำการประเมินอย่างอิสระโดย UX Connect Research ด้วยการตั้งค่าเริ่มต้นที่ใช้เครื่อข่าย LTE และ 5G Sub6
  23. ตามเงื่อนไขการทดสอบในห้องปฏิบัติการภายในของ Samsung กับเวอร์ชันก่อนเผยแพร่ของรุ่นที่กำหนด ซึ่งเชื่อมต่อกับหูฟังผ่าน Bluetooth ภายใต้การตั้งค่าเริ่มต้นบน LTE ประมาณความจุของแบตเตอรี่และกระแสที่วัดได้กับการใช้พลังงานแบตเตอรี่ระหว่างการเล่นวิดีโอ (ความละเอียดของไฟล์วิดีโอขนาด 720p และบันทึกบนอุปกรณ์) และการเล่นเสียง (ไฟล์ MP3 ความถี่ 192kbps ที่บันทึกบนอุปกรณ์ โดยที่จอ LCD ปิดอยู่) ตามลำดับ ระยะเวลาการเล่นวิดีโอและเสียงจริงจะแตกต่างกันไปตามการเชื่อมต่อเครือข่าย การตั้งค่า รูปแบบไฟล์ ความสว่างหน้าจอ สภาพแบตเตอรี่ และปัจจัยอื่น ๆ อีกมากมาย
  24. AI Zoom มีผลใช้กับการถ่ายในระยะต่าง ๆ ระหว่างความยาวของดิจิทัลซูม ทั้งนี้ ไม่รับประกันความถูกต้องแม่นยำของผลลัพธ์
  25. ฟีเจอร์ Zoom Map จะเปิดใช้งานเมื่อทำการซูมที่ 20 เท่าขึ้นไป
  26. การถ่ายโอนข้อมูลแบบใช้สายจากอุปกรณ์ Android™ ต้องใช้อุปกรณ์รับสัญญาณที่มีระบบปฏิบัติการ Android™ 4.3 หรือใหม่กว่า และอุปกรณ์ส่งข้อมูลต้องมีระบบปฏิบัติการ Android 4.3™ หรือใหม่กว่า การถ่ายโอนข้อมูลสามารถทำได้โดยไม่ต้องใช้สายเคเบิลโดยผ่านการเชื่อมต่อไร้สาย สำหรับการเชื่อมต่อไร้สาย อุปกรณ์รับต้องใช้ระบบปฏิบัติการ Android™ 4.0 หรือใหม่กว่า และอุปกรณ์ส่งต้องใช้ระบบปฏิบัติการ Android™ 4.0 หรือใหม่กว่า เปิดฟีเจอร์ Smart Switch Mobile ใน “การตั้งค่า” ของอุปกรณ์ Galaxy ที่รับข้อมูล หรือดาวน์โหลดแอป Smart Switch Mobile จาก Galaxy Store ข้อมูล เนื้อหา และแอปที่สามารถใช้ถ่ายโอนอาจแตกต่างกันไปตามวิธีการส่งข้อมูล
  27. การถ่ายโอนแบบมีสายจากระบบปฏิบัติการ iOS กำหนดให้อุปกรณ์รับข้อมูลต้องใช้ระบบปฏิบัติการ Android™ 4.3 หรือใหม่กว่า และอุปกรณ์ส่งต้องมี iOS 5 หรือใหม่กว่า การถ่ายโอนสามารถทำได้โดยไม่ต้องใช้สายเคเบิลผ่านการเชื่อมต่อไร้สายหรือ iCloud สำหรับการเชื่อมต่อไร้สาย อุปกรณ์รับต้องมี Android™ 4.0 หรือใหม่กว่า และอุปกรณ์ส่งต้องมี iOS 12 หรือใหม่กว่า การถ่ายโอน iCloud กำหนดให้อุปกรณ์รับต้องมี Android™ 4.0 หรือใหม่กว่า และอุปกรณ์ส่งต้องมี iOS 5 หรือใหม่กว่า เปิด Smart Switch Mobile ใน “การตั้งค่า” ของอุปกรณ์ Galaxy ที่รับข้อมูล หรือดาวน์โหลดแอป Smart Switch Mobile จาก Galaxy Store สำหรับการถ่ายโอนแบบไร้สาย ให้ดาวน์โหลด Smart Switch สำหรับ iOS จาก App Store ใน iPhone หรือ iPad ของคุณ ข้อมูล เนื้อหา และแอปที่มีสำหรับการถ่ายโอนอาจแตกต่างกันไปตามวิธีการส่งข้อมูล สามารถถ่ายโอนข้อมูลรายชื่อผู้ติดต่อ แกลเลอรี วิดีโอ ปฏิทิน และการแจ้งเตือนต่าง ๆ ได้แบบไร้สายจากอุปกรณ์ iOS
  28. แนะนำให้ใช้การเชื่อมต่อแบบมีสายสำหรับการส่งต่อข้อมูลหลายชุดในเวลาเดียวกัน
  29. ฟีเจอร์ Quick Share ระหว่างอุปกรณ์ Galaxy สามารถใช้งานได้กับระบบปฏิบัติการดังต่อไปนี้: สมาร์ทโฟนกับแท็บเล็ตที่ใช้ Android OS เวอร์ชัน 10.0 (Q) และ One UI 2.1 หรือเวอร์ชันใหม่กว่า, PC ที่ใช้ Windows 10 หรือเวอร์ชันใหม่กว่า จำเป็นต้องเชื่อมต่อกับ Samsung Account และ Wi-Fi และ Bluetooth สามารถทำการ Quick Share ไปยัง iOS และ Android ได้ด้วยการส่งลิงก์สำหรับแชร์: ไฟล์แต่ละไฟล์ที่แชร์ต้องมีขนาดไม่เกิน 5GB (รวมทั้งสิ้น 5GB ต่อวัน) และลิงก์จะหมดอายุหลังจากสองวัน จำเป็นต้องใช้ Samsung Account และการเชื่อมต่ออินเทอร์เน็ต
  30. เมื่อเทียบกับรุ่นก่อนหน้า
  31. เฟรม Armor Aluminum ไม่รวมถึงปุ่มปรับระดับเสียงและปุ่มด้านข้างหรือถาด SIM
  32. มีการใช้ Corning® Gorilla® Glass Victus® 2 กับด้านหน้าและด้านหลังของอุปกรณ์
  33. อิงตามสภาพแวดล้อมการทดสอบใต้น้ำจืดลึกสูงสุด 1.5 เมตรเป็นเวลา 30 นาทีในห้องปฏิบัติการ และสามารถกันวัตถุของแข็งที่มีขนาดใหญ่กว่า 1 มม. เช่นเส้นลวด ไม่แนะนำให้ใช้ในน้ำทะเลหรือน้ำในสระว่ายน้ำ การกันน้ำของอุปกรณ์ไม่ใช่คุณสมบัติถาวร และอาจเสื่อมสภาพได้ตามการใช้งาน ไม่สามารถกันฝุ่นหรือทรายได้
  34. ความคุ้มครอง ประเภทของบริการ และรายละเอียดโปรโมชั่นของ Samsung Care+ อาจแตกต่างกันไปในแต่ละประเทศ (ภูมิภาค) และอาจมีการคิดค่าความเสียหายส่วนแรก (ค่าธรรมเนียมบริการ) อาจจำเป็นต้องลงทะเบียนหากต้องการได้รับสิทธิประโยชน์โปรโมชั่นของ Samsung Care+ สามารถดูรายละเอียดเกี่ยวกับ Samsung Care+ ได้ที่ https://www.samsung.com/samsung-care-plus/
  35. อุปกรณ์ GalaxyBuds3Pro, Galaxy Watch Ultra และ Galaxy Watch7 มีจำหน่ายแยกต่างหาก
  36. ฟีเจอร์ Energy Score ใช้งานได้ในโทรศัพท์ Android (Android 11 หรือรุ่นใหม่กว่า) และต้องใช้แอป Samsung Health (v6.27 หรือรุ่นใหม่กว่า) โดยต้องลงชื่อเข้าใช้บัญชี Samsung Account ทั้งนี้ ความพร้อมให้บริการอาจแตกต่างกันไปตามประเทศหรือภูมิภาค หากต้องการตรวจดู Energy Score จะต้องซิงค์ข้อมูลสุขภาพที่ติดตามไว้ใน Samsung Galaxy Watch หรือ Samsung Galaxy Ring เข้ากับแอป Samsung Health จำเป็นต้องใช้ข้อมูลกิจกรรมกับการนอนหลับและอัตราการเต้นของหัวใจระหว่างการนอนหลับของวันก่อนหน้าเป็นอย่างน้อย ฟีเจอร์นี้ไม่มีวัตถุประสงค์เพื่อตรวจหา วินิจฉัย การรักษาอาการทางการแพทย์ใด ๆ ผลลัพธ์ที่ได้ใช้เพื่อเป็นข้อมูลอ้างอิงของคุณเองเท่านั้น โปรดปรึกษาบุคลากรทางการแพทย์เพื่อขอคำแนะนำ
  37. หน้าจอหลักของ GalaxyZFold6 มีขนาด 7.6 นิ้ว เมื่อวัดตามแนวทแยงแบบสุดมุมฉาก และมีขนาด 7.6 นิ้ว เมื่อวัดแบบสุดมุมโค้ง พื้นที่การรับชมจริงจะลดลงกว่านี้เนื่องจากมุมโค้ง
  38. หน้าจอฝาเครื่องของ GalaxyZFold6 มีขนาด 6.3 นิ้ว เมื่อวัดตามแนวทแยงแบบสุดมุมฉาก และมีขนาด 6.2 นิ้ว เมื่อวัดแบบสุดมุมโค้ง พื้นที่การรับชมจริงจะลดลงกว่านี้เนื่องจากมุมโค้งและรูกล้อง
  39. คุณลักษณะ Air Command อาจแตกต่างกันไปตามรุ่นหรือแอป
  40. ค่าปกติเป็นค่าที่ได้รับการทดสอบภายในห้องทดลองขององค์กรบุคคลที่สาม ค่าปกติคือค่าเฉลี่ยโดยประมาณที่พิจารณาถึงการเบี่ยงเบนของความจุแบตเตอรี่ของตัวอย่างแบตเตอรี่ที่นำมาทดสอบภายใต้มาตรฐาน IEC 61960 ความจุที่ประเมินของ GalaxyZFold6 คือ 4,273mAh อายุการใช้งานจริงของแบตเตอรี่อาจแตกต่างกันไปตามสภาพแวดล้อมของเครือข่าย รูปแบบการใช้งาน และปัจจัยอื่น ๆ
  41. ต้องดาวน์โหลด Expert RAW จาก Galaxy Store แยกต่างหากได้ฟรีก่อนที่จะทำการใช้งาน รองรับกับอุปกรณ์ซีรีส์ S24 และ S23, อุปกรณ์ซีรีส์ S22, S21 Ultra, S20 Ultra, Note20 Ultra, Z Fold6, Z Flip6, Z Fold5, Z Fold4, Z Fold3 และ Z Fold2

')); } } }; const isZoom = function () { let zoomLevel = 100 / ((window.innerWidth / window.outerWidth) * 100); if (zoomLevel > 1.7) { document.documentElement.classList.add('browser-zoomed-175'); } else { document.documentElement.classList.remove('browser-zoomed-175'); } if (zoomLevel > 3) { document.documentElement.classList.add('browser-zoomed-300'); } else { document.documentElement.classList.remove('browser-zoomed-300'); } if (zoomLevel > 4) { document.documentElement.classList.add('browser-zoomed-400'); } else { document.documentElement.classList.remove('browser-zoomed-400'); } }; const getViewerUrl = function () { let defaultParams = '', viewerSection = document.querySelector('.js-colors-viewer'), viewerButton = document.querySelector('.viewer-btn'), viewerModel = utils.isLowNetwork() ? viewerButton.getAttribute('data-model-name') : viewerSection.getAttribute('data-model-name'), viewerColor = utils.isLowNetwork() ? viewerButton.getAttribute('data-model-color') : viewerSection.getAttribute('data-model-color'), viewerUrl = '//www.samsung.com/global/galaxy/3d-360/viewer/?'; defaultParams = '&gesture_guide=0'; defaultParams += '&bgcolor=transparent'; defaultParams += '&skin=colorlayer'; defaultParams += '&theme=roundlayer'; defaultParams += '&auto_rotation=0'; defaultParams += '&intro=1'; defaultParams += '&ruler=1'; defaultParams += '&breakpoint_criteria=outer'; defaultParams += '&breakpoint_desktop_width=1024'; defaultParams += '&x=180'; defaultParams += '&status_toggle=1'; defaultParams += '&intro_pose=3'; defaultParams += '&intro_pose_once=1'; defaultParams += '&intro_pose_hold=1'; defaultParams += '&intro_pose_hold_limit=9999999'; defaultParams += '&controls=0'; defaultParams += '&use_zoom=0'; defaultParams += '&use_pan=0'; defaultParams += '&screen_mode=on'; // model_name viewerUrl += 'model_name=' + viewerModel; 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 += defaultParams; viewerUrl += '#color=' + (viewerColor ? viewerColor : 'null'); return viewerUrl; }; return { addLoadStatusClass: addLoadStatusClass, setResolution: setResolution, clickSup: clickSup, centeredFocus: centeredFocus, setArBanner: setArBanner, isZoom: isZoom, getViewerUrl: getViewerUrl, }})();flagship.features.setting = (function () { const resize = window.flagship.common.resize, common = window.flagship.features.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)), isGlobal = document.documentElement.classList.contains('global'); let els = {}; const init = function () { common.addLoadStatusClass(); common.setArBanner(); setElements(); bindEvents(); setResize(); if (!maxOs && !touchDevice) { setScrollControl(); } setImageLoader(); setVideoLoader(); setMp4VideoLoader(); setCenteredfocus(); setDisclaimerNumber(); setDisclaimer(); setVideoTheme(); setVideoBlind(); common.isZoom(); resize.add(common.isZoom); }; const setElements = function () { // video els.videoWrap = document.querySelectorAll('.js-video-wrap'); }; const bindEvents = function () { window.addEventListener('load', anchorPosition); window.addEventListener('hashchange', anchorPosition); }; const anchorPosition = function () { if (window.location.hash != '') { let hash = location.hash.split('#')[1], hashSection = document.querySelector('#contents #' + hash), hashTimeout = null; clearTimeout(hashTimeout); hashTimeout = setTimeout(function () { let sectionTop = hashSection.getBoundingClientRect().top, navHeight = utils.getNavHeight(), hashScroll = window.pageYOffset + sectionTop - navHeight; window.scrollTo(0, hashScroll); }, 300); } }; const 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); }; const setScrollControl = function () { window.scrollController = utils.scrollController(); scrollController.init({ speed: 120, duration: 0.6 }); }; const setImageLoader = function () { window.imageLoader = utils.mediaLoader({ lazyClass: '.js-img-src', responsiveClass: '.js-res-img', preset: isGlobal ? '' : '?imbypass=true', loadOption: [{ resolution: 1920, attribute: 'data-src-pc' }, { resolution: 1023, attribute: 'data-src-tb' }, { resolution: 767, attribute: 'data-src-mo' }, { resolution: 360, attribute: 'data-src-mo-s' }], visiblePoint: 2 }); window.bgLoader = utils.mediaLoader({ type: 'bgImage', lazyClass: '.js-bg-img', loadOption: [{ resolution: 1920, attribute: '', bgOpts: '' }], visiblePoint: 2 }); }; const setVideoLoader = function () { window.videoLoader = utils.mediaLoader({ type: 'video', lazyClass: '.js-video-src', responsiveClass: '.js-res-video', preset: 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.videoHandler && !video.videoHandler.wrap.classList.contains('is-loaded')) { video.videoHandler.wrap.classList.add('is-loaded'); } } }); }; const setMp4VideoLoader = function () { window.mp4VideoLoader = utils.mediaLoader({ type: 'mp4Video', lazyClass: '.js-mp4-video-src', responsiveClass: '.js-res-video', preset: 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.videoHandler && !video.videoHandler.wrap.classList.contains('is-loaded')) { video.videoHandler.wrap.classList.add('is-loaded'); } } }); }; const setCenteredfocus = function () { els.contents = document.querySelector('#contents'); els.allClickables = els.contents.querySelectorAll('a, button, input, select'); for (let i = 0; i < els.allClickables.length; i++) { els.allClickables[i].addEventListener('focusin', common.centeredFocus); } }; const setDisclaimerNumber = function () { const supTag = document.querySelectorAll('.click_sup'), btmDicl = document.querySelectorAll('li.common-bottom-disclaimer__list-item'); let btmDiclArr = []; for (let i = 0; i < btmDicl.length; i++) { let dataSup = btmDicl[i].getAttribute('data-sup'); btmDiclArr.push(dataSup); } for (let j = 0; j < supTag.length; j++) { let dataSupTag = supTag[j].getAttribute('data-sup-tag'); let supChildCount = supTag[j].parentElement.childElementCount; if (btmDiclArr.indexOf(dataSupTag) > -1) { supTag[j].innerText = btmDiclArr.indexOf(dataSupTag) + 1; } else { if (supChildCount == 1) { supTag[j].parentElement.remove(); } else { let supParent = supTag[j].parentElement.childNodes; let supArr = []; for (let supIndex = 0; supIndex < supParent.length; supIndex++) { supArr.push(supParent[supIndex]); } let index = supArr.indexOf(supTag[j]); if (index != 0 && index % 2 == 0) { supParent[index].remove(); supParent[index - 1].remove(); } else { if (index != supArr.length) supParent[index + 1].remove(); supParent[index].remove(); } } } } }; const setDisclaimer = function () { els.supClicker = document.querySelectorAll('a.click_sup'); for (let i = 0; i < els.supClicker.length; i++) { els.supClicker[i].addEventListener('click', common.clickSup); } }; const setVideoTheme = function () { for (let i = 0; i < els.videoWrap.length; i++) { let colorType = els.videoWrap[i].getAttribute('data-theme-type'); if (colorType === 'white') { els.videoWrap[i].classList.add('common-video--white'); } else if (colorType === 'black') { els.videoWrap[i].classList.add('common-video--black'); } } }; const setVideoBlind = function () { for (let i = 0; i < els.videoWrap.length; i++) { let controlBlind = els.videoWrap[i].querySelector('.js-video-control .blind'); controlBlind.innerHTML = (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) ? LOCAL_VARI.play : 'play'; } }; return { init: init }})();flagship.features.setting.init();(function () { window.flagship.features.clickToVideo = (function () { const utils = window.flagship.common.utils; let els = { clickToVideosWrap: [], clickToVideo: [], }; const init = function () { els.clickToVideosWrap = document.querySelectorAll('.js-click-video'); if (els.clickToVideosWrap.length > 0) { setProperty(); bindEvents(); } }; const setProperty = function () { for (let i = 0; i < els.clickToVideosWrap.length; i++) { els.clickToVideosWrap[i].video = els.clickToVideosWrap[i].querySelector('video'); els.clickToVideosWrap[i].controller = els.clickToVideosWrap[i].querySelector('.js-video-control'); els.clickToVideosWrap[i].controller.video = els.clickToVideosWrap[i].video; } }; const bindEvents = function () { eventList.setVideo(); eventHandler.click(); }; const eventHandler = { click: function () { for (let i = 0; i < els.clickToVideosWrap.length; i++) { els.clickToVideosWrap[i].controller.addEventListener('click', eventList.clickVideoCta); } } }; const eventList = { setVideo: function () { for (let i = 0; i < els.clickToVideosWrap.length; i++) { els.clickToVideo[i] = utils.videoHandler({ wrap: els.clickToVideosWrap[i], video: els.clickToVideosWrap[i].video, controller: els.clickToVideosWrap[i].controller, resetCallback: function () { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); } if (this.wrap.classList.contains('is-started')) { this.wrap.classList.remove('is-started'); } }, playCallback: function () { if (!this.wrap.classList.contains('is-started')) { this.wrap.classList.add('is-started'); } setTagging.pause(this.controller); }, pauseCallback: function () { setTagging.play(this.controller); }, endCallback: function () { if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); } } }); } }, clickVideoCta: function (e) { if (e.target == e.currentTarget) { if (e.currentTarget.video.paused) { e.currentTarget.video.play(); } else { e.currentTarget.video.pause(); } } } }; const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; return { init: init } })();})();(function () { window.flagship.features.headline = (function () { const utils = window.flagship.common.utils; let els = {}; const init = function () { setElements(); bindEvents(); }; const setElements = function() { els.moveText = document.querySelectorAll('.js-move-text'); }; const bindEvents = function () { eventList.setScene(); eventHandler.scroll(); eventList.scroll(); }; const eventHandler = { scroll: function () { window.addEventListener('scroll', eventList.scroll); } }; const eventList = { scroll: function () { for (let i = 0; i < els.moveText.length; i++) { els.moveText[i].sceneObj.trackAnimation(function () { if(this.progress >= 10) { els.moveText[i].classList.add('is-moved'); if (this.trackElement.classList.contains('common-description')) this.trackElement.style.transitionDelay = "0.2s"; } if(this.progress <= 0) { els.moveText[i].classList.remove('is-moved'); } }); } }, setScene: function () { for(let i = 0; i < els.moveText.length; i++) { els.moveText[i].sceneObj = SCROLLER({ trackElement: els.moveText[i], useFixed: false, }); } } }; return { init: init } })();})();(function () { window.flagship = window.flagship || {}; window.flagship.features = window.flagship.features || {}; window.flagship.features.oneColumnCarousel = (function () { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}; let prevDevice; let currDevice = resize.checkResolution(); let dimmedClass = 'is-dimmed'; const isRtl = document.documentElement.classList.contains('rtl'); const init = function () { els.section = document.querySelectorAll('.js-one-column-carousel'); if (!!els.section) { setElements(); setProperty(); bindEvents(); } }; const setElements = function () { for (let i = 0; i < els.section.length; i++) { els.section[i].swiperContainer = els.section[i]; els.section[i].swiperSlides = els.section[i].swiperContainer.querySelectorAll('.swiper-slide'); els.section[i].prevArrow = els.section[i].parentElement.querySelector('.swiper-button-prev'); els.section[i].nextArrow = els.section[i].parentElement.querySelector('.swiper-button-next'); els.section[i].scrollbar = els.section[i].parentElement.querySelector('.swiper-scrollbar'); } }; const setProperty = function() { for (let i = 0; i < els.section.length; i++) { let isSlideLength = els.section[i].swiperSlides.length; for (let j = 0; j < isSlideLength; j++) { els.section[i].swiperSlides[j].video = els.section[i].swiperSlides[j].querySelector('.common-video__video'); } } } const bindEvents = function () { eventList.load(); resize.add(eventList.resize); }; const eventList = { load: function() { swiperEvents.set(); for (let i = 0; i < els.section.length; i++) { els.section[i].swiper.init(); if (els.section[i].swiperSlides.length >= 2) { els.section[i].swiper.init(); } } }, resize: function() { currDevice = resize.checkResolution(); if (prevDevice != currDevice) { eventList.responsive(); prevDevice = currDevice; }; }, responsive: function() { for (let i = 0; i < els.section.length; i++) { eventList.resetDimmedSlide(els.section[i].swiper); els.section[i].swiper.slideTo(0, false); if (eventList.getCarouselSizeInfo(els.section[i].swiper).viewLength > 0 && currDevice != 'mobile') eventList.initDimmedSlides(els.section[i].swiper); } }, setMedia: function(swiper, index) { let isIndex = index + 1 > swiper.slides.length -1 ? swiper.slides.length -1 : index + 1; let videoLength = swiper.el.querySelectorAll('video').length - 1; let imageLength = swiper.el.querySelectorAll('img').length - 1; let videoloadComplateLength = swiper.el.querySelectorAll('.is-video-load-complete').length - 1; let imageloadComplateLength = swiper.el.querySelectorAll('.is-img-load-complete').length - 1; let nextVideo = swiper.slides[isIndex].querySelector('video'); let nextImage = swiper.slides[isIndex].querySelector('img'); if (videoloadComplateLength != videoLength) { if (!!nextVideo) { videoLoader.setResponsiveMedia([nextVideo]); } } if (imageloadComplateLength != imageLength) { if (!!nextImage) { imageLoader.setResponsiveMedia([nextImage]); } } }, resetVideo: function(swiper) { for (let i = 0; i < swiper.slides.length; i++) { let isVideo = swiper.slides[i].video; if (!!isVideo && !isVideo.paused) { isVideo.pause(); isVideo.currentTime = 0; }; }; }, getCarouselSizeInfo: function(swiper) { let slideLength = swiper.slides.length; let slideWidth = swiper.slides[0].clientWidth; let slideMargin = parseInt(window.getComputedStyle(swiper.slides[0]).margin.split(' ')[isRtl ? 3 : 1]); let slideSize = slideWidth + slideMargin; let maxMoveSize = ((slideSize * slideLength) - slideMargin) - swiper.wrapperEl.clientWidth; let viewWidth = swiper.wrapperEl.clientWidth; let viewLength = parseInt((viewWidth + slideMargin)/slideSize); let lastBeforeSize = slideLength == 2 ? 0 : Math.abs((maxMoveSize - slideSize)) + Math.abs((viewWidth - slideWidth)); let isMoveSize = Math.abs(parseInt(window.getComputedStyle(swiper.wrapperEl).transform.split(',')[4])); return { slideWidth: slideWidth, slideMargin: slideMargin, slideSize: slideSize, maxMoveSize: maxMoveSize, viewWidth: viewWidth, viewLength: viewLength, lastBeforeSize: lastBeforeSize, isMoveSize: isMoveSize } }, initDimmedSlides: function(swiper) { for (let i = 0; i < swiper.slides.length; i++) { if ((swiper.activeIndex + eventList.getCarouselSizeInfo(swiper).viewLength) <= i) { swiper.slides[i].classList.add(dimmedClass); } } }, setDimmedSlide: function(swiper) { if (currDevice != 'mobile') { for (let i = 0; i < swiper.slides.length; i++) { let dimmedSlide = (swiper.activeIndex) > i || (swiper.activeIndex + (eventList.getCarouselSizeInfo(swiper).viewLength - 1)) < i; if (dimmedSlide) { swiper.slides[i].classList.add(dimmedClass); } else { swiper.slides[i].classList.remove(dimmedClass); } } } }, resetDimmedSlide: function(swiper) { for (let i = 0; i < swiper.slides.length; i++) { swiper.slides[i].classList.remove(dimmedClass); } }, } const swiperEvents = { set: function () { for (let i = 0; i < els.section.length; i++) { if (els.section[i].swiper == null) { new Swiper(els.section[i].swiperContainer, { init: false, slidesPerView: 'auto', navigation: { nextEl: els.section[i].nextArrow, prevEl: els.section[i].prevArrow, }, scrollbar: { el: els.section[i].scrollbar, draggable: true }, }); els.section[i].swiper.on('init', swiperEvents.init); els.section[i].swiper.on('slideChange', swiperEvents.slideChange); els.section[i].swiper.on('transitionEnd', swiperEvents.transitionEnd); } } }, init: function () { let isNextArrow = this.el.parentElement.querySelector('.swiper-button-next'); let isPrevArrow = this.el.parentElement.querySelector('.swiper-button-prev'); isNextArrow.removeAttribute('aria-label'); isNextArrow.removeAttribute('role'); isPrevArrow.removeAttribute('aria-label'); isPrevArrow.removeAttribute('role'); accessibility.slide(this); if (eventList.getCarouselSizeInfo(this).viewLength > 0 && currDevice != 'mobile') eventList.initDimmedSlides(this); }, slideChange: function () { accessibility.slide(this); eventList.resetVideo(this); if (eventList.getCarouselSizeInfo(this).viewLength > 0 && currDevice != 'mobile') eventList.setDimmedSlide(this); if (this.realIndex > 0) eventList.setMedia(this, this.realIndex); }, transitionEnd: function() { if (this.slides.length < 3 && currDevice == 'mobile') return; setTimeout(() => { let carouselInfo = eventList.getCarouselSizeInfo(this); let lastIndex = this.slides.length -1; let lastSlide = this.slides[lastIndex]; let lastBeforeSlide = this.slides[lastIndex - 1]; if (carouselInfo.isMoveSize > carouselInfo.lastBeforeSize || carouselInfo.maxMoveSize == carouselInfo.isMoveSize) { eventList.resetVideo(this); lastSlide.classList.add('is-last-slide'); lastBeforeSlide.classList.add('is-dimmed'); lastSlide.classList.remove('is-dimmed'); utils.offAccessibility(this.slides[lastIndex]); utils.onAccessibility(this.slides[lastIndex - 1]); } else if (lastSlide.classList.contains('is-last-slide') && carouselInfo.lastBeforeSize == carouselInfo.isMoveSize) { eventList.resetVideo(this); lastSlide.classList.add('is-dimmed'); lastSlide.classList.remove('is-last-slide'); lastBeforeSlide.classList.remove('is-dimmed'); utils.onAccessibility(this.slides[lastIndex]); utils.offAccessibility(this.slides[lastIndex - 1]); } }, 0); }, destroy: function (swiper) { if (swiper != null) { swiper.navigation.destroy(true); swiper.destroy(true); swiper = null; } }, }; const accessibility = { slide: function (swiper) { for (let i = 0; i < swiper.slides.length; i++) { if (i != swiper.activeIndex) { utils.onAccessibility(swiper.slides[i]); } else { utils.offAccessibility(swiper.slides[i]); } } } }; return { init: init, } })();})();(function () { window.flagship.features.scrollVideo = (function () { const utils = window.flagship.common.utils, resize = window.flagship.common.resize; let els = { scrollVideoWraps: [], scrollVideo: [], scene: [], }, currDevice = resize.checkResolution(); const init = function () { els.scrollVideoWraps = document.querySelectorAll('div:not(.js-interactive-intro-video)>.js-scroll-video'); if (els.scrollVideoWraps.length > 0) { setProperty(); eventList.setVideo(); eventList.setScene(); bindEvents(); } }; const setProperty = function () { for (let i = 0; i < els.scrollVideoWraps.length; i++) { els.scrollVideoWraps[i].video = els.scrollVideoWraps[i].querySelector('video'); els.scrollVideoWraps[i].controller = els.scrollVideoWraps[i].querySelector('.js-video-control'); els.scrollVideoWraps[i].controller.video = els.scrollVideoWraps[i].video; els.scrollVideoWraps[i].startPoint = !!els.scrollVideoWraps[i].getAttribute('data-start-point') ? parseInt(els.scrollVideoWraps[i].getAttribute('data-start-point')) : undefined; els.scrollVideoWraps[i].reversePoint = !!els.scrollVideoWraps[i].getAttribute('data-reverse-point') ? parseInt(els.scrollVideoWraps[i].getAttribute('data-reverse-point')) : undefined; els.scrollVideoWraps[i].moStartPoint = !!els.scrollVideoWraps[i].getAttribute('data-mo-start-point') ? parseInt(els.scrollVideoWraps[i].getAttribute('data-mo-start-point')) : undefined; els.scrollVideoWraps[i].moReversePoint = !!els.scrollVideoWraps[i].getAttribute('data-mo-reverse-point') ? parseInt(els.scrollVideoWraps[i].getAttribute('data-mo-reverse-point')) : undefined; } }; const bindEvents = function () { eventHandler.scroll(); eventList.scroll(); eventHandler.click(); resize.add(eventList.resize); }; const eventHandler = { scroll: function () { window.addEventListener('scroll', eventList.scroll); }, click: function () { for (let i = 0; i < els.scrollVideoWraps.length; i++) { els.scrollVideoWraps[i].controller.addEventListener('click', eventList.clickVideoCta); } } }; const eventList = { setVideo: function () { for (let i = 0; i < els.scrollVideoWraps.length; i++) { els.scrollVideo[i] = utils.videoHandler({ playType: 'scrollPlay', startPoint: (currDevice.indexOf('mobile') > -1) ? els.scrollVideoWraps[i].moStartPoint : els.scrollVideoWraps[i].startPoint, reversePoint: (currDevice.indexOf('mobile') > -1) ? els.scrollVideoWraps[i].moReversePoint : els.scrollVideoWraps[i].reversePoint, wrap: els.scrollVideoWraps[i], video: els.scrollVideoWraps[i].video, controller: els.scrollVideoWraps[i].controller, resetCallback: function () { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); } if (this.wrap.classList.contains('is-started')) { this.wrap.classList.remove('is-started'); } if (!!this.video.videoWrap && this.video.videoWrap.classList.contains('js-interactive-intro-video')) { this.video.tooltip.classList.remove('is-visible'); } }, playCallback: function () { if (!this.wrap.classList.contains('is-started')) { this.wrap.classList.add('is-started'); } setTagging.pause(this.controller); }, pauseCallback: function () { setTagging.play(this.controller); }, endCallback: function () { if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); } } }); } }, setScene: function () { for (let i = 0; i < els.scrollVideoWraps.length; i++) { els.scene[i] = SCROLLER({ trackElement: els.scrollVideoWraps[i].video, useFixed: false, resize: utils.detector.isTouchDevice ? false : true }); } }, scroll: function () { for (let i = 0; i < els.scrollVideoWraps.length; i++) { els.scene[i].trackAnimation(function () { els.scrollVideo[i].scrollActive(this.progress); }); } }, resize: function (currRes) { currDevice = currRes; }, clickVideoCta: function (e) { if (e.target == e.currentTarget) { if (e.currentTarget.video.paused) { e.currentTarget.video.play(); } else { e.currentTarget.video.pause(); } } } }; const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; return { init: init } })();})();;(function () { window.flagship.features.threeColumnCarousel = (function () { const utils = window.flagship.common.utils, resize = window.flagship.common.resize; let els = {}, swiperObj, prevDevice = null, currDevice = resize.checkResolution(); dimmedClass = 'is-dimmed'; const isRtl = document.documentElement.classList.contains('rtl'); const init = function () { els.section = document.querySelectorAll('.js-three-column-carousel'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { for (let i = 0; i < els.section.length; i++) { els.section[i].swiperContainer = els.section[i]; els.section[i].swiperSlide = els.section[i].querySelectorAll('.swiper-slide'); els.section[i].nextArrow = els.section[i].parentElement.querySelector('.swiper-button-next'); els.section[i].prevArrow = els.section[i].parentElement.querySelector('.swiper-button-prev'); els.section[i].scrollbar = els.section[i].parentElement.querySelector('.swiper-scrollbar'); }; }; const bindEvents = function () { eventList.load(); resize.add(eventList.resize); }; const eventHandler = { swiper: function() { for (let i = 0; i < els.section.length; i++) { els.section[i].swiper.on('init', swiperEvents.init); els.section[i].swiper.on('slideChange', swiperEvents.slideChange); els.section[i].swiper.on('transitionEnd', swiperEvents.transitionEnd); }; } }; const eventList = { load: function() { for (let i = 0; i < els.section.length; i++) { let desktopStatus = (currDevice == 'desktop' || currDevice == 'tablet') && els.section[i].swiperSlide.length > 3; let mobileStatus = (currDevice == 'mobile' || currDevice == 'mobileS') && els.section[i].swiperSlide.length > 1; if (desktopStatus || mobileStatus) { swiperEvents.set(); eventHandler.swiper(); els.section[i].swiper.init(); } } }, resize: function() { currDevice = resize.checkResolution(); if (prevDevice != currDevice) { eventList.responsive(); prevDevice = currDevice; }; }, responsive: function() { for (let i = 0; i < els.section.length; i++) { let isSection = els.section[i]; let desktopStatus = (currDevice == 'desktop' || currDevice == 'tablet') && isSection.swiperSlide.length > 3; let mobileStatus = currDevice == 'mobile' && isSection.swiperSlide.length > 1; eventList.resetDimmedSlide(isSection.swiper); accessibility.reset(isSection.swiper); if (desktopStatus || mobileStatus) { if (isSection.swiper.initialized) swiperEvents.destroy(isSection.swiper); swiperEvents.set(); eventHandler.swiper(); isSection.swiper.init(); if (desktopStatus) eventList.initDimmedSlides(isSection.swiper); if (mobileStatus) accessibility.slide(isSection.swiper); } else if ((!desktopStatus || !mobileStatus) && isSection.swiper != undefined) { if (isSection.swiper.initialized) swiperEvents.destroy(isSection.swiper); } }; }, getCarouselSizeInfo: function(swiperObj) { let slideLength = swiperObj.slides.length; let slideWidth = swiperObj.slides[0].clientWidth; let slideMargin = parseInt(window.getComputedStyle(swiperObj.slides[0]).margin.split(' ')[isRtl ? 3 : 1]); let slideSize = slideWidth + slideMargin; let maxMoveSize = ((slideSize * slideLength) - slideMargin) - swiperObj.wrapperEl.clientWidth; let viewWidth = swiperObj.wrapperEl.clientWidth; let viewLength = Math.round((viewWidth + slideMargin)/slideSize); let lastBeforeSize = slideLength == 3 ? 0 : (slideWidth + slideMargin) * ((slideLength - viewLength) - 1); let isMoveSize = Math.abs(parseInt(window.getComputedStyle(swiperObj.wrapperEl).transform.split(',')[4])); return { slideLength: slideLength, slideWidth: slideWidth, slideMargin: slideMargin, slideSize: slideSize, maxMoveSize: maxMoveSize, viewWidth: viewWidth, viewLength: viewLength, lastBeforeSize: lastBeforeSize, isMoveSize: isMoveSize } }, initDimmedSlides: function(swiperObj) { for (let i = 0; i < swiperObj.slides.length; i++) { let isSlide = swiperObj.slides[i]; if ((swiperObj.activeIndex + eventList.getCarouselSizeInfo(swiperObj).viewLength) <= i) { isSlide.classList.add(dimmedClass); utils.onAccessibility(isSlide) } } }, setDimmedSlide: function(swiperObj) { if (currDevice != 'mobile') { for (let i = 0; i < swiperObj.slides.length; i++) { let isSlide = swiperObj.slides[i]; let dimmedSlide = (swiperObj.activeIndex) > i || (swiperObj.activeIndex + (eventList.getCarouselSizeInfo(swiperObj).viewLength - 1)) < i; if (dimmedSlide) { isSlide.classList.add(dimmedClass); utils.onAccessibility(isSlide) } else { isSlide.classList.remove(dimmedClass); utils.offAccessibility(isSlide) } } } }, resetDimmedSlide: function(swiperObj) { if (!!!swiperObj) return; for (let i = 0; i < swiperObj.slides.length; i++) { swiperObj.slides[i].classList.remove(dimmedClass); } }, tagging: function () { const values = { 'data-omni-type': 'microsite_pcontentinter', 'data-omni': 'galaxy-z-fold6:highlights:indicator:sldr-dots:', 'ga-ca': 'indication', 'ga-ac': 'carousel', 'ga-la': 'galaxy-z-fold6:highlights:indicator:sldr-dots:', }; } }; const swiperEvents = { set: function () { for (let i = 0; i < els.section.length; i++) { if (els.section[i].swiper == null) { new Swiper(els.section[i].swiperContainer, { init: false, slidesPerView: 'auto', speed: 200, navigation: { nextEl: els.section[i].nextArrow, prevEl: els.section[i].prevArrow, }, scrollbar: { el: els.section[i].scrollbar, draggable: true } }); } } }, init: function () { let isNextArrow = this.el.parentElement.querySelector('.swiper-button-next'); let isPrevArrow = this.el.parentElement.querySelector('.swiper-button-prev'); isNextArrow.removeAttribute('aria-label'); isNextArrow.removeAttribute('role'); isPrevArrow.removeAttribute('aria-label'); isPrevArrow.removeAttribute('role'); eventList.tagging(); if (currDevice != 'mobile') { eventList.initDimmedSlides(this); } else { accessibility.slide(this); }; }, transitionEnd: function() { let carouselInfo = eventList.getCarouselSizeInfo(this); if (currDevice == 'mobile' || currDevice == 'tablet') return; if (carouselInfo.viewLength < 3) return; setTimeout(() => { let lastIndex = this.slides.length -1 ; let lastSlide = this.slides[lastIndex]; let lsatDimmedLength = (carouselInfo.slideLength - 1) - carouselInfo.viewLength; let lastBeforeSlide = this.slides[lsatDimmedLength]; if (carouselInfo.isMoveSize > carouselInfo.lastBeforeSize && carouselInfo.maxMoveSize >= carouselInfo.isMoveSize) { lastSlide.classList.add('is-last-slide'); lastBeforeSlide.classList.add('is-dimmed'); lastSlide.classList.remove('is-dimmed'); } else if (lastSlide.classList.contains('is-last-slide') && carouselInfo.lastBeforeSize == carouselInfo.isMoveSize) { lastSlide.classList.add('is-dimmed'); lastSlide.classList.remove('is-last-slide'); lastBeforeSlide.classList.remove('is-dimmed'); } }, 0); }, slideChange: function () { eventList.setDimmedSlide(this); if (currDevice == 'mobile') accessibility.slide(this); }, destroy: function (swiperObj) { swiperObj.navigation.destroy(true); swiperObj.destroy(true); swiperObj = null; }, }; const accessibility = { slide: function (swiper) { for (let i = 0; i < swiper.slides.length; i++) { if (i != swiper.activeIndex) { utils.onAccessibility(swiper.slides[i]); } else { utils.offAccessibility(swiper.slides[i]); } } }, reset: function(swiper) { for (let i = 0; i < swiper.slides.length; i++) { utils.offAccessibility(swiper.slides[i]); } } }; return { init: init } })();})();(function () { window.flagship.features.aiOverview = (function () { const utils = window.flagship.common.utils, resize = flagship.common.resize; let els = {}; let currDevice = resize.checkResolution(); let isLoaded = false; const init = function () { els.section = document.querySelector('.features-ai-overview'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { // fixed els.fixedTrack = els.section.querySelector('.js-fixed-track'); els.fixedInner = els.section.querySelector('.js-fixed-inner'); // title els.overviewTextWrap = els.section.querySelector('.js-overview-text-wrap'); els.overviewTopText = els.section.querySelector('.js-overview-top-text'); els.overviewMiddleTextPc = els.section.querySelector('.js-overview-middle-text-pc'); els.overviewMiddleTextMo = els.section.querySelector('.js-overview-middle-text-mo'); els.overviewBottomTextPc = els.section.querySelector('.js-overview-bottom-text-pc'); els.overviewBottomTextMo = els.section.querySelector('.js-overview-bottom-text-mo'); // introLogoVideo els.introLogoWrap = els.section.querySelector('.js-intro-logo-wrap'); els.introLogoVideoWrap = els.section.querySelector('.js-intro-logo-video-wrap'); els.introLogoVideoWrap.video = els.introLogoVideoWrap.querySelector('video'); els.introLogoVideoWrap.coverImg = els.introLogoVideoWrap.querySelector('.js-intro-logo-cover-image'); // logoVideo els.logoWrap = els.section.querySelector('.js-logo-wrap'); els.logoVideoWrap = els.section.querySelector('.js-logo-video-wrap'); els.logoVideoWrap.video = els.logoVideoWrap.querySelector('video'); els.logoVideoWrap.coverImg = els.logoVideoWrap.querySelector('.js-logo-cover-image'); // dimmed els.dimmed = els.section.querySelector('.js-dimmed'); }; const bindEvents = function () { eventHandler.load(); resize.add(eventHandler.resize); }; const eventHandler = { load: function () { eventList.checkBrokenFixed(); if (document.documentElement.classList.contains('is-ai-broken-fixed') || document.documentElement.classList.contains('low_network')) { window.addEventListener('DOMContentLoaded', eventList.setStaticContents, {once:true}); } else { window.addEventListener('DOMContentLoaded', function () { eventList.setVideoHandler(); eventList.fixedScroller.set(); }, {once : true}); window.addEventListener('scroll', eventList.setScroll); eventList.setScroll(); } window.addEventListener('orientationchange', eventHandler.orientationchange); }, resize: function (currRes) { currDevice = currRes; eventList.setContents(); }, orientationchange: function () { setTimeout(function () { eventList.setContents(); }, 150); } }; const eventList = { mediaLoader: function () { let scrollTop = window.pageYOffset, kv = document.querySelector('.features-kv'), kvTop = scrollTop + kv.getBoundingClientRect().top; if ((scrollTop > kvTop) && !isLoaded) { if (!els.introLogoVideoWrap.coverImg.classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([els.introLogoVideoWrap.coverImg]); } if (!els.introLogoVideoWrap.video.classList.contains('is-mp4video-load-complete')) { mp4VideoLoader.setResponsiveMedia([els.introLogoVideoWrap.video]); } if (!els.logoVideoWrap.coverImg.classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([els.logoVideoWrap.coverImg]); } if (!els.logoVideoWrap.video.classList.contains('is-mp4video-load-complete')) { mp4VideoLoader.setResponsiveMedia([els.logoVideoWrap.video]); } isLoaded = true; } }, setVideoHandler: function () { utils.videoHandler({ wrap: els.introLogoVideoWrap, video: els.introLogoVideoWrap.video }); utils.videoHandler({ wrap: els.logoVideoWrap, video: els.logoVideoWrap.video }); }, fixedScroller: { set: function () { if (els.fixedTrack.scene == null) { els.fixedTrack.scene = SCROLLER({ trackElement: els.fixedTrack, fixedElement: els.fixedInner, useFixed: true, useFixedStlye: false, useStrictMode: false, trackHeight: 3, resize: (utils.detector.isTouchDevice) ? false : true }); } }, destroy: function () { if (els.fixedTrack.scene != null) { els.fixedTrack.scene.destroy(true, true); els.fixedTrack.scene = null; els.fixedTrack.style = ''; } }, play: function () { if (els.fixedTrack.scene != null) { els.fixedTrack.scene.trackAnimation(function () { let progress = this.progress; let isMobile = currDevice.indexOf('mobile') > -1; introLogoHideValue = utils.calRange({ targetValue: 1, progress: progress, startPoint: 45, endPoint: 55 }), introLogoScaleValue = utils.calRange({ targetValue: 0.5, progress: progress, startPoint: 45, endPoint: 55 }), textWrapShowValue = utils.calRange({ targetValue: 1, progress: progress, startPoint: 53, endPoint: 58 }), topMiddleTextShowValue = utils.calRange({ targetValue: 1, progress: progress, startPoint: 48, endPoint: 55 }), logoShowValue = utils.calRange({ targetValue: 1, progress: progress, startPoint: 50, endPoint: 56 }), bottomTextShowValue = utils.calRange({ targetValue: 1, progress: progress, startPoint: 60, endPoint: 65 }), bottomTextTopValue = utils.calRange({ targetValue: 50, progress: progress, startPoint: 62, endPoint: 70 }); // introLogoVideo if (progress < -36) { if (!els.introLogoVideoWrap.video.paused) { if (els.introLogoWrap.classList.contains('is-visible')) { els.introLogoWrap.classList.remove('is-visible'); } els.introLogoVideoWrap.video.pause(); els.introLogoVideoWrap.video.currentTime = 0; } } if (progress > -20) { if (els.introLogoVideoWrap.video.paused) { if (!els.introLogoWrap.classList.contains('is-visible')) { els.introLogoWrap.classList.add('is-visible'); } els.introLogoVideoWrap.video.play(); } } if (progress >= 0 && progress <= 100) { if (progress > 40) { TweenMax.to(els.introLogoWrap, 0.5, { opacity: 1 - introLogoHideValue, scale: 1 - introLogoScaleValue, ease: 'cubic-bezier(0, 0.25, 0, 1.06)' }); } else { els.introLogoWrap.style.opacity = 1; } // text TweenMax.to(els.overviewTextWrap, 0.1, { opacity: textWrapShowValue }); TweenMax.to(els.overviewTopText, 0.1, { opacity: topMiddleTextShowValue }); if (isMobile) { TweenMax.to(els.overviewMiddleTextMo, 0.1, { opacity: topMiddleTextShowValue }); } else { TweenMax.to(els.overviewMiddleTextPc, 0.1, { opacity: topMiddleTextShowValue }); } TweenMax.to(els.logoWrap, 0.1, { opacity: logoShowValue }); if (progress > 55) { if (els.logoVideoWrap.video.paused) { if (!els.logoWrap.classList.contains('is-visible')) { els.logoWrap.classList.add('is-visible'); } els.logoVideoWrap.video.play(); } } else { if (!els.logoVideoWrap.video.paused) { if (els.logoWrap.classList.contains('is-visible')) { els.logoWrap.classList.remove('is-visible'); } els.logoVideoWrap.video.pause(); els.logoVideoWrap.video.currentTime = 0; } } // dimmed if (progress > 55) { if (!els.dimmed.classList.contains('is-active')) { els.dimmed.classList.add('is-active') } } else { if (els.dimmed.classList.contains('is-active')) { els.dimmed.classList.remove('is-active') } } if (isMobile) { TweenMax.to(els.overviewBottomTextMo, 0.3, { opacity: bottomTextShowValue, y: 50 - bottomTextTopValue + '%', ease: 'cubic-bezier(0, 0.25, 0, 1.06)' }); } else { TweenMax.to(els.overviewBottomTextPc, 0.3, { opacity: bottomTextShowValue, y: 50 - bottomTextTopValue + '%', ease: 'cubic-bezier(0, 0.25, 0, 1.06)' }); } } }); } }, }, checkBrokenFixed: function () { let winWidth = window.innerWidth, winHeight = window.innerHeight; document.documentElement.classList.remove('is-ai-broken-fixed'); if (winWidth > 1440 && winHeight <= 720) { document.documentElement.classList.add('is-ai-broken-fixed'); } else if (winWidth <= 1440 && (winHeight / winWidth) < 0.5277) { document.documentElement.classList.add('is-ai-broken-fixed'); } else { document.documentElement.classList.remove('is-ai-broken-fixed'); } }, setStaticContents: function () { els.section.classList.add('none-fixed'); }, setFixedContents: function () { if (els.section.classList.contains('none-fixed')) { els.section.classList.remove('none-fixed'); } window.addEventListener('scroll', eventList.setScroll); eventList.setVideoHandler(); eventList.fixedScroller.set(); }, setContents: function () { eventList.checkBrokenFixed(); if (document.documentElement.classList.contains('is-ai-broken-fixed') || document.documentElement.classList.contains('low_network')) { eventList.fixedScroller.destroy(); eventList.setStaticContents(); window.removeEventListener('scroll', eventList.setScroll); } else { eventList.setFixedContents(); } }, setScroll: function () { eventList.mediaLoader(); eventList.fixedScroller.play(); }, }; return { init: init } })();})();;(function () { window.flagship.features.cameraSpec = (function () { const utils = window.flagship.common.utils, resize = window.flagship.common.resize; let els = {}, prevDevice = null, currDevice = resize.checkResolution(); const init = function () { els.section = document.querySelector('.features-camera-spec'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.listInner = els.section.querySelectorAll('.js-camera-spec-inner'); }; const bindEvents = function () { resize.add(eventList.resize); eventList.load(); eventList.showCollout(); eventHandler.scroll(); }; const eventHandler = { scroll: function() { window.addEventListener('scroll', eventList.showCollout); } } const eventList = { load: function() { eventList.setSecene(); }, resize: function (currRes) { currDevice = currRes; if (currDevice != prevDevice) { prevDevice = currDevice; } }, setSecene: function () { for (let i = 0; i < els.listInner.length; i++) { SCROLLER({ trackElement: els.listInner[i], useFixed: false }); } }, showCollout: function() { for (let i = 0; i < els.listInner.length; i++) { els.listInner[i].scroller.trackAnimation(function() { if (this.progress > 0) { this.trackElement.classList.add('is-active'); } if (i == 0) { if (this.progress <= 0) { for (let j = 0; j < els.listInner.length; j++) { els.listInner[j].classList.remove('is-active'); } } } }); } } }; return { init: init } })();})();(function () { window.flagship.features.colorchip = function (colorchipWrap) { const utils = window.flagship.common.utils, common = window.flagship.features.common, resize = window.flagship.common.resize; let els = {}, activeClass = 'is-active', currentDevice = resize.checkResolution(), prevDevice = null, currentSlidesPerView = currentDevice.indexOf('mobile') > -1 ? 5 : 7; const init = function () { els.section = document.querySelector('.js-colors'); els.popup = document.querySelector('.js-viewer'); if (colorchipWrap.type == 'popup') { colorchipWrap.contentWrap = els.popup; } else { colorchipWrap.contentWrap = els.section; } setElements(); setProperty(); bindEvents(); }; const setElements = function () { // panel els.panelWrap = els.section.querySelector('.js-panel-wrap'); els.panelItems = els.panelWrap.querySelectorAll('.js-panel-item'); // colorchip els.swiperContainer = colorchipWrap.querySelector('.js-colorchip-container'); els.colorchipButtons = colorchipWrap.querySelectorAll('.js-colorchip-button'); els.swiperArrowWrap = colorchipWrap.querySelector('.js-arrow-wrap'); els.swiperNextArrow = colorchipWrap.querySelector('.js-colorchip-next'); els.swiperPrevArrow = colorchipWrap.querySelector('.js-colorchip-prev'); els.colorchipNames = colorchipWrap.querySelectorAll('.js-colorchip-name'); // 360 Popup Btn els.viewerBtn = els.section.querySelector('.viewer-btn'); // viewer els.viewerSection = els.section.querySelector('.js-colors-viewer'); els.viewerIframe = colorchipWrap.contentWrap.querySelector('iframe'); // exclusive badge els.exclusive = colorchipWrap.contentWrap.querySelector('.js-exclusive-badge'); }; const setProperty = function () { for (let i = 0; i < els.colorchipButtons.length; i++) { els.colorchipButtons[i].index = i; } }; const bindEvents = function () { eventList.checkColorchipSwiper(); if (colorchipWrap.type != 'popup') eventList.setColors(0); eventHandler.click(); eventHandler.keydown(); resize.add(eventList.resize); eventHandler.scroll(); }; const eventHandler = { click: function () { for (let i = 0; i < els.colorchipButtons.length; i++) { els.colorchipButtons[i].addEventListener('click', eventList.clickColorchip); } els.viewerBtn.addEventListener('click', function () { let activeIndex = this.getAttribute('data-target-index'); eventList.setColorchip(activeIndex); eventList.setColorName(activeIndex); eventList.setExclusive(activeIndex); }); els.swiperNextArrow.addEventListener('click', accessibility.clickArrow); els.swiperPrevArrow.addEventListener('click', accessibility.clickArrow); }, keydown: function () { els.swiperNextArrow.addEventListener('keydown', accessibility.clickArrow); els.swiperPrevArrow.addEventListener('keydown', accessibility.clickArrow); }, scroll: function () { window.addEventListener('scroll', eventList.scroll); } }; const eventList = { scroll: function () { let winOffsetBottom = window.pageYOffset + window.innerHeight, kv = document.querySelector('.features-kv'), kvHeight = kv.getBoundingClientRect().height + utils.getNavHeight(); if (winOffsetBottom >= kvHeight) { // bg load colorchipWrap.bgImgs = colorchipWrap.querySelectorAll('.js-bg-img'); if(!!colorchipWrap.bgImgs) bgLoader.setResponsiveMedia(colorchipWrap.bgImgs); eventList.setViewer(); window.removeEventListener('scroll', eventList.scroll); } }, setViewer: function () { if (!utils.isLowNetwork()) { setTimeout(function () { els.viewerIframe.style.position = 'fixed'; els.viewerIframe.style.top = 0; els.viewerIframe.style.opacity = 0; setTimeout(function () { els.viewerIframe.style.position = ''; els.viewerIframe.style.top = ''; els.viewerIframe.style.opacity = ''; }, 300); }, 1000); // set eventList.setViewerUrl(els.colorchipButtons[0].getAttribute('data-colors')); } }, checkColorchipSwiper: function () { let colorchipSwiperLength = currentDevice.indexOf('mobile') > -1 ? 6 : 8; if (els.colorchipButtons.length >= colorchipSwiperLength) { if (els.swiperArrowWrap.style.display == 'none') { els.swiperArrowWrap.style.display = ''; } swiperEvents.set(); } else { if (els.swiperArrowWrap.style.display != 'none') { els.swiperArrowWrap.style.display = 'none'; } if (els.colorchipSwiper != null) { swiperEvents.destroy(); } } }, setColors: function (activeIndex) { eventList.setPopupBtn(els.colorchipButtons[activeIndex]); eventList.setColorchip(activeIndex); eventList.setPanel(activeIndex); eventList.setColorName(activeIndex); eventList.setExclusive(activeIndex); }, resize: function (currRes) { currentDevice = currRes; if (currentDevice !== prevDevice) { eventList.checkColorchipSwiper(); currentSlidesPerView = currentDevice.indexOf('mobile') > -1 ? 5 : 7; prevDevice = currentDevice; } }, clickColorchip: function () { let targetColor = this; eventList.setColors(targetColor.index); eventList.setViewerUrl(targetColor.getAttribute('data-colors')); }, setColorchip: function (activeIndex) { let targetcolorchipButton = els.colorchipButtons[activeIndex]; for (let i = 0; i < els.colorchipButtons.length; i++) { els.colorchipButtons[i].classList.remove(activeClass); if (!!colorchipWrap.isStatic) { els.colorchipButtons[i].setAttribute('aria-selected', false); } else { els.colorchipButtons[i].removeAttribute('title'); } } if (!targetcolorchipButton.classList.contains(activeClass)) { targetcolorchipButton.classList.add(activeClass); if (!!colorchipWrap.isStatic) { targetcolorchipButton.setAttribute('aria-selected', true); } else { accessibility.selected(targetcolorchipButton); } } }, setPanel: function (activeIndex) { if (!colorchipWrap.isStatic) return; for (let i = 0; i < els.panelItems.length; i++) { if (els.panelItems[i].classList.contains(activeClass)) { els.panelItems[i].classList.remove(activeClass); els.panelItems[i].setAttribute('aria-hidden', true); } } if (!els.panelItems[activeIndex].classList.contains(activeClass)) { els.panelItems[activeIndex].classList.add(activeClass); els.panelItems[activeIndex].setAttribute('aria-hidden', false); } }, setColorName: function (activeIndex) { for (let i = 0; i < els.colorchipNames.length; i++) { if (els.colorchipNames[i].classList.contains(activeClass)) { els.colorchipNames[i].classList.remove(activeClass); els.colorchipNames[i].setAttribute('aria-hidden', true); } } if (!els.colorchipNames[activeIndex].classList.contains(activeClass)) { els.colorchipNames[activeIndex].classList.add(activeClass); els.colorchipNames[activeIndex].setAttribute('aria-hidden', false); } }, setViewerUrl: function (colorName) { if (!!colorchipWrap.isStatic) return; if (colorchipWrap.type == 'popup') { let viewerSrc = els.viewerIframe.getAttribute('src').split('#color=')[0]; els.viewerIframe.setAttribute('src', `${viewerSrc}#color=${colorName}`); } else { els.viewerSection.setAttribute('data-model-color', colorName); els.viewerIframe.setAttribute('src', common.getViewerUrl()); } }, setPopupBtn: function (target) { if (colorchipWrap.type == 'popup') return; els.viewerBtn.setAttribute('data-target-index', target.index); els.viewerBtn.setAttribute('data-model-color', target.getAttribute('aria-controls')); }, setExclusive: function (activeIndex) { if (!!els.colorchipButtons[activeIndex].getAttribute('data-exclusive')) { els.exclusive.classList.add('is-active'); } else { els.exclusive.classList.remove('is-active'); } } }; const swiperEvents = { set: function () { if (els.colorchipSwiper == null) { els.colorchipSwiper = new Swiper(els.swiperContainer, { init: false, navigation: { nextEl: els.swiperNextArrow, prevEl: els.swiperPrevArrow, }, slidesPerView: currentSlidesPerView, speed: 300, }); els.colorchipSwiper.on('init', swiperEvents.init); els.colorchipSwiper.on('slideChange', swiperEvents.slideChange); els.colorchipSwiper.init(); } }, init: function () { let notification = this.el.querySelector('.swiper-notification'); if (!!notification) this.el.removeChild(notification); els.swiperPrevArrow.removeAttribute('aria-label'); els.swiperPrevArrow.removeAttribute('role'); els.swiperNextArrow.removeAttribute('aria-label'); els.swiperNextArrow.removeAttribute('role'); accessibility.colorchip(els.colorchipSwiper); }, slideChange: function () { accessibility.colorchip(els.colorchipSwiper); }, destroy: function () { els.colorchipSwiper.destroy(true); els.colorchipSwiper = null; }, }; const accessibility = { clickArrow: function (e) { let arrowTimeout = null, arrowStyleTimeout = null; if ((e.type == 'keydown' && e.keyCode == 13) || e.type == 'click') { e.preventDefault(); if (els.colorchipSwiper.isBeginning && !els.colorchipSwiper.isEnd) { els.swiperPrevArrow.style.setProperty('display', 'block'); clearTimeout(arrowTimeout); arrowTimeout = setTimeout(function () { els.swiperNextArrow.focus(); }, 300); clearTimeout(arrowStyleTimeout); arrowStyleTimeout = setTimeout(function () { els.swiperPrevArrow.style.display = ''; }, 400); } else if (!els.colorchipSwiper.isBeginning && els.colorchipSwiper.isEnd) { els.swiperNextArrow.style.setProperty('display', 'block'); clearTimeout(arrowTimeout); arrowTimeout = setTimeout(function () { els.swiperPrevArrow.focus(); }, 300); clearTimeout(arrowStyleTimeout); arrowStyleTimeout = setTimeout(function () { els.swiperNextArrow.style.display = ''; }, 400); } } }, colorchip: function (swiperObj) { let isNotActivedColorchips = null; for (let i = 0; i < swiperObj.slides.length; i++) { if (currentDevice.indexOf('mobile') > -1) { isNotActivedColorchips = (i != swiperObj.activeIndex) && (i > swiperObj.activeIndex + 4) || (swiperObj.activeIndex > i); } else { isNotActivedColorchips = (i != swiperObj.activeIndex) && (i > swiperObj.activeIndex + 6) || (swiperObj.activeIndex > i); } if (isNotActivedColorchips) { utils.onAccessibility(swiperObj.slides[i]); setTimeout(function () { utils.onAccessibility(swiperObj.slides[i]); }, 300); } else { utils.offAccessibility(swiperObj.slides[i]); setTimeout(function () { utils.offAccessibility(swiperObj.slides[i]); }, 300); } } }, selected: function (target) { if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { target.setAttribute('title', LOCAL_VARI.selected); } else { target.setAttribute('title', 'Selected'); } } }; return init(colorchipWrap); }; let colorchips = document.querySelectorAll('.js-colorchip'); for (let i = 0; i < colorchips.length; i++) { colorchips[i].type = colorchips[i].parentElement.classList.contains('js-popup-colorchip') ? 'popup' : 'colors'; colorchips[i].isStatic = colorchips[i].parentElement.getAttribute('data-static'); flagship.features.colorchip(colorchips[i]); }})();;(function () { window.flagship.features.faq = (function () { const resize = window.flagship.common.resize, utils = window.flagship.common.utils; let els = {}, prevDevice = null, currDevice = resize.checkResolution(); const init = function () { els.section = document.querySelector('.js-faq'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.faqList = els.section.querySelector('.js-faq-list'); }; const bindEvents = function () { resize.add(eventList.resize); eventList.setAccordion(); }; const eventList = { resize: function (currRes) { currDevice = currRes; if (currDevice != prevDevice) { eventList.responsive(); prevDevice = currDevice; } }, responsive: function () { let isOpenedItems = els.faqList.querySelectorAll('.js-faq-item.is-open'); if (isOpenedItems.length > 0) { for (let i = 0; i < isOpenedItems.length; i++) { let isOpenedItemContent = isOpenedItems[i].querySelector('.js-faq-answer'); let clientHeight = isOpenedItemContent.children[0].clientHeight; isOpenedItemContent.style.height = `${clientHeight}px`; } } }, setAccordion: function () { els.accordion = new window.flagship.common.accordion({ wrap: els.faqList, classList: { item: 'js-faq-item', button: 'js-faq-open', contents: 'js-faq-answer', activeClass: 'is-open' }, open: { start: function (target) { let targetInnerCta = target.querySelector('.js-featue-cta'); if (targetInnerCta) targetInnerCta.addEventListener('click', accessibility.moveFocus); } } }); els.accordion.init(); }, }; const accessibility = { moveFocus: function (e) { if (this.getAttribute('href').indexOf('#') > -1) { e.preventDefault(); let sectionId = this.getAttribute('href'), section = document.querySelector(`${sectionId}`), sectionTop = section.getBoundingClientRect().top, movePosition = (sectionTop + window.pageYOffset) - utils.getNavHeight(), clickable = section.querySelectorAll('a, button'), title = section.querySelector('h2') || section.querySelector('h3'); if (!!title) { let _focusOut = function () { title.removeAttribute('tabindex'); title.removeEventListener('focusout', _focusOut); }; title.addEventListener('focusout', _focusOut); title.setAttribute('tabindex', 0); title.focus(); } else { clickable[0].focus(); } window.scrollTo(0, movePosition); } } }; return { init: init } })();})();(function () { window.flagship.features.formfactor = (function () { const utils = window.flagship.common.utils, resize = flagship.common.resize; let els = {}; let currDevice = resize.checkResolution(); let isAos = utils.detector.isTouchDevice && document.documentElement.classList.contains('android'); let sizeCount = { num: 6.1 }; let weightCount = { num: 253 }; const init = function () { els.section = document.querySelector('.js-form-factor'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { // fixed els.fixedVideoTrack = els.section.querySelector('.js-fixed-track'); els.fixedVideoInner = els.section.querySelector('.js-fixed-inner'); els.fixedVideoWrap = els.section.querySelector('.js-fixed-scroll-video .js-video-wrap'); els.fixedVideo = els.section.querySelector('.js-fixed-scroll-video video'); // title els.titleWrap1 = els.section.querySelector('.js-title-1'); els.titleWrap2 = els.section.querySelector('.js-title-2'); els.titleWrap3 = els.section.querySelector('.js-title-3'); els.titleWrap1.text = els.titleWrap1.querySelector('.js-title-text-1'); els.titleWrap2.text = els.titleWrap2.querySelector('.js-title-text-2'); els.titleWrap3.text = els.titleWrap3.querySelector('.features-form-factor__title'); els.titleWrap1.infoWrap = els.titleWrap1.querySelector('.js-info-wrap-1'); els.titleWrap2.infoWrap = els.titleWrap2.querySelector('.js-info-wrap-2'); els.titleWrap1.infoWrap.value = els.titleWrap1.infoWrap.querySelector('.js-value-1'); els.titleWrap2.infoWrap.value = els.titleWrap2.infoWrap.querySelector('.js-value-2'); }; const bindEvents = function () { eventHandler.load(); resize.add(eventHandler.resize); }; const eventHandler = { load: function () { eventList.checkBrokenFixed(); if (document.documentElement.classList.contains('is-formfactor-broken-fixed') || document.documentElement.classList.contains('low_network')) { window.addEventListener('DOMContentLoaded', eventList.setStaticContents, {once: true}); } else { if (isAos) { window.addEventListener('DOMContentLoaded', function () { eventList.fixedScroller.set(); eventList.sequencePlayer.set(); }, {once: true}); window.addEventListener('scroll', eventList.sequencePlayer.play); } else { window.addEventListener('DOMContentLoaded', eventList.setVideoHandler, {once: true}); els.fixedVideo.addEventListener('canplaythrough', function () { window.addEventListener('scroll', eventList.fixedScroller.play); eventList.fixedScroller.set(); }, {once: true}); } } window.addEventListener('orientationchange', eventHandler.orientationchange); }, resize: function () { eventList.setContents(); }, orientationchange: function () { setTimeout(function () { eventList.setContents(); }, 150); } }; const eventList = { setVideoHandler: function () { utils.videoHandler({ wrap: els.fixedVideoWrap, video: els.fixedVideo }); }, fixedScroller: { set: function () { if (els.fixedVideoTrack.scene == null) { els.fixedVideoTrack.scene = SCROLLER({ trackElement: els.fixedVideoTrack, fixedElement: els.fixedVideoInner, useFixed: true, useFixedStyle: false, trackHeight: isAos ? 5 : 7, resize: (utils.detector.isTouchDevice) ? false : true }); } }, destroy: function () { if (els.fixedVideoTrack.scene != null) { els.fixedVideoTrack.scene.destroy(true, true); els.fixedVideoTrack.scene = null; els.fixedVideoTrack.style = ''; } }, play: function () { if (els.fixedVideoTrack.scene != null) { els.fixedVideoTrack.scene.trackAnimation(eventList.fixedScrollMotion); } } }, sequencePlayer: { set: function () { let imageName = null; if (currDevice.indexOf('desktop') > -1) { imageName = 'galaxy-z-fold6-features-form-factor-'; } else if (currDevice.indexOf('mobile') > -1) { imageName = 'galaxy-z-fold6-features-form-factor-mo-'; } else { imageName = 'galaxy-z-fold6-features-form-factor-tb-'; } els.fixedVideoTrack.seqSence = SEQUENCEPLAYER({ targetElement: els.fixedVideoWrap, startNum: 0, endNum: (currDevice.indexOf('mobile') > -1) ? 123 : 147, path: typeof SEQUENCE_IMG_PATH == 'undefined' ? './images/seq/' : SEQUENCE_IMG_PATH, name: imageName, extension: 'jpg', addType: 'append' }); }, destroy: function () { if (els.fixedVideoTrack.seqSence != null) { els.fixedVideoWrap.removeChild(els.fixedVideoWrap.querySelector('canvas')); els.fixedVideoTrack.seqSence = null; } }, play: function () { if (els.fixedVideoTrack.scene != null) { els.fixedVideoTrack.scene.trackAnimation(eventList.fixedScrollMotion); } } }, fixedScrollMotion: function () { let progress = this.progress; let isMobile = currDevice.indexOf('mobile') > -1; if (els.fixedVideoTrack.seqSence != null) { let motionValue = utils.calRange({ targetValue: (currDevice.indexOf('mobile') > -1) ? 123 : 147, progress: progress, }); els.fixedVideoTrack.seqSence.play({ index: parseInt(motionValue) }); } else { if (els.fixedVideo.readyState >= 4) { let scrollTimeValue = utils.calRange({ targetValue: els.fixedVideo.duration, progress: progress, }); els.fixedVideo.currentTime = scrollTimeValue - 0.1; } } if (isMobile) { // title1 let titleOpacityValue1 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 30, endPoint: 35 }), numOpacityValue1 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 28, endPoint: 33 }), titleWrapShowTopValue1 = utils.calRange({ targetValue: 70, progress: progress, startPoint: 33, endPoint: 44 }), titleHideValue1 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 55, endPoint: 60 }), numHideValue1 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 55, endPoint: 60 }), titleWrapHideTopValue1 = utils.calRange({ targetValue: 50, progress: progress, startPoint: 57, endPoint: 60 }); TweenMax.to(els.titleWrap1.infoWrap, 0.1, { opacity: numOpacityValue1 - 0.01 }); TweenMax.to(els.titleWrap1.text, 0.1, { opacity: titleOpacityValue1 - 0.01 }); TweenMax.to(els.titleWrap1, 0.1, { y: 50 - titleWrapShowTopValue1 + '%' }); if (titleOpacityValue1 == 1) { els.titleWrap1.text.classList.add('is-text-visible'); els.titleWrap1.infoWrap.classList.add('is-text-visible'); } if (this.wheelDirection == 'down') { if (progress >= 28) { TweenMax.to(weightCount, 0.6, { num: 239, onUpdate: function () { els.titleWrap1.infoWrap.value.innerText = Math.floor(weightCount.num); } }); } } else { if (progress == 0) { TweenMax.to(els.titleWrap1.infoWrap.value, 0.5, { onUpdate: function () { els.titleWrap1.infoWrap.value.innerText = '253'; els.titleWrap2.infoWrap.value.innerText = 6.1; weightCount.num = 253; } }); } } if (progress > 55) { TweenMax.to(els.titleWrap1.infoWrap, 0.1, { opacity: 1 - numHideValue1 }); TweenMax.to(els.titleWrap1.text, 0.1, { opacity: 1 - titleHideValue1 }); if (titleHideValue1 == 1) { els.titleWrap1.text.classList.remove('is-text-visible'); els.titleWrap1.infoWrap.classList.remove('is-text-visible'); } } if (progress >= 57) { TweenMax.to(els.titleWrap1, 0.1, { y: -(titleWrapShowTopValue1 + titleWrapHideTopValue1) + '%' }); } // title2 let titleOpacityValue2 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 58, endPoint: 67 }), numOpacityValue2 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 56, endPoint: 65 }), titleWrapShowTopValue2 = utils.calRange({ targetValue: 50, progress: progress, startPoint: 56, endPoint: 67 }), titleHideValue2 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 87, endPoint: 90 }), numHideValue2 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 87, endPoint: 90 }), titleHideScaleValue2 = utils.calRange({ targetValue: 0.1, progress: progress, startPoint: 87, endPoint: 90 }); TweenMax.to(els.titleWrap2.infoWrap, 0.1, { opacity: numOpacityValue2 - 0.01 }); TweenMax.to(els.titleWrap2.text, 0.1, { opacity: titleOpacityValue2 - 0.01 }); TweenMax.to(els.titleWrap2, 0.1, { y: 50 - titleWrapShowTopValue2 + '%', }); if (titleOpacityValue2 == 1) { els.titleWrap2.text.classList.add('is-text-visible'); els.titleWrap2.infoWrap.classList.add('is-text-visible'); } if (this.wheelDirection == 'down') { if (progress >= 56) { TweenMax.to(sizeCount, 0.6, { num: 5.6, onUpdate: function () { els.titleWrap2.infoWrap.value.innerText = sizeCount.num.toFixed(1); } }); } } else { if (progress < 65) { TweenMax.to(els.titleWrap2.infoWrap.value, 0.5, { onUpdate: function () { sizeCount.num = 6.1; } }); } } if (progress > 86) { TweenMax.to(els.titleWrap2.infoWrap, 0.1, { opacity: 1 - numHideValue2 }); TweenMax.to(els.titleWrap2.text, 0.1, { opacity: 1 - titleHideValue2 }); if (titleHideValue2 == 1) { els.titleWrap2.text.classList.remove('is-text-visible'); els.titleWrap2.infoWrap.classList.remove('is-text-visible'); } } TweenMax.to(els.titleWrap2, 0.1, { scale: 1 - titleHideScaleValue2, }); // title3 let titleOpacityValue3 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 90, endPoint: 93 }), titleScaleValue3 = utils.calRange({ targetValue: 0.9, progress: progress, startPoint: 90, endPoint: 100 }); TweenMax.to(els.titleWrap3, 0.1, { opacity: titleOpacityValue3, }); TweenMax.to(els.titleWrap3, 0.1, { scale: 1.9 - titleScaleValue3 }); if (titleOpacityValue3 == 1) { els.titleWrap3.text.classList.add('is-text-visible'); } else { els.titleWrap3.text.classList.remove('is-text-visible'); } } else { // title1 let titleOpacityValue1 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 40, endPoint: 44 }), numOpacityValue1 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 38, endPoint: 42 }), titleHideValue1 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 52, endPoint: 57 }), numHideValue1 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 52, endPoint: 57 }), infoLeftValue = utils.calRange({ targetValue: 35, progress: progress, startPoint: 28, endPoint: 44 }); hideTopValue1 = utils.calRange({ targetValue: 85, progress: progress, startPoint: 52, endPoint: 57 }); TweenMax.to(els.titleWrap1.text, 0, { x: -35 + infoLeftValue + '%' }); TweenMax.to(els.titleWrap1.infoWrap, 0, { x: 35 - infoLeftValue + '%' }); TweenMax.to(els.titleWrap1.infoWrap, 0.1, { opacity: numOpacityValue1 }); TweenMax.to(els.titleWrap1.text, 0.1, { opacity: titleOpacityValue1 }); if (titleOpacityValue1 >= 0.1) { if (!els.titleWrap1.text.classList.contains('is-text-visible')) { els.titleWrap1.text.classList.add('is-text-visible'); } } if (numOpacityValue1 >= 0.1) { if (!els.titleWrap1.infoWrap.classList.contains('is-text-visible')) { els.titleWrap1.infoWrap.classList.add('is-text-visible'); } } if (this.wheelDirection == 'down') { if (progress >= 42) { TweenMax.to(weightCount, 0.5, { num: 239, onUpdate: function () { els.titleWrap1.infoWrap.value.innerText = Math.floor(weightCount.num); } }); } } else { if (progress == 0) { TweenMax.to(els.titleWrap1.infoWrap.value, 0.5, { onUpdate: function () { els.titleWrap1.infoWrap.value.innerText = '253'; els.titleWrap2.infoWrap.value.innerText = 6.1; weightCount.num = 253; } }); } } TweenMax.to(els.titleWrap1.text, 0, { y: -hideTopValue1 + '%' }); TweenMax.to(els.titleWrap1.infoWrap, 0, { y: hideTopValue1 + '%' }); if (progress > 57) { TweenMax.to(els.titleWrap1.infoWrap, 0.1, { opacity: 1 - numHideValue1 }); TweenMax.to(els.titleWrap1.text, 0.1, { opacity: 1 - titleHideValue1 }); if (titleHideValue1 == 1) { els.titleWrap1.text.classList.remove('is-text-visible'); els.titleWrap1.infoWrap.classList.remove('is-text-visible'); } } // title2 let titleOpacityValue2 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 64, endPoint: 73 }), numOpacityValue2 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 62, endPoint: 71 }), titleHideValue2 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 82, endPoint: 86 }), numHideValue2 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 82, endPoint: 86 }), titleTopValue2 = utils.calRange({ targetValue: 50, progress: progress, startPoint: 62, endPoint: 71 }), titleScaleValue2 = utils.calRange({ targetValue: 0.3, progress: progress, startPoint: 84, endPoint: 86 }); TweenMax.to(els.titleWrap2.infoWrap, 0.1, { opacity: numOpacityValue2 }); TweenMax.to(els.titleWrap2.text, 0.1, { opacity: titleOpacityValue2 }); if (titleOpacityValue2 >= 0.1) { if (!els.titleWrap2.text.classList.contains('is-text-visible')) { els.titleWrap2.text.classList.add('is-text-visible'); } if (!els.titleWrap2.infoWrap.classList.contains('is-text-visible')) { els.titleWrap2.infoWrap.classList.add('is-text-visible'); } } TweenMax.to(els.titleWrap2, 0, { y: -titleTopValue2 + '%' }); if (this.wheelDirection == 'down') { if (progress >= 65) { TweenMax.to(sizeCount, 0.5, { num: 5.6, onUpdate: function () { els.titleWrap2.infoWrap.value.innerText = sizeCount.num.toFixed(1); } }); } } else { if (progress < 42) { TweenMax.to(els.titleWrap2.infoWrap.value, 0.1, { onUpdate: function () { sizeCount.num = 6.1; } }); } } if (progress > 82) { TweenMax.to(els.titleWrap2.infoWrap, 0.1, { opacity: 1 - numHideValue2 }); TweenMax.to(els.titleWrap2.text, 0.1, { opacity: 1 - titleHideValue2 }); TweenMax.to(els.titleWrap2, 0.1, { scale: 1 - titleScaleValue2 }); if (titleHideValue2 == 1) { els.titleWrap2.text.classList.remove('is-text-visible'); els.titleWrap2.infoWrap.classList.remove('is-text-visible'); } } // title3 let titleOpacityValue3 = utils.calRange({ targetValue: 1, progress: progress, startPoint: 85, endPoint: 92 }), titleScaleValue3 = utils.calRange({ targetValue: 0.8, progress: progress, startPoint: 85, endPoint: 92 }); TweenMax.to(els.titleWrap3, 0.1, { opacity: titleOpacityValue3 }); TweenMax.to(els.titleWrap3, 0.1, { scale: 1.8 - titleScaleValue3 }); if (titleOpacityValue3 == 1) { els.titleWrap3.text.classList.add('is-text-visible'); } else { els.titleWrap3.text.classList.remove('is-text-visible'); } } }, checkBrokenFixed: function () { let winWidth = window.innerWidth, winHeight = window.innerHeight; document.documentElement.classList.remove('is-formfactor-broken-fixed'); if (winWidth > 1440 && winHeight <= 720) { document.documentElement.classList.add('is-formfactor-broken-fixed'); } else if (winWidth <= 1440 && (winHeight / winWidth) < 0.5277) { document.documentElement.classList.add('is-formfactor-broken-fixed'); } else { document.documentElement.classList.remove('is-formfactor-broken-fixed'); } }, setStaticContents: function () { if (!els.section.classList.contains('none-fixed')) { els.section.classList.add('none-fixed'); } }, setFixedContents: function () { if (els.section.classList.contains('none-fixed')) { els.section.classList.remove('none-fixed'); } if (isAos) { window.addEventListener('DOMContentLoaded', function () { eventList.fixedScroller.set(); eventList.sequencePlayer.set(); }, {once: true}); window.addEventListener('scroll', eventList.sequencePlayer.play); } else { eventList.setVideoHandler(); eventList.fixedScroller.set(); eventList.fixedScroller.play(); window.addEventListener('scroll', eventList.fixedScroller.play); } }, setContents: function () { eventList.checkBrokenFixed(); if (document.documentElement.classList.contains('is-formfactor-broken-fixed') || document.documentElement.classList.contains('low_network')) { eventList.fixedScroller.destroy(); if (isAos) { eventList.sequencePlayer.destroy(); window.removeEventListener('scroll', eventList.sequencePlayer.play); } else { window.removeEventListener('scroll', eventList.fixedScroller.play); } eventList.setStaticContents(); } else { eventList.setFixedContents(); } }, }; return { init: init } })();})();(function () { window.flagship = window.flagship || {}; window.flagship.features = window.flagship.features || {}; window.flagship.features.highlightsZone = (function () { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}; let prevDevice; let swiperObj = {}; let pointerOffset = {}; let currDevice = resize.checkResolution(); let dimmedClass = 'is-dimmed'; let ctaPlayStatus = true; let scrollProgress = null; let lowNetwork = document.documentElement.classList.contains('low_network'); let isBgLoaded = false; const init = function () { els.section = document.querySelector('.features-highlights'); if (!!els.section) { setElements(); setProperty(); bindEvents(); } }; const setElements = function () { els.mainContainer = els.section.querySelector('.js-highlights-main-container'); els.mainSwiperSlides = els.mainContainer.querySelectorAll('.swiper-slide'); els.videoWrap = els.mainContainer.querySelectorAll('.js-video-wrap'); els.prevArrow = els.mainContainer.parentElement.querySelector('.swiper-button-prev'); els.nextArrow = els.mainContainer.parentElement.querySelector('.swiper-button-next'); els.scrollbar = els.section.querySelector('.js-highlights-scrollbar'); els.bgContainer = els.section.querySelector('.js-highlights-bg-container'); els.bgSwiperSlides = els.bgContainer.querySelectorAll('.swiper-slide'); }; const setProperty = function () { els.mainContainer.autoPlay = true; els.videoWrap = els.mainContainer.querySelectorAll('.js-video-wrap'); for (let i = 0; i < els.videoWrap.length; i++) { els.videoWrap[i].video = els.videoWrap[i].querySelector('.common-video__video'); els.videoWrap[i].image = els.mainContainer.querySelector('img'); els.videoWrap[i].controller = els.videoWrap[i].querySelector('.js-video-control'); els.videoWrap[i].controller.video = els.videoWrap[i].video; els.videoWrap[i].progressBar = els.videoWrap[i].querySelector('.common-video__control-progress-bar'); els.bgSwiperSlides[i].image = els.bgSwiperSlides[i].querySelector('img'); } }; const bindEvents = function () { eventList.load(); eventHandler.click(); eventHandler.scroll(); eventHandler.flickSwiper(); resize.add(eventList.resize); }; const eventHandler = { flickSwiper: function () { els.mainContainer.addEventListener('touchstart', function (e) { pointerOffset.start = null; pointerOffset.current = null; pointerOffset.start = e.touches[0].clientX; els.mainContainer.addEventListener('touchmove', eventList.getPointerMoveSize); }); els.mainContainer.addEventListener('touchend', function () { if (pointerOffset.start == null) return; els.mainContainer.autoPlay = false; els.mainContainer.removeEventListener('touchmove', eventList.getPointerMoveSize); }); els.mainContainer.addEventListener('mousedown', function (e) { pointerOffset.start = null; pointerOffset.current = null; pointerOffset.start = e.offsetX; els.mainContainer.addEventListener('mousemove', eventList.getPointerMoveSize); }); els.mainContainer.addEventListener('mouseup', function () { els.mainContainer.autoPlay = false; els.mainContainer.removeEventListener('mousemove', eventList.getPointerMoveSize); }); els.mainContainer.addEventListener('mouseleave', function () { if (pointerOffset.start == null) return; pointerOffset.start = null; pointerOffset.current = null; els.mainContainer.removeEventListener('mousemove', eventList.getPointerMoveSize); }); }, click: function () { for (let i = 0; i < els.videoWrap.length; i++) { els.videoWrap[i].controller.addEventListener('click', eventList.clickVideoCta); } for (let i = 0; i < els.videoWrap.length; i++) { els.videoWrap[i].controller.addEventListener('click', eventList.stopAutoPlay); } els.nextArrow.addEventListener('click', function (e) { eventList.stopAutoPlay(e) eventList.swiperArrow(e); }); els.prevArrow.addEventListener('click', function (e) { eventList.stopAutoPlay(e) eventList.swiperArrow(e); }); els.scrollbar.addEventListener('click', eventList.stopAutoPlay); }, scroll: function () { window.addEventListener('scroll', eventList.scroll) } } const eventList = { load: function () { swiperEvents.set(); swiperObj.main.init(); swiperObj.bg.init(); eventList.setVideo(); eventList.setScene(); eventList.scroll(); }, resize: function () { currDevice = resize.checkResolution(); if (prevDevice != currDevice) { eventList.responsive(); prevDevice = currDevice; }; }, responsive: function () { let desktopStatus = eventList.getCarouselSizeInfo(swiperObj.main).viewLength > 0 && currDevice == 'desktop'; eventList.resetDimmedSlide(swiperObj.main); swiperObj.main.slideTo(0, false); if (desktopStatus) eventList.initDimmedSlides(swiperObj.main); }, setVideo: function () { for (let i = 0; i < els.videoWrap.length; i++) { utils.videoHandler({ playType: 'scrollPlay', startPoint: currDevice != 'mobile' ? 40 : 24, reversePoint: currDevice != 'mobile' ? 88 : 80, wrap: els.videoWrap[i], video: els.videoWrap[i].video, controller: els.videoWrap[i].controller, resetCallback: function () { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); } if (this.wrap.classList.contains('is-started')) { this.wrap.classList.remove('is-started'); } }, playCallback: function () { if (!this.wrap.classList.contains('is-started')) { this.wrap.classList.add('is-started'); } setTagging.pause(this.controller); eventList.setProgerssDuration(i); }, pauseCallback: function () { setTagging.play(this.controller); }, endCallback: function () { if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); } if (els.mainContainer.autoPlay) { if (scrollProgress > 40 && scrollProgress < 55) { clearTimeout(swiperObj.main.videoTiming); swiperObj.main.videoTiming = setTimeout(() => { swiperObj.main.slideNext(); }, 1000); } } } }); } }, playVideo: function (video) { if (video.readyState >= 1) { video.play(); } else { video.addEventListener('canplay', function () { this.play(); }, { once: true }) } }, clickVideoCta: function (e) { if (e.target == e.currentTarget) { if (e.currentTarget.video.paused) { eventList.playVideo(e.currentTarget.video); ctaPlayStatus = true; } else { e.currentTarget.video.pause(); ctaPlayStatus = false; } } }, stopAutoPlay: function (e) { if (e.target.classList.contains('js-video-control') || e.target.classList.contains('swiper-button-next') || e.target.classList.contains('swiper-button-prev') || e.target.classList.contains('js-highlights-scrollbar') ) { els.mainContainer.autoPlay = false; }; }, swiperArrowVisiblirity: function () { let mainSlidesLength = els.mainSwiperSlides.length - 1; let mainSwiper = swiperObj.main; let prevArrow = mainSwiper.previousIndex > mainSwiper.realIndex; let nextArrow = mainSwiper.previousIndex < mainSwiper.realIndex; if (prevArrow) { if (mainSwiper.realIndex == (mainSlidesLength - 1)) { if (els.nextArrow.style.display == 'none') els.nextArrow.style.display = ''; } else if (mainSwiper.realIndex == 0) { els.prevArrow.style.display = 'none'; } }; if (nextArrow) { if (mainSwiper.realIndex == 1) { if (els.prevArrow.style.display == 'none') els.prevArrow.style.display = ''; } else if (mainSwiper.realIndex == mainSlidesLength) { els.nextArrow.style.display = 'none'; } }; }, swiperArrow: function (e) { let mainSwiper = swiperObj.main; let mainSlidesLength = els.mainSwiperSlides.length - 1; let prevArrow = e.target.classList.contains('swiper-button-prev'); let nextArrow = e.target.classList.contains('swiper-button-next'); if (prevArrow) { clearTimeout(swiperObj.main.videoTiming); mainSwiper.slidePrev(); if (mainSwiper.realIndex == 0) { setTimeout(() => { els.nextArrow.blur(); els.nextArrow.focus(); }, 300); } }; if (nextArrow) { clearTimeout(swiperObj.main.videoTiming); mainSwiper.slideNext(); if (mainSwiper.realIndex == mainSlidesLength) { setTimeout(() => { els.prevArrow.blur(); els.prevArrow.focus(); }, 300); } }; }, scroll: function () { els.section.scene.trackAnimation(function () { let isIndex = swiperObj.main.realIndex; let isMainVideoHandler = els.videoWrap[isIndex].video.videoHandler; scrollProgress = this.progress; if (!lowNetwork && ctaPlayStatus) isMainVideoHandler.scrollActive(this.progress); if (scrollProgress > 0 && !isBgLoaded) { for (let i = 0; i < els.bgSwiperSlides.length; i++) { if (!els.bgSwiperSlides[i].image.classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([els.bgSwiperSlides[i].image]); } } isBgLoaded = true; } }); }, slideVideoPlay: function () { let isIndex = swiperObj.main.realIndex; let isVideoWrap = els.videoWrap[isIndex]; isVideoWrap.classList.add('is-ended'); setTimeout(function () { isVideoWrap.classList.remove('is-started', 'is-paused'); if (!ctaPlayStatus) isVideoWrap.video.paused(); isVideoWrap.video.currentTime = 0; if (ctaPlayStatus) { eventList.playVideo(isVideoWrap.video); setTimeout(function () { if (els.mainContainer.autoPlay) isVideoWrap.video.videoHandler.controller.blur(); if (els.mainContainer.autoPlay) isVideoWrap.video.videoHandler.controller.focus(); if (isIndex == (swiperObj.main.slides.length - 1)) { els.mainContainer.autoPlay = false; } }, 300); } }, 50); }, setProgerssDuration: function (index) { let isDuration = els.videoWrap[index].video.duration; if (!!!els.videoWrap[index].durationSet) { els.videoWrap[index].progressBar.style.animationDuration = `${isDuration}s`; els.videoWrap[index].durationSet = true; } }, setMedia: function (index) { let videoLength = els.mainSwiperSlides.length - 1; let isIndex = index + 1 let loadIndex = isIndex < videoLength ? isIndex : videoLength; let mainVideoloadComplateLength = els.mainContainer.querySelectorAll('.is-video-load-complete').length - 1; for (let i = 0; i <= loadIndex; i++) { if (mainVideoloadComplateLength != videoLength && !els.videoWrap[i].video.classList.contains('.is-video-load-complete')) { if (!!els.videoWrap[i].video) videoLoader.setResponsiveMedia([els.videoWrap[i].video]); if (!!els.videoWrap[i].image) imageLoader.setResponsiveMedia([els.videoWrap[i].image]); if (!!els.bgSwiperSlides[i].image) imageLoader.setResponsiveMedia([els.bgSwiperSlides[i].image]); } } }, pauseVideo: function (swiper) { for (let i = 0; i < swiper.slides.length; i++) { let isVideo = swiper.slides[i].querySelector('video'); if (!!isVideo && !isVideo.paused) { isVideo.pause(); }; }; }, getCarouselSizeInfo: function (swiper) { let slideLength = swiper.slides.length; let slideWidth = swiper.slides[0].clientWidth; let slideMargin = parseInt(window.getComputedStyle(swiper.slides[0]).margin.split(' ')[1]); let slideSize = slideWidth + slideMargin; let maxMoveSize = ((slideSize * slideLength) - slideMargin) - swiper.wrapperEl.clientWidth; let viewWidth = swiper.wrapperEl.clientWidth; let viewLength = parseInt((viewWidth + slideMargin) / slideSize); let lastBeforeSize = slideLength == 2 ? 0 : Math.abs((maxMoveSize - slideSize)) + Math.abs((viewWidth - slideWidth)); let isMoveSize = Math.abs(parseInt(window.getComputedStyle(swiper.wrapperEl).transform.split(',')[4])); return { slideWidth: slideWidth, slideMargin: slideMargin, slideSize: slideSize, maxMoveSize: maxMoveSize, viewWidth: viewWidth, viewLength: viewLength, lastBeforeSize: lastBeforeSize, isMoveSize: isMoveSize } }, setScene: function () { els.section.scene = SCROLLER({ trackElement: els.section, useFixed: false }); }, initDimmedSlides: function (swiper) { for (let i = 0; i < swiper.slides.length; i++) { if ((swiper.activeIndex + eventList.getCarouselSizeInfo(swiper).viewLength) <= i) { swiper.slides[i].classList.add(dimmedClass); } } }, setDimmedSlide: function (swiper) { if (currDevice != 'mobile') { for (let i = 0; i < swiper.slides.length; i++) { let dimmedSlide = (swiper.activeIndex) > i || (swiper.activeIndex + (eventList.getCarouselSizeInfo(swiper).viewLength - 1)) < i; if (dimmedSlide) { swiper.slides[i].classList.add(dimmedClass); } else { swiper.slides[i].classList.remove(dimmedClass); } } } }, resetDimmedSlide: function (swiper) { for (let i = 0; i < swiper.slides.length; i++) { swiper.slides[i].classList.remove(dimmedClass); } }, getPointerMoveSize: function (e) { if (!!e.touches) { pointerOffset.current = e.touches[0].clientX; } else { pointerOffset.current = e.offsetX; } } } const swiperEvents = { set: function () { if (swiperObj.main == null) { swiperObj.main = new Swiper(els.mainContainer, { init: false, slidesPerView: 'auto', scrollbar: { el: els.scrollbar, draggable: true }, }); swiperObj.main.on('init', swiperEvents.init); swiperObj.main.on('slideChange', swiperEvents.slideChange); swiperObj.main.on('transitionEnd', swiperEvents.transitionEnd); } if (swiperObj.bg == null) { swiperObj.bg = new Swiper(els.bgContainer, { init: false, slidesPerView: 'auto', allowTouchMove: false }); } els.prevArrow.style.display = 'none'; }, init: function () { let isNextArrow = this.el.parentElement.querySelector('.swiper-button-next'); let isPrevArrow = this.el.parentElement.querySelector('.swiper-button-prev'); isNextArrow.removeAttribute('aria-label'); isNextArrow.removeAttribute('role'); isPrevArrow.removeAttribute('aria-label'); isPrevArrow.removeAttribute('role'); accessibility.slide(this); if (eventList.getCarouselSizeInfo(this).viewLength > 0 && currDevice == 'desktop') eventList.initDimmedSlides(this); }, slideChange: function () { swiperObj.bg.slideTo(this.realIndex); accessibility.slide(this); eventList.pauseVideo(this); if (eventList.getCarouselSizeInfo(this).viewLength > 0 && currDevice == 'desktop') eventList.setDimmedSlide(this); if (this.realIndex > 0) eventList.setMedia(this.realIndex); if (!lowNetwork) eventList.slideVideoPlay(); eventList.swiperArrowVisiblirity(); let nextIndex = (this.realIndex < this.slides.length - 1) ? (this.realIndex + 1) : 0; let nextCoverImg = this.slides[nextIndex].querySelector('.common-video__cover-image'); if (imageLoader && !nextCoverImg.classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([nextCoverImg]); } }, transitionEnd: function () { setTimeout(() => { let carouselInfo = eventList.getCarouselSizeInfo(this); let lastIndex = this.slides.length - 1; let lastSlide = this.slides[lastIndex]; let lastBeforeSlide = this.slides[lastIndex - 1]; let isIndex = swiperObj.main.previousIndex; let isMoveSize = currDevice != 'mobile' ? carouselInfo.isMoveSize : carouselInfo.isMoveSize + Math.abs(carouselInfo.slideMargin); els.videoWrap[isIndex].video.pause(); if (carouselInfo.maxMoveSize == isMoveSize) { lastSlide.classList.add('is-last-slide'); lastBeforeSlide.classList.add('is-dimmed'); lastSlide.classList.remove('is-dimmed'); if (currDevice == 'mobile') { eventList.pauseVideo(this); if (!lowNetwork && ctaPlayStatus) { lastSlide.querySelector('video').play(); }; lastSlide.classList.add('swiper-slide-active'); lastBeforeSlide.classList.remove('swiper-slide-active'); } } else if (lastSlide.classList.contains('is-last-slide') && carouselInfo.lastBeforeSize == carouselInfo.isMoveSize) { lastSlide.classList.add('is-dimmed'); lastSlide.classList.remove('is-last-slide'); lastBeforeSlide.classList.remove('is-dimmed'); if (currDevice == 'mobile') { eventList.pauseVideo(this); if (!lowNetwork && ctaPlayStatus) { lastBeforeSlide.querySelector('video').play(); }; lastSlide.classList.remove('swiper-slide-active'); lastBeforeSlide.classList.add('swiper-slide-active'); } } }, 0); }, destroy: function (swiper) { if (swiper != null) { swiper.navigation.destroy(true); swiper.destroy(true); swiper = null; } }, }; const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; const accessibility = { slide: function (swiper) { for (let i = 0; i < swiper.slides.length; i++) { if (i != swiper.activeIndex) { utils.onAccessibility(swiper.slides[i]); } else { utils.offAccessibility(swiper.slides[i]); } } } }; return { init: init, } })();})();;(function () { window.flagship.features.interactiveCircleToSearch = (function () { const utils = window.flagship.common.utils, resize = window.flagship.common.resize; let els = {}; let objs = {}; let stepInfo = []; let scrollProgress = null; let isPlaySection = null; const init = function () { els.section = document.querySelector('.js-circle-to-search'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.interactiveContent = els.section.querySelector('.js-interactive'); els.tutorialVideoContainer = els.section.querySelector('.common-interactive__tutorial'); els.videoList = els.tutorialVideoContainer.querySelectorAll('.common-interactive__tutorial-video'); els.videoWrap = els.tutorialVideoContainer.querySelectorAll('.common-interactive__tutorial-video .common-video'); els.videos = els.tutorialVideoContainer.querySelectorAll('.common-interactive__tutorial-video .common-video__video'); els.tooltipCta = els.tutorialVideoContainer.querySelectorAll('.js-tutorial-tooltip-cta'); els.tutorialReplay = els.tutorialVideoContainer.querySelector('.js-replay-cta'); }; const setProperty = function (el, index) { el.video = el.querySelector('video'); el.video.videoWrap = el; el.controller = el.querySelector('.js-video-control'); el.controller.video = el.querySelector('video'); el.alert = el.parentElement.querySelector('.common-tutorial__alert'); el.tooltip = el.parentElement.querySelector('.js-tutorial-tooltip'); el.tooltipCta = el.parentElement.querySelector('.js-tutorial-tooltip-cta'); el.video.playIndex = index; el.video.coverImage = el.querySelector('.common-video__cover-image'); }; const bindEvents = function () { for (let i = 0; i < els.videoWrap.length; i++) { setProperty(els.videoWrap[i], i); setStepStatus(els.videoList[i]) } setVideos(); eventList.videoController(); eventList.click(); eventList.setScroller(); eventHandler.scroll(); }; const setStepStatus = function (el) { stepInfo.push({ alert: el.getAttribute('data-alert'), tooltip: el.getAttribute('data-tooltip') }); }; const eventList = { setScroller: function () { if (els.interactiveContent.scene == null) { els.interactiveContent.scene = SCROLLER({ trackElement: els.interactiveContent, useFixed: false }); } }, scrollEvent: function () { if (els.interactiveContent.scene != null) { if (els.interactiveContent.classList.contains('is-tutorial-opened')) { els.interactiveContent.scene.trackAnimation(function () { scrollProgress = this.progress; let activeVideo = els.tutorialVideoContainer.querySelector('.is-visible video'); let firstVideoHandler = els.videoWrap[0].video.videoHandler; let replayStatus = !document.documentElement.classList.contains('low_network') && activeVideo.paused && !els.videoWrap[0].classList.contains(firstVideoHandler.endedClass) && !els.videoWrap[0].classList.contains(firstVideoHandler.pauseClass) && scrollProgress > 0 && scrollProgress < 100; let resetStatus = scrollProgress === 0 || scrollProgress === 100; if (replayStatus) { if (els.videoWrap[0].video.readyState == 4 && els.videoWrap[0].video.paused) { els.videoWrap[0].video.play(); } else { els.videoWrap[0].video.addEventListener('canplay', function() { els.videoWrap[0].video.play(); }, {once:true}); } } if (resetStatus) { activeVideo.pause(); activeVideo.currentTime = 0; eventList.tutorialReset(); } }); } } }, videoController: function () { for (let i = 0; i < objs.videos.length; i++) { objs.videos[i].controller.addEventListener('click', function () { if (this.video.paused) { this.video.play(); } else { this.video.pause(); } }); } }, nextVideoPlay: function (index) { if (!!els.videoList[index].tooltip) { utils.onAccessibility(els.videoList[index].tooltip); } els.videoList[index + 1].classList.add('is-visible'); utils.onAccessibility(els.videoList[index]); if (els.videos[index + 1].readyState > 3) { els.videos[index + 1].play(); } else { els.videos[index + 1].addEventListener('loadeddata', function () { if (this.paused) this.play(); }); } els.videoList[index].classList.remove('is-visible'); }, click: function () { let self = this; for (let i = 0; i < els.tooltipCta.length; i++) { els.tooltipCta[i].addEventListener('click', function () { self.nextVideoPlay(i); }); } }, tutorialReset: function () { let firstVideoHandler = els.videoWrap[0].video.videoHandler; els.videoWrap[0].classList.remove(firstVideoHandler.playClass); els.videoWrap[0].classList.remove(firstVideoHandler.pauseClass); els.videoWrap[0].classList.remove(firstVideoHandler.endedClass); // video wrap if (!els.videoList[0].classList.contains('is-visible')) { els.videoList[0].classList.add('is-visible'); } // tooltip if (!!els.videoWrap[0].tooltip && els.videoWrap[0].tooltip.classList.contains('is-visible')) { els.videoWrap[0].tooltip.classList.remove('is-visible'); } // tootip accessibility utils.offAccessibility(els.videoWrap[0]); if (!!els.videoWrap[0].tooltip) utils.onAccessibility(els.videoWrap[0].tooltip); for (let i = 0; i < els.videoWrap.length; i++) { if (i != 0) { if (els.videoList[i].classList.contains('is-visible')) { els.videoList[i].classList.remove('is-visible'); } if (!els.videoWrap[i].video.paused) { els.videoWrap[i].video.pause(); els.videoWrap[i].video.currentTime = 0; } // tooltip if (!!els.videoWrap[i].tooltip && els.videoWrap[i].tooltip.classList.contains('is-visible')) { els.videoWrap[i].tooltip.classList.remove('is-visible'); } utils.onAccessibility(els.videoWrap[i]); if (!!els.videoWrap[i].tooltip) utils.onAccessibility(els.videoWrap[i].tooltip); } } // replay cta els.tutorialReplay.style.display = 'none'; els.tutorialReplay.setAttribute('aria-hidden', true); els.tutorialReplay.setAttribute('tabindex', -1); } }; const eventHandler = { scroll: function () { window.addEventListener('scroll', eventList.scrollEvent); eventList.scrollEvent(); } } const setVideos = function () { objs.videos = []; for (let i = 0; i < els.videoWrap.length; i++) { let isVideoWrap = els.videoWrap[i]; objs.videos.push(utils.videoHandler({ wrap: isVideoWrap, video: isVideoWrap.video, controller: isVideoWrap.controller, resetCallback: function () { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); if (this.controller.style.display = 'none') { this.controller.style.display = ''; } } }, playCallback: function () { els.videoList[this.video.playIndex].removeAttribute('tabindex'); els.videoList[this.video.playIndex].removeAttribute('aria-hidden'); this.controller.style.display = 'block'; utils.offAccessibility(this.controller); setTagging.pause(this.controller); let nextPlayindex = this.video.playIndex + 1; if ((els.videos.length - 1) > this.video.playIndex && els.videos[nextPlayindex].readyState < 4) { if (!els.videos[nextPlayindex].classList.contains('is-video-load-complete')) { videoLoader.setResponsiveMedia([els.videos[nextPlayindex]]); } if (!els.videos[nextPlayindex].coverImage.classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([els.videos[nextPlayindex].coverImage]); } } }, pauseCallback: function () { setTagging.play(this.controller); }, endCallback: function () { if (!!this.wrap.tooltip && stepInfo[this.video.playIndex].tooltip == 'true') { let self = this; if (!!this.wrap.tooltipCta) this.wrap.tooltipCta.removeAttribute('disabled'); if (!!this.wrap.tooltip) this.wrap.tooltip.classList.add('is-visible'); utils.offAccessibility(this.wrap.tooltip); } if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); } this.controller.style.display = 'none'; if ((els.videos.length - 1) == this.video.playIndex) { els.tutorialReplay.style.display = 'block'; els.tutorialReplay.removeAttribute('tabindex'); els.tutorialReplay.removeAttribute('aria-hidden'); } } })); } }; const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; return { init: init } })();})();;(function () { window.flagship.features.interactiveInterpreter = (function () { const utils = window.flagship.common.utils, resize = window.flagship.common.resize; let els = {}; let objs = {}; let stepInfo = []; let scrollProgress = null; let isMute = null; let isPlaySection = null; const init = function () { els.section = document.querySelector('.js-interpreter'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.interactiveContent = els.section.querySelector('.js-interactive'); els.tutorialVideoContainer = els.section.querySelector('.common-interactive__tutorial'); els.videoList = els.tutorialVideoContainer.querySelectorAll('.common-interactive__tutorial-video'); els.videoWrap = els.tutorialVideoContainer.querySelectorAll('.common-interactive__tutorial-video .common-video'); els.videos = els.tutorialVideoContainer.querySelectorAll('.common-interactive__tutorial-video .common-video__video'); els.tooltipCta = els.tutorialVideoContainer.querySelectorAll('.js-tutorial-tooltip-cta'); els.tutorialReplay = els.tutorialVideoContainer.querySelector('.js-replay-cta'); els.allVideoWrap = els.section.querySelectorAll('.js-video-wrap'); els.muteCta = els.section.querySelectorAll('.js-mute-cta'); // status isMute = !!els.muteCta && els.muteCta.length > 0; }; const setProperty = function (el, index) { el.video = el.querySelector('video'); el.video.videoWrap = el; el.controller = el.querySelector('.js-video-control'); el.controller.video = el.querySelector('video'); el.alert = el.parentElement.querySelector('.common-tutorial__alert'); el.tooltip = el.parentElement.querySelector('.js-tutorial-tooltip'); el.tooltipCta = el.parentElement.querySelector('.js-tutorial-tooltip-cta'); el.video.playIndex = index; el.video.coverImage = el.querySelector('.common-video__cover-image'); if (isMute) { el.muteCta = els.muteCta[index + 1]; } }; const bindEvents = function () { for (let i = 0; i < els.videoWrap.length; i++) { setProperty(els.videoWrap[i], i); setStepStatus(els.videoList[i]) } setVideos(); eventList.videoController(); eventList.click.tooltipCta(); eventList.setScroller(); eventHandler.scroll(); if (isMute) { muteEventHandler(); } }; const setStepStatus = function (el) { stepInfo.push({ alert: el.getAttribute('data-alert'), tooltip: el.getAttribute('data-tooltip') }); }; const muteEventHandler = function () { for (let i = 0; i < els.muteCta.length; i++) { muteEventList.setProperty(els.muteCta[i], i); muteEventList.setMuteBlindText(els.muteCta[i], i); muteEventList.click(els.muteCta[i], i); els.allVideoWrap[i].querySelector('video').style.pointerEvents = 'none'; } }; const muteEventList = { setProperty: function (muteCta, index) { muteCta.videoWrap = els.allVideoWrap[index]; muteCta.videoWrap.muteCta = muteCta; muteCta.video = els.allVideoWrap[index].querySelector('video'); muteCta.blind = muteCta.querySelector('.blind'); }, setMuteBlindText: function (muteCta) { muteCta.blind.innerText = muteCta.getAttribute('data-unmute');}, click: function (muteCta) { muteCta.addEventListener('click', function () { let isMute = this.video.muted; if (!!isMute) { this.classList.remove('is-muted'); this.classList.add('is-unmuted'); this.blind.innerText = this.getAttribute('data-mute'); this.video.muted = false; setTagging.mute(this); } else { this.classList.remove('is-unmuted'); this.classList.add('is-muted'); this.blind.innerText = this.getAttribute('data-unmute'); this.video.muted = true; setTagging.unmute(this); } }); }, }; const eventList = { setScroller: function () { if (els.interactiveContent.scene == null) { els.interactiveContent.scene = SCROLLER({ trackElement: els.interactiveContent, useFixed: false }); } }, scrollEvent: function () { if (els.interactiveContent.scene != null) { if (els.interactiveContent.classList.contains('is-tutorial-opened')) { els.interactiveContent.scene.trackAnimation(function () { scrollProgress = this.progress; let activeVideo = els.tutorialVideoContainer.querySelector('.is-visible video'); let firstVideoHandler = els.videoWrap[0].video.videoHandler; let replayStatus = !document.documentElement.classList.contains('low_network') && activeVideo.paused && !els.videoWrap[0].classList.contains(firstVideoHandler.endedClass) && !els.videoWrap[0].classList.contains(firstVideoHandler.pauseClass) && scrollProgress > 0 && scrollProgress < 100; let resetStatus = scrollProgress === 0 || scrollProgress === 100; if (replayStatus) { if (els.videoWrap[0].video.readyState == 4 && els.videoWrap[0].video.paused) { els.videoWrap[0].video.play(); } else { els.videoWrap[0].video.addEventListener('canplay', function() { els.videoWrap[0].video.play(); }, {once:true}); } } if (resetStatus) { activeVideo.pause(); activeVideo.currentTime = 0; eventList.tutorialReset(); } }); } } }, videoController: function () { for (let i = 0; i < objs.videos.length; i++) { objs.videos[i].controller.addEventListener('click', function () { if (this.video.paused) { this.video.play(); } else { this.video.pause(); } }); } }, nextVideoPlay: function (index) { if (!!els.videoList[index].tooltip) { utils.onAccessibility(els.videoList[index].tooltip); } els.videoList[index + 1].classList.add('is-visible'); utils.onAccessibility(els.videoList[index]); if (els.videos[index + 1].readyState > 3) { els.videos[index + 1].play(); } else { els.videos[index + 1].addEventListener('loadeddata', function () { if (this.paused) this.play(); }); } els.videoList[index].classList.remove('is-visible'); }, click: { tooltipCta: function () { for (let i = 0; i < els.tooltipCta.length; i++) { els.tooltipCta[i].addEventListener('click', function () { eventList.nextVideoPlay(i); }); } } }, tutorialReset: function () { let firstVideoHandler = els.videoWrap[0].video.videoHandler; els.videoWrap[0].classList.remove(firstVideoHandler.playClass); els.videoWrap[0].classList.remove(firstVideoHandler.pauseClass); els.videoWrap[0].classList.remove(firstVideoHandler.endedClass); // video wrap if (!els.videoList[0].classList.contains('is-visible')) { els.videoList[0].classList.add('is-visible'); } // tooltip if (!!els.videoWrap[0].tooltip && els.videoWrap[0].tooltip.classList.contains('is-visible')) { els.videoWrap[0].tooltip.classList.remove('is-visible'); } // tootip accessibility utils.offAccessibility(els.videoWrap[0]); if (!!els.videoWrap[0].tooltip) utils.onAccessibility(els.videoWrap[0].tooltip); for (let i = 0; i < els.videoWrap.length; i++) { if (i != 0) { if (els.videoList[i].classList.contains('is-visible')) { els.videoList[i].classList.remove('is-visible'); } if (!els.videoWrap[i].video.paused) { els.videoWrap[i].video.pause(); els.videoWrap[i].video.currentTime = 0; } // tooltip if (!!els.videoWrap[i].tooltip && els.videoWrap[i].tooltip.classList.contains('is-visible')) { els.videoWrap[i].tooltip.classList.remove('is-visible'); } utils.onAccessibility(els.videoWrap[i]); if (!!els.videoWrap[i].tooltip) utils.onAccessibility(els.videoWrap[i].tooltip); } } // replay cta els.tutorialReplay.style.display = 'none'; els.tutorialReplay.setAttribute('aria-hidden', true); els.tutorialReplay.setAttribute('tabindex', -1); } }; const eventHandler = { scroll: function () { window.addEventListener('scroll', eventList.scrollEvent); eventList.scrollEvent(); } } const setVideos = function () { objs.videos = []; for (let i = 0; i < els.videoWrap.length; i++) { let isVideoWrap = els.videoWrap[i]; objs.videos.push(utils.videoHandler({ wrap: isVideoWrap, video: isVideoWrap.video, controller: isVideoWrap.controller, resetCallback: function () { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); if (this.controller.style.display = 'none') { this.controller.style.display = ''; } } }, playCallback: function () { els.videoList[this.video.playIndex].removeAttribute('tabindex'); els.videoList[this.video.playIndex].removeAttribute('aria-hidden'); utils.offAccessibility(this.wrap.muteCta);if (!this.video.muted) {this.wrap.muteCta.classList.remove('is-unmuted');this.wrap.muteCta.video.muted = true;this.wrap.muteCta.blind.innerText = this.wrap.muteCta.getAttribute('data-unmute');setTagging.unmute(this.wrap.muteCta);} this.controller.style.display = 'block'; utils.offAccessibility(this.controller); setTagging.pause(this.controller); let nextPlayindex = this.video.playIndex + 1; if ((els.videos.length - 1) > this.video.playIndex && els.videos[nextPlayindex].readyState < 4) { if (!els.videos[nextPlayindex].classList.contains('is-video-load-complete')) { videoLoader.setResponsiveMedia([els.videos[nextPlayindex]]); } if (!els.videos[nextPlayindex].coverImage.classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([els.videos[nextPlayindex].coverImage]); } } }, pauseCallback: function () { setTagging.play(this.controller); }, endCallback: function () { if (!!this.wrap.tooltip && stepInfo[this.video.playIndex].tooltip == 'true') { let self = this; if (!!this.wrap.tooltipCta) this.wrap.tooltipCta.removeAttribute('disabled'); if (!!this.wrap.tooltip) this.wrap.tooltip.classList.add('is-visible'); utils.offAccessibility(this.wrap.tooltip); } if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); } this.controller.style.display = 'none'; if ((els.videos.length - 1) == this.video.playIndex) { els.tutorialReplay.style.display = 'block'; els.tutorialReplay.removeAttribute('tabindex'); els.tutorialReplay.removeAttribute('aria-hidden'); } } })); } }; const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } }, mute: function (targetCta) { if (targetCta.hasAttribute('data-omni')) { let dataOmni = targetCta.getAttribute('data-omni').toLowerCase(); targetCta.setAttribute('data-omni', dataOmni.replace('unmute', 'mute')); } if (targetCta.hasAttribute('ga-la')) { let gaLa = targetCta.getAttribute('ga-la').toLowerCase(); targetCta.setAttribute('ga-la', gaLa.replace('unmute', 'mute')); } },unmute: function (targetCta) { if (targetCta.hasAttribute('data-omni')) { let dataOmni = targetCta.getAttribute('data-omni').toLowerCase(); targetCta.setAttribute('data-omni', dataOmni.replace('mute', 'unmute')); } if (targetCta.hasAttribute('ga-la')) { let gaLa = targetCta.getAttribute('ga-la').toLowerCase(); targetCta.setAttribute('ga-la', gaLa.replace('mute', 'unmute')); } }, }; return { init: init } })();})();;(function () { window.flagship.features.interactiveNoteAssist = (function () { const utils = window.flagship.common.utils, resize = window.flagship.common.resize; let els = {}; let objs = {}; let stepInfo = []; let scrollProgress = null; let isPlaySection = null; const init = function () { els.section = document.querySelector('.js-note-assist'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.interactiveContent = els.section.querySelector('.js-interactive'); els.tutorialVideoContainer = els.section.querySelector('.common-interactive__tutorial'); els.videoList = els.tutorialVideoContainer.querySelectorAll('.common-interactive__tutorial-video'); els.videoWrap = els.tutorialVideoContainer.querySelectorAll('.common-interactive__tutorial-video .common-video'); els.videos = els.tutorialVideoContainer.querySelectorAll('.common-interactive__tutorial-video .common-video__video'); els.tooltipCta = els.tutorialVideoContainer.querySelectorAll('.js-tutorial-tooltip-cta'); els.tutorialReplay = els.tutorialVideoContainer.querySelector('.js-replay-cta'); }; const setProperty = function (el, index) { el.video = el.querySelector('video'); el.video.videoWrap = el; el.controller = el.querySelector('.js-video-control'); el.controller.video = el.querySelector('video'); el.alert = el.parentElement.querySelector('.common-tutorial__alert'); el.tooltip = el.parentElement.querySelector('.js-tutorial-tooltip'); el.tooltipCta = el.parentElement.querySelector('.js-tutorial-tooltip-cta'); el.video.playIndex = index; el.video.coverImage = el.querySelector('.common-video__cover-image'); }; const bindEvents = function () { for (let i = 0; i < els.videoWrap.length; i++) { setProperty(els.videoWrap[i], i); setStepStatus(els.videoList[i]) } setVideos(); eventList.videoController(); eventList.click(); eventList.setScroller(); eventHandler.scroll(); }; const setStepStatus = function (el) { stepInfo.push({ alert: el.getAttribute('data-alert'), tooltip: el.getAttribute('data-tooltip') }); }; const eventList = { setScroller: function () { if (els.interactiveContent.scene == null) { els.interactiveContent.scene = SCROLLER({ trackElement: els.interactiveContent, useFixed: false }); } }, scrollEvent: function () { if (els.interactiveContent.scene != null) { if (els.interactiveContent.classList.contains('is-tutorial-opened')) { els.interactiveContent.scene.trackAnimation(function () { scrollProgress = this.progress; let activeVideo = els.tutorialVideoContainer.querySelector('.is-visible video'); let firstVideoHandler = els.videoWrap[0].video.videoHandler; let replayStatus = !document.documentElement.classList.contains('low_network') && activeVideo.paused && !els.videoWrap[0].classList.contains(firstVideoHandler.endedClass) && !els.videoWrap[0].classList.contains(firstVideoHandler.pauseClass) && scrollProgress > 0 && scrollProgress < 100; let resetStatus = scrollProgress === 0 || scrollProgress === 100; if (replayStatus) { if (els.videoWrap[0].video.readyState == 4 && els.videoWrap[0].video.paused) { els.videoWrap[0].video.play(); } else { els.videoWrap[0].video.addEventListener('canplay', function() { els.videoWrap[0].video.play(); }, {once:true}); } } if (resetStatus) { activeVideo.pause(); activeVideo.currentTime = 0; eventList.tutorialReset(); } }); } } }, videoController: function () { for (let i = 0; i < objs.videos.length; i++) { objs.videos[i].controller.addEventListener('click', function () { if (this.video.paused) { this.video.play(); } else { this.video.pause(); } }); } }, nextVideoPlay: function (index) { if (!!els.videoList[index].tooltip) { utils.onAccessibility(els.videoList[index].tooltip); } els.videoList[index + 1].classList.add('is-visible'); utils.onAccessibility(els.videoList[index]); if (els.videos[index + 1].readyState > 3) { els.videos[index + 1].play(); } else { els.videos[index + 1].addEventListener('loadeddata', function () { if (this.paused) this.play(); }); } els.videoList[index].classList.remove('is-visible'); }, click: function () { let self = this; for (let i = 0; i < els.tooltipCta.length; i++) { els.tooltipCta[i].addEventListener('click', function () { self.nextVideoPlay(i); }); } }, tutorialReset: function () { let firstVideoHandler = els.videoWrap[0].video.videoHandler; els.videoWrap[0].classList.remove(firstVideoHandler.playClass); els.videoWrap[0].classList.remove(firstVideoHandler.pauseClass); els.videoWrap[0].classList.remove(firstVideoHandler.endedClass); // video wrap if (!els.videoList[0].classList.contains('is-visible')) { els.videoList[0].classList.add('is-visible'); } // tooltip if (!!els.videoWrap[0].tooltip && els.videoWrap[0].tooltip.classList.contains('is-visible')) { els.videoWrap[0].tooltip.classList.remove('is-visible'); } // tootip accessibility utils.offAccessibility(els.videoWrap[0]); if (!!els.videoWrap[0].tooltip) utils.onAccessibility(els.videoWrap[0].tooltip); for (let i = 0; i < els.videoWrap.length; i++) { if (i != 0) { if (els.videoList[i].classList.contains('is-visible')) { els.videoList[i].classList.remove('is-visible'); } if (!els.videoWrap[i].video.paused) { els.videoWrap[i].video.pause(); els.videoWrap[i].video.currentTime = 0; } // tooltip if (!!els.videoWrap[i].tooltip && els.videoWrap[i].tooltip.classList.contains('is-visible')) { els.videoWrap[i].tooltip.classList.remove('is-visible'); } utils.onAccessibility(els.videoWrap[i]); if (!!els.videoWrap[i].tooltip) utils.onAccessibility(els.videoWrap[i].tooltip); } } // replay cta els.tutorialReplay.style.display = 'none'; els.tutorialReplay.setAttribute('aria-hidden', true); els.tutorialReplay.setAttribute('tabindex', -1); } }; const eventHandler = { scroll: function () { window.addEventListener('scroll', eventList.scrollEvent); eventList.scrollEvent(); } } const setVideos = function () { objs.videos = []; for (let i = 0; i < els.videoWrap.length; i++) { let isVideoWrap = els.videoWrap[i]; objs.videos.push(utils.videoHandler({ wrap: isVideoWrap, video: isVideoWrap.video, controller: isVideoWrap.controller, resetCallback: function () { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); if (this.controller.style.display = 'none') { this.controller.style.display = ''; } } }, playCallback: function () { els.videoList[this.video.playIndex].removeAttribute('tabindex'); els.videoList[this.video.playIndex].removeAttribute('aria-hidden'); this.controller.style.display = 'block'; utils.offAccessibility(this.controller); setTagging.pause(this.controller); let nextPlayindex = this.video.playIndex + 1; if ((els.videos.length - 1) > this.video.playIndex && els.videos[nextPlayindex].readyState < 4) { if (!els.videos[nextPlayindex].classList.contains('is-video-load-complete')) { videoLoader.setResponsiveMedia([els.videos[nextPlayindex]]); } if (!els.videos[nextPlayindex].coverImage.classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([els.videos[nextPlayindex].coverImage]); } } }, pauseCallback: function () { setTagging.play(this.controller); }, endCallback: function () { if (!!this.wrap.tooltip && stepInfo[this.video.playIndex].tooltip == 'true') { if (!!this.wrap.tooltipCta) this.wrap.tooltipCta.removeAttribute('disabled'); if (!!this.wrap.tooltip) this.wrap.tooltip.classList.add('is-visible'); utils.offAccessibility(this.wrap.tooltip); } if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); } this.controller.style.display = 'none'; if ((els.videos.length - 1) == this.video.playIndex) { els.tutorialReplay.style.display = 'block'; els.tutorialReplay.removeAttribute('tabindex'); els.tutorialReplay.removeAttribute('aria-hidden'); } } })); } }; const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; return { init: init } })();})();;(function () { window.flagship.features.interactive = (function () { const utils = window.flagship.common.utils, resize = window.flagship.common.resize; let els = {}, prevDevice = null, currDevice = resize.checkResolution(), scrollProgress = null; const init = function () { els.interactiveContents = document.querySelectorAll('.js-interactive'); if (!!els.interactiveContents && els.interactiveContents.length > 0) { for (let i = 0; i < els.interactiveContents.length; i++) { setProperty(els.interactiveContents[i], i); eventList.setIntroVideo(els.interactiveContents[i]); eventList.setIntroScene(els.interactiveContents[i]); bindEvents(els.interactiveContents[i], i); } } }; const setProperty = function (content, index) { // introVideo content.index = index; content.introVideo = content.querySelector('.js-interactive-intro-video video'); content.introVideo.videoWrap = content.querySelector('.js-interactive-intro-video'); content.introVideo.wrap = content.querySelector('.js-interactive-intro-video .js-video-wrap'); content.introVideo.parentWrap = content.parentElement; content.introVideo.controllerCta = content.introVideo.videoWrap.querySelector('.js-video-control'); content.introVideo.controllerCta.video = content.introVideo; content.introVideo.tooltip = content.querySelector('.js-tutorial-tooltip'); content.introVideo.tooltipCta = content.querySelector('.js-tutorial-tooltip-cta'); content.introVideo.tooltipCta.parentWrap = content; content.tutorialContentWrap = content.querySelectorAll('.js-tutorial-video'); content.tutorialContentWrap.tooltip = content.querySelectorAll('.js-tutorial-video .js-tutorial-tooltip'); // start, reverse point content.introVideo.wrap.startPoint = !!content.introVideo.wrap.getAttribute('data-start-point') ? parseInt(content.introVideo.wrap.getAttribute('data-start-point')) : undefined; content.introVideo.wrap.reversePoint = !!content.introVideo.wrap.getAttribute('data-reverse-point') ? parseInt(content.introVideo.wrap.getAttribute('data-reverse-point')) : undefined; content.introVideo.wrap.moStartPoint = !!content.introVideo.wrap.getAttribute('data-mo-start-point') ? parseInt(content.introVideo.wrap.getAttribute('data-mo-start-point')) : undefined; content.introVideo.wrap.moReversePoint = !!content.introVideo.wrap.getAttribute('data-mo-reverse-point') ? parseInt(content.introVideo.wrap.getAttribute('data-mo-reverse-point')) : undefined; // replayCta content.replayCta = content.querySelector('.js-replay-cta'); content.replayCta.parentWrap = content; }; const bindEvents = function (content, i) { eventHandler.click.introTooltipCta(content.introVideo.tooltipCta); eventHandler.click.replayCta(content.replayCta); eventHandler.click.videoController(content.introVideo.controllerCta); eventHandler.scroll(content); eventList.scroll(content); resize.add(function (currRes) { eventList.resize(currRes, content); }); }; const eventList = { setIntroVideo: function (content) { utils.videoHandler({ playType: 'scrollPlay', startPoint: content.introVideo.wrap.startPoint, reversePoint: content.introVideo.wrap.reversePoint, wrap: content.introVideo.wrap, video: content.introVideo, controller: content.introVideo.controllerCta, resetCallback: function () { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); } if (this.wrap.classList.contains('is-started')) { this.wrap.classList.remove('is-started'); } if (this.video.tooltip.classList.contains('is-visible')) { this.video.tooltip.classList.remove('is-visible'); } content.introVideo.tooltip.classList.remove('is-visible'); utils.onAccessibility(content.introVideo.tooltip); utils.offAccessibility(content.introVideo.videoWrap); if (content.introVideo.controllerCta.style.display == 'none') { content.introVideo.controllerCta.style.display = 'block'; } }, playCallback: function () { if (!this.wrap.classList.contains('is-started')) { this.wrap.classList.add('is-started'); } setTagging.pause(this.controller); let videoWrap = content.tutorialContentWrap[0].querySelector('.js-video-wrap'); videoWrap.coverImg = videoWrap.querySelector('.common-video__cover-image'); videoWrap.video = videoWrap.querySelector('video'); if (!!videoWrap.coverImg && !videoWrap.coverImg.classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([videoWrap.coverImg]); } if (!!videoWrap.video && !videoWrap.video.classList.contains('is-video-load-complete')) { videoLoader.setResponsiveMedia([videoWrap.video]); } }, pauseCallback: function () { setTagging.play(this.controller); }, endCallback: function () { let self = this; if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); } this.controller.style.display = 'none'; this.video.tooltip.classList.add('is-visible'); utils.offAccessibility(this.video.tooltip); } }); }, setIntroScene: function (content) { content.introVideo.scene = SCROLLER({ trackElement: content.introVideo, useFixed: false, resize: utils.detector.isTouchDevice ? false : true }); }, scroll: function (content) { if (!content.classList.contains('is-tutorial-opened')) { content.introVideo.scene.trackAnimation(function () { content.introVideo.videoHandler.scrollActive(this.progress); scrollProgress = this.progress; }); } }, click: { introVideoTooltipCta: function () { let content = this.parentWrap; content.classList.add('is-tutorial-opened'); content.introVideo.tooltip.classList.remove('is-visible'); utils.onAccessibility(content.introVideo.videoWrap); content.tutorialContentWrap[0].classList.add('is-visible'); utils.offAccessibility(content.tutorialContentWrap[0]); let videoWrap = content.tutorialContentWrap[0].querySelector('.js-video-wrap'); videoWrap.video.play(); }, replayCta: function () { let content = this.parentWrap; content.replayCta.style.display = 'none'; content.replayCta.setAttribute('aria-hidden', true); content.replayCta.setAttribute('tabindex', -1); for (let i = 0; i < content.tutorialContentWrap.length; i++) { content.tutorialContentWrap[i].classList.remove('is-visible'); if (!!content.tutorialContentWrap.tooltip[i]) { content.tutorialContentWrap.tooltip[i].classList.remove('is-visible'); } utils.onAccessibility(content.tutorialContentWrap[i]); setTimeout(function () { content.tutorialContentWrap[i].querySelector('video').currentTime = 0; }, 300); } content.introVideo.controllerCta.style.display = 'block'; content.introVideo.tooltip.classList.remove('is-visible'); utils.offAccessibility(content.introVideo.videoWrap); utils.onAccessibility(content.introVideo.tooltip); content.classList.remove('is-tutorial-opened'); content.introVideo.play(); }, videoController: function (e) { if (e.target == e.currentTarget) { if (e.currentTarget.video.paused) { e.currentTarget.video.play(); } else { e.currentTarget.video.pause(); } } }, }, reset: function (content) { if (content.classList.contains('is-tutorial-opened')) { content.classList.remove('is-tutorial-opened'); } // replay cta if (content.replayCta.style.display == 'block') { content.replayCta.style.display = 'none'; content.replayCta.setAttribute('aria-hidden', true); content.replayCta.setAttribute('tabindex', -1); } // tutorial video let tutorialWrap = content.tutorialContentWrap; for (let i = 0; i < tutorialWrap.length; i++) { tutorialWrap[i].classList.remove('is-visible'); utils.onAccessibility(tutorialWrap[i]); // video tutorialWrap[i].video = tutorialWrap[i].querySelector('video'); if (!tutorialWrap[i].video.paused) { tutorialWrap[i].video.pause(); tutorialWrap[i].video.currentTime = 0; } // tooltip if (!!tutorialWrap.tooltip[i]) { if (tutorialWrap.tooltip[i].classList.contains('is-visible')) { tutorialWrap.tooltip[i].classList.remove('is-visible'); } utils.onAccessibility(tutorialWrap.tooltip[i]); } } // intro video utils.offAccessibility(content.introVideo.videoWrap); if (content.introVideo.controllerCta.style.display == 'none') { content.introVideo.controllerCta.style.display = 'block'; } // intro tooltip if (content.introVideo.tooltip.classList.contains('is-visible')) { content.introVideo.tooltip.classList.remove('is-visible') } if (scrollProgress >= 40 && scrollProgress <= 60) { if (content.introVideo.paused) { content.introVideo.currentTime = 0; content.introVideo.play(); } } }, resize: function (currRes, content) { currDevice = currRes; if (prevDevice != currDevice) { eventList.reset(content); } prevDevice = currDevice; }, }; const eventHandler = { click: { replayCta: function (replayCta) { replayCta.addEventListener('click', eventList.click.replayCta); }, introTooltipCta: function (introTooltipCta) { introTooltipCta.addEventListener('click', eventList.click.introVideoTooltipCta); }, videoController: function (introVideoController) { introVideoController.addEventListener('click', eventList.click.videoController); } }, scroll: function (content) { window.addEventListener('scroll', function () { eventList.scroll(content); }); } }; const setTagging = { play: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('pause', 'play')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('pause', 'play')); } }, pause: function (targetController) { if (targetController.hasAttribute('data-omni')) { let dataOmni = targetController.getAttribute('data-omni').toLowerCase(); targetController.setAttribute('data-omni', dataOmni.replace('play', 'pause')); } if (targetController.hasAttribute('ga-la')) { let gaLa = targetController.getAttribute('ga-la').toLowerCase(); targetController.setAttribute('ga-la', gaLa.replace('play', 'pause')); } } }; return { init: init } })();})();(function () { window.flagship.features.moveFeature = (function () { const utils = window.flagship.common.utils; let els = {}; const init = function () { els.jumpCta = document.querySelectorAll('.js-jump-cta'); if (!!els.jumpCta) { setProperty(); bindEvents(); } }; const setProperty = function () { for (let i = 0; i < els.jumpCta.length; i++) { els.jumpCta[i].sectionId = els.jumpCta[i].getAttribute('href'); els.jumpCta[i].section = document.querySelector(`${els.jumpCta[i].sectionId}`); els.jumpCta[i].returnCta = els.jumpCta[i].section.querySelector('.js-return-cta'); els.jumpCta[i].returnCta.jumpCta = els.jumpCta[i]; els.jumpCta[i].returnCta.section = els.jumpCta[i].section; } }; const bindEvents = function () { eventHandler.click(); eventList.setScene(); eventHandler.scroll(); }; const eventHandler = { click: function () { for (let i = 0; i < els.jumpCta.length; i++) { els.jumpCta[i].addEventListener('click', eventList.clickJumpCta); els.jumpCta[i].returnCta.addEventListener('click', eventList.clickReturnCta); } }, scroll: function () { window.addEventListener('scroll', eventList.hideReturnCta); } }; const eventList = { setScene: function () { for(let i=0; i

swiper.slides.length -1 ? swiper.slides.length -1 : index + 1; let videoLength = swiper.el.querySelectorAll('video').length - 1; let imageLength = swiper.el.querySelectorAll('img').length - 1; let videoloadComplateLength = swiper.el.querySelectorAll('.is-video-load-complete').length - 1; let imageloadComplateLength = swiper.el.querySelectorAll('.is-img-load-complete').length - 1; let nextVideo = swiper.slides[isIndex].querySelector('video'); let nextImage = swiper.slides[isIndex].querySelector('img'); if (videoloadComplateLength != videoLength) { if (!!nextVideo) { videoLoader.setResponsiveMedia([nextVideo]); } } if (imageloadComplateLength != imageLength) { if (!!nextImage) { imageLoader.setResponsiveMedia([nextImage]); } } }, resetVideo: function(swiper) { for (let i = 0; i < swiper.slides.length; i++) { let isVideo = swiper.slides[i].video; if (!!isVideo && !isVideo.paused) { isVideo.pause(); isVideo.currentTime = 0; }; }; }, getCarouselSizeInfo: function(swiper) { let slideLength = swiper.slides.length; let slideWidth = swiper.slides[0].clientWidth; let slideMargin = parseInt(window.getComputedStyle(swiper.slides[0]).margin.split(' ')[isRtl ? 3 : 1]); let slideSize = slideWidth + slideMargin; let maxMoveSize = ((slideSize * slideLength) - slideMargin) - swiper.wrapperEl.clientWidth; let viewWidth = swiper.wrapperEl.clientWidth; let viewLength = parseInt((viewWidth + slideMargin)/slideSize); let lastBeforeSize = slideLength == 2 ? 0 : Math.abs((maxMoveSize - slideSize)) + Math.abs((viewWidth - slideWidth)); let isMoveSize = Math.abs(parseInt(window.getComputedStyle(swiper.wrapperEl).transform.split(',')[4])); return { slideWidth: slideWidth, slideMargin: slideMargin, slideSize: slideSize, maxMoveSize: maxMoveSize, viewWidth: viewWidth, viewLength: viewLength, lastBeforeSize: lastBeforeSize, isMoveSize: isMoveSize } }, setDimmedSlide: function(swiper) { if (currDevice != 'mobile') { for (let i = 0; i < swiper.slides.length; i++) { let dimmedSlide = (swiper.activeIndex) > i || (swiper.activeIndex + (eventList.getCarouselSizeInfo(swiper).viewLength - 1)) < i; if (dimmedSlide) { swiper.slides[i].classList.add(dimmedClass); } else { swiper.slides[i].classList.remove(dimmedClass); } } } }, slideChange: function () { accessibility.slide(this); eventList.resetVideo(this); if (eventList.getCarouselSizeInfo(this).viewLength > 0 && currDevice != 'mobile') eventList.setDimmedSlide(this); if (this.realIndex > 0) eventList.setMedia(this, this.realIndex); }, transitionEnd: function() { if (this.slides.length < 3 && currDevice == 'mobile') return; setTimeout(() => { let carouselInfo = eventList.getCarouselSizeInfo(this); let lastIndex = this.slides.length -1; let lastSlide = this.slides[lastIndex]; let lastBeforeSlide = this.slides[lastIndex - 1]; if (carouselInfo.isMoveSize > carouselInfo.lastBeforeSize || carouselInfo.maxMoveSize == carouselInfo.isMoveSize) { eventList.resetVideo(this); lastSlide.classList.add('is-last-slide'); lastBeforeSlide.classList.add('is-dimmed'); lastSlide.classList.remove('is-dimmed'); utils.offAccessibility(this.slides[lastIndex]); utils.onAccessibility(this.slides[lastIndex - 1]); } else if (lastSlide.classList.contains('is-last-slide') && carouselInfo.lastBeforeSize == carouselInfo.isMoveSize) { eventList.resetVideo(this); lastSlide.classList.add('is-dimmed'); lastSlide.classList.remove('is-last-slide'); lastBeforeSlide.classList.remove('is-dimmed'); utils.onAccessibility(this.slides[lastIndex]); utils.offAccessibility(this.slides[lastIndex - 1]); } let swiperActiveSlide = els.section.querySelector('.swiper-slide-active'); let lastSlideActive = els.section.querySelector('.is-last-slide'); let isActiveSlide = !!lastSlideActive ? lastSlideActive : swiperActiveSlide; let isActiveVideo = isActiveSlide.querySelector('video'); if (!!isActiveVideo && !isLowBand) isActiveVideo.play() }, 0); }, setScene: function() { els.section.scene = SCROLLER({ trackElement: els.section }); }, setVideoType: function() { if (!!els.videos) { for (let i = 0; i < els.videos.length; i++) { els.videos[i].videoHandler.playType = 'scrollPlay'; } } }, scroll: function() { els.section.scene.trackAnimation(function() { let swiperActiveSlide = els.section.querySelector('.swiper-slide-active'); let lastSlideActive = els.section.querySelector('.is-last-slide'); let isActiveSlide = !!lastSlideActive ? lastSlideActive : swiperActiveSlide; let isActiveVideo = isActiveSlide.querySelector('video'); if (!!isActiveVideo && !isLowBand) isActiveVideo.videoHandler.scrollActive(this.progress); }); } }; const accessibility = { slide: function (swiper) { for (let i = 0; i < swiper.slides.length; i++) { if (i != swiper.activeIndex) { utils.onAccessibility(swiper.slides[i]); } else { utils.offAccessibility(swiper.slides[i]); } } } }; return { init: init } })();})();;(function () { window.flagship.features.viewer = (function () { const utils = window.flagship.common.utils, resize = window.flagship.common.resize, common = window.flagship.features.common, isLow = utils.isLowNetwork(); let els = {}, currDevice = resize.checkResolution(); const init = function () { els.viewerBtn = document.querySelector('.viewer-btn'); els.section = document.querySelector('.js-colors'); els.popup = document.querySelector('.js-viewer'); if (!!isLow) { if (!els.viewerBtn) return; els.currentWrap = els.popup; setElements(); setProperty(); popupEvents.set(); bindEvents(); } else { if (!els.section) return; els.currentWrap = els.section; setElements(); setProperty(); bindEvents(); } }; const setElements = function () { els.wrapEl = document.querySelector('#wrap'); els.contents = document.querySelector('#contents'); // popup els.popupWrap = els.currentWrap.querySelector('.js-viewer-wrap'); els.popupInner = els.currentWrap.querySelector('.js-viewer-inner'); els.closeCta = els.currentWrap.querySelector('.js-viewer-close'); els.popupContents = els.currentWrap.querySelector('.js-viewer-contents'); // popup-scroll els.popupScroll = els.currentWrap.querySelector('.js-viewer-scroll'); els.popupScrollUpBtn = els.currentWrap.querySelector('.js-scroll-up'); els.popupScrollDownBtn = els.currentWrap.querySelector('.js-scroll-down'); // viewer els.viewerIframe = els.currentWrap.querySelector('iframe'); els.foldBtn = els.currentWrap.querySelector('.js-fold-btn'); els.resetBtn = els.currentWrap.querySelector('.js-reset-btn'); // angle preset els.presetOpen = els.currentWrap.querySelector('.js-preset-open'); els.presetClose = els.currentWrap.querySelector('.js-preset-close'); els.presetLayer = els.currentWrap.querySelector('.js-preset-layer'); els.angleCta = els.currentWrap.querySelectorAll('.js-angle-cta'); }; const setProperty = function () { // timeout els.resizeTimeout = null; els.resizeInnerTimeout = null; els.viewerOpener = null; els.viewerIframe.isHash = false; els.viewerIframe.isIntroposeReady = false; els.viewerIframe.isFold = false; els.viewerIframe.resetTimeout = null; }; const bindEvents = function () { eventHandler.load(); eventHandler.message(); eventHandler.click(); resize.add(eventList.resize); if (!isLow) { eventList.setScene(); } }; const eventHandler = { load: function () { window.addEventListener('DOMContentLoaded', eventList.load, { once: true }); }, message: function () { window.addEventListener('message', eventList.receiveV3DMessage, false); }, click: function () { if (!!isLow) { els.popupScroll.addEventListener('click', eventList.clickLayerScroll); } els.foldBtn && els.foldBtn.addEventListener('click', eventList.clickFold); els.resetBtn && els.resetBtn.addEventListener('click', eventList.clickReset); els.presetOpen && els.presetOpen.addEventListener('click', eventList.openPresetPopup); for (let i = 0; i < els.angleCta.length; i++) { els.angleCta[i].addEventListener('click', eventList.setAngle); } els.contents.addEventListener('click', function (e) { if (e.target.classList.contains('js-reset-btn') || e.target.classList.contains('js-fold-btn') || e.target.classList.contains('js-preset-open') || e.target.closest('.js-preset-layer')) return; eventList.closePresetPopup(); }); }, scroll: function () { window.addEventListener('scroll', eventList.runIntroPose); } }; const eventList = { load: function () { if (!!isLow) { eventList.innerWrapHeight(); eventList.layerScroll(); } accessibility.fold.ariaLabel(); eventList.setFoldClass(); }, receiveV3DMessage: function (e) { if (e.data == 'V3D.state.popOpen') { if (currDevice.indexOf('mobile') > -1 || currDevice == 'tablet') { if (els.closeCta) { if (!els.popupWrap.classList.contains('is-popup-opened')) els.popupWrap.classList.add('is-popup-opened'); els.closeCta.setAttribute('tabindex', '-1'); els.closeCta.setAttribute('aria-hidden', 'true'); els.closeCta.setAttribute('disabled', 'disabled'); } } } else if (e.data == 'V3D.state.popClose') { if (currDevice.indexOf('mobile') > -1 || currDevice == 'tablet') { if (els.closeCta) { if (els.popupWrap.classList.contains('is-popup-opened')) els.popupWrap.classList.remove('is-popup-opened'); els.closeCta.removeAttribute('tabindex'); els.closeCta.removeAttribute('aria-hidden'); els.closeCta.removeAttribute('disabled'); } } } else if (e.data == 'V3D.state.introPose.ready') { if (!isLow) { els.viewerIframe.isIntroposeReady = true; eventHandler.scroll(); eventList.runIntroPose(); } else { els.viewerIframe && els.viewerIframe.contentWindow.postMessage('V3D.introPose.run', '*'); } } else if (e.data == 'V3D.state.localData.ready') { els.viewerIframe && els.viewerIframe.contentWindow.postMessage(JSON.stringify(V3DLOCALDATA), '*'); } else if (e.data == 'V3D.state.actionPose.0') { els.viewerIframe.isFold = true; eventList.setFoldClass(); } else if (e.data == 'V3D.state.actionPose.1') { els.viewerIframe.isFold = false; eventList.setFoldClass(); } else if (e.data == 'V3D.event.pointerdown') { eventList.closePresetPopup(); } }, resize: function (currRes) { currDevice = currRes; if (utils.detector.isTouchDevice && !utils.detector.isIosDevice) eventList.innerWrapHeight(); eventList.layerScroll(); }, 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 () { eventList.setLayerScroll(); }, 300); }, 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'); } }, clickLayerScroll: function (e) { e && e.preventDefault(); if (e.target.matches('.js-scroll-btn')) { let scrollDown = e.target.classList.contains('js-scroll-down'), $popupContents = $(els.popupContents); if (scrollDown) { $popupContents.stop().animate({ scrollTop: $popupContents.scrollTop() + 100 }, { duration: 300, complete: function () { eventList.updateLayerScroll(true); } }); } else { $popupContents.stop().animate({ scrollTop: $popupContents.scrollTop() - 100 }, { duration: 300, complete: function () { eventList.updateLayerScroll(true); } }); } } }, updateLayerScroll: function (isClicked) { const 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'); } }, setScene: function () { els.sceneObj = SCROLLER({ trackElement: els.section, useFixed: false }); }, runIntroPose: function () { els.sceneObj.trackAnimation(function () { let progress = currDevice.indexOf('mobile') > -1 ? 50 : 30; if (this.progress >= progress && !!els.viewerIframe.isIntroposeReady) { els.viewerIframe && els.viewerIframe.contentWindow.postMessage('V3D.introPose.run', '*'); window.removeEventListener('scroll', eventList.runIntroPose); } }); }, clickFold: function () { if (!els.viewerIframe.isFold) { els.viewerIframe.isFold = true; els.viewerIframe.contentWindow.postMessage('V3D.action.reverse', '*'); } else { els.viewerIframe.isFold = false; els.viewerIframe.contentWindow.postMessage('V3D.action', '*'); } accessibility.fold.ariaLabel(); eventList.setFoldClass(); accessibility.fold.tagging(); }, clickReset: function () { let viewerSrc = els.viewerIframe.getAttribute('src'); els.viewerIframe.setAttribute('src', `${viewerSrc}#reset=1`); clearTimeout(els.viewerIframe.resetTimeout); els.viewerIframe.resetTimeout = setTimeout(function () { viewerSrc = viewerSrc.split('#reset=1')[0]; els.viewerIframe.setAttribute('src', viewerSrc); }, 300); }, openPresetPopup: function () { if (!els.presetLayer.classList.contains('is-active')) { els.presetOpen.classList.add('is-open'); els.presetLayer.classList.add('is-active'); els.presetOpen.setAttribute('aria-expanded', true); els.presetClose.focus(); } else { eventList.closePresetPopup(); } els.presetClose && els.presetClose.addEventListener('click', eventList.closePresetPopup); }, closePresetPopup: function (e) { if (els.presetLayer.classList.contains('is-active')) { els.presetOpen.classList.remove('is-open'); els.presetLayer.classList.remove('is-active'); els.presetOpen.setAttribute('aria-expanded', false); if (e && e.target.classList.contains('js-preset-close')) { els.presetOpen.focus(); } } }, setFoldClass: function () { if (!els.viewerIframe.isFold) { if (els.foldBtn.classList.contains('is-folded')) els.foldBtn.classList.remove('is-folded'); els.foldBtn.classList.add('is-fold'); } else { if (els.foldBtn.classList.contains('is-fold')) els.foldBtn.classList.remove('is-fold'); els.foldBtn.classList.add('is-folded'); } }, setAngle: function () { let target = this, targetAngle = target.innerText.toLowerCase(); if (targetAngle == 'front') { els.viewerIframe.contentWindow.postMessage('V3D.setPosition.angleX: 0,angleY: 0', '*'); } else if (targetAngle == 'back') { els.viewerIframe.contentWindow.postMessage('V3D.setPosition.angleX: 0,angleY: 3.141592653589793', '*'); } else if (targetAngle == 'top') { els.viewerIframe.contentWindow.postMessage('V3D.setPosition.angleX: 1.5707963267948966,angleY: 3.141592653589793', '*'); } else if (targetAngle == 'bottom') { els.viewerIframe.contentWindow.postMessage('V3D.setPosition.angleX: -1.5707963267948966,angleY: 0', '*'); } else if (targetAngle == 'left') { els.viewerIframe.contentWindow.postMessage('V3D.setPosition.angleX: 0,angleY: 1.5707963267948966', '*'); } else if (targetAngle == 'right') { els.viewerIframe.contentWindow.postMessage('V3D.setPosition.angleX: 0,angleY: -1.5707963267948966', '*'); } accessibility.selected(target); } }; const popupEvents = { set: function () { utils.layerPopup({ layerPopup: els.popup, layerPopupClass: '.js-viewer', openerEvent: { element: els.viewerBtn, }, closeCtas: [els.closeCta], dimmed: els.popupWrap, moveTarget: document.documentElement, contents: els.contents, show: { start: function (target) { els.popup.classList.add('is-init'); popupEvents.show(target.openerCta); }, end: function () { if (utils.detector.isIosDevice) els.popup.style.display = 'block'; els.popup.classList.add('is-open'); } }, hide: { start: function () { els.popup.classList.remove('is-open'); }, end: function () { setTimeout(function () { els.popup.classList.remove('is-init'); }, 300); popupEvents.hide(); } } }); }, show: function (viewerOpener) { if (viewerOpener.classList.contains('viewer-btn')) { els.viewerIframe.isHash = false; els.viewerOpener = viewerOpener; } else { els.viewerIframe.isHash = true; els.viewerOpener = els.viewerBtn; } els.viewerIframe.setAttribute('src', common.getViewerUrl()); }, hide: function () { els.viewerIframe.setAttribute('src', 'about:blank'); if (els.viewerIframe.isHash) { setTimeout(function () { els.viewerOpener.focus(); }, 300); } }, }; const accessibility = { fold: { ariaLabel: function () { if (!els.viewerIframe.isFold) { els.foldBtn.setAttribute('aria-label', `${els.foldBtn.getAttribute('data-unfolded')}`); } else { els.foldBtn.setAttribute('aria-label', `${els.foldBtn.getAttribute('data-folded')}`); } }, tagging: function () { let dataOmni = els.foldBtn.getAttribute('data-omni'), gaLa = els.foldBtn.getAttribute('ga-la'); if (!els.viewerIframe.isFold) { els.foldBtn.setAttribute('data-omni', dataOmni.replace('folded', 'unfolded')); els.foldBtn.setAttribute('ga-la', gaLa.replace('folded', 'unfolded')); } else { els.foldBtn.setAttribute('data-omni', dataOmni.replace('unfolded', 'folded')); els.foldBtn.setAttribute('ga-la', gaLa.replace('unfolded', 'folded')); } }, }, selected: function (target) { for (let i = 0; i < els.angleCta.length; i++) { els.angleCta[i].removeAttribute('title'); if (els.angleCta[i].classList.contains('is-selected')) { els.angleCta[i].classList.remove('is-selected'); } } if (!target.classList.contains('is-selected')) { target.classList.add('is-selected'); } if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { target.setAttribute('title', LOCAL_VARI.selected); } else { target.setAttribute('title', 'Selected'); } } }; return { init: init } })();})();flagship.features.initialize = (function () { window.flagship.common.resize.bindEvent(); const init = function () { flagship.features.clickToVideo.init(); flagship.features.headline.init(); flagship.features.oneColumnCarousel.init(); flagship.features.scrollVideo.init(); flagship.features.threeColumnCarousel.init(); flagship.features.aiOverview.init(); flagship.features.cameraSpec.init(); flagship.features.faq.init(); flagship.features.highlightsZone.init(); flagship.features.formfactor.init(); flagship.features.interactiveCircleToSearch.init(); flagship.features.interactiveInterpreter.init(); flagship.features.interactiveNoteAssist.init(); flagship.features.interactive.init(); flagship.features.moveFeature.init(); flagship.features.performance.init(); flagship.features.photoAssist.init(); flagship.features.viewer.init(); }; return { init: init }})();flagship.features.initialize.init();});
Samsung Galaxy Z Fold 6 | Galaxy AI | Samsung Thailand (2024)
Top Articles
Wyr Discount Code
Occasions Sneek? Bekijk ons aanbod | Haaima Hylkema
Stretchmark Camouflage Highland Park
Instructional Resources
Froedtert Billing Phone Number
Graveguard Set Bloodborne
Explore Top Free Tattoo Fonts: Style Your Ink Perfectly! 🖌️
Kaomoji Border
Used Sawmill For Sale - Craigslist Near Tennessee
Icommerce Agent
DBZ Dokkan Battle Full-Power Tier List [All Cards Ranked]
Buy Swap Sell Dirt Late Model
Sni 35 Wiring Diagram
Silive Obituary
Bernie Platt, former Cherry Hill mayor and funeral home magnate, has died at 90
O'Reilly Auto Parts - Mathis, TX - Nextdoor
Busted News Bowie County
Atlases, Cartography, Asia (Collection Dr. Dupuis), Arch…
Craigslistodessa
Dmv In Anoka
Mta Bus Forums
Rek Funerals
What Sells at Flea Markets: 20 Profitable Items
Jailfunds Send Message
Jamielizzz Leaked
Paradise Point Animal Hospital With Veterinarians On-The-Go
Current Students - Pace University Online
Town South Swim Club
Ehome America Coupon Code
How often should you visit your Barber?
Chicago Pd Rotten Tomatoes
Aladtec Login Denver Health
Bernie Platt, former Cherry Hill mayor and funeral home magnate, has died at 90
Selfservice Bright Lending
Joe's Truck Accessories Summerville South Carolina
دانلود سریال خاندان اژدها دیجی موویز
Craigslist List Albuquerque: Your Ultimate Guide to Buying, Selling, and Finding Everything - First Republic Craigslist
Ursula Creed Datasheet
Google Chrome-webbrowser
About :: Town Of Saugerties
Cookie Clicker The Advanced Method
Sukihana Backshots
Bcy Testing Solution Columbia Sc
Tedit Calamity
13 Fun &amp; Best Things to Do in Hurricane, Utah
Rite Aid | Employee Benefits | Login / Register | Benefits Account Manager
Concentrix + Webhelp devient Concentrix
Wwba Baseball
Diablo Spawns Blox Fruits
Morbid Ash And Annie Drew
How To Connect To Rutgers Wifi
How To Find Reliable Health Information Online
Latest Posts
Article information

Author: Laurine Ryan

Last Updated:

Views: 5936

Rating: 4.7 / 5 (57 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Laurine Ryan

Birthday: 1994-12-23

Address: Suite 751 871 Lissette Throughway, West Kittie, NH 41603

Phone: +2366831109631

Job: Sales Producer

Hobby: Creative writing, Motor sports, Do it yourself, Skateboarding, Coffee roasting, Calligraphy, Stand-up comedy

Introduction: My name is Laurine Ryan, I am a adorable, fair, graceful, spotless, gorgeous, homely, cooperative person who loves writing and wants to share my knowledge and understanding with you.