갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (2024)

Table of Contents
최근 본 제품 Galaxy AI is here 생성형 편집 기능으로 사진을 꾸며보세요 원을 그려 간편하게 검색해보세요 언어 걱정 없는 실시간 통역을 경험해보세요 실시간 텍스트 번역을 경험해보세요 미네랄에서영감을 받은 컬러 미네랄에서 영감을 받은 컬러 놀랍고도 놀라운 5천만 화소 놀랍고도 놀라운 5천만 화소 알면 알수록놀라운 갤럭시 카메라 알면 알수록 놀라운 갤럭시 카메라 AI 줌으로 빛날어둠속 인물샷,나이토그래피 AI 줌으로 빛날 어둠속 인물샷,나이토그래피 확대할수록 선명함도 확대 확대할수록 선명함도 확대 AI 줌은 멀다고포기하지 않지 AI 줌은 멀다고 포기하지 않지 셔터를 누르기도 전에 이미,슈퍼 HDR 셔터를 누르기도 전에 이미,슈퍼 HDR 나만의 맞춤 설정을 한눈에 나만의 맞춤 설정을 한눈에 끊김 걱정 없는 플레이로거침없는 승리 끊김 걱정 없는 플레이로 거침없는 승리 더 커지고 더 선명해진압도적 화면 더 커지고 더 선명해진 압도적 화면 더 커진 배터리로더 커진 즐거움 더 커진 배터리로 더 커진 즐거움 iOS에서 사용하던 그대로갤럭시로 iOS에서 사용하던 그대로갤럭시로 더 넓어진 퀵 쉐어 더 넓어진 퀵 쉐어 상품평 상품평 가이드 카드 혜택 구매시 유의사항 패밀리넷 동일 품목 다량 구매 관련 안내 카드사별 할부 안내 이메일 무단 수집거부 아이디어 제안에 대한 정책 References

본문 바로가기

`;appTCondition && (toastYN != "N") ? toastPO() : "" ;};// 갤캠스 유도 토스트 팝업 닫기 :: 갤캠앱 통합function gcsToastClose(id){ var cookieDay = id == "gcsWelcomePopup" ? 7 : 1; var key = encodeURIComponent(getCookieForSite("mbrNo_1_")); $("#mask2").remove(); $('#'+id).removeClass("active"); var atpc = $("#chk-"+id).is(":checked"); atpc ? setCookie("gcsToastYN"+"_"+id+'_'+key,"N",cookieDay) : "";}// 갤캠스 유도 토스트 하이퍼링크처리function gcsToastHref(objectId){if(objectId == 'goToGcs'){window.location.href="/sec/member/saSsoLogin?redirect_url=/event/galaxycampus/";}if(objectId == 'goToSignup'){window.location.href="/sec/member/saSsoLogin?redirect_url=/event/galaxycampus/member/loginDocumentEmailCheck";}}

로그인/회원가입 >

  • 갤럭시 Z 폴드6런칭
  • Z폴드6ㅣZ플립6혜택 신청하기
  • Z폴드6ㅣZ플립6Live 다시 보기
  • 삼성전자 AI세일 페스타
  • 삼성케어플러스
  • 시간 맞춤 설치 서비스
  • 삼성 컬처랩
  • 갤럭시 캠퍼스
  • 스마트싱스
  • e식품관
  • 멤버십
  • 지속가능경영
  • AI
  • 모바일
  • TV&오디오
  • 주방가전
  • 리빙가전
  • PC/주변기기
  • 소모품
  • 삼성케어플러스
  • 스마트싱스
  • 삼성닷컴추천
  • 아울렛
  • #Samsung Experience
  • 고객지원
  • 비즈니스
  • 삼성스토어
  • 지속가능경영

최근 검색어

추천 제품

고객님의 최근 본 제품과 연관된 제품을 추천해 드려요!

맞춤 이벤트

고객님의 최근 본 제품과 연관된 이벤트를 추천해 드려요!

인기 검색어

      ";$(".pg-location").html(html);}});}

      최근 본 제품

      검색 결과0

      ※ 최근 본 제품은 30일간 보관됩니다.

      HOME스토어 단독스토어 모바일모두 보기갤럭시 S24+ 통신사폰 (SKT/KT/LG U+)

      드래그해서 좌우 이동시 제품을 상세하게 확인하실수 있습니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (1)

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (2)

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (3)

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (4)

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (5)

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (6)

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (7)

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (8)

      0%

      ');pinch_markup.prependTo('.zoomView');var win_width = $(window).width();var con_height = $(window).height();$('#pinch').smartZoom({'containerClass': 'zoomableContainer',initCallback: function(){$('#pinch').smartZoom('zoom', 2);}});}// pdZoomOutfunction pdZoomOut() {$('#pinch').smartZoom('zoom', -5);setTimeout(function(){$("#pinch").smartZoom('destroy');$('.pinch').remove();$('body').removeClass('zoomViewWrap');}, 0);}function setAltTxt(title, content){ var altTitle = $('#popupLinkVideo .box-article .alt-tit');var altContent = $('#popupLinkVideo .box-article .alt-content');altTitle.text(title);altContent.text(content); }$(function(){// 확대 클릭$('#zoomIn').on('click', function(){pdZoomIn();// 축소 클릭$('#zoomOut').on('click', function(){pdZoomOut();});// zoom영역외 클릭$(document).click(function(event) {var pdImgArea = $(".prod-image");if($("body").hasClass("zoomViewWrap")){if (!pdImgArea.is(event.target) && !pdImgArea.has(event.target).length) {pdZoomOut();}}});$(window).resize(function(){if($("body").hasClass("zoomViewWrap")){pdZoomOut();}});});})

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+)

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (9)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (10)

      Galaxy AI is here

      Galaxy AI 시대에 오신 것을 환영합니다. 이제 우리는
      갤럭시 S24 | S24+와 함께 더 자유롭게 상상하고
      표현할 수 있습니다.
      놀라운 작업 능률과 더 큰 가능성을
      손 안에서 펼쳐보세요.

      혁신이란, 이런 겁니다.

      * 특정 AI 기능 사용을 위해서는 삼성 계정 로그인이 필요합니다. * 삼성은 AI 기능 결과의 정확성, 완성도, 신뢰성에 대해 보장하지 않습니다. * Galaxy AI 기능은 지원되는 삼성 갤럭시 기기에서 2025년까지 무료로 제공됩니다.
      제 3자가 제공하는 AI 기능에는 다른 조건이 적용될 수 있습니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (11)

      웹 브라우저 앱에 블로그 페이지가 열려 있습니다. 홈 버튼을 길게 누릅니다. 앱 위에 Google 검색창이 오버레이 되어 나타납니다. 블로그 페이지의 텍스트에 동그라미를 그립니다. Tornado potato에 대한 검색 결과가 팝업으로 표시됩니다. 팝업을 위로 드래그하면 Google 검색 결과가 전체 화면으로 표시됩니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (12)

      전화 통화 내용이 실시간으로 번역됩니다. 화면상에 대화 내용이 2개의 언어로 표시됩니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (13)

      전화 통화 내용이 실시간으로 번역됩니다. 화면상에 대화 내용이 2개의 언어로 표시됩니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (14)

      음성 녹음의 녹취록은 말하는 사람 별로 구분된 대화와 함께 표시됩니다. 클립이 재생되면 해당 단어가 오디오와 동기화되어 강조 표시됩니다. 다음으로, 음성 녹음에 대한 간략한 요약이 생성됩니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (15)

      사진을 편집하는 중입니다. 피사체를 선택한 다음 크기를 조정하고 사진의 다른 위치로 이동합니다. 그 다음 비워진 영역이 채워집니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (16)

      외국어로 된 문자 메시지 대화가 표시됩니다. "눌러서 번역"이라는 팝업 풍선이 생기고 탭을 하면 입력 및 출력 언어 메뉴가 있는 드롭다운 바로 변합니다. 각 메시지 풍선에는 원래 언어와 번역된 언어로 된 메시지가 모두 표시됩니다.

      서클 투 서치

      실시간 통역

      통역

      텍스트 변환 어시스트

      포토 어시스트

      채팅 어시스트

      • 서클 투 서치

      • 실시간 통역

      • 통역

      • 텍스트 변환 어시스트

      • 포토 어시스트

      • 채팅 어시스트

      • * 연출된 장면으로 실 사용 시 차이가 있을 수 있습니다.
      • * 연출된 장면으로 실 사용 시 차이가 있을 수 있습니다.
        * 실 사용 환경에 따라 통역에 일부 시간이 소요될 수 있습니다.
      • * 연출된 장면으로 실 사용 시 차이가 있을 수 있습니다.
        * 실 사용 환경에 따라 통역에 일부 시간이 소요될 수 있습니다.
        * 통역 기능은 삼성 계정 로그인이 필요합니다.
        특정 언어는 언어 팩 다운로드가 필요할 수 있습니다.
        서비스 이용 가능 여부는 언어에 따라 다를 수 있습니다.
        결과의 정확성은 보장되지 않습니다.
        서비스 이용 가능 여부 및 지원되는 기능은 국가, 지역,
        이동통신사에 따라 다를 수 있습니다.
        지원되는 언어는 다를 수 있습니다.
      • * 연출된 장면으로 실 사용 시 차이가 있을 수 있습니다.
        * 텍스트 변환 어시스트 기능은 네트워크 연결 및 삼성 계정 로그인이 필요합니다.
        텍스트 변환 어시스트는 미리 설치된 삼성 음성 녹음 앱 또는 전화 앱을 통해 녹음된 파일에서만 사용할 수 있습니다.
        설치된 음성 녹음 앱의 기능은 일부 국가에서 지원되지 않을 수 있습니다. 3시간 미만의 오디오 파일만 처리할 수 있습니다.
        텍스트 변환 어시스트의 요약 기능은 일정 문자 수가 충족될 때 사용할 수 있습니다.
        서비스 사용 가능 여부는 언어에 따라 다를 수 있습니다.
        결과의 정확성은 보장되지 않습니다.
      • * 연출된 장면으로 실 사용 시 차이가 있을 수 있습니다.
      • * 연출된 장면으로 실 사용 시 차이가 있을 수 있습니다.

      포토 어시스트

      생성형 편집 기능으로
      사진을 꾸며보세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (17)

      갤럭시 S24 화면에 공원에서 스케이트보드를 타는 사람의 사진이 있습니다. 편집 버튼을 선택한 후 Galaxy AI 별 버튼을 탭합니다. 사람이 선택되면 더 높은 위치로 이동시킵니다. 생성 버튼을 누르면 편집 처리 후 빈 영역이 채워지며 사진이 완성됩니다. 편집 전과 후가 표시됩니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (18)

      갤러리 앱에 공원에서 스케이트보드를 타는 사람의 사진이 있습니다. 편집 버튼을 선택합니다.

      여기를 눌러주세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (19)

      사진이 갤러리 앱의 편집 모드에 있습니다.

      여기를 눌러주세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (20)

      편집 모드에서 Galaxy AI 별 버튼을 탭합니다. 푸른색의 물결이 빠르게 지나갑니다. 스케이트보더가 선택됩니다. 스케이터보더를 더 높은 위치로 이동합니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (21)

      푸른색의 물결이 빠르게 지나갑니다.

      위치 조정할 부분을 선택해주세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (22)

      스케이트보더가 선택됩니다.

      선택한 부분을 옮겨보세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (23)

      여기를 눌러주세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (25)

      포토 어시스트

      사람 또는 물체의 위치를 조정하고, 이미지 내외부의 빈영역을 채워줍니다

      * 연출된 장면으로 실 사용 시 차이가 있을 수 있습니다. * 생성형 편집 기능은 네트워크 연결 및 삼성 계정 로그인이 필요합니다.
      생성형 편집으로 편집하면 최대 12 MP 크기로 사진 크기가 조정되며, AI에 의해 이미지가 생성되었음을 나타내기 위해,
      저장되는 이미지 결과물 위에 워터마크가 덧씌워집니다.
      생성된 결과물의 정확성과 신뢰성은 보장되지 않습니다.

      서클 투 서치

      원을 그려
      간편하게 검색해보세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (26)

      갤럭시 S24 화면에 소셜 미디어 앱에 게시된 거실 전경을 촬영한 영상이 재생되고 있습니다. 홈 버튼을 누르면 영상이 정지되고 액자가 확대되며 하단에 Google 검색창이 나타납니다. 액자에 동그라미를 그리면 이미지를 식별한 후 유사한 이미지를 찾은 Google 검색 결과를 하단에 팝업 창으로 표시합니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (27)

      소셜 미디어 앱에 거실 전경을 촬영한 영상이 게시되어 재생되고 있습니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (28)

      콘텐츠는 새롭게 인테리어한 거실 전경을 촬영한 영상입니다.

      홈 버튼을 길게 눌러주세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (29)

      벽에 걸린 액자 주위에 점선으로 된 원이 그려집니다.

      원을 그려 검색해보세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (30)

      상단에는 Google이 쓰여 있고 하단에는 Google 검색창이 나타납니다. 액자 주위에 원이 그려집니다. 식별이 이루어지면 유사한 이미지를 찾은 Google 결과가 팝업 창으로 표시됩니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (31)

      서클 투 서치

      앱을 전환하지 마시고,
      무엇이든 검색해보세요

      * 이해를 돕기 위해 시퀀스가 단축되고 연출된 이미지입니다.
      설명 목적으로만 사용되는 결과입니다.
      시각적 일치에 따라 결과는 달라질 수 있습니다.
      인터넷 연결이 필요합니다.
      사용자는 안드로이드를 최신 버전으로 업데이트해야 할 수도 있습니다.
      제품 기능은 앱 및 기기 설정에 따라 다를 수 있습니다.
      일부 기능은 특정 앱과 호환되지 않을 수 있습니다.
      서비스의 이용 가능 여부는 국가 및 언어에 따라 다를 수 있습니다.
      결과의 정확성은 보장되지 않습니다.

      실시간 통역

      언어 걱정 없는
      실시간 통역을 경험해보세요

      경험해보려면 누르세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (32)

      갤럭시 S24 화면에 전화 통화 장면이 표시되고 있습니다. Galaxy AI 별 아이콘이 있는 버튼이 강조 표시됩니다. 상단에 언어 메뉴가 있는 드롭다운 바와 함께 대화가 텍스트로 표시됩니다. 음성 대화 내용은 원래 언어와 번역된 언어로 화면에 표시됩니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (33)

      갤럭시 S24 화면에 전화 통화 장면이 표시되고 있습니다. 대화 상단에는 언어 메뉴가 있는 드롭다운 바가 있습니다.

      눌러서 통역

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (34)

      전화 통화의 내용이 원래의 언어와 번역된 언어로 기록되어 화면에 표시됩니다.

      실시간 통역

      여행 중에 택시에 지갑을 두고 내렸다면,
      외국인 택시 기사에게 어떻게 이야기하시겠습니까?

      * 연출된 장면으로 실 사용 시 차이가 있을 수 있습니다. * 실 사용 환경에 따라 통역에 일부 시간이 소요될 수 있습니다. * 실시간 통역 기능은 네트워크 연결 및 삼성 계정 로그인이 필요합니다.
      실시간 통역은 미리 설치된 삼성 전화 앱에서만 사용할 수 있습니다.
      특정 언어에는 언어 팩 다운로드가 필요할 수 있습니다.
      서비스 사용 가능 여부는 언어에 따라 다를 수 있습니다.
      결과의 정확성은 보장되지 않습니다.

      채팅 어시스트

      실시간 텍스트 번역을 경험해보세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (35)

      갤럭시 S24 화면에 외국어로 작성된 문자 메시지 대화가 표시되어 있습니다. '눌러서 번역'이라는 팝업 풍선이 나타납니다. 탭을 하면 입력 및 출력 언어 메뉴가 있는 드롭다운 바로 변합니다. 말풍선에 원래의 언어와 번역된 언어로 된 메시지가 모두 표시됩니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (36)

      대화 목록에서 문자 메시지 대화를 탭합니다.

      여기를 눌러주세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (37)

      메시지를 누르면 외국어로 작성된 대화가 표시됩니다. '눌러서 번역'이라는 팝업 풍선을 탭합니다.

      여기를 눌러주세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (38)

      입력 및 출력 언어 메뉴가 있는 드롭다운 바에 각각 자동 및 한국어가 표시됩니다. 말풍선에는 원래의 언어와 한국어로 번역된 메시지가 모두 표시됩니다. 출력 언어 메뉴를 탭합니다.

      여기를 눌러주세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (39)

      English is changed to French on the output menu.

      여기를 눌러주세요

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (40)

      메시지가 독일어로 번역됩니다.

      채팅 어시스트

      채팅과 문자 메시지를 번역하여 의사소통을 향상시킵니다.

      * 연출된 장면으로 실 사용 시 차이가 있을 수 있습니다. * 채팅 어시스트에서 번역 기능을 사용하려면 네트워크 연결,
      삼성 계정 로그인이 필요합니다.
      특정 언어는 언어 팩 다운로드가 필요할 수 있습니다.
      기능을 활성화하려면 길이 요구 사항을 충족해야 합니다.
      서비스 이용 가능 여부는 국가, 지역, 언어에 따라 다를 수 있습니다.
      일부 채팅 어플리케이션은 이 기능을 지원하지 않을 수 있습니다.
      결과의 정확성은 보장되지 않습니다.

      ')); } } }; const isZoom = function () { const winInnerWidth = window.innerWidth, winOuterWidth = window.outerWidth; let zoomLevel = 100 / ((winInnerWidth / winOuterWidth) * 100); if(zoomLevel > 1.75) { document.documentElement.classList.add('browser-zoomed-175'); } else { document.documentElement.classList.remove('browser-zoomed-175'); } }; return { addLoadStatusClass: addLoadStatusClass, setResolution: setResolution, onClickSup: onClickSup, centeredFocus: centeredFocus, setArBanner:setArBanner, isZoom: isZoom, }})();(function () {const resize = window.flagship.common.resize, common = window.flagship.highlights.common, utils = window.flagship.common.utils, agent = navigator.userAgent.toLowerCase(), maxOs = agent.indexOf('mac os') > -1, touchDevice = ('ontouchstart' in window || (window.DocumentTouch && document instanceof window.DocumentTouch));let els = {};const init = function () { els.videoWrap = document.querySelectorAll('.common-video'); els.isGlobal = document.documentElement.classList.contains('global'); if (!!els.videoWrap[0]) { setElements(); }};const setElements = function () { // popup els.viewerPopup = document.querySelector('.highlights-viewer'); els.designSpecPopup = document.querySelector('.highlights-design-spec-popup'); els.cameraSpecPopup = document.querySelector('.highlights-resolution-popup'); els.dayVideoPopup = document.querySelector('.highlights-day-popup'); els.transcriptAssistPopup = document.querySelector('.highlights-live-translate-popup'); els.generativeEditExperience = document.querySelector('#generative-edit-experience'); els.circleToSearchExperience = document.querySelector('#circle-to-search-experience'); els.liveTranslateExperience = document.querySelector('#live-translate-experience'); els.chatAssistExperience = document.querySelector('#chat-assist-experience'); // video els.videosWrap = document.querySelectorAll('.common-video'); els.videos = document.querySelectorAll('.common-video video'); for (var i = 0; i < els.videosWrap.length; i++) { els.videos[i].videoWrap = els.videosWrap[i]; }};const bindEvents = function () { window.addEventListener('load', anchorPosition); window.addEventListener('hashchange', anchorPosition);};const anchorPosition = function () { if (window.location.hash != '') { switch (window.location.hash) { case '#s24-vs-s24-plus': if (els.designSpecPopup) els.designSpecPopup.show(); break; case '#see-in-360': if (els.viewerPopup) els.viewerPopup.show(); break; case '#camera-spec': if (els.cameraSpecPopup) els.cameraSpecPopup.show(); break; case '#day-video': if (els.dayVideoPopup) els.dayVideoPopup.show(); break; case '#transcript-assist': if (els.transcriptAssistPopup) els.transcriptAssistPopup.show(); break; case '#generative-edit-experience': if (els.generativeEditExperience) { els.generativeEditExperience.show(); } break; case '#circle-to-search-experience': if (els.circleToSearchExperience) { els.circleToSearchExperience.show(); } break; case '#live-translate-experience': if (els.liveTranslateExperience) { els.liveTranslateExperience.show(); } break; case '#chat-assist-experience': if (els.chatAssistExperience) { els.chatAssistExperience.show(); } break; default: let hash = location.hash.split('#')[1], hashSection = document.querySelector('#contents #' + hash), hashTimeout = null; clearTimeout(hashTimeout); hashTimeout = setTimeout(function () { if (hashSection) { let sectionTop = hashSection.getBoundingClientRect().top, navHeight = utils.getNavHeight(), hashScroll = window.pageYOffset + sectionTop - navHeight; window.scrollTo(0, hashScroll); } }, 300); break; } }};var setResize = function () { resize.init([{ resolution: 1920, resolutionName: 'desktop', eventFunction: '' }, { resolution: 1023, resolutionName: 'tablet', eventFunction: '' }, { resolution: 767, resolutionName: 'mobile', eventFunction: '' }, { resolution: 320, resolutionName: 'mobileS', eventFunction: '' }], 200); resize.add(common.setResolution);};const setScrollControl = function () { window.scrollController = ANIUTIL.scrollController(); scrollController.init({ speed: 120, duration: 0.5 });}; const setImageLoader = function () { window.imageLoader = ANIUTIL.mediaLoader({ lazyClass: '.js-img-src', responsiveClass: '.js-res-img', preset: els.isGlobal ? '' : '?imbypass=true', loadOption: [{ resolution: 1920, attribute: 'data-src-pc' }, { resolution: 1023, attribute: 'data-src-tb' }, { resolution: 767, attribute: 'data-src-mo' }, { resolution: 360, attribute: 'data-src-mo-s' }], visiblePoint: 2 }); window.bgLoader = ANIUTIL.mediaLoader({ type: 'bgImage', lazyClass: '.js-bg-img', loadOption: [{ resolution: 1920, attribute: '', bgOpts: '' }], visiblePoint: 1 }); }; const setVideoLoader = function () { window.videoLoader = ANIUTIL.mediaLoader({ type: 'video', lazyClass: '.js-video-src', responsiveClass: '.js-res-video', preset: els.isGlobal ? '' : '?imbypass=true', loadOption: [{ resolution: 1920, attribute: 'data-video-src-pc' }, { resolution: 1023, attribute: 'data-video-src-tb' }, { resolution: 767, attribute: 'data-video-src-mo' }, { resolution: 360, attribute: 'data-video-src-mo-s' }], visiblePoint: 1, endCallback: function (video) { if (video.videoWrap && !video.videoWrap.classList.contains('is-loaded')) { video.videoWrap.classList.add('is-loaded'); } } }); }; 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.onClickSup); } }; 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++) { els.videoWrap[i].control = els.videoWrap[i].querySelector('.common-video__control'); els.videoWrap[i].blind = els.videoWrap[i].querySelector('.blind'); els.videoWrap[i].blind.innerHTML = (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) ? LOCAL_VARI.play : 'play'; } }; const onLoadHandler = function () { common.addLoadStatusClass(); common.setArBanner(); init(); bindEvents(); setResize(); if (!maxOs && !touchDevice) { setScrollControl(); } setImageLoader(); setVideoLoader(); setCenteredfocus(); setDisclaimerNumber(); setDisclaimer(); setVideoTheme(); setVideoBlind(); common.isZoom(); resize.add(common.isZoom); }; onLoadHandler();})();;(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.accordion = (function () { const resize = window.flagship.common.resize; let els = {}; let objs = { accordion: [] }; let prevDevice = null; let currDevice = resize.checkResolution(); const init = function () { els.accordionList = document.querySelectorAll('.common-accordion__list'); if (!!els.accordionList && els.accordionList.length > 0) { bindEvents(); } }; const bindEvents = function () { resize.add(onResizeHandler); setAccordion(); }; const onResizeHandler = function (currRes) { currDevice = currRes; if (currDevice != prevDevice) { onResponsiveHandler(); prevDevice = currDevice; } }; const onResponsiveHandler = function () { for (let i = 0; i < els.accordionList.length; i++) { let isOpenedItem = els.accordionList[i].querySelector('.is-open'); if (!!isOpenedItem) { let isOpenedItemContent = isOpenedItem.querySelector('.js-accordion-content'); let clientHeight = isOpenedItemContent.children[0].clientHeight; isOpenedItemContent.style.height = `${clientHeight}px`; } } }; const setAccordion = function () { for (let i = 0; i < els.accordionList.length; i++) { objs.accordion[i] = new window.flagship.common.accordion({ wrap: els.accordionList[i], openType: currDevice.indexOf('mobile') > -1 ? 'single' : 'multiple', open: { start: function (target) { handlerList.setImages(target); handlerList.setVideo(target); }, end: function (target) { let targetVideo = target.querySelector('.common-accordion__content video'); if (targetVideo && targetVideo.paused) targetVideo.play(); } }, close: { start: function (target) { let targetVideo = target.querySelector('.common-accordion__content video'); if (targetVideo && !targetVideo.paused) { targetVideo.pause(); targetVideo.currentTime = 0; } }, end: function () {} } }); objs.accordion[i].init(); } }; const handlerList = { setImages: function (target) { let targetImages = target.querySelectorAll('.common-accordion__content img'); if (targetImages && targetImages.length > 0) { for (let i = 0; i < targetImages.length; i++) { if (!targetImages[i].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([targetImages[i]]); } } } }, setVideo: function (target) { let targetVideos = target.querySelectorAll('.common-accordion__content video'); if (targetVideos && targetVideos.length > 0) { for (let i = 0; i < targetVideos.length; i++) { if (!targetVideos[i].classList.contains('is-video-load-complete')) { videoLoader.setResponsiveMedia([targetVideos[i]]); } } } } } return { init: init } })();})();(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.clickToVideo = (function () { let els = {}, objs = { clickToVideo: [], }; const init = function () { els.clickToVideosWrap = document.querySelectorAll('.js-scroll-video-disable .common-video'); if (els.clickToVideosWrap.length > 0) { setElements(); setVideo(); } }; const setElements = function () { for (let i = 0; i < els.clickToVideosWrap.length; i++) { els.clickToVideosWrap[i].video = els.clickToVideosWrap[i].querySelector('.common-video__figure>video'); els.clickToVideosWrap[i].controller = els.clickToVideosWrap[i].querySelector('.common-video__control'); els.clickToVideosWrap[i].controller.video = els.clickToVideosWrap[i].video; els.clickToVideosWrap[i].controller.addEventListener('click', clickVideoCta); } }; const setVideo = function () { for (let i = 0; i < els.clickToVideosWrap.length; i++) { objs.clickToVideo[i] = ANIUTIL.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'); } }, playCallback: function () { 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'); } } }); } }; const 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 = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.scrollVideo = (function () { const utils = window.flagship.common.utils, resize = window.flagship.common.resize; let els = {}, objs = { scrollVideo: [], scene: [] }, currDevice = resize.checkResolution(); const init = function () { els.scrollVideoWraps = document.querySelectorAll('.common-video.js-scroll-video'); els.pageScrollVideoWraps = []; if (!!els.scrollVideoWraps) { for (let i = 0; i < els.scrollVideoWraps.length; i++) { if (!els.scrollVideoWraps[i].parentElement.classList.contains('common-popup__video') && !els.scrollVideoWraps[i].parentElement.classList.contains('js-scroll-video-disable')) { els.pageScrollVideoWraps.push(els.scrollVideoWraps[i]); } } } if (els.pageScrollVideoWraps.length > 0) { setElements(); objList.setVideo(); objList.setScene(); bindEvents(); } }; const setElements = function () { for (let i = 0; i < els.pageScrollVideoWraps.length; i++) { els.pageScrollVideoWraps[i].video = els.pageScrollVideoWraps[i].querySelector('.common-video__figure>video'); els.pageScrollVideoWraps[i].controller = els.pageScrollVideoWraps[i].querySelector('.common-video__control'); els.pageScrollVideoWraps[i].controller.video = els.pageScrollVideoWraps[i].video; els.pageScrollVideoWraps[i].startPoint = !!els.pageScrollVideoWraps[i].getAttribute('data-start-point') ? els.pageScrollVideoWraps[i].getAttribute('data-start-point') : undefined; els.pageScrollVideoWraps[i].reversePoint = !!els.pageScrollVideoWraps[i].getAttribute('data-reverse-point') ? els.pageScrollVideoWraps[i].getAttribute('data-reverse-point') : undefined; els.pageScrollVideoWraps[i].moStartPoint = !!els.pageScrollVideoWraps[i].getAttribute('data-mo-start-point') ? els.pageScrollVideoWraps[i].getAttribute('data-mo-start-point') : undefined; els.pageScrollVideoWraps[i].moReversePoint = !!els.pageScrollVideoWraps[i].getAttribute('data-mo-reverse-point') ? els.pageScrollVideoWraps[i].getAttribute('data-mo-reverse-point') : undefined; els.pageScrollVideoWraps[i].controller.addEventListener('click', handlerList.videoCta); } }; const bindEvents = function () { window.addEventListener('scroll', handlerList.scroll); handlerList.scroll(); resize.add(onResizeHandler); }; const onResizeHandler = function (currRes) { currDevice = currRes; }; const objList = { setVideo: function () { for (let i = 0; i < els.pageScrollVideoWraps.length; i++) { objs.scrollVideo[i] = ANIUTIL.videoHandler({ playType: 'scrollPlay', startPoint: (currDevice.indexOf('mobile') > -1) ? els.pageScrollVideoWraps[i].moStartPoint : els.pageScrollVideoWraps[i].startPoint, reversePoint: (currDevice.indexOf('mobile') > -1) ? els.pageScrollVideoWraps[i].moReversePoint : els.pageScrollVideoWraps[i].reversePoint, wrap: els.pageScrollVideoWraps[i], video: els.pageScrollVideoWraps[i].video, controller: els.pageScrollVideoWraps[i].controller, resetCallback: function () { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); } }, playCallback: function () { 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.pageScrollVideoWraps.length; i++) { objs.scene[i] = SCROLLER({ trackElement: els.pageScrollVideoWraps[i].video, useFixed: false, resize: utils.detector.isTouchDevice ? false : true }); } } }; const handlerList = { scroll: function () { for (let i = 0; i < els.pageScrollVideoWraps.length; i++) { objs.scene[i].trackAnimation(function () { objs.scrollVideo[i].scrollActive(this.progress); }); } }, videoCta: 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 = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.tutorialPopup = function (opts) { const utils = window.flagship.common.utils; let els = {}; let status = {}; let show = {}, hide = {}; status.isGlobal = document.documentElement.classList.contains('global'); const init = function () { setElements(); setOpts(); bindEvent(); }; const setElements = function () { els.html = document.documentElement; els.tutorialPopup = opts.tutorialPopup; els.closeCtas = opts.closeCtas; els.dimmed = !!!opts.dimmed ? '' : opts.dimmed; els.tutorialPopupClass = opts.tutorialPopupClass; }; const setOpts = function () { show.start = (!!!opts.show) ? undefined : opts.show.start; show.end = (!!!opts.show) ? undefined : opts.show.end; hide.start = (!!!opts.hide) ? undefined : opts.hide.start; hide.end = (!!!opts.hide) ? undefined : opts.hide.end; } const bindEvent = function () { opts.openerEvent.element.addEventListener('click', showLayer); els.tutorialPopup.show = showLayer; els.tutorialPopup.hide = hideLayer; }; const showLayer = function (e) { if (opts.openerEvent.proxy) { if (opts.openerEvent.parent) { if (e.target.parentElement.classList.contains(opts.openerEvent.class)) { els.openerCta = e.target.parentElement; } } else { if (e.target.classList.contains(opts.openerEvent.class)) { els.openerCta = e.target; } } } else { els.openerCta = this; } els.tutorialPopup.opener = els.openerCta; if (show.start) show.start(els); els.html.classList.add('is-layer-open'); utils.hiddenScroll(els.tutorialPopup); if (utils.detector.isIosDevice) { els.tutorialPopup.opener.blur(); els.openerCta.style.display = 'none'; } els.closeCtas[0].focus(); setTimeout(function () { els.closeCtas[0].focus(); }, 300); for (let i = 0; i < els.closeCtas.length; i++) { els.closeCtas[i].addEventListener('click', hideLayer); } if (els.dimmed) els.dimmed.addEventListener('click', onClickDimmed); if (show.end) show.end(els); }; const hideLayer = function () { if (utils.detector.isIosDevice) els.openerCta.style.display = ''; if (hide.start) hide.start(els); for (let i = 0; i < els.closeCtas.length; i++) { els.closeCtas[i].removeEventListener('click', hideLayer); } if (els.dimmed) els.dimmed.removeEventListener('click', onClickDimmed); els.html.classList.remove('is-layer-open'); utils.visibleScroll(); if (!!!els.openerCta) { els.tutorialPopup.opener.focus(); } else { els.openerCta.focus(); } setTimeout(function () { if (!!!els.openerCta) { els.tutorialPopup.opener.focus(); } else { els.openerCta.focus(); } }, 300); if (hide.end) hide.end(els); }; const onClickDimmed = function (e) { if (e.currentTarget == e.target) { hideLayer(); } }; return init(); };})();(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.aod = (function () { let els = {}; let status = {}; let objs = { videos: [], }; const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; const init = function () { els.section = document.querySelector('.highlights-aod'); if (!!els.section) { setElements(); objList.setScene(); bindEvents(); } }; const setElements = function () { els.swiperContainer = els.section.querySelector('.highlights-aod__content-container'); els.nextArrow = els.section.querySelector('.highlights-aod__content-arrow--next'); els.prevArrow = els.section.querySelector('.highlights-aod__content-arrow--prev'); els.pagination = els.section.querySelector('.highlights-aod__content-pagination'); }; const bindEvents = function () { objList.swiper(); objs.swiper.on('init', swiperEvents.init); objs.swiper.on('slideChange', swiperEvents.slideChange); objs.swiper.on('transitionEnd', swiperEvents.transitionEnd); objs.swiper.init(); window.addEventListener('scroll', eventList.scrollHandler); }; const objList = { swiper: function () { if (objs.swiper == null) { objs.swiper = new Swiper(els.swiperContainer, { init: false, navigation: { nextEl: els.nextArrow, prevEl: els.prevArrow, }, pagination: { el: els.pagination, type: 'bullets', clickable: true, renderBullet: function () { return '
    • '; } }, loop: true, slidesPerView: 'auto', centeredSlides: true, speed: 800, }); } }, setVideo: function () { for (let i = 0; i < els.videoWrap.length; i++) { objs.videos[i] = ANIUTIL.videoHandler({ playType: 'scrollPlay', startPoint: resize.checkResolution().indexOf('mobile') > -1 ? 37 : 45, reversePoint: resize.checkResolution().indexOf('mobile') > -1 ? 70 : 100, wrap: els.videoWrap[i], video: els.videos[i], controller: els.videoController[i], endCallback: function () { if (!els.videoWrap[i].classList.contains('is-completed')) { els.videoWrap[i].classList.add('is-completed'); } }, resetCallback: function () { if (els.videoWrap[i].classList.contains('is-completed')) { els.videoWrap[i].classList.remove('is-completed'); } }, }); }; }, setScene: function () { objs.scene = SCROLLER({ trackElement: els.section, useFixed: false }); }, }; const swiperEvents = { init: function () { let notification = this.el.querySelector('.swiper-notification'); if (!!notification) this.el.removeChild(notification); els.bullets = this.pagination.bullets; els.videoWrap = els.section.querySelectorAll('.common-video'); els.videos = els.section.querySelectorAll('.common-video__video'); els.videoController = els.section.querySelectorAll('.common-video__control'); for(let i=0;i 0)) { let isVideoSlide = (objs.swiper.activeIndex == 0) || (objs.swiper.activeIndex == 5) || (objs.swiper.activeIndex == 10); let isPaused = objs.videos[0].video.paused || objs.videos[1].video.paused || objs.videos[2].video.paused; clearTimeout(playStatus); if (isVideoSlide) { if (isPaused) { playStatus = setTimeout(() => { for (let i = 0; i < objs.videos.length; i++) { objs.videos[i].video.currentTime = 0; objs.videos[i].video.play(); } }, 600); } } else { if (!objs.videos[0].video.paused && !objs.videos[1].video.paused && !objs.videos[2].video.paused) { for (let i = 0; i < objs.videos.length; i++) { objs.videos[i].video.pause(); if (resize.checkResolution().indexOf('desktop') > -1) objs.videos[i].video.currentTime = 0; } } } } } }; const eventList = { scrollHandler: function () { objs.scene.trackAnimation(function () { let isVideoSlide = (objs.swiper.activeIndex == 0) || (objs.swiper.activeIndex == 5) || (objs.swiper.activeIndex == 10); if (!isVideoSlide) return; objs.videos[0].scrollActive(this.progress); objs.videos[1].scrollActive(this.progress); objs.videos[2].scrollActive(this.progress); }); }, clickVideoCta: function () { if(this.video.paused) { this.video.play(); } else { this.video.pause(); } } }; const accessibility = { slide: function () { for (let i = 0; i < objs.swiper.slides.length; i++) { if (i != objs.swiper.activeIndex) { utils.onAccessibility(objs.swiper.slides[i]); } else { utils.offAccessibility(objs.swiper.slides[i]); } } }, pagination: { tagging: function () { const tagging = { 'data-omni-type': 'microsite_gallery', 'data-omni': 'galaxy-s24:highlights:galaxy-ai^aod-lockscreen:index:', 'ga-ca': 'gallery', 'ga-ac': 'feature gallery', 'ga-la': 'galaxy-s24:highlights:galaxy-ai^aod-lockscreen:index:', }; for (let i = 0; i < els.bullets.length; i++) { Object.keys(tagging).forEach(key => { if (key == 'data-omni' || key == 'ga-la') { els.bullets[i].setAttribute(key, tagging[key] + (i + 1)); } else { els.bullets[i].setAttribute(key, tagging[key]); } }); } }, label: function () { for (let i = 0; i < els.bullets.length; i++) { let slideName = objs.swiper.slides[i].getAttribute('data-slide-name'); if (i === objs.swiper.realIndex) { if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { els.bullets[i].setAttribute('aria-label', `${LOCAL_VARI.slide}${i+1}: ${slideName} ${LOCAL_VARI.selected.toLowerCase()}`); } else { els.bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideName} selected`); } } else { if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { els.bullets[i].setAttribute('aria-label', `${LOCAL_VARI.slide}${i+1}: ${slideName}`); } else { els.bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideName}`); } } } }, } }; return { init: init, } })();})();;(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.cameraAi = (function () { let els = {}; let objs = {}; const init = function () { els.section = document.querySelector('.highlights-camera-ai'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.bgBlue = els.section.querySelector('.highlights-camera-ai__gradient--blue'); els.bgGreen = els.section.querySelector('.highlights-camera-ai__gradient--green'); }; const bindEvents = function () { setScene(); window.addEventListener('scroll', scrollHandler); scrollHandler(); }; const setScene = function () { objs.scene = SCROLLER({ trackElement: els.section, useFixed: false, }); }; const scrollHandler = function () { objs.scene.trackAnimation(function () { if (this.progress > 10 && this.progress < 70) { els.bgBlue.classList.add('is-active'); els.bgGreen.classList.add('is-active'); } else if (this.progress == 0) { els.bgBlue.classList.remove('is-active'); els.bgGreen.classList.remove('is-active'); } // TweenMax.to(els.bgBlue, 0, {opacity: BlueValue, ease: 'linear'}); // TweenMax.to(els.bgGreen, 0, {opacity: greenValue, ease: 'linear'}); }); } return { init: init } })();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.chatAssistTutorial = (function () { const utils = window.flagship.common.utils; const common = window.flagship.highlights.common; let els = {}; let objs = {}; let stepInfo = []; let status = {}; const init = function () { els.section = document.querySelector('.highlights-chat-assist-tutorial'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.tutorialVideoContainer = els.section.querySelector('.common-tutorial__main-video'); els.videoList = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video'); els.videoWrap = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video'); els.videos = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video__video'); els.tooltipCta = els.tutorialVideoContainer.querySelectorAll('.js-tutorial-tooltip-cta'); els.tutorialReplay = els.tutorialVideoContainer.querySelector('.common-tutorial__replay-cta'); }; const setProperty = function(el, index){ el.video = el.querySelector('video'); el.controller = el.querySelector('.common-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; } const setStepStatus = function(el){ stepInfo.push({ alert: el.getAttribute('data-alert'), tooltip: el.getAttribute('data-tooltip') }); } const eventList = { 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(){ this.play(); }); } setTimeout(()=>{ els.videoList[index].classList.remove('is-visible'); if (!!els.videoList[index].tooltipCta) { els.videoList[index].tooltipCta.blur(); } els.videoList[index + 1].setAttribute('tabindex', 0); els.videoList[index + 1].focus(); els.videoList[index + 1].addEventListener('focusout', function () { let isTabindex = els.videoList[index + 1].getAttribute('tabindex'); if (!!isTabindex && isTabindex == 0) { els.videoList[index + 1].removeAttribute('tabindex'); } }); }, 200); }, click: function(){ let self = this; for (let i = 0; i < els.tooltipCta.length; i++) { els.tooltipCta[i].addEventListener('click', function(){ self.nextVideoPlay(i); }); } }, endCallback: function () { if (stepInfo[this.video.playIndex].tooltip == 'true') { this.wrap.tooltipCta.removeAttribute('disabled'); this.wrap.tooltip.classList.add('is-visible'); } if (stepInfo[this.video.playIndex].alert == 'true') { this.wrap.alert.classList.add('is-visible'); } if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); this.controller.style.display = 'none'; } } } const setVideos = function(){ objs.videos = []; for (let i = 0; i < els.videoWrap.length; i++) { let isVideoWrap = els.videoWrap[i]; objs.videos.push(ANIUTIL.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'); if (this.video.duration > 3) { 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) { videoLoader.setResponsiveMedia([els.videos[nextPlayindex]]); } }, pauseCallback: function () { if (this.video.duration > 3) { setTagging.play(this.controller); } }, endCallback: function () { if (!!this.wrap.tooltip) { utils.offAccessibility(this.wrap.tooltip); } if (this.video.duration > 3) { this.controller.style.display = 'none !important'; } eventList.endCallback.call(this); 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')); } } }; 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(); }; return { init: init, }})();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.circleToSearchTutorial = (function () { const utils = window.flagship.common.utils; const common = window.flagship.highlights.common; let els = {}; let objs = {}; let stepInfo = []; let status = {}; const init = function () { els.section = document.querySelector('.highlights-circle-to-search-tutorial'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.tutorialVideoContainer = els.section.querySelector('.common-tutorial__main-video'); els.videoList = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video'); els.videoWrap = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video'); els.videos = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video__video'); els.tooltipCta = els.tutorialVideoContainer.querySelectorAll('.js-tutorial-tooltip-cta'); els.tutorialReplay = els.tutorialVideoContainer.querySelector('.common-tutorial__replay-cta'); status.isKeydownTime = null; }; const setProperty = function(el, index){ el.video = el.querySelector('video'); el.controller = el.querySelector('.common-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; } const setStepStatus = function(el){ stepInfo.push({ alert: el.getAttribute('data-alert'), tooltip: el.getAttribute('data-tooltip') }); } const eventList = { 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(){ this.play(); }); } setTimeout(()=>{ els.videoList[index].classList.remove('is-visible'); if (!!els.videoList[index].tooltipCta) { els.videoList[index].tooltipCta.blur(); } els.videoList[index + 1].setAttribute('tabindex', 0); els.videoList[index + 1].focus(); els.videoList[index + 1].addEventListener('focusout', function () { let isTabindex = els.videoList[index + 1].getAttribute('tabindex'); if (!!isTabindex && isTabindex == 0) { els.videoList[index + 1].removeAttribute('tabindex'); } }); }, 200); }, click: function(){ els.tooltipCta[0].addEventListener('mousedown', eventList.pressButton); els.tooltipCta[0].addEventListener('mouseup', function(){ clearTimeout(status.mousedown); }); els.tooltipCta[0].addEventListener('touchstart', eventList.pressButton); els.tooltipCta[0].addEventListener('touchend', function(){ clearTimeout(status.mousedown); }); els.tooltipCta[0].addEventListener('keydown', eventList.keydownButton); els.tooltipCta[1].addEventListener('click', function(){ eventList.nextVideoPlay(2); }); }, pressButton: function (e) { e.preventDefault(); if (els.videos[2].readyState < 4) { videoLoader.setResponsiveMedia([els.videos[2]]); } clearTimeout(status.mousedown); status.mousedown = setTimeout(()=>{ eventList.nextVideoPlay(1); }, 1000); }, keydownButton: function (e) { if (e.type == 'keydown' && e.keyCode != 13) return; if (status.isKeydownTime == null) { status.isKeydownTime = Date.now(); } else { let keyDownDuration = Date.now() - status.isKeydownTime; if (keyDownDuration >= 1000) { if (els.videos[2].readyState < 4) { videoLoader.setResponsiveMedia([els.videos[2]]); } eventList.nextVideoPlay(1); status.isKeydownTime = null; } } }, endCallback: function () { let autoplay = this.video.playIndex == 0 || this.video.playIndex == 3; if (stepInfo[this.video.playIndex].tooltip == 'true') { this.wrap.tooltipCta.removeAttribute('disabled'); this.wrap.tooltip.classList.add('is-visible'); } if (stepInfo[this.video.playIndex].alert == 'true') { this.wrap.alert.classList.add('is-visible'); } if (autoplay) { eventList.nextVideoPlay(this.video.playIndex); } if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); this.controller.style.display = 'none'; } } } const setVideos = function(){ objs.videos = []; for (let i = 0; i < els.videoWrap.length; i++) { let isVideoWrap = els.videoWrap[i]; objs.videos.push(ANIUTIL.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'); if (this.video.duration > 3) { this.controller.style.display = 'block'; utils.offAccessibility(this.controller); setTagging.pause(this.controller); } switch (this.video.playIndex) { case 2: videoLoader.setResponsiveMedia([els.videos[3], els.videos[4]]); break; default: break; } }, pauseCallback: function () { if (this.video.duration > 3) { setTagging.play(this.controller); } }, endCallback: function () { if (!!this.wrap.tooltip) { utils.offAccessibility(this.wrap.tooltip); } if (this.video.duration > 3) { this.controller.style.display = 'none !important'; } eventList.endCallback.call(this); 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')); } } }; 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(); }; return { init: init, }})();})();(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.color = (function () { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}, status = {}, objs = {}; let activeClass = 'is-active'; let oldIndex = null; let currDevice = resize.checkResolution(); let prevDevice = null; const init = function () { els.section = document.querySelector('.highlights-color'); if (!!els.section) { setElements(); setStatus(); bindEvents(); } }; const setElements = function () { // topSwiper els.topSwiperWrap = els.section.querySelector('.highlights-color__carousel'); if (!!els.topSwiperWrap) { els.topSwiperSlides = els.topSwiperWrap.querySelectorAll('.highlights-color__carousel-slide'); if (els.topSwiperSlides.length > 1) { els.topSwiperContainer = els.section.querySelector('.highlights-color__carousel-container'); els.topSwiperNextArrow = els.topSwiperContainer.querySelector('.highlights-color__arrow--next'); els.topSwiperPrevArrow = els.topSwiperContainer.querySelector('.highlights-color__arrow--prev'); els.topSwiperPagination = els.section.querySelector('.highlights-color__pagination'); } } // colorchipSwiper els.colorchipWrap = els.section.querySelector('.highlights-color__tab-colors'); els.colorchipSwiperContainer = els.colorchipWrap.querySelector('.swiper-container'); els.colorchipSwiperArrowWrap = els.colorchipWrap.querySelector('.highlights-color__tab-navigation'); els.colorchipSwiperNextArrow = els.colorchipWrap.querySelector('.highlights-color__navigation-arrow--next'); els.colorchipSwiperPrevArrow = els.colorchipWrap.querySelector('.highlights-color__navigation-arrow--prev'); // colorchipItem els.colorchipItemWrap = els.section.querySelector('.highlights-color__tab'); els.colorchipItems = els.colorchipItemWrap.querySelectorAll('.highlights-color__tab-item'); els.colorchipBtns = els.colorchipItemWrap.querySelectorAll('.highlights-color__tab-button'); for (let i = 0; i < els.colorchipBtns.length; i++) { els.colorchipBtns[i].setAttribute('data-js-index', i); } // colorName els.colorNameWrap = els.section.querySelector('.highlights-color__tab-names'); els.colorNames = els.colorNameWrap.querySelectorAll('.highlights-color__tab-name'); // colorPanel els.panelWrap = els.section.querySelector('.highlights-color__tab-panel-group'); els.panels = els.panelWrap.querySelectorAll('.highlights-color__tab-panel'); // 360 Popup Btn els.popupBtn = els.section.querySelector('.common-cta-area button'); }; const setStatus = function () { status.isClick = false; // index status.targetIndex = null; status.oldColorIndex = null; }; const bindEvents = function () { resize.add(handlerList.onResize); setColorchipEvent(); if (!els.topSwiperWrap || (!!els.topSwiperWrap && (!!els.topSwiperSlides && els.topSwiperSlides.length < 2))) return; setTimeout(function () { window.addEventListener('scroll', handlerList.scroll); }, 1000); objList.setScene(); setSwiper.top(); els.topSwiperNextArrow.addEventListener('click', handlerList.onClickArrow); els.topSwiperNextArrow.addEventListener('keydown', handlerList.onClickArrow); els.topSwiperPrevArrow.addEventListener('click', handlerList.onClickArrow); els.topSwiperPrevArrow.addEventListener('keydown', handlerList.onClickArrow); }; const setColorchipEvent = function () { let colorchipSwiperLength = currDevice.indexOf('mobile') > -1 ? 5 : 7; if (els.colorchipBtns.length >= colorchipSwiperLength) { status.isLoop = true; oldIndex = els.colorchipBtns.length; if (els.colorchipSwiperArrowWrap.style.display == 'none') { els.colorchipSwiperArrowWrap.style.display = ''; } if (els.colorchipWrap.classList.contains('js-colorchip-static')) { els.colorchipWrap.classList.remove('js-colorchip-static'); } setSwiper.colorchip(); } else { status.isLoop = false; if (els.colorchipSwiperArrowWrap.style.display != 'none') { els.colorchipSwiperArrowWrap.style.display = 'none'; } if (!els.colorchipWrap.classList.contains('js-colorchip-static')) { els.colorchipWrap.classList.add('js-colorchip-static'); } if (objs.colorchipSwiper != null) { let realIndex = objs.colorchipSwiper.realIndex; if (!els.colorchipBtns[realIndex].classList.contains(activeClass)) { els.colorchipBtns[realIndex].classList.add(activeClass); els.colorchipBtns[realIndex].setAttribute('aria-selected', true); } swiperEvents.colorchip.destroy(); } let currentColorchip = els.colorchipItemWrap.querySelector(`.${activeClass}`); status.oldColorIndex = currentColorchip.getAttribute('data-js-index'); for (let i = 0; i < els.colorchipBtns.length; i++) { els.colorchipBtns[i].addEventListener('click', handlerList.onClickColorchip); els.colorchipItems[i].removeAttribute('tabindex'); els.colorchipItems[i].removeAttribute('aria-hidden'); } } }; const objList = { topSwiper: function () { if (objs.topSwiper == null) { objs.topSwiper = new Swiper(els.topSwiperContainer, { init: false, speed: 800, navigation: { nextEl: els.topSwiperNextArrow, prevEl: els.topSwiperPrevArrow, }, pagination: { el: els.topSwiperPagination, type: 'bullets', clickable: true, renderBullet: function () { return '
    • '; } }, slidesPerView: 'auto', centeredSlides: true, }); } }, colorchipSwiper: function () { if (objs.colorchipSwiper == null) { objs.colorchipSwiper = new Swiper(els.colorchipSwiperContainer, { init: false, navigation: { nextEl: els.colorchipSwiperNextArrow, prevEl: els.colorchipSwiperPrevArrow, }, slidesPerView: 'auto', centeredSlides: true, loop: true, speed: 300, touchRatio: 0, }); } }, setScene: function () { objs.topScene = SCROLLER({ trackElement: els.topSwiperContainer, useFixed: false, resize: utils.detector.isTouchDevice ? false : true }); } }; const setSwiper = { top: function () { objList.topSwiper(); objs.topSwiper.on('init', swiperEvents.top.init); objs.topSwiper.on('slideChange', swiperEvents.top.slideChange); objs.topSwiper.init(); }, colorchip: function () { objList.colorchipSwiper(); objs.colorchipSwiper.on('init', swiperEvents.colorchip.init); objs.colorchipSwiper.on('slideChange', swiperEvents.colorchip.slideChange); objs.colorchipSwiper.on('transitionEnd', swiperEvents.colorchip.transitionEnd); objs.colorchipSwiper.init(); els.loopColorchipBtns = els.section.querySelectorAll('.highlights-color__tab-button'); for (let i = 0; i < els.loopColorchipBtns.length; i++) { els.loopColorchipBtns[i].index = i; els.loopColorchipBtns[i].addEventListener('click', handlerList.onClickColorchip); } if (status.targetIndex != 0) status.targetIndex = 0; eventList.colorchip(); eventList.colorName(); eventList.panel(); } }; const swiperEvents = { top: { init: function () { let notification = this.el.querySelector('.swiper-notification'); let bullets = this.pagination.bullets; this.slides[this.activeIndex].style.transitionDuration = '0s'; setTimeout(() => { this.slides[this.activeIndex].style.transitionDuration = ''; }, 100); if (!!notification) this.el.removeChild(notification); accessibility.slide.top(objs.topSwiper); accessibility.pagination.tagging(bullets); accessibility.pagination.label(bullets); els.topSwiperPrevArrow.removeAttribute('aria-label'); els.topSwiperNextArrow.removeAttribute('aria-label'); setTimeout(function () { handlerList.scroll(); }, 900); status.isTest = false; for (let i = 0; i < bullets.length; i++) { bullets[i].removeAttribute('role'); bullets[i].addEventListener('click', function (e) { e.preventDefault(); e.stopPropagation(); objs.topSwiper.slideTo(i); }); } }, slideChange: function () { accessibility.slide.top(objs.topSwiper); accessibility.pagination.label(objs.topSwiper.pagination.bullets); } }, colorchip: { init: function () { let notification = this.el.querySelector('.swiper-notification'); if (!!notification) this.el.removeChild(notification); accessibility.slide.colorchip(objs.colorchipSwiper); els.colorchipSwiperPrevArrow.removeAttribute('aria-label'); els.colorchipSwiperNextArrow.removeAttribute('aria-label'); let cloneSlide = this.el.querySelectorAll('.swiper-slide-duplicate'); for (let i = 0; i < cloneSlide.length; i++) { let activeClone = cloneSlide[i].querySelector('.highlights-color__tab-button.is-active'); if (!!activeClone) activeClone.classList.remove('is-active'); } }, slideChange: function () { let activeIndex = this.activeIndex; let oldColor = els.loopColorchipBtns[oldIndex]; status.oldColorIndex = oldColor.getAttribute('data-js-index'); status.targetIndex = els.loopColorchipBtns[activeIndex].getAttribute('data-js-index'); eventList.colorchip(); eventList.colorName(); eventList.panel(); accessibility.slide.colorchip(objs.colorchipSwiper); eventList.setPopupBtnColor(els.panels[status.targetIndex]); oldIndex = activeIndex; }, transitionEnd: function () { if (status.isClick) status.isClick = false; }, destroy: function () { objs.colorchipSwiper.destroy(true); objs.colorchipSwiper = null; }, }, }; const handlerList = { scroll: function () { objs.topScene.trackAnimation(function () { if (this.wheelDirection == 'down' && this.progress > 45 && this.progress < 70) { if (objs.topSwiper != null) { objs.topSwiper.slideNext(); objs.topScene.destroy(); window.removeEventListener('scroll', handlerList.scroll); } } else if (this.wheelDirection == 'up' && this.progress < 50) { if (objs.topSwiper != null) { objs.topSwiper.slideNext(); objs.topScene.destroy(); window.removeEventListener('scroll', handlerList.scroll); } } }); }, onResize: function (currRes) { currDevice = currRes; if (currDevice !== prevDevice) { setColorchipEvent(); if (objs.colorchipSwiper != null) { accessibility.slide.colorchip(objs.colorchipSwiper); } prevDevice = currDevice; } }, onClickArrow: function (e) { status.isArrowClick = true; status.arrowStyleTimeout = null; if ((e.type == 'keydown' && e.keyCode == 13) || e.type == 'click') { e.preventDefault(); if (objs.topSwiper.isBeginning && !objs.topSwiper.isEnd) { els.topSwiperPrevArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.topSwiperNextArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.topSwiperPrevArrow.style.display = ''; }, 400); } else if (!objs.topSwiper.isBeginning && objs.topSwiper.isEnd) { els.topSwiperNextArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.topSwiperPrevArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.topSwiperNextArrow.style.display = ''; }, 400); } } }, onClickColorchip: function () { status.isClick = true; let targetColor = this; if (status.isLoop) { if (targetColor.classList.contains('is-active')) return; eventList.slideTo(targetColor); } else { status.targetIndex = targetColor.getAttribute('data-js-index'); eventList.colorchip(); eventList.colorName(); eventList.panel(); status.oldColorIndex = status.targetIndex; } } }; const eventList = { colorchip: function () { let oldColor = els.colorchipItemWrap.querySelectorAll(`.${activeClass}`); let activeIndex = status.isLoop ? objs.colorchipSwiper.activeIndex : status.targetIndex; let targetColorchipBtns = status.isLoop ? els.loopColorchipBtns[activeIndex] : els.colorchipBtns[activeIndex]; if (!targetColorchipBtns.classList.contains(activeClass)) { for (let i = 0; i < oldColor.length; i++) { oldColor[i].classList.remove(activeClass); oldColor[i].setAttribute('aria-selected', false); } targetColorchipBtns.classList.add(activeClass); targetColorchipBtns.setAttribute('aria-selected', true); } }, colorName: function () { for (let i = 0; i < els.colorNames.length; i++) { if (els.colorNames[i].classList.contains(activeClass)) { els.colorNames[i].classList.remove(activeClass); } } if (!els.colorNames[status.targetIndex].classList.contains(activeClass)) { els.colorNames[status.targetIndex].classList.add(activeClass); } }, panel: function () { for (let i = 0; i < els.panels.length; i++) { if (els.panels[i].classList.contains(activeClass)) { els.panels[i].classList.remove(activeClass); els.panels[i].setAttribute('aria-hidden', true); } } if (!els.panels[status.targetIndex].classList.contains(activeClass)) { els.panels[status.targetIndex].classList.add(activeClass); els.panels[status.targetIndex].setAttribute('aria-hidden', false); els.popupBtn.setAttribute('data-model-color', els.panels[status.targetIndex].getAttribute('id')); } if (status.targetIndex != 0) { let targetPanelImgs = els.panels[status.targetIndex].querySelectorAll('img'); if (!targetPanelImgs[0].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([targetPanelImgs[0]]); } if (!targetPanelImgs[1].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([targetPanelImgs[1]]); } } }, slideTo: function (targetColor) { let self = objs.colorchipSwiper; let activeIndex = targetColor.index; objs.slideChangeTime = null; if (status.isClick) { let moveSize = oldIndex - activeIndex; if (moveSize > 0) { if (moveSize == 1) { objs.colorchipSwiper.slidePrev(); } else if (moveSize == 3) { objs.colorchipSwiper.slidePrev(0); objs.colorchipSwiper.slidePrev(0); self.slidePrev(); } else { objs.colorchipSwiper.slidePrev(0); self.slidePrev(); } } else { if (moveSize == -1) { objs.colorchipSwiper.slideNext(); } else if (moveSize == -3) { objs.colorchipSwiper.slideNext(0); objs.colorchipSwiper.slideNext(0); self.slideNext(); } else { objs.colorchipSwiper.slideNext(0); self.slideNext(); } } self.slides[self.activeIndex].querySelector('button').focus(); clearTimeout(objs.slideChangeTime); objs.slideChangeTime = setTimeout(function () { self.slides[self.activeIndex].querySelector('button').focus(); }, 200); status.isClick = false; } }, setPopupBtnColor: function (target) { els.popupBtn.setAttribute('data-model-color', target.getAttribute('id')); } }; const accessibility = { slide: { top: function (swiperObjs) { for (let i = 0; i < swiperObjs.slides.length; i++) { if (i != swiperObjs.activeIndex) { utils.onAccessibility(swiperObjs.slides[i]); } else { utils.offAccessibility(swiperObjs.slides[i]); } } }, colorchip: function (swiperObjs) { let isNotActivedColorchips = null; for (let i = 0; i < swiperObjs.slides.length; i++) { if (currDevice.indexOf('mobile') > -1) { isNotActivedColorchips = (i != swiperObjs.activeIndex) && (i > swiperObjs.activeIndex + 2) || (i < swiperObjs.activeIndex - 2) } else { isNotActivedColorchips = (i != swiperObjs.activeIndex) && (i > swiperObjs.activeIndex + 3) || (i < swiperObjs.activeIndex - 3) } if (isNotActivedColorchips) { utils.onAccessibility(swiperObjs.slides[i]); } else { utils.offAccessibility(swiperObjs.slides[i]); } } } }, pagination: { tagging: function (pagination) { const tagging = { 'data-omni-type': 'microsite_gallery', 'data-omni': 'galaxy-s24:highlights:design^colors:index:', 'ga-ca': 'gallery', 'ga-ac': 'feature gallery', 'ga-la': 'galaxy-s24:highlights:design^colors:index:' }; if (!!pagination) { for (let i = 0; i < pagination.length; i++) { Object.keys(tagging).forEach(key => { if (key == 'data-omni' || key == 'ga-la') { pagination[i].setAttribute(key, tagging[key] + (i + 1)); } else { pagination[i].setAttribute(key, tagging[key]); } }); } } }, label: function (bullets) { for (let i = 0; i < bullets.length; i++) { let isExclusive = objs.topSwiper.slides[i].getAttribute('data-colortype') == 'true' ? true : false; let slideName; if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { slideName = !!isExclusive ? LOCAL_VARI.exclusive : LOCAL_VARI.default; if (i === objs.topSwiper.realIndex) { bullets[i].setAttribute('aria-label', `${LOCAL_VARI.slide}${i+1}: ${slideName} ${LOCAL_VARI.selected.toLowerCase()}`); } else { bullets[i].setAttribute('aria-label', `${LOCAL_VARI.slide}${i+1}: ${slideName}`); } } else { slideName = !!isExclusive ? 'online exclusive color' : 'default color'; if (i === objs.topSwiper.realIndex) { bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideName} selected`); } else { bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideName}`); } } } }, } }; return { init: init, } })();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.dayPopup = (function () { const utils = window.flagship.common.utils; const common = window.flagship.highlights.common; let els = {}; let objs = {}; let status = {}; const init = function () { els.section = document.querySelector('.highlights-super-hdr'); els.layerPopup = document.querySelector('.highlights-day-popup'); if (!!els.layerPopup && !!els.section) { setElements(); setStatus(); objList.setPopup(); bindEvents(); } }; const setElements = function () { status.isGlobal = document.documentElement.classList.contains('global'); els.contents = document.querySelector('#contents'); els.openCta = els.section.querySelector('.highlights-super-hdr__cta button'); els.innerWrap = els.layerPopup.querySelector('.common-popup__inner-wrapper'); els.closeCtas = els.layerPopup.querySelectorAll('.common-popup__close-cta'); els.dimmed = els.layerPopup.querySelector('.common-popup__dimmed'); els.supClicker = els.layerPopup.querySelectorAll('a.click_sup'); els.videoWrap = els.layerPopup.querySelector('.common-video.js-scroll-video'); els.videoWrap.video = els.videoWrap.querySelector('.common-video__video'); els.videoWrap.controller = els.videoWrap.querySelector('.common-video__control'); els.videoWrap.controller.video = els.videoWrap.video; els.hashPopupOpener = null; }; const setStatus = function () { status.isHash = false; }; const bindEvents = function () { els.videoWrap.controller.addEventListener('click', handlerList.videoCta); for (let i = 0; i < els.supClicker.length; i++) { els.supClicker[i].addEventListener('click', handlerList.onClickSup); } }; const objList = { setPopup: function () { utils.layerPopup({ layerPopup: els.layerPopup, layerPopupClass: '.highlights-day-popup', openerEvent: { element: els.openCta, }, closeCtas: [els.closeCtas[0], els.closeCtas[1]], dimmed: els.dimmed, moveTarget: document.documentElement, contents: els.contents, show: { start: function (target) { els.innerWrap.scrollTop = 0; els.layerPopup.classList.add('is-init'); target.openerCta.blur(); setPopupLazyLoader.image(); setPopupLazyLoader.video(); objList.setVideo(); if (`#${els.openCta.getAttribute('data-hash')}` == window.location.hash) { status.isHash = true; els.hashPopupOpener = els.openCta; } }, end: function () { if (utils.detector.isIosDevice) els.layerPopup.style.display = 'block'; els.layerPopup.classList.add('is-open'); } }, hide: { start: function (target) { target.openerCta.focus(); els.layerPopup.classList.remove('is-open'); }, end: function () { setTimeout(function () { els.layerPopup.classList.remove('is-init'); }, 300); els.videoWrap.video.pause(); els.videoWrap.video.currentTime = 0; if (status.isHash && els.hashPopupOpener) { els.hashPopupOpener.focus(); setTimeout(function () { els.hashPopupOpener.focus(); status.isHash = false; els.hashPopupOpener = null; }, 300); } } } }); }, setVideo: function () { objs.scrollVideo = ANIUTIL.videoHandler({ wrap: els.videoWrap, video: els.videoWrap.video, controller: els.videoWrap.controller, resetCallback: function () { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); } }, playCallback: function () { 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'); } } }); } }; const handlerList = { videoCta: function (e) { if (e.target == e.currentTarget) { if (e.currentTarget.video.paused) { e.currentTarget.video.play(); } else { e.currentTarget.video.pause(); } } }, onClickSup: function (e) { e.preventDefault(); e.stopPropagation(); els.layerPopup.hide(); let targetIndex = parseFloat(e.target.innerText), disclaimer = document.querySelectorAll('#desc-section li')[targetIndex - 1], disclaimerText = disclaimer.innerText, activeBlock = '' + disclaimerText + ''; setTimeout(() => { disclaimer.innerHTML = activeBlock; disclaimer.querySelector('a').focus(); }, 500); const eventList = { focusIn: function () { common.centeredFocus.call(disclaimer.querySelector('a')); disclaimer.removeEventListener('focusin', eventList.focusIn); }, focusOut: function () { disclaimer.innerHTML = disclaimerText; disclaimer.removeAttribute('tabindex'); disclaimer.removeEventListener('focusout', eventList.focusOut); }, }; disclaimer.addEventListener('focusin', eventList.focusIn); disclaimer.addEventListener('focusout', eventList.focusOut); } }; const setPopupLazyLoader = { image: function () { objs.imageLoader = ANIUTIL.mediaLoader({ lazyClass: '.js-day-popup-img-src', responsiveClass: '.js-day-popup-res-img', preset: status.isGlobal ? '' : '?imbypass=true', innerScroll: { use: true, wrap: els.layerPopup, }, 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.popupBgLoader = ANIUTIL.mediaLoader({ type: 'bgImage', lazyClass: '.js-day-popup-bg-img', innerScroll: { use: true, wrap: els.layerPopup, }, loadOption: [{ resolution: 1920, attribute: '', bgOpts: '' }], visiblePoint: 1 }); }, video: function () { objs.videoLoader = ANIUTIL.mediaLoader({ type: 'video', lazyClass: '.js-day-popup-video-src', responsiveClass: '.js-day-popup-res-video', preset: status.isGlobal ? '' : '?imbypass=true', innerScroll: { use: true, wrap: els.layerPopup, }, loadOption: [{ resolution: 1920, attribute: 'data-video-src-pc' }, { resolution: 1023, attribute: 'data-video-src-tb' }, { resolution: 767, attribute: 'data-video-src-mo' }, { resolution: 360, attribute: 'data-video-src-mo-s' }], visiblePoint: 1, endCallback: function (video) { if (video.videoWrap && !video.videoWrap.classList.contains('is-loaded')) { video.videoWrap.classList.add('is-loaded'); } } }); } }; 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 = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.designSpecPopup = (function () { const utils = window.flagship.common.utils; const common = window.flagship.highlights.common; let els = {}; let objs = {}; let status = {}; const init = function () { els.section = document.querySelector('.highlights-design-display'); els.layerPopup = document.querySelector('.highlights-design-spec-popup'); if (!!els.layerPopup) { setElements(); setStatus(); bindEvents(); setPopup(); } }; const setElements = function () { status.isGlobal = document.documentElement.classList.contains('global'); els.contents = document.querySelector('#contents'); els.innerWrap = els.layerPopup.querySelector('.common-popup__inner-wrapper'); els.openCta = els.section.querySelector('.highlights-design-display__cta button'); els.closeCtas = els.layerPopup.querySelectorAll('.common-popup__close-cta'); els.dimmed = els.layerPopup.querySelector('.common-popup__dimmed'); els.supClicker = els.layerPopup.querySelectorAll('a.click_sup'); els.hashPopupOpener = null; }; const setStatus = function () { status.isHash = false; }; const bindEvents = function () { for (let i = 0; i < els.supClicker.length; i++) { els.supClicker[i].addEventListener('click', onClickSup); } }; const setPopup = function () { utils.layerPopup({ layerPopup: els.layerPopup, layerPopupClass: '.highlights-design-spec-popup', openerEvent: { element: els.openCta, }, closeCtas: [els.closeCtas[0], els.closeCtas[1]], dimmed: els.dimmed, moveTarget: document.documentElement, contents: els.contents, show: { start: function (target) { els.innerWrap.scrollTop = 0; els.layerPopup.classList.add('is-init'); target.openerCta.blur(); setPopupLazyLoader.image(); if (`#${els.openCta.getAttribute('data-hash')}` == window.location.hash) { status.isHash = true; els.hashPopupOpener = els.openCta; } }, end: function () { if (utils.detector.isIosDevice) els.layerPopup.style.display = 'block'; els.layerPopup.classList.add('is-open'); } }, hide: { start: function (target) { target.openerCta.focus(); els.layerPopup.classList.remove('is-open'); }, end: function () { setTimeout(function () { els.layerPopup.classList.remove('is-init'); }, 300); if (status.isHash && els.hashPopupOpener) { els.hashPopupOpener.focus(); setTimeout(function () { els.hashPopupOpener.focus(); status.isHash = false; els.hashPopupOpener = null; }, 300); } } } }); }; const onClickSup = function (e) { e.preventDefault(); e.stopPropagation(); els.layerPopup.hide(); let targetIndex = parseFloat(e.target.innerText), disclaimer = document.querySelectorAll('#desc-section li')[targetIndex - 1], disclaimerText = disclaimer.innerText, activeBlock = '' + disclaimerText + ''; setTimeout(() => { disclaimer.innerHTML = activeBlock; disclaimer.querySelector('a').focus(); }, 500); const eventList = { focusIn: function () { common.centeredFocus.call(disclaimer.querySelector('a')); disclaimer.removeEventListener('focusin', eventList.focusIn); }, focusOut: function () { disclaimer.innerHTML = disclaimerText; disclaimer.removeAttribute('tabindex'); disclaimer.removeEventListener('focusout', eventList.focusOut); }, }; disclaimer.addEventListener('focusin', eventList.focusIn); disclaimer.addEventListener('focusout', eventList.focusOut); }; const setPopupLazyLoader = { image: function () { objs.imageLoader = ANIUTIL.mediaLoader({ lazyClass: '.js-design-spec-popup-img-src', responsiveClass: '.js-design-spec-popup-res-img', preset: status.isGlobal ? '' : '?imbypass=true', innerScroll: { use: true, wrap: els.layerPopup, }, 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.popupBgLoader = ANIUTIL.mediaLoader({ type: 'bgImage', lazyClass: '.js-design-spec-popup-bg-img', innerScroll: { use: true, wrap: els.layerPopup, }, loadOption: [{ resolution: 1920, attribute: '', bgOpts: '' }], visiblePoint: 1 }); } }; return { init: init, }})();})();(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.experiences = (function () { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}, objs = {}, status = {}, prevDevice = null, currDevice = resize.checkResolution(); const init = function () { els.section = document.querySelector('.highlights-galaxy-offers'); if(!!els.section) { els.offersItems = els.section.querySelectorAll('.highlights-galaxy-offers__card-item'); if(!!els.offersItems && (els.offersItems.length > 1)) { setElements(); bindEvents(); } } }; const setElements = function () { els.swiperContainer = els.section.querySelector('.highlights-galaxy-offers__card-container'); els.nextArrow = els.section.querySelector('.highlights-galaxy-offers__arrow--next'); els.prevArrow = els.section.querySelector('.highlights-galaxy-offers__arrow--prev'); }; const bindEvents = function () { window.addEventListener('DOMContentLoaded', handlerList.onLoad, {once:true}); resize.add(handlerList.onResize); els.nextArrow.addEventListener('click', handlerList.onClickArrow); els.nextArrow.addEventListener('keydown', handlerList.onClickArrow); els.prevArrow.addEventListener('click', handlerList.onClickArrow); els.prevArrow.addEventListener('keydown', handlerList.onClickArrow); }; const objList = { swiper: function () { if (objs.swiper == null) { objs.swiper = new Swiper(els.swiperContainer, { init: false, navigation: { nextEl: els.nextArrow, prevEl: els.prevArrow, }, loop: false, slidesPerView: 'auto', centeredSlides: false }); } } }; const handlerList = { onLoad: function () { if (currDevice.indexOf('mobile') > -1) { setSwiper(); } }, onResize: function (currRes) { currDevice = currRes; if (currDevice != prevDevice) { handlerList.onResponsive(); prevDevice = currDevice; } }, onResponsive: function () { if (currDevice.indexOf('mobile') > -1) { setSwiper(); } else { swiperEvents.destroy(); } }, onClickArrow: function (e) { status.arrowTimeout = null; status.arrowStyleTimeout = null; if ((e.type == 'keydown' && e.keyCode == 13) || e.type == 'click') { e.preventDefault(); if (objs.swiper.isBeginning && !objs.swiper.isEnd) { els.nextArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.prevArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.nextArrow.style.display = ''; }, 400); } else if (!objs.swiper.isBeginning && objs.swiper.isEnd) { els.prevArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.nextArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.prevArrow.style.display = ''; }, 400); } } } }; const setSwiper = function () { objList.swiper(); objs.swiper.on('init', swiperEvents.init); objs.swiper.on('slideChange', swiperEvents.slideChange); objs.swiper.init(); }; const swiperEvents = { init: function () { let notification = this.el.querySelector('.swiper-notification'); if (!!notification) this.el.removeChild(notification); accessibility.slide(); }, slideChange: function () { accessibility.slide(); }, destroy: function () { if (objs.swiper != null) { objs.swiper.navigation.destroy(true); objs.swiper.destroy(true); objs.swiper = null; } }, }; const accessibility = { slide: function () { for (let i = 0; i < objs.swiper.slides.length; i++) { if (i != objs.swiper.activeIndex) { utils.onAccessibility(objs.swiper.slides[i]); } else { utils.offAccessibility(objs.swiper.slides[i]); } } } }; return { init: init, } })();})();;(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.faq = (function () { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}; let objs = {}; let prevDevice = null; let currDevice = resize.checkResolution(); const init = function () { els.section = document.querySelector('.highlights-faq'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.faqList = els.section.querySelector('.highlights-faq__list'); }; const bindEvents = function () { resize.add(onResizeHandler); setAccordion(); }; const onResizeHandler = function (currRes) { currDevice = currRes; if (currDevice != prevDevice) { onResponsiveHandler(); prevDevice = currDevice; } }; const onResponsiveHandler = function () { let isOpenedItems = els.faqList.querySelectorAll('.highlights-faq__item.is-open'); if (isOpenedItems.length > 0) { for (let i = 0; i < isOpenedItems.length; i++) { let isOpenedItemContent = isOpenedItems[i].querySelector('.highlights-faq__answer'); let clientHeight = isOpenedItemContent.children[0].clientHeight; isOpenedItemContent.style.height = `${clientHeight}px`; } } }; const setAccordion = function () { objs.accordion = new window.flagship.common.accordion({ wrap: els.faqList, classList: { item: 'highlights-faq__item', button: 'highlights-faq__question-arrow', contents: 'highlights-faq__answer', activeClass: 'is-open' }, open: { start: function (target) { let targetInnerCta = target.querySelector('.highlights-faq__cta'); if (targetInnerCta) targetInnerCta.addEventListener('click', onClickFaqCta); } } }); objs.accordion.init(); }; const onClickFaqCta = function (e) { if (this.getAttribute('href').indexOf('#') == 0) { e.preventDefault(); let sectionId = this.getAttribute('href'); let section = document.querySelector(sectionId); let sectionTop = section.getBoundingClientRect().top; let movePosition = (sectionTop + window.pageYOffset) - utils.getNavHeight(); let clickable = section.querySelectorAll('a, button'); let title = (sectionId == '#galaxy-ai') ? section.querySelector('.common-headline') : section.querySelector('h2'); if(title.classList.contains('common-display-mo')) { if(resize.checkResolution().indexOf('mobile') > -1) { title = section.querySelector('h2.common-display-mo'); } else { title = section.querySelector('h2.common-display-pc'); } } 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 = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.generativeEditTutorial = (function () { const utils = window.flagship.common.utils; const common = window.flagship.highlights.common; let els = {}; let objs = {}; let stepInfo = []; let status = {}; const init = function () { els.section = document.querySelector('.highlights-generative-edit-tutorial'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.tutorialVideoContainer = els.section.querySelector('.common-tutorial__main-video'); els.videoList = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video'); els.videoWrap = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video'); els.videos = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video__video'); els.coverImages = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video__cover-image'); els.tooltipCta = els.tutorialVideoContainer.querySelectorAll('.js-tutorial-tooltip-cta'); els.generativeCta = els.tutorialVideoContainer.querySelector('.js-tutorial-generative-cta'); els.tutorialReplay = els.tutorialVideoContainer.querySelector('.common-tutorial__replay-cta'); }; const setProperty = function(el, index){ el.video = el.querySelector('video'); el.controller = el.querySelector('.common-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; } const setStepStatus = function(el){ stepInfo.push({ alert: el.getAttribute('data-alert'), tooltip: el.getAttribute('data-tooltip') }); } const eventList = { 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(){ this.play(); }); } setTimeout(()=>{ els.videoList[index].classList.remove('is-visible'); if (!!els.videoList[index].tooltipCta) { els.videoList[index].tooltipCta.blur(); } els.videoList[index + 1].setAttribute('tabindex', 0); els.videoList[index + 1].focus(); els.videoList[index + 1].addEventListener('focusout', function () { let isTabindex = els.videoList[index + 1].getAttribute('tabindex'); if (!!isTabindex && isTabindex == 0) { els.videoList[index + 1].removeAttribute('tabindex'); } }); }, 200); }, click: function(){ let self = this; els.tooltipCta[0].addEventListener('click', function(){ if (els.videos[2].readyState < 4) { imageLoader.setResponsiveMedia([els.coverImages[2], els.coverImages[3], els.coverImages[4]]); videoLoader.setResponsiveMedia([els.videos[2], els.videos[3], els.videos[4]]); } self.nextVideoPlay(0); }) els.tooltipCta[1].addEventListener('click', function(){ self.nextVideoPlay(1); }), els.generativeCta.addEventListener('click', function(){ this.setAttribute('disabled', ''); utils.onAccessibility(els.generativeCta); this.parentElement.classList.remove('is-visible'); self.nextVideoPlay(5); }) }, endCallback: function () { let autoplay = this.video.playIndex == 2 || this.video.playIndex == 6; if (stepInfo[this.video.playIndex].tooltip == 'true') { this.wrap.tooltipCta.removeAttribute('disabled'); this.wrap.tooltip.classList.add('is-visible'); } if (stepInfo[this.video.playIndex].alert == 'true') { this.wrap.alert.classList.add('is-visible'); } if (autoplay) { eventList.nextVideoPlay(this.video.playIndex); } let self = this; switch (this.video.playIndex) { case 2: if (!els.generativeCta.classList.contains('is-bg-load-complete')) { els.generativeCta.classList.add('is-bg-load-complete'); } els.generativeCta.parentElement.classList.add('is-visible'); break; case 3: if (els.videos[5].readyState < 4) { imageLoader.setResponsiveMedia([els.coverImages[5]]); videoLoader.setResponsiveMedia([els.videos[5]]); } (function(wrap, video){ setTimeout(()=>{ self.wrap.alert.classList.remove('is-visible'); eventList.nextVideoPlay(video.playIndex); }, 3000) })(this.wrap, this.video); break; case 4: if (els.videos[6].readyState < 4) { imageLoader.setResponsiveMedia([els.coverImages[6], els.coverImages[7]]); videoLoader.setResponsiveMedia([els.videos[6], els.videos[7]]); } (function(wrap, video){ setTimeout(()=>{ self.wrap.alert.classList.remove('is-visible'); eventList.nextVideoPlay(video.playIndex); }, 3000) })(this.wrap, this.video); break; case 5: els.generativeCta.removeAttribute('disabled'); utils.offAccessibility(els.generativeCta); break; case 7: els.generativeCta.parentElement.classList.add('is-visible'); els.generativeCta.classList.add('is-tutorial-end'); break; default: break; } 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 setVideos = function(){ objs.videos = []; for (let i = 0; i < els.videoWrap.length; i++) { let isVideoWrap = els.videoWrap[i]; objs.videos.push(ANIUTIL.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'); if (this.video.duration > 3) { this.controller.style.display = 'block'; utils.offAccessibility(this.controller); setTagging.pause(this.controller); } }, pauseCallback: function () { if (this.video.duration > 3) { setTagging.play(this.controller); } }, endCallback: function () { if (!!this.wrap.tooltip) { utils.offAccessibility(this.wrap.tooltip); } if (this.video.duration > 3) { this.controller.style.display = 'none !important'; } eventList.endCallback.call(this) } })); } }; 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 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(); }; return { init: init, }})();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.liveTranslateTutorial = (function () { const utils = window.flagship.common.utils; const common = window.flagship.highlights.common; let els = {}; let objs = {}; let stepInfo = []; let status = {}; const init = function () { els.section = document.querySelector('.highlights-live-translate-tutorial'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.tutorialVideoContainer = els.section.querySelector('.common-tutorial__main-video'); els.videoList = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video'); els.videoWrap = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video'); els.videos = els.tutorialVideoContainer.querySelectorAll('.common-tutorial__video .common-video__video'); els.tooltipCta = els.tutorialVideoContainer.querySelectorAll('.js-tutorial-tooltip-cta'); els.tutorialReplay = els.tutorialVideoContainer.querySelector('.common-tutorial__replay-cta'); }; const setProperty = function(el, index){ el.video = el.querySelector('video'); el.controller = el.querySelector('.common-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; } const setStepStatus = function(el){ stepInfo.push({ alert: el.getAttribute('data-alert'), tooltip: el.getAttribute('data-tooltip') }); } const eventList = { 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(){ this.play(); }); } setTimeout(()=>{ els.videoList[index].classList.remove('is-visible'); if (!!els.videoList[index].tooltipCta) { els.videoList[index].tooltipCta.blur(); } els.videoList[index + 1].setAttribute('tabindex', 0); els.videoList[index + 1].focus(); els.videoList[index + 1].addEventListener('focusout', function () { let isTabindex = els.videoList[index + 1].getAttribute('tabindex'); if (!!isTabindex && isTabindex == 0) { els.videoList[index + 1].removeAttribute('tabindex'); } }); }, 200); }, click: function(){ let self = this; els.tooltipCta[0].addEventListener('click', function(){ self.nextVideoPlay(0); }); }, endCallback: function () { if (stepInfo[this.video.playIndex].tooltip == 'true') { if (!this.wrap.tooltipCta.classList.contains('is-bg-load-complete')) { this.wrap.tooltipCta.classList.add('is-bg-load-complete'); } this.wrap.tooltipCta.removeAttribute('disabled'); this.wrap.tooltip.classList.add('is-visible'); } if (stepInfo[this.video.playIndex].alert == 'true') { this.wrap.alert.classList.add('is-visible'); } if (!this.wrap.classList.contains('is-completed')) { this.wrap.classList.add('is-completed'); this.controller.style.display = 'none'; } } } const setVideos = function(){ objs.videos = []; for (let i = 0; i < els.videoWrap.length; i++) { let isVideoWrap = els.videoWrap[i]; objs.videos.push(ANIUTIL.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'); if (this.video.duration > 3) { if (this.video.muted) { this.video.muted = false; } this.controller.style.display = 'block'; utils.offAccessibility(this.controller); setTagging.pause(this.controller); } }, pauseCallback: function () { if (this.video.duration > 3) { setTagging.play(this.controller); } }, endCallback: function () { if (!!this.wrap.tooltip) { utils.offAccessibility(this.wrap.tooltip); } if (this.video.duration > 3) { this.controller.style.display = 'none !important'; } eventList.endCallback.call(this); 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')); } } }; 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(); }; return { init: init, }})();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.liveTranslatePopup = (function () { const utils = window.flagship.common.utils; const common = window.flagship.highlights.common; let els = {}; let objs = {}; let status = {}; const init = function () { els.layerPopup = document.querySelector('.highlights-live-translate-popup'); if (!!els.layerPopup) { setElements(); setStatus(); objList.setPopup(); bindEvents(); } }; const setElements = function () { status.isGlobal = document.documentElement.classList.contains('global'); els.contents = document.querySelector('#contents'); els.openCta = document.querySelector('.highlights-live-translate__cta button'); els.innerWrap = els.layerPopup.querySelector('.common-popup__inner-wrapper'); els.closeCtas = els.layerPopup.querySelectorAll('.common-popup__close-cta'); els.dimmed = els.layerPopup.querySelector('.common-popup__dimmed'); els.supClicker = els.layerPopup.querySelectorAll('a.click_sup'); els.videoWrap = els.layerPopup.querySelector('.common-video.js-scroll-video'); els.videoWrap.video = els.videoWrap.querySelector('.common-video__video'); els.videoWrap.controller = els.videoWrap.querySelector('.common-video__control'); els.videoWrap.controller.video = els.videoWrap.video; els.hashPopupOpener = null; }; const setStatus = function () { status.isHash = false; }; const bindEvents = function () { els.videoWrap.controller.addEventListener('click', handlerList.videoCta); for (let i = 0; i < els.supClicker.length; i++) { els.supClicker[i].addEventListener('click', handlerList.onClickSup); } }; const objList = { setPopup: function () { utils.layerPopup({ layerPopup: els.layerPopup, layerPopupClass: '.highlights-live-translate-popup', openerEvent: { element: els.openCta, }, closeCtas: [els.closeCtas[0], els.closeCtas[1]], dimmed: els.dimmed, moveTarget: document.documentElement, contents: els.contents, show: { start: function (target) { els.innerWrap.scrollTop = 0; els.layerPopup.classList.add('is-init'); target.openerCta.blur(); setPopupLazyLoader.image(); setPopupLazyLoader.video(); objList.setVideo(); if (`#${els.openCta.getAttribute('data-hash')}` == window.location.hash) { status.isHash = true; els.hashPopupOpener = els.openCta; } }, end: function () { if (utils.detector.isIosDevice) els.layerPopup.style.display = 'block'; els.layerPopup.classList.add('is-open'); } }, hide: { start: function (target) { target.openerCta.focus(); els.layerPopup.classList.remove('is-open'); }, end: function () { setTimeout(function () { els.layerPopup.classList.remove('is-init'); }, 300); els.videoWrap.video.pause(); els.videoWrap.video.currentTime = 0; if (status.isHash && els.hashPopupOpener) { els.hashPopupOpener.focus(); setTimeout(function () { els.hashPopupOpener.focus(); status.isHash = false; els.hashPopupOpener = null; }, 300); } els.openCta.focus(); setTimeout(() => { els.openCta.focus(); }, 300); } } }); }, setVideo: function () { objs.video = ANIUTIL.videoHandler({ wrap: els.videoWrap, video: els.videoWrap.video, controller: els.videoWrap.controller, resetCallback: function () { if (this.wrap.classList.contains('is-completed')) { this.wrap.classList.remove('is-completed'); } }, playCallback: function () { 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'); } } }); } }; const handlerList = { videoCta: function (e) { if (e.target == e.currentTarget) { if (e.currentTarget.video.paused) { e.currentTarget.video.play(); } else { e.currentTarget.video.pause(); } } }, onClickSup: function (e) { e.preventDefault(); e.stopPropagation(); els.layerPopup.hide(); let targetIndex = parseFloat(e.target.innerText), disclaimer = document.querySelectorAll('#desc-section li')[targetIndex - 1], disclaimerText = disclaimer.innerText, activeBlock = '' + disclaimerText + ''; setTimeout(() => { disclaimer.innerHTML = activeBlock; disclaimer.querySelector('a').focus(); }, 500); const eventList = { focusIn: function () { common.centeredFocus.call(disclaimer.querySelector('a')); disclaimer.removeEventListener('focusin', eventList.focusIn); }, focusOut: function () { disclaimer.innerHTML = disclaimerText; disclaimer.removeAttribute('tabindex'); disclaimer.removeEventListener('focusout', eventList.focusOut); }, }; disclaimer.addEventListener('focusin', eventList.focusIn); disclaimer.addEventListener('focusout', eventList.focusOut); } }; const setPopupLazyLoader = { image: function () { objs.imageLoader = ANIUTIL.mediaLoader({ lazyClass: '.js-live-translate-popup-img-src', responsiveClass: '.js-live-translate-popup-res-img', preset: status.isGlobal ? '' : '?imbypass=true', innerScroll: { use: true, wrap: els.layerPopup, }, 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.popupBgLoader = ANIUTIL.mediaLoader({ type: 'bgImage', lazyClass: '.js-live-translate-popup-bg-img', innerScroll: { use: true, wrap: els.layerPopup, }, loadOption: [{ resolution: 1920, attribute: '', bgOpts: '' }], visiblePoint: 1 }); }, video: function () { objs.videoLoader = ANIUTIL.mediaLoader({ type: 'video', lazyClass: '.js-live-translate-popup-video-src', responsiveClass: '.js-live-translate-popup-res-video', preset: status.isGlobal ? '' : '?imbypass=true', innerScroll: { use: true, wrap: els.layerPopup, }, loadOption: [{ resolution: 1920, attribute: 'data-video-src-pc' }, { resolution: 1023, attribute: 'data-video-src-tb' }, { resolution: 767, attribute: 'data-video-src-mo' }, { resolution: 360, attribute: 'data-video-src-mo-s' }], visiblePoint: 1, endCallback: function (video) { if (video.videoWrap && !video.videoWrap.classList.contains('is-loaded')) { video.videoWrap.classList.add('is-loaded'); } } }); } }; 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 = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.nightography = (function () { let els = {}; let status = {}; let objs = {}; const utils = window.flagship.common.utils; const init = function () { els.section = document.querySelector('.highlights-nightography'); if (!!els.section) { setElements(); objList.swiper(); bindEvents(); } }; const setElements = function () { els.swiperContainer = els.section.querySelector('.swiper-container'); els.nextArrow = els.section.querySelector('.swiper-button-next'); els.prevArrow = els.section.querySelector('.swiper-button-prev'); els.pagination = els.section.querySelector('.swiper-pagination'); }; const bindEvents = function () { objs.swiper.on('init', swiperEvents.init); objs.swiper.on('slideChange', swiperEvents.slideChange); objs.swiper.init(); els.nextArrow.addEventListener('click', swiperEvents.onClickArrow); els.nextArrow.addEventListener('keydown', swiperEvents.onClickArrow); els.prevArrow.addEventListener('click', swiperEvents.onClickArrow); els.prevArrow.addEventListener('keydown', swiperEvents.onClickArrow); }; const objList = { swiper: function () { if (objs.swiper == null) { objs.swiper = new Swiper(els.swiperContainer, { init: false, navigation: { nextEl: els.nextArrow, prevEl: els.prevArrow, }, pagination: { el: els.pagination, type: 'bullets', clickable: true, renderBullet: function () { return '
    • '; } }, slidesPerView: 'auto', centeredSlides: true, spaceBetween: 10, breakpoints: { 768: { spaceBetween: 100, } }, }); } } }; const swiperEvents = { init: function () { let notification = this.el.querySelector('.swiper-notification'); els.bullets = this.pagination.bullets; for (let i = 0; i < els.bullets.length; i++) { els.bullets[i].removeAttribute('role'); els.bullets[i].addEventListener('click', function (e) { e.preventDefault(); e.stopPropagation(); objs.swiper.slideTo(i); }); } if (!!notification) this.el.removeChild(notification); accessibility.slide(); accessibility.pagination.tagging(); accessibility.pagination.label(); els.nextArrow.removeAttribute('aria-label'); els.prevArrow.removeAttribute('aria-label'); }, slideChange: function () { accessibility.slide(); accessibility.pagination.label(); }, onClickArrow: function (e) { status.arrowTimeout = null; status.arrowStyleTimeout = null; if ((e.type == 'keydown' && e.keyCode == 13) || e.type == 'click') { e.preventDefault(); if (objs.swiper.isBeginning && !objs.swiper.isEnd) { els.prevArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.nextArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.prevArrow.style.display = ''; }, 400); } else if (!objs.swiper.isBeginning && objs.swiper.isEnd) { els.nextArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.prevArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.nextArrow.style.display = ''; }, 400); } } } }; const accessibility = { slide: function () { for (let i = 0; i < objs.swiper.slides.length; i++) { if (i != objs.swiper.activeIndex) { utils.onAccessibility(objs.swiper.slides[i]); } else { utils.offAccessibility(objs.swiper.slides[i]); } } }, pagination: { tagging: function () { const tagging = { 'data-omni-type': 'microsite_gallery', 'data-omni': 'galaxy-s24:highlights:camera^nightography:index:', 'ga-ca': 'gallery', 'ga-ac': 'feature gallery', 'ga-la': 'galaxy-s24:highlights:camera^nightography:index:', }; for (let i = 0; i < els.bullets.length; i++) { Object.keys(tagging).forEach(key => { if (key == 'data-omni' || key == 'ga-la') { els.bullets[i].setAttribute(key, tagging[key] + (i + 1)); } else { els.bullets[i].setAttribute(key, tagging[key]); } }); } }, label: function () { for (let i = 0; i < els.bullets.length; i++) { let slideName = objs.swiper.slides[i].getAttribute('data-slide-name'); if (i === objs.swiper.realIndex) { if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { els.bullets[i].setAttribute('aria-label', `${LOCAL_VARI.slide}${i+1}: ${slideName} ${LOCAL_VARI.selected.toLowerCase()}`); } else { els.bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideName} selected`); } } else { if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { els.bullets[i].setAttribute('aria-label', `${LOCAL_VARI.slide}${i+1}: ${slideName}`); } else { els.bullets[i].setAttribute('aria-label', `Slide${i+1}: ${slideName}`); } } } }, } }; return { init: init, } })();})();;(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.opticalZoom = (function () { const resize = window.flagship.common.resize; let els = {}; let objs = {}; let classList = { isZoom: 'is-zoom', isHide: 'is-hide', active: 'is-active', zoomOutReady: 'is-zoom-out-ready' }; let index = {}; let clickActive = false; const init = function () { els.section = document.querySelector('.highlights-optical-zoom'); if (!!els.section) { setElements(); setProperty(); setScene(); bindEvents(); } }; const setElements = function () { els.zoomCtaList = els.section.querySelector('.highlights-optical-zoom__zoom-button-list'); els.zoomCta = els.section.querySelectorAll('.highlights-optical-zoom__zoom-button'); els.zoomTarget = els.section.querySelector('.js-img-zoom'); els.zoomImages = els.zoomTarget.querySelectorAll('img'); els.tooltip = els.section.querySelector('.highlights-optical-zoom__zoom-tooltip'); }; const setProperty = function () { for (let i = 0; i < els.zoomImages.length; i++) { els.zoomImages[i].setAttribute('aria-hidden', true); } els.isActiveCtaWrap = els.zoomCta[0].parentElement; els.oldVisibleImage = els.zoomImages[0]; accessibility.setTitle(els.zoomCta[0]); els.zoomImages[0].setAttribute('aria-hidden', false); els.zoomImages[0].style.transition = 'none'; els.zoomImages[0].classList.add(classList.active); els.zoomImages[0].style.transition = ''; els.oldVisibleImage = els.zoomImages[0]; }; const setScene = function () { objs.scene = SCROLLER({ trackElement: els.section, useFixed: false }); }; const resetImages = function(){ setTimeout(() => { els.oldVisibleImage.classList.remove(classList.isZoom); els.oldVisibleImage.classList.remove('is-zoom-out-ready'); els.isvisibleTargetImage.removeEventListener('transitionend', resetImages); els.oldVisibleImage.removeEventListener('transitionend', resetImages); els.oldVisibleImage = els.isvisibleTargetImage; clickActive = false; }, 200); }; const bindEvents = function () { els.zoomCtaList.addEventListener('click', zoomClickEvent); els.section.addEventListener('keydown', zoomClickEvent); window.addEventListener('scroll', scrollHandler); scrollHandler(); }; const scrollHandler = function () { objs.scene.trackAnimation(function () { let startProgress = resize.checkResolution() == 'desktop' ? 40 : 35; if (this.progress > startProgress && this.progress < 70) { let speed = 1000; zoomClickEvent(undefined, els.zoomCta[1]); setTimeout(() => { zoomClickEvent(undefined, els.zoomCta[2]); }, speed); setTimeout(() => { zoomClickEvent(undefined, els.zoomCta[1]); TweenMax.to(els.tooltip, 0.4, {opacity: 1, ease: 'linear', delay: 1}); }, speed * 2); window.removeEventListener('scroll', scrollHandler); } }); }; const zoomClickEvent = function (e, trigger) { if (clickActive) return; let actionableEventStatus; if (e != undefined) { if (e.type == 'click' && e.target.classList.contains('highlights-optical-zoom__zoom-tooltip-text')) return; let typeCheck = (e.type == 'click' || e.type == 'keydown'); let commonClassCheck = e.target.classList.contains('highlights-optical-zoom__zoom-button-title'); let clickClassCheck = e.type == 'click' && e.target.classList.contains('highlights-optical-zoom__zoom-button'); let keyCodeCheck = e.keyCode == 13; actionableEventStatus = typeCheck && (commonClassCheck || clickClassCheck || keyCodeCheck); } else if (e == undefined && trigger != undefined) { actionableEventStatus = true; } if (actionableEventStatus) { els.isZoomCta = trigger ? trigger : e.target.classList.contains('highlights-optical-zoom__zoom-button-title') ? e.target.parentElement : e.target; els.isZoomCtaWrap = els.isZoomCta.parentElement; index.click = els.isZoomCta.getAttribute('data-index'); if (index.click == index.active) return; clickActive = true; els.isvisibleTargetImage = els.zoomImages[index.click]; if (!!!trigger && !els.tooltip.classList.contains(classList.isHide)) { TweenMax.to(els.tooltip, 0.4, {opacity: 0, ease: 'linear', onComplete: function(){ els.tooltip.style.display = 'none'; els.tooltip.setAttribute('aria-hidden', 'true'); }}); els.tooltip.classList.add(classList.isHide); } accessibility.removeTitle(); accessibility.setTitle(els.isZoomCta); els.isActiveCtaWrap.classList.remove(classList.active); els.isZoomCtaWrap.classList.add(classList.active); if (!!!index.active || (index.active < index.click)) { els.isZoomImage = els.oldVisibleImage; els.oldVisibleImage.addEventListener('transitionend', resetImages); els.oldVisibleImage.classList.add(classList.isZoom); els.oldVisibleImage.classList.remove(classList.active, classList.zoomOutReady); els.isvisibleTargetImage.classList.add(classList.active); } else { els.isZoomImage = els.oldVisibleImage; els.isvisibleTargetImage.classList.add(classList.zoomOutReady); els.isvisibleTargetImage.addEventListener('transitionend', resetImages); setTimeout(() => { els.isvisibleTargetImage.classList.add(classList.active); }, 100); setTimeout(() => { els.oldVisibleImage.classList.remove(classList.active); }, 600); } els.oldVisibleImage.setAttribute('aria-hidden', true); els.isvisibleTargetImage.setAttribute('aria-hidden', false); els.isActiveCtaWrap = els.isZoomCtaWrap; index.active = index.click; } }; const accessibility = { removeTitle: function () { for (let i = 0; i < els.zoomCta.length; i++) { els.zoomCta[i].removeAttribute('title'); } }, setTitle: function (cta) { if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { cta.setAttribute('title', LOCAL_VARI.selected); } else { cta.setAttribute('title', 'selected'); } }, }; return { init: init }})();})();;(function () { window.flagship = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.overview = (() => { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; let els = {}; let objs = {}; let eventFnc = {}; let statusClass = { progress: { active: 'js-progress-active', pause: 'js-progress-pause' }, video: { load: 'is-loaded', complete: 'is-video-load-complete' }, navigation: 'is-active', info: { visible: 'is-visible', active: 'is-active' }, }; let status = { currentDevice: resize.checkResolution(), isPaused: false, }; const init = () => { els.section = document.querySelector('.highlights-overview'); if (!!els.section) { setElements(); setProperty(); objList.setScene(); bindEvents(); } }; const setElements = () => { els.sectionInner = els.section.querySelector('.common-inner'); els.overviewContents = els.section.querySelector('.highlights-overview__contents') els.swiperContainer = els.section.querySelector('.js-overview-carousel'); els.slides = els.section.querySelectorAll('.highlights-overview__carousel-slide'); els.videoWrap = els.section.querySelectorAll('.common-video'); els.videos = els.section.querySelectorAll('.common-video__video'); els.videoControlCta = els.section.querySelectorAll('.common-video__control'); els.nextArrow = els.section.querySelector('.swiper-button-next'); els.prevArrow = els.section.querySelector('.swiper-button-prev'); els.progressWrap = els.section.querySelectorAll('.js-progress-wrap'); els.progressBar = els.section.querySelectorAll('.js-progress-bar'); els.navigationWrap = els.section.querySelector('.highlights-overview__navigation'); els.navigationInner = els.navigationWrap.querySelector('.highlights-overview__navigation-inner'); els.navigationList = els.navigationWrap.querySelectorAll('.highlights-overview__navigation-listitem'); els.navigationBtn = els.navigationWrap.querySelectorAll('.highlights-overview__navigation-button-wrap'); els.infoItem = els.section.querySelectorAll('.highlights-overview__info-item'); els.featureCtas = els.section.querySelectorAll('a.common-cta-encased'); // tutorial els.tutorialOpenCtas = els.section.querySelectorAll('.js-tutorial-popup'); }; const setProperty = () => { status.navSlideWrapWidth = els.navigationWrap.clientWidth; status.isRtl = document.documentElement.classList.contains('rtl'); for (let i = 0; i < els.videos.length; i++) { els.videos[i].controlCta = els.videoControlCta[i]; els.videos[i].wrap = els.videoWrap[i]; els.videoControlCta[i].video = els.videos[i]; } for (let j = 0; j < els.navigationBtn.length; j++) { els.navigationBtn[j].index = j; els.navigationBtn[j].img = els.navigationBtn[j].querySelector('.highlights-overview__navigation-button-image img'); els.navigationBtn[j].img.parentWrap = els.navigationBtn[j]; els.navigationBtn[j].text = els.navigationBtn[j].querySelector('.highlights-overview__navigation-button-text'); els.navigationBtn[j].text.parentWrap = els.navigationBtn[j]; els.navigationBtn[j].addEventListener('keydown', eventList.onClickNavigation); } }; const objList = { setSwiper: () => { if (objs.swiper == null) { objs.swiper = new Swiper(els.swiperContainer, { navigation: { nextEl: els.nextArrow, prevEl: els.prevArrow, }, init: false, speed: 500, }); objs.swiper.currentIndex = 0; objs.swiper.on('init', function () { let notification = this.el.querySelector('.swiper-notification'); this.el.removeChild(notification); els.nextArrow.removeAttribute('aria-label'); els.prevArrow.removeAttribute('aria-label'); objList.setVideo(); eventList.setVideoController(); eventList.scroll(); eventList.animationEnd(); accessibility.slide(); accessibility.setTitle(); }); objs.swiper.on('slideChange', swiperEvent.slideChange); // S (SEC) objs.swiper.on('slideChangeTransitionStart', function(){ // 240411 sec_showOverviewDisc(); }); // E (SEC) objs.swiper.init(); } }, setVideo: () => { for (let i = 0; i < els.slides.length; i++) { let isSlide = els.slides[i]; let isVideoWrap = isSlide.querySelector('.common-video'); let isVideo = isSlide.querySelector('.common-video__video'); if (isSlide.querySelector('video')) { objs[`video_${i}`] = ANIUTIL.videoHandler({ playType: 'scrollPlay', wrap: isVideoWrap, video: isVideo, controller: isVideo.controlCta, startPoint: resize.checkResolution().indexOf('mobile') > -1 ? 25 : 35, reversePoint: resize.checkResolution().indexOf('mobile') > -1 ? 75 : 80, playCallback: function () { if (!!!els.progressBar[i].style['animation-duration']) els.progressBar[i].style['animation-duration'] = `${isVideo.duration}s`; els.progressWrap[i].classList.remove(statusClass.progress.pause); if(isVideo.currentTime == 0) els.progressWrap[i].classList.remove(statusClass.progress.active); setTimeout(() => { els.progressWrap[i].classList.add(statusClass.progress.active); }, 20); accessibility.setTagging.pause(isVideo.controlCta); }, pauseCallback: function () { setTimeout(() => { els.progressWrap[i].classList.add(statusClass.progress.pause); }, 100); accessibility.setTagging.play(isVideo.controlCta); }, endCallback: function () { if (!isVideoWrap.classList.contains('is-completed')) isVideoWrap.classList.add('is-completed'); }, resetCallback: function () { setTimeout(() => { els.progressWrap[i].classList.remove(statusClass.progress.pause); els.progressWrap[i].classList.remove(statusClass.progress.active); }, 100); } }); } else { status.imageSlideIndex = i; els.progressBar[i].style['animation-duration'] = '3s'; } } }, setScene: () => { objs.scene = SCROLLER({ trackElement: els.overviewContents, useFixed: false }); }, setNavSwiper: () => { if (objs.navSwiper == null) { objs.navSwiper = new Swiper(els.navigationWrap, { init: false, slidesPerView: 'auto', }); objs.navSwiper.on('init', function () { let notification = this.el.querySelector('.swiper-notification'); this.el.removeChild(notification); }); objs.navSwiper.on('touchMove', swiperEvent.checkScrollEnd); objs.navSwiper.init(); } } }; const bindEvents = () => { objList.setSwiper(); window.addEventListener('scroll', eventList.scroll); els.navigationWrap.addEventListener('click', eventList.onClickNavigation); els.nextArrow.addEventListener('click', swiperEvent.onClickArrow); els.nextArrow.addEventListener('keydown', swiperEvent.onClickArrow); els.prevArrow.addEventListener('click', swiperEvent.onClickArrow); els.prevArrow.addEventListener('keydown', swiperEvent.onClickArrow); swiperEvent.navInitCheck(); for (let i = 0; i < els.featureCtas.length; i++) { els.featureCtas[i].addEventListener('click', eventList.clickFeatureCta); } // tutorial for (let j = 0; j < els.tutorialOpenCtas.length; j++) { els.tutorialOpenCtas[j].addEventListener('click', eventList.clickTutorialOpenCta); } resize.add(eventList.onResize); }; const swiperEvent = { slideChange: () => { let activeIndex = objs.swiper.activeIndex; let currentIndex = objs.swiper.currentIndex; let slideLength = objs.swiper.slides.length; let loadIndex = activeIndex == slideLength - 1 ? 0 : activeIndex; let loadVideoLength = els.section.querySelectorAll(`.${statusClass.video.load}`).length; let allSlideloadComplete = els.videos.length == loadVideoLength; let nextIndex = (objs.swiper.activeIndex < objs.swiper.slides.length - 1) ? (objs.swiper.activeIndex + 1) : 0; if (!allSlideloadComplete && els.videos.length > loadIndex) { if (!els.videos[activeIndex].classList.contains(statusClass.video.complete)) { videoLoader.setResponsiveMedia([els.videos[activeIndex]]); els.videoWrap[activeIndex].classList.add(statusClass.video.load); } if (!els.videos[nextIndex].classList.contains(statusClass.video.complete)) { videoLoader.setResponsiveMedia([els.videos[nextIndex]]); els.videoWrap[nextIndex].classList.add(statusClass.video.load); } } if (currentIndex != activeIndex) { if ((currentIndex != status.imageSlideIndex)) { objs[`video_${currentIndex}`].video.pause(); objs[`video_${currentIndex}`].video.currentTime = 0; } objs[`video_${currentIndex}`].video.removeEventListener('canplay', objs[`video_${currentIndex}`].video.play); if(!!utils.isLowNetwork() || !!status.isPaused) { els.progressWrap[currentIndex].classList.remove(statusClass.progress.active); els.progressWrap[activeIndex].classList.remove(statusClass.progress.pause); } else { if (activeIndex != status.imageSlideIndex) { els.progressWrap[currentIndex].classList.remove(statusClass.progress.active); if (objs[`video_${activeIndex}`] != undefined && objs[`video_${activeIndex}`].video.readyState >= 4) { objs[`video_${activeIndex}`].video.play(); } else { objs[`video_${activeIndex}`].video.addEventListener('canplay', function () { this.play(); }); } } else { els.progressWrap[currentIndex].classList.remove(statusClass.progress.active); els.progressWrap[activeIndex].classList.remove(statusClass.progress.pause); els.progressWrap[activeIndex].classList.add(statusClass.progress.active); } } if (!els.navigationBtn[activeIndex].classList.contains(statusClass.navigation)) { els.navigationBtn[currentIndex].classList.remove(statusClass.navigation); els.navigationBtn[activeIndex].classList.add(statusClass.navigation); accessibility.setTitle(); } if (!els.infoItem[activeIndex].classList.contains(statusClass.info.visible)) { els.infoItem[currentIndex].classList.remove(statusClass.info.visible); els.infoItem[activeIndex].classList.add(statusClass.info.visible); } if (!els.infoItem[activeIndex].classList.contains(statusClass.info.active)) { els.infoItem[currentIndex].classList.remove(statusClass.info.active); els.infoItem[activeIndex].classList.add(statusClass.info.active); } } if (objs.navSwiper != null) swiperEvent.setNavSwiperXvalue(activeIndex); accessibility.slide(); objs.swiper.currentIndex = activeIndex; }, onClickArrow: function (e) { status.arrowTimeout = null; status.arrowStyleTimeout = null; status.accessibilityTimeout = null; if ((e.type == 'keydown' && e.keyCode == 13) || e.type == 'click') { e.preventDefault(); if (objs.swiper.isBeginning && !objs.swiper.isEnd) { els.prevArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.nextArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.prevArrow.style.display = ''; }, 400); } else if (!objs.swiper.isBeginning && objs.swiper.isEnd) { els.nextArrow.style.setProperty('display', 'block', 'important'); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { els.prevArrow.focus(); }, 300); clearTimeout(status.arrowStyleTimeout); status.arrowStyleTimeout = setTimeout(function () { els.nextArrow.style.display = ''; }, 400); } else if(!objs.swiper.isBeginning && !objs.swiper.isEnd) { let target = e.target.classList.contains('swiper-button-next') ? els.nextArrow : els.prevArrow; let noTarget = target.classList.contains('swiper-button-next') ? els.prevArrow : els.nextArrow; objs.swiper.slides[objs.swiper.activeIndex].setAttribute('tabindex', -1); objs.swiper.slides[objs.swiper.activeIndex].setAttribute('aria-hidden', true); noTarget.setAttribute('tabindex', -1); noTarget.setAttribute('aria-hidden', true); clearTimeout(status.arrowTimeout); status.arrowTimeout = setTimeout(function () { target.focus(); }, 300); clearTimeout(status.accessibilityTimeout); status.accessibilityTimeout = setTimeout(function () { objs.swiper.slides[objs.swiper.activeIndex].removeAttribute('tabindex'); objs.swiper.slides[objs.swiper.activeIndex].removeAttribute('aria-hidden'); noTarget.removeAttribute('tabindex'); noTarget.removeAttribute('aria-hidden'); }, 400); } eventList.animationEndDestroy(); } }, navInitCheck: () => { let wrapPadding = parseInt(window.getComputedStyle(els.sectionInner).paddingLeft) * 2; let getComputedStyle = window.getComputedStyle(els.navigationList[0]); let navMargin = !!status.isRtl ? parseInt(getComputedStyle.marginLeft) : parseInt(getComputedStyle.marginRight); let navSlideWidth = els.navigationList[0].clientWidth; let slideWrapWidth = (navSlideWidth * els.navigationList.length) + (navMargin * (els.navigationList.length - 1)); status.navSwiperPadding = (status.navSlideWrapWidth - slideWrapWidth) / 2; let contentsWidth = els.sectionInner.clientWidth - wrapPadding - status.navSwiperPadding; status.isNavInit = (status.currentDevice.indexOf('mobile') > -1 && contentsWidth <= slideWrapWidth) || els.navigationList.length > 4; if(!!status.isNavInit) { objList.setNavSwiper(); } else { swiperEvent.destroy(); } }, setNavSwiperXvalue: (activeIndex) => { if (activeIndex === 0 || activeIndex === 1) { status.xValue = 0; } else if (activeIndex > 1) { if((status.navSwiperPadding * 2) < 0) { status.xValue = (status.navSlideWrapWidth - els.navigationInner.clientWidth) + Math.abs((status.navSwiperPadding * 2)); } else { status.xValue = status.navSlideWrapWidth - els.navigationInner.clientWidth; } } if(!status.isRtl) els.navigationInner.style.transform = `translate3d(-${status.xValue}px, 0px, 0px)`; else els.navigationInner.style.transform = `translate3d(${status.xValue}px, 0px, 0px)`; swiperEvent.checkScrollEnd(); }, checkScrollEnd: () => { if(!status.isRtl) { if(objs.navSwiper.getTranslate() < 0) els.navigationWrap.classList.add('is-scroll-end'); else els.navigationWrap.classList.remove('is-scroll-end'); } else { if(objs.navSwiper.getTranslate() < 0) els.navigationWrap.classList.remove('is-scroll-end'); else els.navigationWrap.classList.add('is-scroll-end'); } }, destroy: () => { if(objs.navSwiper != null) { objs.navSwiper.destroy(true); objs.navSwiper = null; } } } const eventList = { setVideoController: () => { for (let i = 0; i < els.videoControlCta.length; i++) { els.videoControlCta[i].addEventListener('click', function () { let isVideo = this.video; if (isVideo.paused) { status.isPaused = false; isVideo.play(); } else { status.isPaused = true; isVideo.pause(); } }); } }, scroll: () => { objs.scene.trackAnimation(function () { objs[`video_${objs.swiper.activeIndex}`].scrollActive(this.progress); }); }, animationEnd: () => { eventFnc.animationEnd = {}; if(!!utils.isLowNetwork()) return; for (let i = 0; i < els.progressBar.length; i++) { eventFnc.animationEnd[i] = function () { if (objs.swiper.activeIndex == (objs.swiper.slides.length - 1)) { els.progressBar[i].removeEventListener('animationend', eventFnc.animationEnd[i]); } else { setTimeout(() => { objs.swiper.slideNext(500); els.progressBar[i].removeEventListener('animationend', eventFnc.animationEnd[i]); }, 800); } }; els.progressBar[i].addEventListener('animationend', eventFnc.animationEnd[i]); } }, animationEndDestroy: () => { for (let i = 0; i < els.progressBar.length; i++) { els.progressBar[i].removeEventListener('animationend', eventFnc.animationEnd[i]); } }, onClickNavigation: (e) => { if (e.target.classList.contains('swiper-wrapper') || (e.type == 'keydown' && e.keyCode != 13)) return; let oldTarget = els.navigationWrap.querySelector(`.${statusClass.navigation}`); let targetMatches = e.target.matches('.highlights-overview__navigation-button-image img') || e.target.matches('.highlights-overview__navigation-button-text'); if (targetMatches) { currentTarget = e.target.parentWrap; } else if (e.target.classList.contains('highlights-overview__navigation-button')) { currentTarget = e.target.parentElement; } if (!currentTarget.classList.contains(statusClass.navigation)) { oldTarget.classList.remove(statusClass.navigation); currentTarget.classList.add(statusClass.navigation); objs.swiper.slideTo(currentTarget.index, 500, false) } eventList.animationEndDestroy(); accessibility.setTitle(); // 240411 : 함수 추가 (클릭시) sec_showOverviewDisc(); }, clickFeatureCta: (e) => { e.preventDefault(); let target = e.target.matches('.common-cta-encased__text') ? e.target.parentElement : e.target; let sectionId = target.getAttribute('href'); let section; if (sectionId == '#transcript-assist') { section = document.querySelector('.highlights-live-translate'); let layerPopup = document.querySelector(sectionId); let sectionTop = section.getBoundingClientRect().top; let movePosition = (sectionTop + window.pageYOffset) - utils.getNavHeight(); window.scrollTo(0, movePosition); setTimeout(() => { layerPopup.show(); }, 300); } else { section = document.querySelector(sectionId); let sectionTop = section.getBoundingClientRect().top; let movePosition = (sectionTop + window.pageYOffset) - utils.getNavHeight(); let title = section.querySelector('h2.common-sub-headline'); let clickable = section.querySelectorAll('a, button'); 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); } }, onResize: function (currRes) { status.currentDevice = currRes; status.navSlideWrapWidth = els.navigationWrap.clientWidth; swiperEvent.navInitCheck(); }, clickTutorialOpenCta: function () { let hash = this.getAttribute('data-hash'); let tutorialPopup = document.querySelector(`#${hash}`); let tutorialPopupList = document.querySelectorAll('.common-tutorial'); if (tutorialPopup) { tutorialPopup.show(); for (let i = 0; i < tutorialPopupList.length; i++) { tutorialPopupList[i].isOverview = true; tutorialPopupList[i].overviewCta = this; } } }, }; const accessibility = { slide: () => { for (let i = 0; i < objs.swiper.slides.length; i++) { if (i != objs.swiper.activeIndex) { utils.onAccessibility(objs.swiper.slides[i]); } else { utils.offAccessibility(objs.swiper.slides[i]); } } }, setTitle: () => { for (let i = 0; i < els.navigationBtn.length; i++) { let button = els.navigationBtn[i].querySelector('button'); button.removeAttribute('title'); if (i == objs.swiper.activeIndex) { if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { button.setAttribute('title', LOCAL_VARI.selected); } else { button.setAttribute('title', 'Selected'); } } } }, 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 = window.flagship || {}; window.flagship.highlights = window.flagship.highlights || {}; window.flagship.highlights.quote = (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('.highlights-media-quote'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.swiper = null; els.itemArray = []; els.quoteWrap = els.section.querySelector('.highlights-media-quote__inner'); els.quoteContainer = els.section.querySelector('.highlights-media-quote__list-wrap'); els.quoteList = els.section.querySelector('.highlights-media-quote__list'); els.quoteListItems = els.quoteList.querySelectorAll('.highlights-media-quote__item'); els.arrowWrap = els.section.querySelector('.highlights-media-quote__arrow'); els.prevArrow = els.section.querySelector('.swiper-button-prev'); els.nextArrow = els.section.querySelector('.swiper-button-next'); els.quotePagination = els.section.querySelector('.highlights-media-quote__pagination'); }; const bindEvents = function () { window.addEventListener('DOMContentLoaded', onLodeHandler, {once : true}); resize.add(onResizeHandler); els.nextArrow.addEventListener('click', swiperEvents.onClickArrow); els.nextArrow.addEventListener('keydown', swiperEvents.onClickArrow); els.prevArrow.addEventListener('click', swiperEvents.onClickArrow); els.prevArrow.addEventListener('keydown', swiperEvents.onClickArrow); }; const onLodeHandler = function () { onResponsiveChange(); }; const onResizeHandler = function (currRes) { currDevice = currRes; if (currDevice != prevDevice) { onResponsiveChange(); prevDevice = currDevice; } }; const onResponsiveChange = function () { if (currDevice.indexOf('mobile') > -1) { setSwiper(); } else { swiperEvents.destroy(); } }; const setSwiper = function () { if (els.swiper === null) { els.quoteWrap.classList.add('js-swiper-initialized'); els.swiper = new Swiper(els.quoteContainer, { init: false, slidesPerView: 'auto', centeredSlides: true, navigation: { nextEl: els.nextArrow, prevEl: els.prevArrow, }, pagination: { el: els.quotePagination, type: 'bullets', renderBullet: function () { return '
    • '; } } }); els.swiper.on('init', swiperEvents.init); els.swiper.on('slideChange', swiperEvents.slideChange); els.swiper.init(); } }; const swiperEvents = { init: function () { let self = this, notification = self.el.querySelector('.swiper-notification'); if (!!notification) self.el.removeChild(notification); setAccessibility.slide(); setAccessibility.arrow(); setPaginationTagging.call(self); setPaginationLabel.call(self); for (let i = 0; i < self.pagination.bullets.length; i++) { (function (idx) { self.pagination.bullets[i].addEventListener('click', function () { self.slideTo(idx); }); })(i); } }, slideChange : function () { setAccessibility.slide(); setAccessibility.arrow(); setPaginationLabel.call(this); }, onClickArrow: function (e) { if ((e.type == 'keydown' && e.keyCode == 13) || (e.type == 'click' && document.documentElement.classList.contains('isTouchDevice'))) { e.preventDefault(); clearTimeout(els.arrowTimeout); els.arrowTimeout = setTimeout(function () { if (els.swiper.isBeginning && !els.swiper.isEnd) { els.nextArrow.focus(); } else if (!els.swiper.isBeginning && els.swiper.isEnd) { els.prevArrow.focus(); } }, 300); } }, destroy : function () { if (els.swiper != null) { els.quoteWrap.classList.remove('js-swiper-initialized'); els.swiper.pagination.destroy(true); els.swiper.navigation.destroy(true); els.swiper.destroy(true); els.swiper = null; } }, }; const setPaginationTagging = function () { let bullets = Array.prototype.slice.call(this.pagination.bullets), paginationTagging = { 'data-omni-type': 'microsite_contentinter', 'data-omni': 'galaxy-s24:highlights:overview:media-quote:index:', 'ga-ca': 'indication', 'ga-ac': 'carousel', 'ga-la': 'galaxy-s24:highlights:overview:media-quote:index:', }; bullets.forEach(function (ele, idx) { Object.keys(paginationTagging).forEach(function (key) { if (key == 'data-omni' || key == 'ga-la') { ele.setAttribute(key, paginationTagging[key] + (idx + 1)); } else { ele.setAttribute(key, paginationTagging[key]); } }); }); }; const setPaginationLabel = function () { let self = this, slides = Array.prototype.slice.call(this.slides), bullets = Array.prototype.slice.call(this.pagination.bullets); bullets.forEach(function (bullet, bulletIndex) { let ariaLabelText = slides[bulletIndex].querySelector('.highlights-media-quote__media').innerText; if (self.realIndex == bulletIndex) { bullet.setAttribute('aria-label', ariaLabelText + ' Selected'); } else { bullet.setAttribute('aria-label', ariaLabelText); } }); }; const setAccessibility = { slide: function () { for (let i = 0; i < els.swiper.slides.length; i++) { if (i != els.swiper.snapIndex) { utils.onAccessibility(els.swiper.slides[i]); } else { utils.offAccessibility(els.swiper.slides[i]); } } }, arrow: function () { if (els.swiper.isBeginning && !els.swiper.isEnd) { utils.offAccessibility(els.nextArrow); utils.onAccessibility(els.prevArrow); } else if (!els.swiper.isBeginning && els.swiper.isEnd) { utils.offAccessibility(els.prevArrow); utils.onAccessibility(els.nextArrow); } else { utils.offAccessibility(els.nextArrow); utils.offAccessibility(els.prevArrow); } } }; return { init: init, } })();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.resolutionPopup = (function () { const utils = window.flagship.common.utils; const common = window.flagship.highlights.common; let els = {}; let objs = {}; let status = {}; const init = function () { els.section = document.querySelector('.highlights-resolution'); els.layerPopup = document.querySelector('.highlights-resolution-popup'); if (!!els.layerPopup) { setElements(); setStatus(); setPopup(); bindEvents(); } }; const setElements = function () { status.isGlobal = document.documentElement.classList.contains('global'); els.contents = document.querySelector('#contents'); els.openCta = els.section.querySelector('.js-layer-popup'); els.innerWrap = els.layerPopup.querySelector('.common-popup__inner-wrapper'); els.closeCtas = els.layerPopup.querySelectorAll('.common-popup__close-cta'); els.dimmed = els.layerPopup.querySelector('.common-popup__dimmed'); els.supClicker = els.layerPopup.querySelectorAll('a.click_sup'); els.hashPopupOpener = null; }; const setStatus = function () { status.isHash = false; }; const bindEvents = function () { for (let i = 0; i < els.supClicker.length; i++) { els.supClicker[i].addEventListener('click', onClickSup); } }; const setPopup = function () { utils.layerPopup({ layerPopup: els.layerPopup, layerPopupClass: '.highlights-resolution-popup', openerEvent: { element: els.openCta, }, closeCtas: [els.closeCtas[0], els.closeCtas[1]], dimmed: els.dimmed, moveTarget: document.documentElement, contents: els.contents, show: { start: function (target) { els.innerWrap.scrollTop = 0; els.layerPopup.classList.add('is-init'); target.openerCta.blur(); setPopupLazyLoader.image(); if (`#${els.openCta.getAttribute('data-hash')}` == window.location.hash) { status.isHash = true; els.hashPopupOpener = els.openCta; } }, end: function () { if (utils.detector.isIosDevice) els.layerPopup.style.display = 'block'; els.layerPopup.classList.add('is-open'); } }, hide: { start: function (target) { target.openerCta.focus(); els.layerPopup.classList.remove('is-open'); }, end: function () { setTimeout(function () { els.layerPopup.classList.remove('is-init'); }, 300); if (status.isHash && els.hashPopupOpener) { els.hashPopupOpener.focus(); setTimeout(function () { els.hashPopupOpener.focus(); status.isHash = false; els.hashPopupOpener = null; }, 300); } } } }); }; const setPopupLazyLoader = { image: function () { objs.imageLoader = ANIUTIL.mediaLoader({ lazyClass: '.js-resolution-popup-img-src', responsiveClass: '.js-resolution-popup-res-img', preset: status.isGlobal ? '' : '?imbypass=true', innerScroll: { use: true, wrap: els.layerPopup, }, 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.popupBgLoader = ANIUTIL.mediaLoader({ type: 'bgImage', lazyClass: '.js-resolution-popup-bg-img', innerScroll: { use: true, wrap: els.layerPopup, }, loadOption: [{ resolution: 1920, attribute: '', bgOpts: '' }], visiblePoint: 1 }); }, }; const onClickSup = function (e) { e.preventDefault(); e.stopPropagation(); els.layerPopup.hide(); let targetIndex = parseFloat(e.target.innerText), disclaimer = document.querySelectorAll('#desc-section li')[targetIndex - 1], disclaimerText = disclaimer.innerText, activeBlock = '' + disclaimerText + ''; setTimeout(() => { disclaimer.innerHTML = activeBlock; disclaimer.querySelector('a').focus(); }, 500); const eventList = { focusIn: function () { common.centeredFocus.call(disclaimer.querySelector('a')); disclaimer.removeEventListener('focusin', eventList.focusIn); }, focusOut: function () { disclaimer.innerHTML = disclaimerText; disclaimer.removeAttribute('tabindex'); disclaimer.removeEventListener('focusout', eventList.focusOut); }, }; disclaimer.addEventListener('focusin', eventList.focusIn); disclaimer.addEventListener('focusout', eventList.focusOut); }; return { init: init, }})();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.tutorial = (function () { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; const common = window.flagship.highlights.common; const tutorialPopup = window.flagship.highlights.tutorialPopup; let objs = {}; let status = {}; let commonEls = {}; let isDevice = resize.checkResolution(); status.isGlobal = document.documentElement.classList.contains('global'); let sectionList = document.querySelectorAll('#generative-edit, #circle-to-search, #live-translate, #chat-assist'); let layerPopup = document.querySelectorAll('#generative-edit-experience, #circle-to-search-experience, #live-translate-experience, #chat-assist-experience'); let popupClassList = [ '.highlights-generative-edit-tutorial', '.highlights-circle-to-search-tutorial', '.highlights-live-translate-tutorial', '.highlights-chat-assist-tutorial' ] let statusClass = { isVisible: 'is-visible', isTutorialOpend: 'is-tutorial-opened', isTutorialOpenedMo: 'is-tutorial-opened-mo', isInfoOpen: 'is-info-open', isInfoVisible: 'is-info-visible', isTutorialEnd: 'is-tutorial-end', isActive: 'is-active', isBgLoadComplete: 'is-bg-load-complete', isCompleted: 'is-completed', isOpen: 'is-open', } const init = function () { status.isHash = false; status.isIos = utils.detector.isIosDevice; status.overview = {}; commonEls.globalSubNav = document.querySelector('#subnav'); commonEls.globalContents = document.querySelector('#contents'); commonEls.dotcomContents = document.querySelector('.pd-g-floating-nav'); commonEls.overview = document.querySelector('.highlights-overview'); commonEls.gnb = document.querySelector('.nv00-gnb'); commonEls.tooltipWrap = document.querySelectorAll('.js-tutorial-tooltip'); if (status.isGlobal) { commonEls.contentsChildren = document.querySelector('#contents').children; commonEls.commonUi = document.querySelectorAll('#accessibility-navigation, #header, #footer'); } else { commonEls.wrapChildren = document.querySelector('#wrap').children; commonEls.contentChildren = document.querySelector('#container').children; commonEls.rootChildren = document.querySelector('#container').children; commonEls.flotingNavi = document.querySelector('.pd-g-floating-nav'); // commonEls.flotingNavi = document.querySelector('.component-bar-inner'); } for (let i = 0; i < sectionList.length; i++) { let opts = { section: sectionList[i], layerPopup: layerPopup[i], popupClass: popupClassList[i], openCta: sectionList[i].querySelector('.js-tutorial-popup'), closeCta: layerPopup[i].querySelector('.common-tutorial__close-cta--popup'), moCloseCta: layerPopup[i].querySelector('.common-tutorial__close-cta--video'), } els = getElements(opts); tooltipAccessibility(); setPopup(opts, els); bindEvents(els, i); } }; const getElements = function (opts) { let els = {}; els.openCta = opts.section.querySelector('.js-tutorial-popup'); els.layerPopup = opts.layerPopup; els.innerWrapper = opts.layerPopup.querySelector('.common-tutorial__inner-wrapper'); els.innerWrap = opts.layerPopup.querySelector('.common-tutorial__inner-wrap'); els.textWrap = opts.layerPopup.querySelector('.common-tutorial__text'); els.closeCta = opts.layerPopup.querySelector('.common-tutorial__close-cta--popup'); els.moCloseCta = opts.moCloseCta; els.infoPopup = opts.layerPopup.querySelector('.common-tutorial__info-area'); els.videoContent = opts.layerPopup.querySelector('.common-tutorial__video-content'); els.introVideoSection = opts.layerPopup.querySelector('.common-tutorial__intro-video'); els.introVideoWrap = opts.layerPopup.querySelector('.common-tutorial__intro-video .common-video'); els.introVideo = opts.layerPopup.querySelector('.common-tutorial__intro-video video'); els.introCoverImage = opts.layerPopup.querySelector('.common-tutorial__intro-video .common-video__cover-image'); if (opts.layerPopup.classList.contains('highlights-live-translate-tutorial')) { els.introCta = opts.layerPopup.querySelector('.common-tutorial__intro-video .js-tutorial-tooltip-cta'); } els.tutorialContents = opts.layerPopup.querySelector('.common-tutorial__video-content'); els.tutorialVideoContainer = opts.layerPopup.querySelector('.common-tutorial__main-video'); els.tutorialVideoWrap = opts.layerPopup.querySelectorAll('.common-tutorial__main-video .common-tutorial__video'); els.tutorialVideos = opts.layerPopup.querySelectorAll('.common-tutorial__main-video .common-tutorial__video video'); els.tutorialCoverImages = opts.layerPopup.querySelectorAll('.common-tutorial__main-video .common-video__cover-image'); els.tutorialActiveCta = opts.layerPopup.querySelector('.common-tutorial__cta--play button'); els.tutorialDeactiveCta = opts.layerPopup.querySelector('.common-tutorial__cta--pause button'); els.tutorialTooltip = opts.layerPopup.querySelectorAll('.common-tutorial__main-video .js-tutorial-tooltip'); els.tutorialAlert = opts.layerPopup.querySelectorAll('.common-tutorial__main-video .js-tutorial-alert'); els.generativeCta = opts.layerPopup.querySelector('.js-tutorial-generative-cta'); els.tutorialFrame = opts.layerPopup.querySelector('.common-tutorial__main-video.common-video__frame'); els.tutorialReplay = opts.layerPopup.querySelector('.common-tutorial__replay-cta'); els.tutorialNavigation = opts.layerPopup.querySelector('.common-tutorial__navigation'); els.navPrev = els.tutorialNavigation.querySelector('.common-tutorial__navigation-button--prev'); els.navNext = els.tutorialNavigation.querySelector('.common-tutorial__navigation-button--next'); els.tutorialPagination = opts.layerPopup.querySelector('.common-tutorial__pagination-area'); els.supClicker = opts.layerPopup.querySelectorAll('a.click_sup'); els.layerPopup.opener = els.openCta; els.layerPopup.targetOpener = opts.openCta; return els; }; const setProperty = function(els){ els.introVideoWrap.video = els.introVideo; els.introVideoWrap.controller = els.introVideoWrap.querySelector('.common-video__control'); els.introVideoWrap.controller.video = els.introVideo; }; const tooltipAccessibility = function() { for (let i = 0; i < commonEls.tooltipWrap.length; i++) { utils.onAccessibility(commonEls.tooltipWrap[i]); } }; const eventList = { common: { setMobileVideoWidth: function(els){ if (els.layerPopup.classList.contains('is-open') && resize.checkResolution().indexOf('mobile') > -1) { let containerWidth = window.innerWidth; let containerHeight = window.innerHeight; if (!status.isIos) { let videoHeight = Math.floor(containerWidth * 2.1666); if (videoHeight > containerHeight) { els.tutorialVideoContainer.style.width = `${Math.floor(containerHeight * 0.4615)}px`; els.tutorialVideoContainer.style.height = `${containerHeight}px`; } else { els.tutorialVideoContainer.style.width = ''; els.tutorialVideoContainer.style.height = `${videoHeight}px`; } } else { els.tutorialVideoContainer.style.width = `${Math.floor(containerHeight * 0.4615)}px`; } } else if (resize.checkResolution() != 'mobile' && els.tutorialVideoContainer.style.height) { if (!status.isIos) { els.tutorialVideoContainer.style.width = ''; els.tutorialVideoContainer.style.height = ''; } else { els.tutorialVideoContainer.style.width = ''; } } }, }, resize: { position: function(els) { if (els.layerPopup.classList.contains('is-open')) { if (isDevice.indexOf('desktop') > -1 && resize.checkResolution().indexOf('desktop') > -1) { let isHash = location.hash; if (!status.isGlobal && window.pageYOffset == 0 && !!isHash) { eventList.popup.setPopupPosition(els.layerPopup); } } if (isDevice != resize.checkResolution()) { eventList.popup.setPopupPosition(els.layerPopup); eventList.tutorial.deactive(els); eventList.tutorial.reset(els); isDevice = resize.checkResolution(); } } }, }, tutorial: { videoContentReset: function(els){ els.videoContent.classList.remove(statusClass.isInfoOpen); els.videoContent.classList.remove(statusClass.isInfoVisible); els.videoContent.classList.add(statusClass.isTutorialOpend); }, reset: function(els) { if (els.generativeCta) { els.generativeCta.classList.remove(statusClass.isVisible, statusClass.isTutorialEnd); els.generativeCta.parentElement.classList.remove(statusClass.isVisible); } els.tutorialActiveCta.parentElement.classList.add(statusClass.isActive); els.tutorialDeactiveCta.parentElement.classList.remove(statusClass.isActive); els.tutorialContents.classList.remove(statusClass.isInfoOpen); els.videoContent.classList.remove(statusClass.isInfoVisible); els.tutorialContents.classList.remove(statusClass.isTutorialOpend); if (resize.checkResolution().indexOf('mobile') > -1) { els.layerPopup.classList.remove(statusClass.isTutorialOpenedMo); } for (let i = 0; i < els.tutorialVideoWrap.length; i++) { if (els.tutorialVideoWrap[i]) els.tutorialVideoWrap[i].classList.remove(statusClass.isVisible); if (els.tutorialVideos[i]) { if (!els.tutorialVideos[i].paused) { els.tutorialVideos[i].pause(); } els.tutorialVideos[i].currentTime = 0; } let isComplete = els.tutorialVideoWrap[i].querySelector(`.${statusClass.isCompleted}`); if (isComplete) els.tutorialVideos[i].videoHandler.resetCallback(); if (els.tutorialTooltip[i]) els.tutorialTooltip[i].classList.remove(statusClass.isVisible); if (els.tutorialAlert[i]) els.tutorialAlert[i].classList.remove(statusClass.isVisible); clearTimeout(status.infoRemoveTiming); } if (!!els.introCta) { els.introCta.parentElement.classList.remove(statusClass.isVisible); } els.tutorialReplay.style.display = ''; if (!els.tutorialReplay.hasAttribute('tabindex')) els.tutorialReplay.setAttribute('tabindex', -1); if (!els.tutorialReplay.hasAttribute('aria-hidden')) els.tutorialReplay.setAttribute('aria-hidden', true); }, videoVisible: function(els) { if (!els.introVideo.paused) { els.introVideo.pause(); } els.videoContent.classList.add(statusClass.isInfoOpen); setTimeout(() => { els.videoContent.classList.add(statusClass.isInfoVisible); }, 0); els.tutorialVideoWrap[0].classList.add(statusClass.isVisible); }, imageLoad: function(els){ if (!els.tutorialFrame.classList.contains(statusClass.isBgLoadComplete)) { els.tutorialFrame.classList.add(statusClass.isBgLoadComplete); } if (!els.tutorialDeactiveCta.classList.contains(statusClass.isBgLoadComplete)) { els.tutorialDeactiveCta.classList.add(statusClass.isBgLoadComplete); } }, setActiveCta: function(els) { els.tutorialActiveCta.parentElement.classList.remove(statusClass.isActive); els.tutorialDeactiveCta.parentElement.classList.add(statusClass.isActive); if (resize.checkResolution().indexOf('mobile') > -1) { els.layerPopup.classList.add(statusClass.isTutorialOpenedMo); } }, activeInfo: function(els) { let self = this; clearTimeout(status.infoRemoveTiming); status.infoRemoveTiming = setTimeout(() => { self.videoContentReset(els); els.tutorialVideos[0].play(); utils.offAccessibility(els.tutorialVideoWrap[0]); if (resize.checkResolution().indexOf('mobile') > -1) { els.layerPopup.classList.add(statusClass.isTutorialOpenedMo); } if (els.tutorialVideos[1].readyState < 4) { imageLoader.setResponsiveMedia([els.tutorialCoverImages[1]]); videoLoader.setResponsiveMedia([els.tutorialVideos[1]]); } els.tutorialVideos[0].focus(); status.infoRemoveTiming = null; }, 3000); }, active: function (els) { this.onAccessibility(els); if (resize.checkResolution().indexOf('mobile') > -1 && !status.isIos) { document.documentElement.requestFullscreen(); } if (resize.checkResolution().indexOf('mobile') > -1) { setTimeout(function () { els.moCloseCta.focus(); }, 300); } else { setTimeout(function () { els.tutorialDeactiveCta.focus(); }, 300); } status.infoRemoveTiming = null; this.videoVisible(els); this.imageLoad(els); this.setActiveCta(els); this.activeInfo(els); }, videoReset: function(els) { els.introVideo.currentTime = 0; els.introVideo.play(); for (let i = 0; i < els.tutorialVideoWrap.length; i++) { els.tutorialVideoWrap[i].classList.remove(statusClass.isVisible); if (!els.tutorialVideos[i].paused) { els.tutorialVideos[i].pause(); els.tutorialVideos[i].currentTime = 0; } } }, ctaReset: function(els) { els.tutorialDeactiveCta.parentElement.classList.remove(statusClass.isActive); els.tutorialActiveCta.parentElement.classList.add(statusClass.isActive); if (resize.checkResolution().indexOf('mobile') == -1) { els.layerPopup.classList.remove(statusClass.isTutorialOpenedMo); } if (!!els.introCta) { els.introCta.parentElement.classList.remove(statusClass.isVisible); } }, deactive: function(els) { els.videoContent.classList.remove(statusClass.isInfoOpen, statusClass.isInfoVisible, statusClass.isTutorialOpend); this.offAccessibility(els); if (resize.checkResolution().indexOf('mobile') > -1 && !status.isIos) { document.exitFullscreen(); } setTimeout(function () { els.tutorialActiveCta.focus(); }, 300); this.videoReset(els) this.ctaReset(els); for (let i = 0; i < els.tutorialVideoWrap.length; i++) { utils.onAccessibility(els.tutorialVideoWrap[i]); } }, onAccessibility: function(els) { if (resize.checkResolution().indexOf('mobile') > -1) { utils.onPopupAccessibility(els.textWrap); } utils.onPopupAccessibility(els.introVideoSection); // if (!status.isGlobal) { // utils.onPopupAccessibility(commonEls.flotingNavi); // } else { // utils.onPopupAccessibility(commonEls.globalSubNav); // } }, offAccessibility: function(els) { if (resize.checkResolution().indexOf('mobile') > -1) { utils.offPopupAccessibility(els.textWrap); } utils.offPopupAccessibility(els.introVideoSection); // if (!status.isGlobal) { // utils.offPopupAccessibility(commonEls.flotingNavi); // } else { // utils.offPopupAccessibility(commonEls.globalSubNav); // } } }, popup: { setOverviewStatus: function(opts) { if (opts.openCta.parentElement.getAttribute('class').indexOf('__tutorial-cta') > -1) { let isOverviewVideo = commonEls.overview.querySelector('.swiper-slide-active video'); if (!isOverviewVideo.paused) { status.overview = { video: isOverviewVideo, paused: true } isOverviewVideo.pause(); } } }, mediaLoad: function(els) { if (!els.tutorialActiveCta.classList.contains(statusClass.isBgLoadComplete)) { els.tutorialActiveCta.classList.add(statusClass.isBgLoadComplete); } if (els.introVideo.readyState < 4) { imageLoader.setResponsiveMedia([els.introCoverImage]); videoLoader.setResponsiveMedia([els.introVideo]); } if (!els.navPrev.classList.contains(statusClass.isBgLoadComplete)) { els.navPrev.classList.add(statusClass.isBgLoadComplete); } if (!els.navNext.classList.contains(statusClass.isBgLoadComplete)) { els.navNext.classList.add(statusClass.isBgLoadComplete); } }, playIntroVideo: function(els) { if (els.introVideo.readyState >= 4) { els.introVideo.currentTime = 0; els.introVideo.play(); } else { els.introVideo.addEventListener('loadeddata', function(){ this.play(); }); } }, tutorialIntroImgLoad: function(els) { if (!!els.introCoverImage && !els.introCoverImage.classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([els.introCoverImage]); } }, tutorialMediaLoad: function(els) { if (els.tutorialVideos[0].readyState < 4) { imageLoader.setResponsiveMedia([els.tutorialCoverImages[0]]); videoLoader.setResponsiveMedia([els.tutorialVideos[0]]); } if (!els.tutorialReplay.classList.contains(statusClass.isBgLoadComplete)) { els.tutorialReplay.classList.add(statusClass.isBgLoadComplete) } }, setPopupPosition: function(layerPopup) { let isHash = location.hash; let dotcomGnbHeight = 0; if (!status.isGlobal && window.pageYOffset == 0 && !!isHash) { dotcomGnbHeight = document.querySelector('.nv00-gnb').clientHeight; layerPopup.style.top = `${utils.getNavHeight() + dotcomGnbHeight}px`; } else { layerPopup.style.top = `${utils.getNavHeight()}px`; } }, setUiEls: function(opts, els, target) { if (commonEls.globalSubNav) commonEls.globalSubNav.style.opacity = 1; opts.layerPopup.classList.add('is-init'); target.openerCta.blur(); if (`#${els.openCta.getAttribute('data-hash')}` == window.location.hash) { let oldOpenPopup = document.querySelector('.common-tutorial.is-open'); if (!!oldOpenPopup) { let oldOpenPopupId = oldOpenPopup.getAttribute('id'); if (`#${oldOpenPopupId}` != window.location.hash) { document.querySelector(`#${oldOpenPopupId}`).hide(); } } status.isHash = true; if (!status.isGlobal) commonEls.gnb.style.display = 'none'; } if (!!els.introCta) { els.introVideo.addEventListener('ended', function () { els.introCta.parentElement.classList.add(statusClass.isVisible); }); } }, playOverview: function() { if (status.overview.paused) { status.overview.video.play(); status.overview.paused = false; } }, setSubnavi: function(opts) { if (commonEls.globalSubNav) commonEls.globalSubNav.style.opacity = .9; opts.layerPopup.classList.remove('is-init'); }, focusHandler: function(opts, els) { let isHash = status.isHash && els.layerPopup.targetOpener; let isOverview = els.layerPopup.isOverview; let isController = els.layerPopup.isController; if (isHash || !!isController && !!!isOverview) { els.layerPopup.targetOpener.focus(); els.layerPopup.targetOpener.blur(); setTimeout(function () { els.layerPopup.targetOpener.focus(); if (isHash) { status.isHash = false; history.pushState('', document.title, window.location.pathname); if (!status.isGlobal) commonEls.gnb.style.display = ''; } if (!!isController) isController = false; }, 300); } if (!!isOverview) { opts.layerPopup.overviewCta.focus(); opts.layerPopup.overviewCta.blur(); setTimeout(function () { if (!document.querySelector('.common-tutorial.is-open')) { opts.layerPopup.overviewCta.focus(); for (let i = 0; i < layerPopup.length; i++) { layerPopup[i].isOverview = false; layerPopup[i].overviewCta = null; } } }, 300); } }, onAccessibilityGlobal: function(els) { for (let i = 0; i < commonEls.contentsChildren.length; i++) { let isId = commonEls.contentsChildren[i].getAttribute('id'); if ((isId != null && isId.indexOf('experience') == -1 && isId.indexOf('subnav') == -1) || isId == null) { utils.onPopupAccessibility(commonEls.contentsChildren[i]); } } for (let i = 0; i < commonEls.commonUi.length; i++) { utils.onPopupAccessibility(commonEls.commonUi[i]); } }, offAccessibilityGlobal: function(els) { for (let i = 0; i < commonEls.contentsChildren.length; i++) { let isId = commonEls.contentsChildren[i].getAttribute('id'); if ((isId != null && isId.indexOf('experience') == -1 && isId.indexOf('subnav') == -1) || isId == null) { utils.offPopupAccessibility(commonEls.contentsChildren[i]); } } for (let i = 0; i < commonEls.commonUi.length; i++) { utils.offPopupAccessibility(commonEls.commonUi[i]); } }, onAccessibilityDotom: function(els) { for (let i = 0; i < commonEls.wrapChildren.length; i++) { let isId = commonEls.wrapChildren[i].getAttribute('id'); if ((isId != null && isId.indexOf('content') == -1) || isId == null) { utils.onPopupAccessibility(commonEls.wrapChildren[i]); } } for (let i = 0; i < commonEls.contentChildren.length; i++) { let isClass = commonEls.contentChildren[i].getAttribute('class'); if ((isClass != null && isClass.indexOf('root') == -1) || isClass == null) { utils.onPopupAccessibility(commonEls.contentChildren[i]); } } for (let i = 0; i < commonEls.rootChildren.length; i++) { let isClass = commonEls.rootChildren[i].getAttribute('class'); if ((isClass != null && isClass.indexOf('pd-g-floating-nav') == -1) || isClass == null) { utils.onPopupAccessibility(commonEls.rootChildren[i]); } } }, offAccessibilityDotcom: function(els) { for (let i = 0; i < commonEls.wrapChildren.length; i++) { utils.offPopupAccessibility(commonEls.wrapChildren[i]); } for (let i = 0; i < commonEls.contentChildren.length; i++) { utils.offPopupAccessibility(commonEls.contentChildren[i]); } for (let i = 0; i < commonEls.rootChildren.length; i++) { utils.offPopupAccessibility(commonEls.rootChildren[i]); } }, onAccessibility: function(els) { if (status.isGlobal) { this.onAccessibilityGlobal(els); } else { this.onAccessibilityDotom(els); } }, offAccessibility: function(els) { if (status.isGlobal) { this.offAccessibilityGlobal(els); } else { this.offAccessibilityDotcom(els); } } } } const eventHandler = { resize: function(els){ window.addEventListener('resize', function() { eventList.resize.position(els); eventList.common.setMobileVideoWidth(els); }); }, infoPopupDeactive: function(els) { els.infoPopup.addEventListener('click', function(){ eventList.tutorial.videoContentReset(els); clearTimeout(status.infoRemoveTiming); els.tutorialVideos[0].play(); if (resize.checkResolution().indexOf('mobile') > -1) { els.layerPopup.classList.add(statusClass.isTutorialOpenedMo); } if (els.tutorialVideos[1].readyState < 4) { imageLoader.setResponsiveMedia([els.tutorialCoverImages[1]]); videoLoader.setResponsiveMedia([els.tutorialVideos[1]]); } status.infoRemoveTiming = null; }); }, tutorialActiveEvent: function (els) { if (!!els.introCta) { els.introCta.addEventListener('click', function(){ eventList.tutorial.active(els); }); } els.tutorialActiveCta.addEventListener('click', function(){ this.parentElement.classList.remove(statusClass.isActive); eventList.tutorial.active(els); }); }, tutorialDeactiveEvent: function(els) { els.tutorialDeactiveCta.addEventListener('click', function(){ eventList.tutorial.deactive(els); eventList.tutorial.reset(els); }); }, reStartTutorial: function(els) { els.tutorialReplay.addEventListener('click', function(){ this.style.display = ''; eventList.tutorial.reset(els); eventList.tutorial.active(els); utils.onAccessibility(els.tutorialVideoWrap[els.tutorialVideoWrap.length - 1]); }); }, videoController: function (index) { objs[`introVideo_${index}`].controller.addEventListener('click', function () { if (this.video.paused) { this.video.play(); } else { this.video.pause(); } }); }, onClickMoCloseCta: function (els) { els.moCloseCta.addEventListener('click', function () { eventList.tutorial.deactive(els); eventList.tutorial.reset(els); }); }, onClickController: function (els) { els.tutorialNavigation.addEventListener('click', function (e) { let isNaviBtn = e.target.classList.contains('common-tutorial__navigation-button'); if (isNaviBtn) { _controllEvent(e.target); } }); els.tutorialPagination.addEventListener('click', function (e) { let isPaginationBtn = e.target.classList.contains('common-tutorial__pagination'); if (isPaginationBtn) { let currOpenPopupId = document.querySelector('.common-tutorial.is-open').getAttribute('id'); let targetId = e.target.getAttribute('data-hash'); if (targetId != currOpenPopupId) { _controllEvent(e.target); } } }); const _controllEvent = function (target) { let targetPopupId = target.getAttribute('data-hash'); document.querySelector('.common-tutorial.is-open').hide(); document.querySelector(`#${targetPopupId}`).show(); eventList.tutorial.reset(els); document.querySelector(`#${targetPopupId}`).isController = true; }; }, tutorialintroImgLoad: function (els) { window.addEventListener('scroll', function () { if (this.pageYOffset > 0) { eventList.popup.tutorialIntroImgLoad(els); } }) }, moveToTutorialPopup: function (els) { window.addEventListener('DOMContentLoaded', function () { if (!status.isGlobal) { document.body.prepend(els.layerPopup); } else { document.querySelector('#contents').prepend(els.layerPopup); } }); }, onClickSup: function (els) { for (let i = 0; i < els.supClicker.length; i++) { els.supClicker[i].addEventListener('click', function (e) { e.preventDefault(); e.stopPropagation(); let targetIndex = parseFloat(e.target.innerText), disclaimer = document.querySelectorAll('#desc-section li')[targetIndex - 1], disclaimerText = disclaimer.innerText, activeBlock = '' + disclaimerText + ''; els.layerPopup.hide(); setTimeout(() => { disclaimer.innerHTML = activeBlock; disclaimer.querySelector('a').focus(); }, 500); const eventList = { focusIn: function () { common.centeredFocus.call(disclaimer.querySelector('a')); disclaimer.removeEventListener('focusin', eventList.focusIn); }, focusOut: function () { disclaimer.innerHTML = disclaimerText; disclaimer.removeAttribute('tabindex'); disclaimer.removeEventListener('focusout', eventList.focusOut); }, }; disclaimer.addEventListener('focusin', eventList.focusIn); disclaimer.addEventListener('focusout', eventList.focusOut); }); } } } const setIntroVideo = function (el, index) { objs[`introVideo_${index}`] = ANIUTIL.videoHandler({ wrap: el, video: el.video, controller: el.controller, playCallback: function () { if (el.classList.contains(statusClass.isCompleted)) el.classList.remove(statusClass.isCompleted); setTagging.pause(el.controller); }, pauseCallback: function () { setTagging.play(el.controller); }, endCallback: function () { if (!el.classList.contains(statusClass.isCompleted)) el.classList.add(statusClass.isCompleted); } }); }; const setPopup = function (opts, els) { tutorialPopup({ tutorialPopup: opts.layerPopup, tutorialPopupClass: opts.popupClass, openerEvent: { element: opts.openCta, }, closeCtas: [opts.closeCta], show: { start: function (target) { eventList.popup.setOverviewStatus(opts); eventList.popup.mediaLoad(els); eventList.popup.playIntroVideo(els); eventList.popup.tutorialMediaLoad(els); eventList.popup.setPopupPosition(opts.layerPopup); eventList.popup.setUiEls(opts, els, target); eventList.popup.onAccessibility(els); }, end: function () { if (status.isIos) opts.layerPopup.style.display = 'block'; opts.layerPopup.classList.add('is-open'); eventList.common.setMobileVideoWidth(els); } }, hide: { start: function (target) { eventList.popup.offAccessibility(els); target.openerCta.focus(); opts.layerPopup.classList.remove('is-open'); }, end: function () { eventList.popup.playOverview(); eventList.tutorial.reset(els); els.introVideo.pause(); eventList.popup.setSubnavi(opts); eventList.popup.focusHandler(opts, els); } } }); }; 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 bindEvents = function (els, index) { eventHandler.moveToTutorialPopup(els); eventHandler.resize(els); eventHandler.infoPopupDeactive(els); eventHandler.tutorialActiveEvent(els); eventHandler.tutorialDeactiveEvent(els); eventHandler.reStartTutorial(els); eventHandler.onClickMoCloseCta(els); eventHandler.onClickController(els); eventHandler.tutorialintroImgLoad(els); eventHandler.onClickSup(els); // introVideo setProperty(els); setIntroVideo(els.introVideoWrap, index); eventHandler.videoController(index); }; return { init: init, }})();})();;(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.viewer = (function () { const utils = window.flagship.common.utils; const resize =window.flagship.common.resize; let els = {}, status = {}, currDevice = resize.checkResolution(); const init = function () { els.viewerBtn = document.querySelector('.viewer-btn'); if(!!els.viewerBtn) { setElements(); setStatus(); setPopup(); bindEvents(); } }; const setElements = function(){ els.wrapEl = document.querySelector('#wrap'); els.contents = document.querySelector('#contents'); // popup els.popup = document.querySelector('.highlights-viewer'); els.popupContents = els.popup.querySelector('.highlights-viewer__contents'); els.popupInner = els.popup.querySelector('.highlights-viewer__inner'); els.popupWrap = els.popup.querySelector('.highlights-viewer__wrap'); els.closeCta = els.popup.querySelector('.highlights-viewer__close-cta'); els.viewerWrap = els.popup.querySelector('.highlights-viewer__contents-wrap'); els.viewerContainer = els.popup.querySelector('.highlights-viewer__container'); els.viewerIframe = els.popup.querySelector('.highlights-viewer__container-viewer'); // popup-scroll els.popupScroll = els.popup.querySelector('.highlights-viewer__scroll'); els.popupScrollUpBtn = els.popup.querySelector('.highlights-viewer__scroll-btn--up'); els.popupScrollDownBtn = els.popup.querySelector('.highlights-viewer__scroll-btn--down'); // infoPopup els.infoBtn = els.popup.querySelector('.highlights-viewer__title-cta'); els.infoCloseBtn = els.popup.querySelector('.highlights-viewer__header-close-cta'); els.infoDimmed = els.popup.querySelector('.highlights-viewer__dimmed'); // timeout els.resizeTimeout = null; els.resizeInnerTimeout = null; // viewer els.viewerOpener = null; els.viewerModel = ''; els.viewerColor = ''; }; const setStatus = function () { status.viewerBaseUrl = '//www.samsung.com/global/galaxy/3d-360/viewer/?'; status.defaultParams = '&gesture_guide=0'; status.defaultParams += '&bgcolor=transparent'; status.defaultParams += '&skin=colorlayer'; status.defaultParams += '&theme=roundlayer'; status.defaultParams += '&intro=1'; status.defaultParams += '&ruler=1'; status.defaultParams += '&breakpoint_criteria=outer'; status.defaultParams += '&breakpoint_desktop_width=1024'; status.defaultParams += '&intro_pose=2'; status.defaultParams += '&intro_pose_once=1'; status.defaultParams += '&intro_pose_hold=1'; status.moPoseReady = false; status.isHash = false; }; const bindEvents = function () { window.addEventListener('DOMContentLoaded', onLoadHandler, {once : true}); window.addEventListener('message', onReceiveV3DMessage, false); //els.popupContents.addEventListener('scroll', onScrollPopupContents); els.viewerIframe.addEventListener('DOMContentLoaded', viewerEvents.onLoadLayerPopupIframe); els.popupScroll.addEventListener('click', layerPopupScrollHandler.onClickLayerScroll); resize.add(onResizeHandler); }; const onLoadHandler = function () { setViewerWrap.innerWrapHeight(); setViewerWrap.layerScroll(); }; const onResizeHandler = function (currRes) { currDevice = currRes; if (utils.detector.isTouchDevice && !utils.detector.isIosDevice) setViewerWrap.innerWrapHeight(); setViewerWrap.layerScroll(); }; const setViewerWrap = { innerWrapHeight: function () { clearTimeout(els.resizeInnerTimeout); els.resizeInnerTimeout = setTimeout(function () { if (els.popupInner) { els.popupInner.style.height = parseInt(window.innerHeight * 0.9) + 'px'; } }, 0); }, layerScroll: function () { clearTimeout(els.resizeTimeout); els.resizeTimeout = setTimeout(function () { layerPopupScrollHandler.setLayerScroll(); }, 300); } }; const setPopup = function(){ utils.layerPopup({ layerPopup: els.popup, layerPopupClass: '.highlights-viewer', openerEvent: { element: els.viewerBtn, }, closeCtas: [els.closeCta], moveTarget: document.documentElement, contents: els.contents, show: { start: function (target) { els.popup.classList.add('is-init'); viewerEvents.show(target.openerCta); }, end: function () { if (utils.detector.isIosDevice) els.popup.style.display = 'block'; els.popup.classList.add('is-open'); if (els.popup.classList.contains('is-info-open')) { setTimeout(function () { els.infoCloseBtn.focus(); }, 500); } } }, hide: { start: function () { els.popup.classList.remove('is-open'); }, end: function () { setTimeout(function () { els.popup.classList.remove('is-init'); }, 300); viewerEvents.hide(); } } }); }; const viewerEvents = { show: function (viewerOpener) { if (viewerOpener.classList.contains('viewer-btn')) { status.isHash = false; els.viewerOpener = viewerOpener; } else { status.isHash = true; els.viewerOpener = els.viewerBtn; } els.viewerModel = els.viewerOpener.getAttribute('data-model-name'); els.viewerColor = els.viewerOpener.getAttribute('data-model-color'); els.viewerIframe.setAttribute('src', getViewerUrl()); if (currDevice.indexOf('mobile') > -1 || currDevice == 'tablet') { viewerEvents.infoPopupShow(); } els.infoBtn.addEventListener('click', function () { viewerEvents.infoPopupShow(); setTimeout(function () { els.infoCloseBtn.focus(); }, 400); }); els.popupWrap.addEventListener('click', viewerEvents.onclickViewerDimmed); }, hide: function () { els.viewerModel = ''; els.viewerIframe.setAttribute('src', 'about:blank'); if (status.isHash) { setTimeout(function () { els.viewerOpener.focus(); }, 300); } }, infoPopupShow: function () { if (!els.popup.classList.contains('is-info-open')) { els.popup.classList.add('is-info-open'); els.infoCloseBtn.addEventListener('click', viewerEvents.infoPopupHide); els.infoDimmed.addEventListener('click', viewerEvents.infoPopupHide); setTimeout(function () { els.closeCta.setAttribute('tabindex', -1); els.closeCta.setAttribute('aria-hidden', true); els.infoBtn.setAttribute('tabindex', -1); els.infoBtn.setAttribute('aria-hidden', true); els.viewerContainer.setAttribute('tabindex', -1); els.viewerContainer.setAttribute('aria-hidden', true); }, 100); } }, infoPopupHide: function () { if (els.popup.classList.contains('is-info-open')) { els.popup.classList.remove('is-info-open'); setTimeout(function () { els.infoBtn.focus(); }, 300); setTimeout(function () { els.closeCta.removeAttribute('tabindex'); els.closeCta.removeAttribute('aria-hidden'); els.infoBtn.removeAttribute('tabindex'); els.infoBtn.removeAttribute('aria-hidden'); els.viewerContainer.removeAttribute('tabindex'); els.viewerContainer.removeAttribute('aria-hidden'); }, 100); } }, onclickViewerDimmed: function (e) { if (e.currentTarget == e.target) { if(utils.detector.isIosDevice) els.viewerOpener.style.display = 'block'; els.popup.classList.remove('is-open'); document.documentElement.classList.remove('is-layer-open'); document.documentElement.style.overflow = ''; utils.visibleScroll(); utils.onAccessibility(els.popup); utils.offAccessibility(document.querySelector('#wrap')); setTimeout(function () { els.viewerOpener.focus(); }, 300); els.viewerModel = ''; els.viewerIframe.setAttribute('src', 'about:blank'); setTimeout(function () { els.popup.classList.remove('is-init'); }, 300); } }, onLoadLayerPopupIframe: function () { if (document.documentElement.classList.contains('color_yb') || (utils.getCookie('highContrastMode') != null && utils.getCookie('highContrastMode') == 1)) { els.viewerIframe.contentWindow.postMessage('V3D.highContrast.on', '*'); setTimeout(function () { els.viewerIframe.contentWindow.postMessage('V3D.highContrast.on', '*'); }, 300); } } }; const layerPopupScrollHandler = { setLayerScroll: function () { if (!els.popupContents) return; if (els.popupContents.scrollHeight > els.popupContents.clientHeight) { utils.offAccessibility(els.popupScroll); els.popupScroll && els.popupScroll.classList.add('is-scroll-btn'); } else { utils.onAccessibility(els.popupScroll); els.popupScroll && els.popupScroll.classList.remove('is-scroll-btn'); } }, onScrollPopupContents: function () { onUpdateLayerScroll(false); }, onClickLayerScroll: function (e) { e && e.preventDefault(); if (e.target.matches('.highlights-viewer__scroll-btn')) { let scrollDown = e.target.classList.contains('highlights-viewer__scroll-btn--down'), $popupContents = $(els.popupContents); if (scrollDown) { $popupContents.stop().animate({ scrollTop: $popupContents.scrollTop() + 100 }, { duration: 300, complete: function () { layerPopupScrollHandler.onUpdateLayerScroll(true); } }); } else { $popupContents.stop().animate({ scrollTop: $popupContents.scrollTop() - 100 }, { duration: 300, complete: function () { layerPopupScrollHandler.onUpdateLayerScroll(true); } }); } } }, onUpdateLayerScroll: function (isClicked) { 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'); } } }; const onReceiveV3DMessage = function (e) { if (e.data == 'V3D.state.popOpen') { if (currDevice.indexOf('mobile') > -1 || currDevice == 'tablet') { if (els.closeCta) { if (!els.popupWrap.classList.contains('is-popup-opened')) els.popupWrap.classList.add('is-popup-opened'); els.closeCta.setAttribute('tabindex', '-1'); els.closeCta.setAttribute('aria-hidden', 'true'); els.closeCta.setAttribute('disabled', 'disabled'); } if (els.infoBtn) { els.infoBtn.setAttribute('tabindex', '-1'); els.infoBtn.setAttribute('aria-hidden', 'true'); } } } else if (e.data == 'V3D.state.popClose') { if (currDevice.indexOf('mobile') > -1 || currDevice == 'tablet') { if (els.closeCta) { if (els.popupWrap.classList.contains('is-popup-opened')) els.popupWrap.classList.remove('is-popup-opened'); els.closeCta.removeAttribute('tabindex'); els.closeCta.removeAttribute('aria-hidden'); els.closeCta.removeAttribute('disabled'); } if (els.infoBtn) { els.infoBtn.removeAttribute('tabindex'); els.infoBtn.removeAttribute('aria-hidden'); } } } else if (e.data == 'V3D.state.introPose.ready') { if (currDevice.indexOf('desktop') > -1) { els.viewerIframe && els.viewerIframe.contentWindow.postMessage('V3D.introPose.run', '*'); } status.moPoseReady = true; setTimeout(function () { status.moPoseReady = false; }, 2000); } else if (e.data == 'V3D.state.localData.ready') { els.viewerIframe && els.viewerIframe.contentWindow.postMessage(JSON.stringify(V3DLOCALDATA), '*'); } }; const getViewerUrl = function () { let viewerUrl = status.viewerBaseUrl; let viewerModelList = 'galaxy-s24,galaxy-s24-plus'; let isbasicLineShow = (!V3DLOCALDATA['galaxy-s24-plus']) || (!!V3DLOCALDATA['galaxy-s24-plus'] && V3DLOCALDATA['galaxy-s24-plus'].color.length == 0) let isPlusLineShow = (!V3DLOCALDATA['galaxy-s24']) || (!!V3DLOCALDATA['galaxy-s24'] && V3DLOCALDATA['galaxy-s24'].color.length == 0); if (isbasicLineShow) { viewerModelList = 'galaxy-s24'; } else if (isPlusLineShow) { viewerModelList = 'galaxy-s24-plus'; } // model_name viewerUrl += 'model_name=' + els.viewerModel + '&model_list=' + viewerModelList; if (document.documentElement.classList.contains('color_yb') || (utils.getCookie('highContrastMode') != null && utils.getCookie('highContrastMode') == 1)) { viewerUrl += '&highcontrast=1'; } else { viewerUrl += '&highcontrast=0'; } // RTL utils.isRTL() && (viewerUrl += '&rtl=1'); viewerUrl += status.defaultParams; viewerUrl += '#color=' + (els.viewerColor ? els.viewerColor : 'null'); return viewerUrl; }; return { init: init }})();})();(function () {window.flagship = window.flagship || {};window.flagship.highlights = window.flagship.highlights || {};window.flagship.highlights.ytPopup = (function () { let els = {}; const utils = window.flagship.common.utils; const init = function () { els.layerPopup = document.querySelector('.common-youtube-popup'); if(!!els.layerPopup) { setElements(); setPopup(); } }; const setElements = function () { els.contents = document.querySelector('#contents'); els.openCtas = document.querySelectorAll('.js-youtube-popup'); els.closeCta = document.querySelector('.common-youtube-popup__close-cta'); els.ytIframe = els.layerPopup.querySelector('.common-youtube-popup__iframe > iframe'); els.ytDesc = els.layerPopup.querySelector('.youtube-player__desc'); els.dimmed = els.layerPopup.querySelector('.common-youtube-popup__close-area'); }; const setPopup = function () { for (let i = 0; i < els.openCtas.length; i++) { utils.layerPopup({ layerPopup: els.layerPopup, layerPopupClass: '.common-youtube-popup', openerEvent: { element: els.openCtas[i], }, closeCtas: [els.closeCta], dimmed: els.dimmed, moveTarget: document.documentElement, contents: els.contents, show: { start: function () { els.layerPopup.classList.add('is-yt-open'); }, end: function (target) { eventList.setYoutube(target); } }, hide: { start: function () { els.layerPopup.classList.remove('is-yt-open'); }, end: function (target) { eventList.clearYoutube(); } } }); } }; const eventList = { setYoutube: function (target) { let opener = target.openerCta, ytSrc = 'htt' + 'ps://www.youtube.com/embed/' + opener.getAttribute('data-youtube-id') + '?wmode=opaque&rel=0&enablejsapi=1&version=3&autoplay=1', ytTitle = opener.getAttribute('data-youtube-title'), ytBlind = opener.querySelector('.blind').innerHTML; els.ytIframe.setAttribute('src', ytSrc); els.ytIframe.setAttribute('title', ytTitle); els.ytDesc.innerHTML = ytBlind; els.OpenerTarget = opener; }, clearYoutube: function () { els.ytIframe.removeAttribute('src'); els.ytDesc.innerHTML = ''; } }; return { init: init, }})();})();(function () {window.flagship.common.resize.bindEvent();var initComponents = function () { flagship.highlights.accordion.init(); flagship.highlights.scrollVideo.init(); flagship.highlights.clickToVideo.init(); flagship.highlights.overview.init(); flagship.highlights.quote.init(); flagship.highlights.designSpecPopup.init(); flagship.highlights.color.init(); flagship.highlights.viewer.init(); flagship.highlights.cameraAi.init(); flagship.highlights.resolutionPopup.init(); flagship.highlights.nightography.init(); flagship.highlights.opticalZoom.init(); flagship.highlights.dayPopup.init(); flagship.highlights.liveTranslatePopup.init(); flagship.highlights.aod.init(); flagship.highlights.experiences.init(); flagship.highlights.faq.init(); flagship.highlights.ytPopup.init(); flagship.highlights.tutorial.init(); flagship.highlights.generativeEditTutorial.init(); flagship.highlights.circleToSearchTutorial.init(); flagship.highlights.liveTranslateTutorial.init(); flagship.highlights.chatAssistTutorial.init();}; initComponents();})();});

      미네랄에서
      영감을 받은 컬러

      미네랄에서 영감을 받은 컬러

      지구에서 가장 귀한 금속들로부터 영감을 받은 컬러에는
      강력한 자연의 힘이 담겨있죠.
      제이드 그린, 사파이어 블루 그리고 샌드스톤 오렌지까지
      각각의 색상이 강렬한 인상을 줍니다.

      지구에서 가장 귀한 금속들로부터 영감을 받은 컬러에는 강력한 자연의 힘이 담겨있죠.
      제이드 그린, 사파이어 블루 그리고 샌드스톤 오렌지까지 각각의 색상이 강렬한 인상을 줍니다.

      * 색상은 국가, 이동통신사에 따라 다를 수 있습니다.

      * 색상은 국가, 이동통신사에 따라 다를 수 있습니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (41)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (42)

      * 색상은 국가, 이동통신사에 따라 다를 수 있습니다.

      * 색상은 국가, 이동통신사에 따라 다를 수 있습니다.

      놀랍고도 놀라운 5천만 화소

      놀랍고도 놀라운 5천만 화소

      절대로 우리를 실망시키지 않을
      픽셀 보정의 최강자 AI ProVisual Engine을 소개합니다.
      소중한 순간을 고해상도 사진으로 남기고,
      오랜 시간 변함없이 간직할 수 있도록 도와줍니다.

      절대로 우리를 실망시키지 않을 픽셀 보정의 최강자 AI ProVisual Engine을 소개합니다.
      소중한 순간을 고해상도 사진으로 남기고, 오랜 시간 변함없이 간직할 수 있도록 도와줍니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (43)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (44)

      알면 알수록
      놀라운 갤럭시 카메라

      알면 알수록 놀라운 갤럭시 카메라

      인생 셀피나 탁 트인 광각 사진,
      디테일이 살아있는 줌인 사진까지 어떤 사진이든 상관없죠.
      갤럭시 카메라는 완벽한 결과물을 얻을 수 있도록
      픽셀 하나까지 체크합니다.

      인생 셀피나 탁 트인 광각 사진, 디테일이 살아있는 줌인 사진까지 어떤 사진이든 상관없죠.
      갤럭시 카메라는 완벽한 결과물을 얻을 수 있도록 픽셀 하나까지 체크합니다.

      * 적응형 픽셀 센서를 기반으로 한 스페이스 줌으로
      광학 줌 수준의 성능을 제공합니다.

      * 적응형 픽셀 센서를 기반으로 한 스페이스 줌으로
      광학 줌 수준의 성능을 제공합니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (45)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (46)

      * 적응형 픽셀 센서를 기반으로 한 스페이스 줌으로
      광학 줌 수준의 성능을 제공합니다.

      * 적응형 픽셀 센서를 기반으로 한 스페이스 줌으로
      광학 줌 수준의 성능을 제공합니다.

      AI 줌으로 빛날
      어둠속 인물샷,
      나이토그래피

      AI 줌으로 빛날 어둠속 인물샷,
      나이토그래피

      스페이스 줌으로 어두운 곳에서도
      밝고 다채로운 색감의 선명한 사진 촬영이 가능하죠.
      2배, 3배까지 확대해도 문제 없습니다.
      이제 밤에도 낮처럼 어떤 거리에서도
      선명하게 촬영할 수 있습니다.

      스페이스 줌으로 어두운 곳에서도 밝고 다채로운 색감의 선명한 사진 촬영이 가능하죠.
      2배, 3배까지 확대해도 문제 없습니다. 이제 밤에도 낮처럼 어떤 거리에서도 선명하게 촬영할 수 있습니다.

      * 스페이스 줌과 나이토그래피 줌은 후면 카메라에 한해 지원합니다.
      * 카메라 어시스턴트 앱 설정에서 2배 줌을 활성화해야 합니다.
      카메라 어시스턴트는 갤럭시 스토어에서 다운로드할 수 있습니다.
      * 조명 조건, 피사체의 수, 초점이 맞지 않거나 움직이는 등
      촬영 조건에 따라 결과는 달라질 수 있습니다.

      * 스페이스 줌과 나이토그래피 줌은 후면 카메라에 한해 지원합니다.
      * 카메라 어시스턴트 앱 설정에서 2배 줌을 활성화해야 합니다. 카메라 어시스턴트는 갤럭시 스토어에서 다운로드할 수 있습니다.
      * 조명 조건, 피사체의 수, 초점이 맞지 않거나 움직이는 등 촬영 조건에 따라 결과는 달라질 수 있습니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (47)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (48)

      * 스페이스 줌과 나이토그래피 줌은 후면 카메라에 한해 지원합니다.
      * 카메라 어시스턴트 앱 설정에서 2배 줌을 활성화해야 합니다.
      카메라 어시스턴트는 갤럭시 스토어에서 다운로드할 수 있습니다.
      * 조명 조건, 피사체의 수, 초점이 맞지 않거나 움직이는 등
      촬영 조건에 따라 결과는 달라질 수 있습니다.

      * 스페이스 줌과 나이토그래피 줌은 후면 카메라에 한해 지원합니다.
      * 카메라 어시스턴트 앱 설정에서 2배 줌을 활성화해야 합니다. 카메라 어시스턴트는 갤럭시 스토어에서 다운로드할 수 있습니다.
      * 조명 조건, 피사체의 수, 초점이 맞지 않거나 움직이는 등 촬영 조건에 따라 결과는 달라질 수 있습니다.

      확대할수록 선명함도 확대

      확대할수록 선명함도 확대

      2배, 3배까지 마음껏 확대해 보세요.
      스페이스 줌과 함께라면
      축소해도 확대해도 고품질은 고품질.
      AI는 디테일을 놓치지 않습니다.

      2배, 3배까지 마음껏 확대해 보세요. 스페이스 줌과 함께라면 축소해도 확대해도 고품질은 고품질.
      AI는 디테일을 놓치지 않습니다.

      * 스페이스 줌과 나이토그래피 줌은 후면 카메라에 한해 지원합니다.
      * 30배 스페이스 줌은 3배 광학 줌과 30배 디지털 줌을 포함하며,
      초고해상도 기술이 적용되어 있습니다.
      3배 이상 확대하면, 일부 이미지 품질 저하가 발생할 수 있습니다.
      * AI 줌은 디지털 줌 거리에 따라 적용되며, 결과의 정확성은 보장되지 않습니다.

      * 스페이스 줌과 나이토그래피 줌은 후면 카메라에 한해 지원합니다.
      * 30배 스페이스 줌은 3배 광학 줌과 30배 디지털 줌을 포함하며, 초고해상도 기술이 적용되어 있습니다. 3배 이상 확대하면, 일부 이미지 품질 저하가 발생할 수 있습니다.
      * AI 줌은 디지털 줌 거리에 따라 적용되며, 결과의 정확성은 보장되지 않습니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (49)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (50)

      * 스페이스 줌과 나이토그래피 줌은 후면 카메라에 한해 지원합니다.
      * 30배 스페이스 줌은 3배 광학 줌과 30배 디지털 줌을 포함하며,
      초고해상도 기술이 적용되어 있습니다.
      3배 이상 확대하면, 일부 이미지 품질 저하가 발생할 수 있습니다.
      * AI 줌은 디지털 줌 거리에 따라 적용되며, 결과의 정확성은 보장되지 않습니다.

      * 스페이스 줌과 나이토그래피 줌은 후면 카메라에 한해 지원합니다.
      * 30배 스페이스 줌은 3배 광학 줌과 30배 디지털 줌을 포함하며, 초고해상도 기술이 적용되어 있습니다. 3배 이상 확대하면, 일부 이미지 품질 저하가 발생할 수 있습니다.
      * AI 줌은 디지털 줌 거리에 따라 적용되며, 결과의 정확성은 보장되지 않습니다.

      AI 줌은 멀다고
      포기하지 않지

      AI 줌은 멀다고 포기하지 않지

      더 멀리, 더 선명하게.
      새로운 갤럭시는 더 향상된 배율로
      광학 줌 수준의 고화질 사진을 촬영할 수 있죠.
      AI 줌 솔루션이 움직임을 선명하게 포착하고
      더욱 또렷하게 촬영할 수 있도록 도와줍니다.

      더 멀리, 더 선명하게.
      새로운 갤럭시는 더 향상된 배율로 광학 줌 수준의 고화질 사진을 촬영할 수 있죠.
      AI 줌 솔루션이 움직임을 선명하게 포착하고 더욱 또렷하게 촬영할 수 있도록 도와줍니다.

      * 갤럭시 S23 및 갤럭시 S23+와 비교한 결과입니다.
      * 30배 스페이스 줌은 3배 광학 줌과 30배 디지털 줌을 포함하며,
      초고해상도 기술이 적용되어 있습니다.
      3배 이상 확대하면, 일부 이미지 품질 저하가 발생할 수 있습니다.
      * AI 줌은 디지털 줌 거리에 따라 적용되며, 결과의 정확성은 보장되지 않습니다.
      * 적응형 픽셀 센서를 기반으로 한 스페이스 줌으로
      광학 줌 수준의 성능을 제공합니다.

      * 갤럭시 S23 및 갤럭시 S23+와 비교한 결과입니다.
      * 30배 스페이스 줌은 3배 광학 줌과 30배 디지털 줌을 포함하며, 초고해상도 기술이 적용되어 있습니다. 3배 이상 확대하면, 일부 이미지 품질 저하가 발생할 수 있습니다.
      * AI 줌은 디지털 줌 거리에 따라 적용되며, 결과의 정확성은 보장되지 않습니다.
      * 적응형 픽셀 센서를 기반으로 한 스페이스 줌으로 광학 줌 수준의 성능을 제공합니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (51)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (52)

      * 갤럭시 S23 및 갤럭시 S23+와 비교한 결과입니다.
      * 30배 스페이스 줌은 3배 광학 줌과 30배 디지털 줌을 포함하며,
      초고해상도 기술이 적용되어 있습니다.
      3배 이상 확대하면, 일부 이미지 품질 저하가 발생할 수 있습니다.
      * AI 줌은 디지털 줌 거리에 따라 적용되며, 결과의 정확성은 보장되지 않습니다.
      * 적응형 픽셀 센서를 기반으로 한 스페이스 줌으로
      광학 줌 수준의 성능을 제공합니다.

      * 갤럭시 S23 및 갤럭시 S23+와 비교한 결과입니다.
      * 30배 스페이스 줌은 3배 광학 줌과 30배 디지털 줌을 포함하며, 초고해상도 기술이 적용되어 있습니다. 3배 이상 확대하면, 일부 이미지 품질 저하가 발생할 수 있습니다.
      * AI 줌은 디지털 줌 거리에 따라 적용되며, 결과의 정확성은 보장되지 않습니다.
      * 적응형 픽셀 센서를 기반으로 한 스페이스 줌으로 광학 줌 수준의 성능을 제공합니다.

      셔터를 누르기도 전에 이미,
      슈퍼 HDR

      셔터를 누르기도 전에 이미,
      슈퍼 HDR

      최신 슈퍼 HDR로 미리보기부터 최종 결과물까지
      눈에 보이는 그대로 사진을 촬영할 수 있습니다.
      물론 인스타그램으로 촬영할 때도 가능하죠.
      셔터를 누르기 전에 슈퍼 HDR로
      개선된 미리보기를 확인해 보세요.
      놀라운 HDR 화질 그대로 갤러리에
      저장하거나 피드에 업로드할 수 있습니다.

      최신 슈퍼 HDR로 미리보기부터 최종 결과물까지 눈에 보이는
      그대로 사진을 촬영할 수 있습니다. 물론 인스타그램으로 촬영할 때도 가능하죠.
      셔터를 누르기 전에 슈퍼 HDR로 개선된 미리보기를 확인해 보세요.
      놀라운 HDR 화질 그대로 갤러리에 저장하거나 피드에 업로드할 수 있습니다.

      * 특정 애플리케이션은 슈퍼 HDR을 지원하지 않을 수 있습니다.
      결과의 정확성은 보장되지 않습니다.
      * 인스타그램 피드 게시물로 업로드된 사진과 인스타그램 릴스로
      업로드된 영상에서 HDR 품질이 지원됩니다.

      * 특정 애플리케이션은 슈퍼 HDR을 지원하지 않을 수 있습니다. 결과의 정확성은 보장되지 않습니다.
      * 인스타그램 피드 게시물로 업로드된 사진과 인스타그램 릴스로 업로드된 영상에서 HDR 품질이 지원됩니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (53)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (54)

      * 특정 애플리케이션은 슈퍼 HDR을 지원하지 않을 수 있습니다.
      결과의 정확성은 보장되지 않습니다.
      * 인스타그램 피드 게시물로 업로드된 사진과 인스타그램 릴스로
      업로드된 영상에서 HDR 품질이 지원됩니다.

      * 특정 애플리케이션은 슈퍼 HDR을 지원하지 않을 수 있습니다. 결과의 정확성은 보장되지 않습니다.
      * 인스타그램 피드 게시물로 업로드된 사진과 인스타그램 릴스로 업로드된 영상에서 HDR 품질이 지원됩니다.

      나만의 맞춤 설정을 한눈에

      나만의 맞춤 설정을 한눈에

      잠금 화면과 Always On Display에
      나만의 위젯을 설정해 보세요.
      중요한 알림부터, 내가 있는 곳의 공기질까지.
      필요한 정보를 한눈에 확인할 수 있습니다.

      잠금 화면과 Always On Display에 나만의 위젯을 설정해 보세요.
      중요한 알림부터, 내가 있는 곳의 공기질까지. 필요한 정보를 한눈에 확인할 수 있습니다.

      * 일부 기능적 위젯은 네트워크 연결 및 삼성 계정 로그인이 필요할 수 있습니다.
      앱 내에서 지원되는 기능은 국가 별로 다를 수 있습니다.

      * 일부 기능적 위젯은 네트워크 연결 및 삼성 계정 로그인이 필요할 수 있습니다.
      앱 내에서 지원되는 기능은 국가 별로 다를 수 있습니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (55)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (56)

      * 일부 기능적 위젯은 네트워크 연결 및 삼성 계정 로그인이 필요할 수 있습니다.
      앱 내에서 지원되는 기능은 국가 별로 다를 수 있습니다.

      * 일부 기능적 위젯은 네트워크 연결 및 삼성 계정 로그인이 필요할 수 있습니다.
      앱 내에서 지원되는 기능은 국가 별로 다를 수 있습니다.

      끊김 걱정 없는 플레이로
      거침없는 승리

      끊김 걱정 없는 플레이로 거침없는 승리

      새로운 갤럭시의 베이퍼 챔버는
      이전보다 사이즈가 더욱 커졌습니다.
      이제 더 쾌적하게 게임을 즐겨보세요.

      새로운 갤럭시의 베이퍼 챔버는 이전보다 사이즈가 더욱 커졌습니다.
      이제 더 쾌적하게 게임을 즐겨보세요.

      * 갤럭시 S23 및 갤럭시 S23+와 비교한 결과입니다.
      * ©2024 Gameloft의 등록 상표입니다.
      모든 저작권은 게임로프트(©2024 Gameloft)가 가지고 있습니다.
      게임로프트, 게임로프트 로고 및 아스팔트는 미국 및 다른 나라에서
      게임로프트의 등록 상표입니다. 모든 제조업체, 자동차, 이름, 브랜드
      및 관련 이미지는 해당 소유자의 상표권 및 저작권이 있는 자료입니다.

      * 갤럭시 S23 및 갤럭시 S23+와 비교한 결과입니다.
      * ©2024 Gameloft의 등록 상표입니다. 모든 저작권은 게임로프트(©2024 Gameloft)가 가지고 있습니다.
      게임로프트, 게임로프트 로고 및 아스팔트는 미국 및 다른 나라에서 게임로프트의 등록 상표입니다.
      모든 제조업체, 자동차, 이름, 브랜드 및 관련 이미지는 해당 소유자의 상표권 및 저작권이 있는 자료입니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (57)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (58)

      * 갤럭시 S23 및 갤럭시 S23+와 비교한 결과입니다.
      * ©2024 Gameloft의 등록 상표입니다.
      모든 저작권은 게임로프트(©2024 Gameloft)가 가지고 있습니다.
      게임로프트, 게임로프트 로고 및 아스팔트는 미국 및 다른 나라에서
      게임로프트의 등록 상표입니다. 모든 제조업체, 자동차, 이름, 브랜드
      및 관련 이미지는 해당 소유자의 상표권 및 저작권이 있는 자료입니다.

      * 갤럭시 S23 및 갤럭시 S23+와 비교한 결과입니다.
      * ©2024 Gameloft의 등록 상표입니다. 모든 저작권은 게임로프트(©2024 Gameloft)가 가지고 있습니다.
      게임로프트, 게임로프트 로고 및 아스팔트는 미국 및 다른 나라에서 게임로프트의 등록 상표입니다.
      모든 제조업체, 자동차, 이름, 브랜드 및 관련 이미지는 해당 소유자의 상표권 및 저작권이 있는 자료입니다.

      더 커지고 더 선명해진
      압도적 화면

      더 커지고 더 선명해진 압도적 화면

      더 커진 화면의 갤럭시 S24와 갤럭시 S24+로
      게임의 수준을 더 높이세요.
      더 커진 기기 사이즈와 초슬림 베젤 덕분에
      갤럭시 S24의 156.4 mm FHD+ 화면과
      갤럭시 S24+의 169.1 mm QHD+ 화면은
      그 어느 때보다 넓고 선명하죠.
      또한 강한 햇빛 아래에서도 비전 부스터를 통해
      최적의 색상과 명암비를 구현하여,
      몰입감 넘치는 시청 경험을 제공합니다.

      더 커진 화면의 갤럭시 S24와 갤럭시 S24+로 게임의 수준을 더 높이세요.
      더 커진 기기 사이즈와 초슬림 베젤 덕분에 갤럭시 S24의 156.4 mm FHD+ 화면과 갤럭시 S24+의 169.1 mm QHD+ 화면은
      그 어느 때보다 넓고 선명하죠. 또한 강한 햇빛 아래에서도 비전 부스터를 통해 최적의 색상과 명암비를 구현하여, 몰입감 넘치는 시청 경험을 제공합니다.

      * 디스플레이 크기는 코너 곡선을 제외하고 직각화하여
      대각선으로 측정 시, 갤럭시 S24의 경우 156.4 mm,
      갤럭시 S24+의 경우 169.1 mm입니다.
      직각화하지 않고 측정 시, 갤럭시 S24의 경우 152.3 mm,
      갤럭시 S24+의 경우 164.5 mm이며, 둥근 모서리와
      카메라 홀로 인해 실제 보이는 영역은 디스플레이 크기보다 작습니다.
      * 갤럭시 S24, 갤럭시 S24+의 다이내믹 아몰레드 2X 디스플레이는
      DCI-P3 컬러 범위에서 VDE 독일로부터 100 % 모바일 컬러
      볼륨 인증을 받았습니다. 이는 이미지가 변형되지 않고
      다양한 밝기 수준에서도 선명한 색상을 얻을 수 있다는 것을 의미합니다.
      갤럭시 S24, 갤럭시 S24+ 디스플레이는 최대 2,600 nit의 휘도를
      구현할 수 있습니다. 이는 햇빛 아래에서 야외시인성을 향상시키고,
      생동감 넘치는 컬러 및 어두운 면과 밝은 면의 5,000,000:1 대비비로
      더욱 몰입감 있는 모바일 경험을 선사합니다(인증 기관 : VDE).

      * 디스플레이 크기는 코너 곡선을 제외하고 직각화하여 대각선으로 측정 시, 갤럭시 S24의 경우 156.4 mm, 갤럭시 S24+의 경우 169.1 mm입니다.
      직각화하지 않고 측정 시, 갤럭시 S24의 경우 152.3 mm, 갤럭시 S24+의 경우 164.5 mm이며, 둥근 모서리와 카메라 홀로 인해 실제 보이는 영역은 디스플레이 크기보다 작습니다.
      * 갤럭시 S24, 갤럭시 S24+의 다이내믹 아몰레드 2X 디스플레이는 DCI-P3 컬러 범위에서 VDE 독일로부터 100 % 모바일 컬러 볼륨 인증을 받았습니다.
      이는 이미지가 변형되지 않고 다양한 밝기 수준에서도 선명한 색상을 얻을 수 있다는 것을 의미합니다. 갤럭시 S24, 갤럭시 S24+ 디스플레이는 최대 2,600 nit의 휘도를 구현할 수 있습니다.
      이는 햇빛 아래에서 야외시인성을 향상시키고, 생동감 넘치는 컬러 및 어두운 면과 밝은 면의 5,000,000:1 대비비로 더욱 몰입감 있는 모바일 경험을 선사합니다(인증 기관 : VDE).

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (59)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (60)

      * 디스플레이 크기는 코너 곡선을 제외하고 직각화하여
      대각선으로 측정 시, 갤럭시 S24의 경우 156.4 mm,
      갤럭시 S24+의 경우 169.1 mm입니다.
      직각화하지 않고 측정 시, 갤럭시 S24의 경우 152.3 mm,
      갤럭시 S24+의 경우 164.5 mm이며, 둥근 모서리와
      카메라 홀로 인해 실제 보이는 영역은 디스플레이 크기보다 작습니다.
      * 갤럭시 S24, 갤럭시 S24+의 다이내믹 아몰레드 2X 디스플레이는
      DCI-P3 컬러 범위에서 VDE 독일로부터 100 % 모바일 컬러
      볼륨 인증을 받았습니다. 이는 이미지가 변형되지 않고
      다양한 밝기 수준에서도 선명한 색상을 얻을 수 있다는 것을 의미합니다.
      갤럭시 S24, 갤럭시 S24+ 디스플레이는 최대 2,600 nit의 휘도를
      구현할 수 있습니다. 이는 햇빛 아래에서 야외시인성을 향상시키고,
      생동감 넘치는 컬러 및 어두운 면과 밝은 면의 5,000,000:1 대비비로
      더욱 몰입감 있는 모바일 경험을 선사합니다(인증 기관 : VDE).

      * 디스플레이 크기는 코너 곡선을 제외하고 직각화하여 대각선으로 측정 시, 갤럭시 S24의 경우 156.4 mm, 갤럭시 S24+의 경우 169.1 mm입니다.
      직각화하지 않고 측정 시, 갤럭시 S24의 경우 152.3 mm, 갤럭시 S24+의 경우 164.5 mm이며, 둥근 모서리와 카메라 홀로 인해 실제 보이는 영역은 디스플레이 크기보다 작습니다.
      * 갤럭시 S24, 갤럭시 S24+의 다이내믹 아몰레드 2X 디스플레이는 DCI-P3 컬러 범위에서 VDE 독일로부터 100 % 모바일 컬러 볼륨 인증을 받았습니다.
      이는 이미지가 변형되지 않고 다양한 밝기 수준에서도 선명한 색상을 얻을 수 있다는 것을 의미합니다. 갤럭시 S24, 갤럭시 S24+ 디스플레이는 최대 2,600 nit의 휘도를 구현할 수 있습니다.
      이는 햇빛 아래에서 야외시인성을 향상시키고, 생동감 넘치는 컬러 및 어두운 면과 밝은 면의 5,000,000:1 대비비로 더욱 몰입감 있는 모바일 경험을 선사합니다(인증 기관 : VDE).

      더 커진 배터리로
      더 커진 즐거움

      더 커진 배터리로 더 커진 즐거움

      망설임 없이 시작하고 원하는 만큼 충분히 즐기세요.
      새로운 갤럭시 S24와 S24+의 향상된 배터리는
      더 많은 게임과 스트리밍, 나만의 즐거움을
      더 오래도록 누릴 수 있도록 도와줍니다.

      망설임 없이 시작하고 원하는 만큼 충분히 즐기세요.
      새로운 갤럭시 S24와 S24+의 향상된 배터리는 더 많은 게임과 스트리밍,
      나만의 즐거움을 더 오래도록 누릴 수 있도록 도와줍니다.

      * 갤럭시 S23 및 갤럭시 S23+와 비교한 결과입니다.
      * 배터리 용량(Typical)은 외부 실험실 환경에서 측정한 평균 값입니다.
      배터리 용량(Typical)은 IEC 61960 표준에 따라 테스트 된 배터리 샘플 간의
      배터리 용량 편차를 고려한 예상 평균 값입니다.
      정격 용량은 갤럭시 S24의 경우 3,880 mAh, 갤럭시 S24+의 경우 4,755 mAh,
      갤럭시 S24 Ultra 경우 4,855 mAh입니다.
      * 실제 배터리 사용 시간은 네트워크 환경, 사용 기능과 앱, 통화 및
      메시지 전송 빈도, 충전 횟수 및 기타 요인에 따라 달라질 수 있습니다.
      일반적이고 평균적인 사용 패턴을 기준으로 실험하였습니다. 제품 출시 전
      UX Connect Research가 2023년 11월 25일부터 2023년 12월 15일까지
      미국과 영국에서 LTE, 5G 서브6 네트워크를 SM-S921, SM-S926, SM-S928
      모델을 사용하여 진행한 실험 결과입니다.
      5G mmWave 네트워크로 실험하지 않았습니다.
      * 비디오 재생 시간 및 오디오 재생 시간은 LTE를 이용한 기본 세팅에서
      블루투스로 이어폰에 연결된 출시 이전 모델을 기준으로 자사 실험실에서
      테스트한 것을 기반으로 산출한 결과값입니다.비디오 재생
      (장치에 저장된 비디오, 파일 해상도 720p) 중 배터리 용량 대비 추정
      및 배터리 전력 소비에 대한 전류 측정입니다. 실제 비디오 재생 시간은
      네트워크 연결, 설정, 비디오 파일 형식, 화면 밝기, 배터리 상태 및
      기타 요인에 따라 다를 수 있습니다. 오디오 재생
      (LCD 디스플레이 꺼진 상태, 장치에 저장된 오디오, 192 kbps, mp3 파일)
      중 배터리 용량 대비 추정 및 배터리 전력 소비에 대한 전류 측정입니다.
      실제 오디오 재생 시간은 네트워크 연결, 설정, 오디오 파일 형식,화면 밝기,
      배터리 상태 및 기타 요인에 따라 다를 수 있습니다.

      * 갤럭시 S23 및 갤럭시 S23+와 비교한 결과입니다.
      * 배터리 용량(Typical)은 외부 실험실 환경에서 측정한 평균 값입니다.
      배터리 용량(Typical)은 IEC 61960 표준에 따라 테스트 된 배터리 샘플 간의 배터리 용량 편차를 고려한 예상 평균 값입니다.
      정격 용량은 갤럭시 S24의 경우 3,880 mAh, 갤럭시 S24+의 경우 4,755 mAh, 갤럭시 S24 Ultra 경우 4,855 mAh입니다.
      * 실제 배터리 사용 시간은 네트워크 환경, 사용 기능과 앱, 통화 및 메시지 전송 빈도, 충전 횟수 및 기타 요인에 따라 달라질 수 있습니다.
      일반적이고 평균적인 사용 패턴을 기준으로 실험하였습니다. 제품 출시 전 UX Connect Research가 2023년 11월 25일부터 2023년 12월 15일까지
      미국과 영국에서 LTE, 5G 서브6 네트워크를 SM-S921, SM-S926, SM-S928 모델을 사용하여 진행한 실험 결과입니다. 5G mmWave 네트워크로 실험하지 않았습니다.
      * 비디오 재생 시간 및 오디오 재생 시간은 LTE를 이용한 기본 세팅에서 블루투스로 이어폰에 연결된 출시 이전 모델을 기준으로 자사 실험실에서 테스트한 것을 기반으로 산출한 결과값입니다.
      비디오 재생(장치에 저장된 비디오, 파일 해상도 720p) 중 배터리 용량 대비 추정 및 배터리 전력 소비에 대한 전류 측정입니다. 실제 비디오 재생 시간은 네트워크 연결, 설정, 비디오 파일 형식,
      화면 밝기, 배터리 상태 및 기타 요인에 따라 다를 수 있습니다. 오디오 재생(LCD 디스플레이 꺼진 상태, 장치에 저장된 오디오, 192 kbps, mp3 파일) 중 배터리 용량 대비 추정 및 배터리 전력
      소비에 대한 전류 측정입니다. 실제 오디오 재생 시간은 네트워크 연결, 설정, 오디오 파일 형식,화면 밝기, 배터리 상태 및 기타 요인에 따라 다를 수 있습니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (61)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (62)

      * 갤럭시 S23 및 갤럭시 S23+와 비교한 결과입니다.
      * 배터리 용량(Typical)은 외부 실험실 환경에서 측정한 평균 값입니다.
      배터리 용량(Typical)은 IEC 61960 표준에 따라 테스트 된 배터리 샘플 간의
      배터리 용량 편차를 고려한 예상 평균 값입니다.
      정격 용량은 갤럭시 S24의 경우 3,880 mAh, 갤럭시 S24+의 경우 4,755 mAh,
      갤럭시 S24 Ultra 경우 4,855 mAh입니다.
      * 실제 배터리 사용 시간은 네트워크 환경, 사용 기능과 앱, 통화 및
      메시지 전송 빈도, 충전 횟수 및 기타 요인에 따라 달라질 수 있습니다.
      일반적이고 평균적인 사용 패턴을 기준으로 실험하였습니다. 제품 출시 전
      UX Connect Research가 2023년 11월 25일부터 2023년 12월 15일까지
      미국과 영국에서 LTE, 5G 서브6 네트워크를 SM-S921, SM-S926, SM-S928
      모델을 사용하여 진행한 실험 결과입니다.
      5G mmWave 네트워크로 실험하지 않았습니다.
      * 비디오 재생 시간 및 오디오 재생 시간은 LTE를 이용한 기본 세팅에서
      블루투스로 이어폰에 연결된 출시 이전 모델을 기준으로 자사 실험실에서
      테스트한 것을 기반으로 산출한 결과값입니다.비디오 재생
      (장치에 저장된 비디오, 파일 해상도 720p) 중 배터리 용량 대비 추정
      및 배터리 전력 소비에 대한 전류 측정입니다. 실제 비디오 재생 시간은
      네트워크 연결, 설정, 비디오 파일 형식, 화면 밝기, 배터리 상태 및
      기타 요인에 따라 다를 수 있습니다. 오디오 재생
      (LCD 디스플레이 꺼진 상태, 장치에 저장된 오디오, 192 kbps, mp3 파일)
      중 배터리 용량 대비 추정 및 배터리 전력 소비에 대한 전류 측정입니다.
      실제 오디오 재생 시간은 네트워크 연결, 설정, 오디오 파일 형식,화면 밝기,
      배터리 상태 및 기타 요인에 따라 다를 수 있습니다.

      * 갤럭시 S23 및 갤럭시 S23+와 비교한 결과입니다.
      * 배터리 용량(Typical)은 외부 실험실 환경에서 측정한 평균 값입니다.
      배터리 용량(Typical)은 IEC 61960 표준에 따라 테스트 된 배터리 샘플 간의 배터리 용량 편차를 고려한 예상 평균 값입니다.
      정격 용량은 갤럭시 S24의 경우 3,880 mAh, 갤럭시 S24+의 경우 4,755 mAh, 갤럭시 S24 Ultra 경우 4,855 mAh입니다.
      * 실제 배터리 사용 시간은 네트워크 환경, 사용 기능과 앱, 통화 및 메시지 전송 빈도, 충전 횟수 및 기타 요인에 따라 달라질 수 있습니다.
      일반적이고 평균적인 사용 패턴을 기준으로 실험하였습니다. 제품 출시 전 UX Connect Research가 2023년 11월 25일부터 2023년 12월 15일까지
      미국과 영국에서 LTE, 5G 서브6 네트워크를 SM-S921, SM-S926, SM-S928 모델을 사용하여 진행한 실험 결과입니다. 5G mmWave 네트워크로 실험하지 않았습니다.
      * 비디오 재생 시간 및 오디오 재생 시간은 LTE를 이용한 기본 세팅에서 블루투스로 이어폰에 연결된 출시 이전 모델을 기준으로 자사 실험실에서 테스트한 것을 기반으로 산출한 결과값입니다.
      비디오 재생(장치에 저장된 비디오, 파일 해상도 720p) 중 배터리 용량 대비 추정 및 배터리 전력 소비에 대한 전류 측정입니다. 실제 비디오 재생 시간은 네트워크 연결, 설정, 비디오 파일 형식,
      화면 밝기, 배터리 상태 및 기타 요인에 따라 다를 수 있습니다. 오디오 재생(LCD 디스플레이 꺼진 상태, 장치에 저장된 오디오, 192 kbps, mp3 파일) 중 배터리 용량 대비 추정 및 배터리 전력
      소비에 대한 전류 측정입니다. 실제 오디오 재생 시간은 네트워크 연결, 설정, 오디오 파일 형식,화면 밝기, 배터리 상태 및 기타 요인에 따라 다를 수 있습니다.

      iOS에서 사용하던 그대로
      갤럭시로

      iOS에서 사용하던 그대로
      갤럭시로

      스마트 스위치로 사용하던 사진, 동영상, 연락처, 캘린더,
      앱을 그대로 가져올 수 있습니다.
      iOS에서 갤럭시로 교체할 때도 마찬가지죠.
      쓰던 그대로, 갤럭시를 사용해 보세요.

      스마트 스위치로 사용하던 사진, 동영상, 연락처, 캘린더, 앱을 그대로 가져올 수 있습니다.
      iOS에서 갤럭시로 교체할 때도 마찬가지죠.
      쓰던 그대로, 갤럭시를 사용해 보세요.

      * Android OS 스마트폰으로부터 유선 전송을 받기 위해서는 송신/수신
      스마트폰 모두 최소 Android™ 4.3 이후 버전이어야 합니다.
      유선 전송에 필요한 USB 케이블/커넥터가 없다면
      무선 전송 옵션을 사용할 수도 있습니다. 무선 연결은 송신/수신 스마트폰
      모두 최소 Android™ 4.0 이후 버전이어야 합니다. 수신할 갤럭시
      스마트폰의 "설정"에서 스마트 스위치 앱을 열거나 갤럭시 스토어에서
      스마트 스위치 앱을 다운로드할 수 있습니다. 전송 가능한 데이터
      및 콘텐츠는 전송 방법에 따라 다를 수 있습니다.
      * iOS OS 스마트폰으로부터 유선 전송을 받기 위해서는 수신 스마트폰은
      Android™ 4.3 이후 버전, 송신 스마트폰은 iOS 5 이후 버전이어야 합니다.
      무선 연결이나 iCloud를 통해 케이블 없이 무선 전송 옵션을
      사용할 수도 있습니다. 무선 연결은 수신 스마트폰은 Android™ 4.0 이후
      버전, 송신 스마트폰은 iOS 12 이후 버전이어야 합니다.
      수신할 갤럭시 스마트폰의 "설정"에서 스마트 스위치 앱을 열거나
      갤럭시 스토어에서 스마트 스위치 앱을 다운로드할 수 있습니다.
      송신 스마트폰은 iOS용 스마트 스위치를 아이폰이나 아이패드의
      앱스토어에서 다운로드할 수 있습니다. 전송 가능한 데이터 및 콘텐츠는
      전송 방법에 따라 다를 수 있습니다.
      * 다양한 데이터를 한 번에 전송할 때는 유선 연결을 사용하는 것을 권장합니다.

      * Android OS 스마트폰으로부터 유선 전송을 받기 위해서는 송신/수신 스마트폰
      모두 최소 Android™ 4.3 이후 버전이어야 합니다.
      유선 전송에 필요한 USB 케이블/커넥터가 없다면 무선 전송 옵션을 사용할 수도 있습니다.
      무선 연결은 송신/수신 스마트폰 모두 최소 Android™ 4.0 이후 버전이어야 합니다.
      수신할 갤럭시 스마트폰의 "설정"에서 스마트 스위치 앱을 열거나 갤럭시 스토어에서
      스마트 스위치 앱을 다운로드할 수 있습니다. 전송 가능한 데이터 및 콘텐츠는 전송 방법에 따라 다를 수 있습니다.
      * iOS OS 스마트폰으로부터 유선 전송을 받기 위해서는 수신 스마트폰은 Android™ 4.3 이후 버전,
      송신 스마트폰은 iOS 5 이후 버전이어야 합니다. 무선 연결이나 iCloud를 통해 케이블 없이
      무선 전송 옵션을 사용할 수도 있습니다. 무선 연결은 수신 스마트폰은 Android™ 4.0 이후 버전,
      송신 스마트폰은 iOS 12 이후 버전이어야 합니다. 수신할 갤럭시 스마트폰의 "설정"에서 스마트 스위치 앱을 열거나
      갤럭시 스토어에서 스마트 스위치 앱을 다운로드할 수 있습니다.
      송신 스마트폰은 iOS용 스마트 스위치를 아이폰이나 아이패드의 앱스토어에서 다운로드할 수 있습니다.
      전송 가능한 데이터 및 콘텐츠는 전송 방법에 따라 다를 수 있습니다.
      * 다양한 데이터를 한 번에 전송할 때는 유선 연결을 사용하는 것을 권장합니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (63)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (64)

      * Android OS 스마트폰으로부터 유선 전송을 받기 위해서는 송신/수신
      스마트폰 모두 최소 Android™ 4.3 이후 버전이어야 합니다.
      유선 전송에 필요한 USB 케이블/커넥터가 없다면
      무선 전송 옵션을 사용할 수도 있습니다. 무선 연결은 송신/수신 스마트폰
      모두 최소 Android™ 4.0 이후 버전이어야 합니다. 수신할 갤럭시
      스마트폰의 "설정"에서 스마트 스위치 앱을 열거나 갤럭시 스토어에서
      스마트 스위치 앱을 다운로드할 수 있습니다. 전송 가능한 데이터
      및 콘텐츠는 전송 방법에 따라 다를 수 있습니다.
      * iOS OS 스마트폰으로부터 유선 전송을 받기 위해서는 수신 스마트폰은
      Android™ 4.3 이후 버전, 송신 스마트폰은 iOS 5 이후 버전이어야 합니다.
      무선 연결이나 iCloud를 통해 케이블 없이 무선 전송 옵션을
      사용할 수도 있습니다. 무선 연결은 수신 스마트폰은 Android™ 4.0 이후
      버전, 송신 스마트폰은 iOS 12 이후 버전이어야 합니다.
      수신할 갤럭시 스마트폰의 "설정"에서 스마트 스위치 앱을 열거나
      갤럭시 스토어에서 스마트 스위치 앱을 다운로드할 수 있습니다.
      송신 스마트폰은 iOS용 스마트 스위치를 아이폰이나 아이패드의
      앱스토어에서 다운로드할 수 있습니다. 전송 가능한 데이터 및 콘텐츠는
      전송 방법에 따라 다를 수 있습니다.
      * 다양한 데이터를 한 번에 전송할 때는 유선 연결을 사용하는 것을 권장합니다.

      * Android OS 스마트폰으로부터 유선 전송을 받기 위해서는 송신/수신 스마트폰
      모두 최소 Android™ 4.3 이후 버전이어야 합니다.
      유선 전송에 필요한 USB 케이블/커넥터가 없다면 무선 전송 옵션을 사용할 수도 있습니다.
      무선 연결은 송신/수신 스마트폰 모두 최소 Android™ 4.0 이후 버전이어야 합니다.
      수신할 갤럭시 스마트폰의 "설정"에서 스마트 스위치 앱을 열거나 갤럭시 스토어에서
      스마트 스위치 앱을 다운로드할 수 있습니다. 전송 가능한 데이터 및 콘텐츠는 전송 방법에 따라 다를 수 있습니다.
      * iOS OS 스마트폰으로부터 유선 전송을 받기 위해서는 수신 스마트폰은 Android™ 4.3 이후 버전,
      송신 스마트폰은 iOS 5 이후 버전이어야 합니다. 무선 연결이나 iCloud를 통해 케이블 없이
      무선 전송 옵션을 사용할 수도 있습니다. 무선 연결은 수신 스마트폰은 Android™ 4.0 이후 버전,
      송신 스마트폰은 iOS 12 이후 버전이어야 합니다. 수신할 갤럭시 스마트폰의 "설정"에서 스마트 스위치 앱을 열거나
      갤럭시 스토어에서 스마트 스위치 앱을 다운로드할 수 있습니다.
      송신 스마트폰은 iOS용 스마트 스위치를 아이폰이나 아이패드의 앱스토어에서 다운로드할 수 있습니다.
      전송 가능한 데이터 및 콘텐츠는 전송 방법에 따라 다를 수 있습니다.
      * 다양한 데이터를 한 번에 전송할 때는 유선 연결을 사용하는 것을 권장합니다.

      더 넓어진 퀵 쉐어

      더 넓어진 퀵 쉐어

      이제 갤럭시가 아닌 사람들과도 정보를 공유하세요.
      QR 코드와 저장된 연락처를 사용해 다른 안드로이드 사용자,
      멀리 떨어진 친구와 가족은 물론 iOS 사용자에게
      마음껏 파일을 공유할 수 있습니다.

      이제 갤럭시가 아닌 사람들과도 정보를 공유하세요.
      QR 코드와 저장된 연락처를 사용해 다른 안드로이드 사용자, 멀리 떨어진 친구와
      가족은 물론 iOS 사용자에게 마음껏 파일을 공유할 수 있습니다.

      * 갤럭시 탭 S9은 별도 판매입니다.
      * QR 코드와 연락처를 이용한 파일 공유 시 한 번에 최대 1,000개의 파일을
      전송할 수 있습니다. 개별 파일은 3 GB 이하이어야 하며,
      하루 최대 5 GB의 데이터를 전송할 수 있습니다.
      링크는 2일 후 자정에 만료됩니다. 송신자는 삼성 계정이 필요하며,
      송신자와 수신자 기기 모두 인터넷 연결이 필요합니다.

      * 갤럭시 탭 S9은 별도 판매입니다.
      * QR 코드와 연락처를 이용한 파일 공유 시 한 번에 최대 1,000개의 파일을 전송할 수 있습니다.
      개별 파일은 3 GB 이하이어야 하며, 하루 최대 5 GB의 데이터를 전송할 수 있습니다.
      링크는 2일 후 자정에 만료됩니다. 송신자는 삼성 계정이 필요하며,
      송신자와 수신자 기기 모두 인터넷 연결이 필요합니다.

      갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (65)갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (66)

      * 갤럭시 탭 S9은 별도 판매입니다.
      * QR 코드와 연락처를 이용한 파일 공유 시 한 번에 최대 1,000개의 파일을
      전송할 수 있습니다. 개별 파일은 3 GB 이하이어야 하며,
      하루 최대 5 GB의 데이터를 전송할 수 있습니다.
      링크는 2일 후 자정에 만료됩니다. 송신자는 삼성 계정이 필요하며,
      송신자와 수신자 기기 모두 인터넷 연결이 필요합니다.

      * 갤럭시 탭 S9은 별도 판매입니다.
      * QR 코드와 연락처를 이용한 파일 공유 시 한 번에 최대 1,000개의 파일을 전송할 수 있습니다.
      개별 파일은 3 GB 이하이어야 하며, 하루 최대 5 GB의 데이터를 전송할 수 있습니다.
      링크는 2일 후 자정에 만료됩니다. 송신자는 삼성 계정이 필요하며,
      송신자와 수신자 기기 모두 인터넷 연결이 필요합니다.

      * 해당 모델은 구입처에 따라 취급여부가 다를 수 있습니다.

      * 무약정 단말기는 제품 구매 후 휴대폰을 판매하는 인근 삼성 디지털프라자 매장이나 해당 이동통신사업자 대리점에 방문하여 개통하셔야 합니다.

      * 언락폰(자급제폰)은 개통 시 S/N 번호가 아닌 (S/N 번호 하단에 있는) IMEI 번호로 개통합니다.언락폰(자급제폰) 관련한 자세한 설명은 https://xn--kj0bxc65ocsi5qsbya.xn--3e0b707e/를 참조하시기 바랍니다.이동통신사업자향 폰에서 제공하는 이동통신사업자 특화 기능은 언락폰(자급제폰)에서 지원되지 않을 수 있습니다.지원되는 부가서비스 등 상세한 내용은 자급제폰으로 가입하고자 하는 이동통신사업자에 확인하시기 바랍니다.

      * 사용자 메모리는 OS의 용량과 모바일 기기의 기능을 작동시키는 소프트웨어에 사용되기 때문에 전체 메모리보다 작습니다.실제 사용자 메모리는 모바일 기기 사용자에 따라 달라지며, 소프트웨어 업그레이드 이후에도 달라질 수 있습니다.

      * 제품 사진 및 특장점 등에는 광고적 표현이 포함되어 실제와 다를 수 있으며, 제품 스펙은 제품 개량을 위해 사전 예고 없이 변경될 수 있습니다.

      * 제품 색상은 모니터에 따라 약간 다를 수 있습니다.

      * 애플리케이션이나 서비스는 제공하는 사업자의 사정 등에 따라 예고 없이 변경 또는 중단될 수 있습니다.

      * LTE는 ETSI의 등록 상표입니다.

      * 크기와 무게는 제품 구성 및 제조 과정에 따라 다를 수 있습니다.

      * 국가, 지역, 사업자에 따라 단말이 지원하는 주파수 영역은 다를 수 있습니다.

      * 화면 크기는 코너 곡선을 제외하고 직각화하여 대각선으로 측정했습니다. 둥근 모서리와 카메라 홀 때문에 실제 보이는 영역이 적습니다.

      * 네트워크 연결 속도는 주변 환경 및 여건 등에 따라 달라질 수 있습니다.

      * AMOLED 디스플레이를 최대한 사용하기 위해 https://www.samsung.com/sec/amoled/를 참조하시기 바랍니다.

      * 배터리 사용 시간은 최초 출하 상태 제품을 기준으로 당사 실험실에서 측정된 전력을 기반으로 산출한 것입니다.웹사이트에 표기되는 배터리 사용시간은 소비자 환경과 유사한 조건으로 측정하기 위해 측정 방법이 업데이트될 수 있으며, 배터리 사용시간이 변경될 수 있습니다.배터리의 실제 충전시간, 사용시간, 수명은 네트워크 환경, 사용 패턴, 응용 프로그램 및 기타 요소에 따라 달라질 수 있습니다.자세한 설명은 https://www.samsung.com/sec/support/battery/를 참조하시기 바랍니다.

      * 표시된 배터리 용량은 타사 실험실 조건에서 테스트한 표준값이며, 정격(최소) 용량은 더 적습니다. 표준 용량값은 IEC 61960 표준에 따라 테스트 된 배터리 샘플 간의 배터리 용량 편차를 고려한 측정값입니다.

      * 갤럭시 S24+ 배터리의 정격 용량은 4,755 mAh 입니다.

      * 갤럭시 S24+의 디스플레이 크기는 코너 곡선을 제외하고 직각화하여 대각선으로 측정 시 169.1 mm이며, 직각화하지 않고 측정 시 164.5 mm입니다. 둥근 모서리와 카메라 홀로 인해 실제 보이는 영역은 디스플레이 크기보다 작습니다.

      * AMOLED 디스플레이를 최대한 사용하기 위해 https://www.samsung.com/sec/amoled/를 참조하시기 바랍니다.

      * 이 제품은 아래와 같은 국제 기준을 만족하는 방수방진 기능을 지원합니다.
      - IP68 방수 등급 인증: IEC 표준 60529 요구 사항에 따라 1.5 m 담수에서 30분 동안 움직이지 않고 그대로 둔 상태로 실험한 결과입니다.
      - 생활 방수 및 방진 효과는 영구적이지 않으며 제품이 자연스럽게 마모됨에 따라 그 효과가 약해질 수 있습니다.

      * 먼지가 묻었을 땐 물로 가볍게 씻은 후 사용해도 됩니다.

      * 정상적인 방수 기능을 위해서 다음 내용을 주의하여 사용하세요.
      - 수영장물/바닷물에 제품을 노출하지 마세요.
      - 깨끗하지 않은 물(비눗물, 오일, 향수, 자외선 차단제, 손 세정제, 화장품과 같은 화학 제품, 알코올이 함유된 액체 등)에 노출된 경우 깨끗한 물로 씻은 다음 부드럽고 깨끗한 천으로 닦아 완전히 말린 후 사용하셔야 방수 성능을 유지할 수 있습니다.
      - 수압이 센 물에 제품을 노출하지 마세요. 급격한 수압 상승으로 당사가 보증하는 방수 성능을 초과할 수 있습니다.
      - 사우나와 한증막 같은 환경에서는 급격한 기온 및 수온 변화로 방수 기능이 손상될 수 있습니다.
      - 제품에 외부 충격이 가해지거나 파손된 경우 방수 성능이 떨어질 수 있습니다.

      * 제품이 물에 노출되었을 경우 다음의 안내에 따라 조치하세요.
      - 부드럽고 깨끗한 천으로 닦아 완전히 말리세요.
      - 마이크, 스피커 또는 수화부가 완전히 마르지 않으면 원활한 통화가 어려울 수 있습니다.
      - 물속에서 제품을 사용하는 경우 터치 등 일부 기능이 작동하지 않을 수 있습니다.
      - 제품이 완전히 건조될 때까지 충전기 또는 액세서리를 연결하지 마세요. 외부 커넥터 연결잭이 건조되지 않은 상태에서 충전기 또는 액세서리를 연결하면 제품이 손상될 수 있습니다.

      • 갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (67)

        글로벌경영협회 주관
        글로벌고객만족도(GCSI) 조사
        스마트폰 부문 19년 연속 1위
        (2005 ~ 2023)

      • 갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (68)

        한국생산성본부 · 조선일보 주관
        국가고객만족도(NCSI) 조사
        스마트폰 부문 12년 연속 1위
        (2012 ~ 2023)

      • 갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (69)

        한국능률협회컨설팅 주관
        한국산업의 고객만족도(KCSI) 조사
        휴대폰(스마트폰) 부문 26년 연속 1위
        (1998 ~ 2023)

      • 갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (70)

        한국표준협회 주관
        한국품질만족지수(KS-QEI)
        스마트폰 부문 15년 연속 1위
        (2009 ~ 2023)

      • 갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (71)

        한국표준협회 주관
        한국서비스품질지수(KS-SQI)
        휴대전화 A/S 부문 20년 연속 1위
        (2004 ~ 2023)

      스펙

      매뉴얼

      상품평

      전체보기 통신사폰 자급제

      4.8

      • 최고90%
      • 만족5%
      • 보통2%
      • 별로0%
      • 나쁨1%
      이 상품은 이렇게 표현할 수 있어요
      • 갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (72)성능이 좋아요이 키워드를 선택한 인원189

      • 갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (73)사용하기 편리해요이 키워드를 선택한 인원149

      • 갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (74)디자인이 마음에 들어요이 키워드를 선택한 인원111

      • 갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (75)크기가 적당해요이 키워드를 선택한 인원94

      상품평을 작성하고 베스트 리뷰어에 도전해 보세요!상품평 작성

      삼성제품을 구매한 삼성계정(멤버십) 회원이신 경우 작성 가능

      상품평 247

        갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (76)

        스토어 상담 예약 서비스

        나에게 꼭 맞는 제품을 찾고 계신가요? 비대면 라이브 상담부터스토어 방문 예약까지 맞춤 상담 예약으로 전문 상담사를 만나 보세요

        상품평 가이드

        베스트 상품평 기준
        상품평 100자 이상
        포토/동영상 첨부

        2개의 조건을 충족하면
        베스트 상품평 선정될 확률 UP!

        1. 01
          별점을 선택해 주세요.

          다양한 각도의 사진을 첨부하시면 베스트 상품평에 선정될 확률이 높아져요!

        2. 02
          키워드를 선택해 주세요.

          1,2점을 선택하셨더라도 상품에 대해 설명하는 키워드를 선택해 주세요.

        3. 03
          상세한 리뷰를 작성해 주세요.
          구매동기
          왜 구매 하셨나요?
          성능
          성능이 왜 만족스러웠나요?/아쉬웠나요?
          그렇게 생각하신 이유도 함께 작성해주세요.
          디자인
          디자인은 어땠나요?
          활용TIP
          상품을 어떻게 활용했는지 본인만의 활용TIP을 공유해 주세요.
          마지막은 주요 장단점으로 마무리 해보세요.
        4. 04
          사진 및 동영상을 첨부해 주세요.

          다양한 각도의 사진을 첨부하시면 베스트 상품평에 선정될 확률이 높아져요!

          갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (77)착용샷
          상품을 착용한 모습을 보여주세요.
          갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (78)설치샷
          실제 사용 모습을 담아보세요.
          갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (79)디테일
          다양한 각도에서 찍어보세요.

        고객님


        상품평 등록 및 이벤트 응모가 완료 되었습니다.

        카드 혜택

        구매시 유의사항

        • 배송정책 안내
        • 교환/반품/AS 안내
        • 교환/반품 불가 안내
        • 판매자 정보
        배송지역
        도서 산간지역은 배송이 제한될 수 있습니다.
        배송비
        전 상품 무료배송
        (단, 제주도 등 일부 도서/산간 지역은 별도 배송비가 발생할 수 있으며, 설치상품의 경우 설치 환경 등에 따라 추가 설치비가 발생할 수 있습니다.)
        배송기간
        주문결제 후 평균 3일 이내 배송 (일, 공휴일 제외) 단, 도서/산간지역은 배송일이 추가적으로 소요될 수 있으며, 상품 보유현황에 따라 배송일이 지연될 수 있습니다.
        아래 상품군은 지정하신 희망배송일에 상품을 배송 해 드리나 상품 보유현황 및 설치기사 상황에 따라 배송이 다소 지연될 수 있습니다.
        • - 희망배송일 지정 가능 상품군 : 전자레인지, 청소기, 자연가습청정기
        • - 희망배송일 지정 및 설치 상품군 : PC/모니터, 프린터, 오븐, 에어케어, 에어트랙, 무선도킹오디오,블루레이/DVD플레이어
        또한 인수고객과의 통화불가, 수령지 주소가 불명확할 경우 사전 연락(전화 또는 문자 등) 후 배송이 지연되거나 주문이 취소될 수 있습니다.
        배송방법
        배송 당일 오전에 SMS로 배송예정을 알리는 문자를 발송해드리며, 고객 댁에 도착하기 전 배달설치 기사가 연락 드립니다. 스팸 처리 등으로 인해 문자를
        받지 못하는 경우가 있으니 주문내역에서 배송 상황을 확인해주시기 바랍니다.삼성전자 배송 상품 중에는 고가의 프리미엄 상품들이 포함되어 있어 고객님께
        직접 전달을 원칙으로 하고 있습니다. 안전한 배송을 위해 고객님이 주문 시 지정한 배송장소 외 제3자 전달이나 임의장소로의 배송은 제공하지 않습니다.
        설치상품을 주문 시에는 설치환경을 꼭 체크하여 주십시오.
        • - TV: 벽걸이 설치 시 설치 불가한 벽면 재질은 아닌지 확인하여 주십시오.
        • - 냉장고/세탁기 : 설치공간 사이즈, 출입문 사이즈, 제품 사이즈를 주문 전에 확인하여 주십시오.
        • - TV 138 cm 이상, 양문형 냉장고, 비스포크 냉장고, 스탠드형 김치냉장고, 세탁기 7 kg 이상, 건조기, 에어드레서는 반드시 설치가 필요한 품목으로, 설치 전문가가 직접 설치, 시운전 후 이상 여부를 점검하고 있습니다.
          미설치 단순 수령이 불가한 제품이오니, 고객님의 사정으로 미설치 시 배송 보류 또는 반품될 수 있습니다.
        배송추적
        삼성닷컴 상단 '마이 삼성 -> 주문/배송조회 -> 주문정보'에서 배송상태 및 배달설치 기사 전화번호 조회가 가능합니다.

        동영상 상세보기

        영상 보기

        패밀리넷 동일 품목 다량 구매 관련 안내

        구매자께서는 최근 동일 품목을 다량 (개 이상) 구매하고 계십니다.

        패밀리넷 제품의 사외 유출과 부정 사용 예방을 위해 필요시 유관부서에서 별도 연락이 있을 수 있습니다.

        재판매 등 부정 사용이 확인될 경우에는 사용권한 박탈 및 인사상 징계 조치 될 수 있음을 안내 드립니다.

        상위 내용에 동의 및 구매 하시겠습니까?

        동의 안함동의함

        카드사별 할부 안내

        제품별 결제일할인이 적용되는 일부 제품은 NH농협카드 5~6개월 및 전체 카드사 12개월 이상 무이자 할부 혜택 대상에서 제외됩니다.

        갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (80)

        무이자할부

        • 2~5개월 : 5만원 이상 결제 시
        • 12개월 : 200만원 이상 결제 시
        • 24개월 : 200만원 이상 결제 시

        부분 무이자 할부

        • 7개월 : 1~3회차 (고객부담)
        • 11개월 : 1~5회차 (고객부담)
        • → 잔여회차 카드사 부담

        갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (81)

        무이자할부

        • 2~3개월 : 5만원 이상 결제 시
        • 12개월 : 200만원 이상 결제 시

        부분 무이자 할부

        • 6개월 : 1~3회차 (고객부담)
        • 10개월 : 1~4회차 (고객부담)
        • 12개월 : 1~5회차 (고객부담)
        • *12개월 부분 무이자 : 5만원 이상 200만원 미만 결제시 적용
        • → 잔여회차 카드사 부담

        갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (82)

        무이자할부

        • 2~5개월 : 5만원 이상 결제 시
        • 12개월 : 200만원 이상 결제 시
        • 24개월 : 200만원 이상 결제 시

        ARS
        부분 무이자 할부
        사전 신청
        (1899-5772)

        • 4~6개월 : 1~2회차 (고객부담)
        • 7~10개월 : 1~3회차 (고객부담)
        • 11~12개월 : 1~4회차 (고객부담)
        • → 잔여회차 카드사 부담

        부분 무이자 할부

        • 10개월 : 1~3회차 (고객부담)
        • 12개월 : 1~4회차 (고객부담)
        • → 잔여회차 카드사 부담

        갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (83)

        무이자할부

        • 2~5개월 : 5만원 이상 결제 시
        • ※ KB국민체크/기업/비씨카드 및 선불카드 제외
        • 12개월 : 200만원 이상 결제 시
        • 24개월 : 200만원 이상 결제 시
        • 36개월 : 200만원 이상 결제 시

        부분 무이자 할부

        • 6개월 : 1~3회차 (고객부담)
        • 10개월 : 1~5회차 (고객부담)
        • 12개월 : 1~5회차 (고객부담)
        • → 잔여회차 카드사 부담

        갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (84)

        무이자할부

        • 2~6개월 : 5만원 이상 결제 시

        ARS
        부분 무이자 할부
        사전 신청
        (1644-2009)

          • 2~12개월 [30만원 결제 시]
          • 2~3개월 : 무이자
          • 4~6개월 : 1회차 (고객부담)
          • 7~10개월 : 1~2회차 (고객부담)
          • 11~12개월 : 1~3회차 (고객부담)
          • → 잔여회차 카드사 부담

          • 2~12개월 [100만원 결제 시]
          • 2~3개월 : 무이자
          • 4~6개월 : 무이자
          • 7~10개월 : 1~2회차 (고객부담)
          • 11~12개월 : 1~3회차 (고객부담)
          • → 잔여회차 카드사 부담

        부분 무이자 할부

        • 5~6개월 : 1~2회차 (고객부담)
        • 7~10개월 : 1~3회차 (고객부담)
        • → 잔여회차 카드사 부담

        갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (85)

        무이자할부

        • 2~5개월 : 5만원 이상 결제 시
        • 12개월 : 200만원 이상 결제 시
        • 24개월 : 200만원 이상 결제 시

        부분 무이자 할부

        • 10개월 : 1~3회차 (고객부담)
        • 12개월 : 1~4회차 (고객부담)
        • → 잔여회차 카드사 부담

        갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (86)

        무이자할부

        • 2~3개월 : 5만원 이상 결제 시

        갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (87)

        무이자할부

        • 2~5개월 : 5만원 이상 결제 시
        • 12개월 : 200만원 이상 결제 시
        • 24개월 : 200만원 이상 결제 시
        • 36개월 : 200만원 이상 결제 시

        갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (88)

        무이자할부

        • 2~5개월 : 5만원 이상 결제 시

        부분 무이자 할부

        • 10개월 : 1~4회차 (고객부담)
        • 12개월 : 1~5회차 (고객부담)
        • → 잔여회차 카드사 부담
        • 무이자 할부 결제 시 포인트, 마일리지는 적립되지 않습니다.
        • ARS 무이자 할부는 해당 카드사 ARS 번호로 사전 신청을 하신 경우에 한하여 무이자 혜택이 적용됩니다. (ARS 부분 무이자 할부 포함)
        • 상기 부분 무이자 할부는 5만원 이상 결제 시 자동 적용되며, 결제창에는 무이자 표시가 되지 않을 수 있습니다.
        • 법인(기업)/ 체크/선불/기프트/ 은행계열카드(BC마크가 없는 NON BC카드 불가) 제외 됩니다.
        • 고객 부담 수수료는 해당 카드사로 문의 바랍니다.
        • 본 행사는 카드사 사정에 따라 일부 내용이 변경 또는 중단될 수 있습니다.

        확인

        확인

        취소 확인

        취소 확인

        확인

        이메일 무단 수집거부

        본 웹사이트는 게시된 이메일 주소가 전자우편 수집 프로그램이나 그 밖의 기술적 장치를 이용하여 무단 수집되는 것을 거부합니다.
        이를 위반 시 『정보통신망 이용 촉진 및 정보보호 등에 관한 법률』등에 의해 처벌받을 수 있습니다.

        아이디어 제안에 대한 정책

        삼성전자 및 삼성전자 임직원은 당사가 공식적으로 요청하지 않았음에도 불구하고 여러분께서 일방적으로 당사에 제출하는 아이디어나 제안 등을 수령하거나 검토하지 않습니다.

        이는 제출하신 내용이 당사 내부적으로 개발한 제품, 기술, 서비스와 유사할 경우 발생할 수 있는 오해와 분쟁을 방지하고 나아가 여러분의 창의적인 아이디어를 적극 보호하기 위함입니다.

        이러한 취지를 이해하여 주시고 구체화되지 않은 아이디어나 콘셉트(Concept) 단계의 제안이 당사에 제출되지 않도록 하여 주시기 바랍니다.

        갤럭시 S24+ 통신사폰 (SKT/KT/LG U+) (코발트 바이올렛, 256 GB) | SM-S926NZVAKOD | Samsung 대한민국 (2024)

        References

        Top Articles
        Suds Lab Reviews
        Exit Resource Center Login
        Funny Roblox Id Codes 2023
        Www.mytotalrewards/Rtx
        San Angelo, Texas: eine Oase für Kunstliebhaber
        Golden Abyss - Chapter 5 - Lunar_Angel
        Www.paystubportal.com/7-11 Login
        Steamy Afternoon With Handsome Fernando
        fltimes.com | Finger Lakes Times
        Detroit Lions 50 50
        18443168434
        Newgate Honda
        Zürich Stadion Letzigrund detailed interactive seating plan with seat & row numbers | Sitzplan Saalplan with Sitzplatz & Reihen Nummerierung
        978-0137606801
        Nwi Arrests Lake County
        Missed Connections Dayton Ohio
        Justified Official Series Trailer
        London Ups Store
        Committees Of Correspondence | Encyclopedia.com
        Jinx Chapter 24: Release Date, Spoilers & Where To Read - OtakuKart
        How Much You Should Be Tipping For Beauty Services - American Beauty Institute
        How to Create Your Very Own Crossword Puzzle
        Apply for a credit card
        Unforeseen Drama: The Tower of Terror’s Mysterious Closure at Walt Disney World
        Ups Print Store Near Me
        How Taraswrld Leaks Exposed the Dark Side of TikTok Fame
        University Of Michigan Paging System
        Dashboard Unt
        Access a Shared Resource | Computing for Arts + Sciences
        2023 Ford Bronco Raptor for sale - Dallas, TX - craigslist
        Healthy Kaiserpermanente Org Sign On
        Restored Republic
        Progressbook Newark
        Kiddie Jungle Parma
        Lincoln Financial Field, section 110, row 4, home of Philadelphia Eagles, Temple Owls, page 1
        The Latest: Trump addresses apparent assassination attempt on X
        In Branch Chase Atm Near Me
        Appleton Post Crescent Today's Obituaries
        Craigslist Red Wing Mn
        American Bully Xxl Black Panther
        Ktbs Payroll Login
        Jail View Sumter
        Thotsbook Com
        Funkin' on the Heights
        Caesars Rewards Loyalty Program Review [Previously Total Rewards]
        Marcel Boom X
        Www Pig11 Net
        Ty Glass Sentenced
        Michaelangelo's Monkey Junction
        Game Akin To Bingo Nyt
        Ranking 134 college football teams after Week 1, from Georgia to Temple
        Latest Posts
        Article information

        Author: Rev. Leonie Wyman

        Last Updated:

        Views: 6463

        Rating: 4.9 / 5 (59 voted)

        Reviews: 90% of readers found this page helpful

        Author information

        Name: Rev. Leonie Wyman

        Birthday: 1993-07-01

        Address: Suite 763 6272 Lang Bypass, New Xochitlport, VT 72704-3308

        Phone: +22014484519944

        Job: Banking Officer

        Hobby: Sailing, Gaming, Basketball, Calligraphy, Mycology, Astronomy, Juggling

        Introduction: My name is Rev. Leonie Wyman, I am a colorful, tasty, splendid, fair, witty, gorgeous, splendid person who loves writing and wants to share my knowledge and understanding with you.