Let's check out Galaxy S22 Ultra!
Your journey starts here.
SHOW ME EVERYTHING
All done!
You've taken Galaxy S22 Ultra for a spin. Now check out Galaxy S22 and S22+.
BUY NOWPRE-REGISTRATIONPRE-ORDER NOWWHERE TO BUY
All done!
You're a Galaxy S22 Ultra expert now! How about checking out Galaxy S22 and S22+?
LEARN MORE
Get a good look
- 360°
- Compare
Discover fresh new features
- Video at Night
- Portrait at Night
- High Resolution
- S Pen
From big screen to bigger screen
- Galaxy Tab S8 Ultra
- Link to Windows
- Quick Share
Upgrading never felt so good
- Smart Switch
- Samsung Care+
- Why Galaxy
See in 360°A Note-worthy new look
Compare
How does Galaxy S22 Ultra stack up?
Compare Galaxy S22 Ultra to other members of the Galaxy family.
*Online Exclusive colors only available on Samsung.com.
VIDEO AT NIGHTNightography makes magic at any hour
Shoot from sunup to sundown with consistent, stunning details.
*Video simulated for illustration purposes. Actual UI may be different.
![Showroom | Galaxy S22 Ultra | Samsung US (16) Showroom | Galaxy S22 Ultra | Samsung US (16)](https://i0.wp.com/image-us.samsung.com/us/smartphones/galaxy-s22-ultra/v3/common/images/blank.gif)
Galaxy S22 Ultra with the Camera app open onscreen. In the viewfinder is a woman sitting working on a laptop in a lowlit cafe. She looks up into the camera and smiles. The stop button is pushed, and then the Gallery icon is tapped and the Gallery app is opened. The recording begins playing until the pencil icon is selected. The video opens in video editor and S Pen moves onscreen from one side to trim the video.
PORTRAIT AT NIGHTAmazing portraits, day or night.
AI-enhanced sensors brighten up the scene with Super Night Solution.
*Video simulated for illustration purposes. Actual UI may be different.
![Showroom | Galaxy S22 Ultra | Samsung US (17) Showroom | Galaxy S22 Ultra | Samsung US (17)](https://i0.wp.com/image-us.samsung.com/us/smartphones/galaxy-s22-ultra/v3/common/images/blank.gif)
Galaxy S22 Ultra with the Camera app onscreen, and Portrait mode selected. In the viewfinder is a man looking offscreen in lowlit surroundings. The 1x zoom option at the bottom of the frame is tapped, and the viewfinder zooms out to show the man is sitting at a desk. The shutter button is tapped, and then the Gallery app is opened. The portrait appears onscreen.
HIGH RESOLUTIONOur biggest pixel sensor yet
The 108MP sensor and AI level up your photo skills.
*Video simulated for illustration purposes. Actual UI may be different.
![Showroom | Galaxy S22 Ultra | Samsung US (18) Showroom | Galaxy S22 Ultra | Samsung US (18)](https://i0.wp.com/image-us.samsung.com/us/smartphones/galaxy-s22-ultra/v3/common/images/blank.gif)
Galaxy S22 Ultra with the Camera app onscreen. In the viewfinder is a man running down an outdoor staircase. The Ratio feature is selected on the Camera settings bar. A sub-settings menu appears and 108MP high-resolution mode is tapped to switch it on. The image blurs and quickly refocuses, looking much sharper. The shutter snaps to take a photo, and the Gallery icon is then tapped. In the Gallery app, the photo is tapped once to select, and then the image is zoomed into, focusing on the man. He is seen close up in very sharp, clear detail.
S PENThe first Galaxy S with built-in S Pen
Put pen to screen while using Samsung Notes and watch your handwriting turn into text.
*Video simulated for illustration purposes. Actual UI may be different.
![Showroom | Galaxy S22 Ultra | Samsung US (19) Showroom | Galaxy S22 Ultra | Samsung US (19)](https://i0.wp.com/image-us.samsung.com/us/smartphones/galaxy-s22-ultra/v3/common/images/blank.gif)
Galaxy S22 Ultra with a new note open on the Samsung Notes app onscreen. S Pen moves across the screen, taps the S Pen to Text button and writes "Galaxy" on the screen. As S Pen writes, the same word appears in text as the title of the note. Then, a toolbar appears beside the text.
GALAXY TAB S8 ULTRAAmazing alone. Better together.
Move your work from one screen to the other, or link them up for a dual screen experience.
*Video simulated for illustration purposes. Actual UI may be different.
*Galaxy Tab S8 Ultra sold separately.
*Network or Wi-Fi connection required. Each device should be registered with a single Samsung Account.
![Showroom | Galaxy S22 Ultra | Samsung US (20) Showroom | Galaxy S22 Ultra | Samsung US (20)](https://i0.wp.com/image-us.samsung.com/us/smartphones/galaxy-s22-ultra/v3/common/images/blank.gif)
Galaxy S22 Ultra with a sketch of a building in the Samsung Notes app on the screen. S Pen moves across the screen, taps the Eraser icon in the toolbar and erases part of the sketch. Editing mode is exited, and Galaxy Tab S8 Ultra appears from offscreen to sit beside the phone. Tab S8 Ultra also has Samsung Notes open, showing the view all files page. Because both devices are logged into the same Samsung account, the Samsung Notes app is synced in real time. The sketch is then opened on the Tab S8 Ultra's screen.
LINK TO WINDOWSBlur the lines between phone and PC
Access mobile apps on your PC and pull up recently used apps with Recent App.
*Video simulated for illustration purposes. Actual UI may be different.
*Availability of Galaxy Book may vary by country. Galaxy Book exterior design may vary by country.
Link to Windows requires the Your Phone app (free download), a Microsoft account and Windows 10. Some mobile apps may have security features that prevent the mobile app from being viewed on PC.
*Users must link their Galaxy smartphones to their Windows 10 PC through ‘Link to Windows’ on phone and Your Phone App on PC, follow the set-up prompts, including being signed into same Microsoft account. Link to Windows is preloaded on select Galaxy devices. Some Link to Windows features may require Galaxy smartphone to be on and connected to the same Wi-Fi network as the PC.
*Some mobile apps may restrict content to be shared on other screens or may require a touch screen to be able to interact with them.
![Showroom | Galaxy S22 Ultra | Samsung US (21) Showroom | Galaxy S22 Ultra | Samsung US (21)](https://i0.wp.com/image-us.samsung.com/us/smartphones/galaxy-s22-ultra/v2/showroom/images/logo_microsoft.png)
![Showroom | Galaxy S22 Ultra | Samsung US (22) Showroom | Galaxy S22 Ultra | Samsung US (22)](https://i0.wp.com/image-us.samsung.com/us/smartphones/galaxy-s22-ultra/v3/common/images/blank.gif)
Galaxy S22 Ultra with a search engine webpage open onscreen, using the Samsung Internet app. A search is done on the word "Galaxy," delivering a results page full of images. The frame shifts to show a Galaxy Book from the front with the Link to Windows app onscreen. On the Galaxy Book screen, the Samsung Internet app icon listed under Recently Used is selected which then opens the same Gallery app on the PC that was on Galaxy S22 Ultra.
Find your trade-in valueTrade-in now
Previous page Next page
- HIGHLIGHTS
- SHOWROOM
- MODEL SPECS
- ACCESSORIES
Go to Galaxy S22 | S22+
![Showroom | Galaxy S22 Ultra | Samsung US (27) Showroom | Galaxy S22 Ultra | Samsung US (27)](https://i0.wp.com/image-us.samsung.com/us/smartphones/galaxy-s22-ultra/v3/common/images/blank.gif)
Make the smart switch
EXPLORE MORE
![Showroom | Galaxy S22 Ultra | Samsung US (28) Showroom | Galaxy S22 Ultra | Samsung US (28)](https://i0.wp.com/image-us.samsung.com/us/smartphones/galaxy-s22-ultra/v3/common/images/blank.gif)
BUY NOW PRE-REGISTRATION PRE-ORDER NOW WHERE TO BUY
WHY GALAXY
Life opens up with Galaxy
With mind-blowing tech made for all, there's no telling where a Galaxy can take you.
EXPLORE MORE
![Showroom | Galaxy S22 Ultra | Samsung US (29) Showroom | Galaxy S22 Ultra | Samsung US (29)](https://i0.wp.com/image-us.samsung.com/us/smartphones/galaxy-s22-ultra/v3/common/images/blank.gif)
Enjoy exclusive volume discounts, bulk trade-in credit and 0% Samsung Business Financing.
Galaxy S22 Ultra for business Learn more
![Showroom | Galaxy S22 Ultra | Samsung US (30) Showroom | Galaxy S22 Ultra | Samsung US (30)](https://i0.wp.com/image-us.samsung.com/us/smartphones/galaxy-s22/common/images/blank.gif)
- High bandwidth mode- Low bandwidth mode
*All specifications and descriptions provided herein may be different from the actual specifications and descriptions for the product. Samsung reserves the right to make changes to this document and the product described herein, at anytime, without obligation on Samsung to provide notification of such change. All functionality, features, specifications, GUI and other product information provided in this document including, but not limited to, the benefits, design, pricing, components, performance, availability, and capabilities of the product are subject to change without notice or obligation. The contents within the screen are simulated images and are for demonstration purposes only.
θ For a limited time only, on Samsung.com/Shop Samsung App, pre-order or purchase a new qualifying Galaxy device (“Qualifying Purchase”), send in your qualifying trade-in device to Samsung through the Samsung Trade-In Program, and if Samsung determines your trade-in device meets all eligibility requirements, you will receive a trade-in credit specific to your qualifying trade-in device to apply toward your Qualifying Purchase. Device models that currently qualify for trade-in and trade-in credit amounts associated with those models are available on Samsung.com and the Shop Samsung App; eligible models and amounts may change at Samsung’s sole discretion. To be eligible for trade-in, your qualifying device must meet all Trade-In Program eligibility requirements, which include, but are not limited to, that the device powers on, holds a charge, and does not power off unexpectedly; has a functioning display; has no breaks or cracks in the screen (unless a cracked screen offer applies); has no breaks or cracks in the case; has no liquid damage (whether visible or not); has no other defects that go beyond normal wear and tear; is not on a black list; has a verified FCC ID; has been reset to factory settings; has all personal information removed; has all software locks disabled; and is owned by you (leased devices are not eligible). Anticipated trade-in value will be applied as a credit at time of purchase, but, if you do not send in your trade-in device within 15 days of receipt of your Qualifying Purchase, you will be charged back for the trade-in credit applied to your purchase, or if you send in your trade-in device within 15 days of receipt of your Qualifying Purchase but Samsung determines your device does not meet all eligibility requirements, you will be charged back for the trade-in credit applied to your purchase minus $25. Participation in this program does not excuse you from contracts with your carrier or retailer (or any related payments or fees) for the device that was traded in. Limit 1 trade-in per Qualifying Purchase. Samsung reserves the right to modify or discontinue this offer at any time. The Trade-In Program cannot be combined with any other Samsung, carrier or retailer promotions, discounts, or offers unless specifically provided for in the terms and conditions of such offers. Additional terms, including terms that govern the resolution of disputes, apply. Click here to learn more.
⊕0% APR for 12, 18, 24, 36, 40 or 48 Months with Equal Payments: Available on purchases of select products charged to a Samsung Financing account. Minimum purchase: $50. 0% APR from date of eligible purchase until paid in full. Estimated monthly payment equals the eligible purchase amount multiplied by a repayment factor and rounded down to the nearest penny (repayment factors: .08333 for 12 month, .05556 for 18 month, .04167 for 24 month, .02778 for 36 month, .02500 for 40 month, .02083 for 48 month). Last payment may vary due to rounding. Total amount of payments will not exceed eligible purchase amount. Other transactions and fees affect overall minimum payment amount. Advertised payment amount, if any, is an estimate and may change once taxes, delivery or other charges are added. Limited time offer. Regular account terms apply to non-promo purchases. Standard Purchase APR: 29.99%. Minimum interest charge: $1. Prior purchases excluded. Account must be in good standing. Subject to credit approval. Samsung Financing account issued by TD Bank, N.A.
');this.$modalContainer.html( $('.showroom-modal').html() );$('.showroom-modal').remove();this.$modalContainer.$contents = this.$modalContainer.find('.modal_contents-area');this.$modalContainer.insertAfter('#contents');this.$btnClose = this.$modalContainer.find('.modal_close > a, .modal_close > button, .modal_close-area');this.$btnClose.off('click.modalHide').on('click.modalHide', mRender.hideModal);this.$btnClose.off('focus.modalFocus').on('focus.modalFocus', this.hideDotcomGnb);this.$scrollContainer = this.$modalContainer.find('.modal_inner');this.$scrollActionArea = this.$modalContainer.find('.up-down-scroll');GALAXY.resize(this.handleResize, true);this.handleResize();// dotcomif( $(".dotcom .iparys_inherited").length ) {$(".dotcom .iparys_inherited").on('click', function() {mModal.handleResize();});}return this.$modalContainer;},show: function() {if( _status.isOpenedModal ) false;const _ = this;_status.isOpenedModal = true;_.accessibillity.on();setTimeout(function() {_.afterShow();_.$modalContainer.$contents.addClass('modal_open');}, 0);_.$modalContainer.addClass('show');_.$modalContainer.find('.modal_close button').focus();_.saveScrollTop = GALAXY.scrollTop;_.handleResize();},afterShow: function() {const _ = this;_.$modalContainer.addClass('show-end');if( _status.isParentShowroom() ) {$('html').addClass('lock-scroll');const $scrollButtons = this.$scrollActionArea.find('.btns');$scrollButtons.off('click.up-down').on('click.up-down', _.handleClickScroll);this.$scrollContainer.off('scroll.up-down').on('scroll.up-down', this.handleScroll);this.handleScroll();}// dotcom top buttonsetTimeout(function() {$('.fab') && $('.fab').removeClass('show');}, 300);},hide: function() {const _ = mModal;_.$modalContainer.removeClass('show');$(window).off('resize.showroomModal');$('body').off('keydown.closeModals');_.accessibillity.off();_.$modalContainer.$contents.removeClass('modal_open');_.$modalContainer.removeClass('show-end');_.afterHide();},afterHide: function() {_status.isOpenedModal = false;const _ = this;setTimeout(function() {GALAXY.setScrollTop( _.saveScrollTop );}, 0);mHash.updateHash('');mTradeIn.hide();// overviewif( oMyJurneyTracker ) {oMyJurneyTracker.reset();setTimeout(function() {_status.overviewLastControl && _status.overviewLastControl.focus();_status.overviewLastControl = null;}, 100);}if( _status.isParentShowroom() ) {$('html').removeClass('lock-scroll');}},hideDotcomGnb: function() {const gnbNav = $('.gnb .gnb__nav');let gnbHeight = 0;if (gnbNav.length > 0) {gnbHeight = gnbNav.height();window.scrollTo(0, gnbHeight);}},updateScrollButtonTagging: function() {const _ = mModal;const data = mStorage.getDataByKey(_status.currentHash);const $scrollBtnDown = _.$scrollActionArea.find('.btn-down');let downOmniture = $scrollBtnDown.data('omni');let downOmni = downOmniture.replace('{device}', _status.device);downOmni = downOmni.replace('{current}', data.tagging);$scrollBtnDown.attr('data-omni', downOmni).attr('ga-la', downOmni);const $scrollBtnUp = _.$scrollActionArea.find('.btn-up');let upOmniture = $scrollBtnUp.data('omni');let upOmni = upOmniture.replace('{device}', _status.device);upOmni = upOmni.replace('{current}', data.tagging);$scrollBtnUp.attr('data-omni', upOmni).attr('ga-la', upOmni);},updateScrollButton: function(clicked) {const _ = mModal;const $scrollButtons = _.$scrollActionArea;const top = _.$scrollContainer.scrollTop();const height = _.$scrollContainer.height();const scrollHeight = _.$scrollContainer.prop('scrollHeight');$scrollButtons.find('.btn-down, .btn-up').removeAttr('disabled');if( top <= 0 ) {$scrollButtons.find('.btn-up').attr('disabled', 'true')$scrollButtons.find('.btn-down').removeAttr('disabled');if( clicked ) {$scrollButtons.find('.btn-down').focus();}} else if( (top + height) >= (scrollHeight-1) ) {$scrollButtons.find('.btn-up').removeAttr('disabled');$scrollButtons.find('.btn-down').attr('disabled', 'true')if( clicked ) {$scrollButtons.find('.btn-up').focus();}}},handleClickScroll: function() {const _ = mModal;const $this = $(this);const $scroll = _.$scrollContainer;const scrollAmount = GALAXY.sizeMode > 2 ? 200 : 100;if( $this.hasClass('btn-up') ) {$scroll.stop().__animate({scrollTop: $scroll.scrollTop() - scrollAmount}, { duration:300, onComplete: function(){_.updateScrollButton(true);} });} else {$scroll.stop().__animate({scrollTop: $scroll.scrollTop() + scrollAmount}, { duration:300, onComplete: function(){_.updateScrollButton(true);} });}},handleScroll: function() {const _ = mModal;_.updateScrollButton(false);},handleResize: function() {const _ = mModal;// top positionconst $contents = $('#contents');if( $contents.length ) {const scrollTop = window.pageYOffset || document.documentElement.scrollTop;_modalOffetTop = $contents.offset().top;if( GALAXY.isGalaxy ) {const subnav = $('#subnav, .ma-floating-nav__wrap').height() || 0;_modalOffetTop += subnav;} else {const gnbHeight = $('.gnb').height();const calcTop = scrollTop > gnbHeight ? gnbHeight : scrollTop;_modalOffetTop -= calcTop;if( GALAXY.sizeMode <= 2 ) {const iparys = $(".dotcom .iparys_inherited").height();const subNavHeight = $('.pd-g-floating-nav').height();_modalOffetTop = iparys + gnbHeight + subNavHeight - calcTop;}}_.$modalContainer.css('top', _modalOffetTop);_.$modalContainer.find('.bg-dimmed').css('top', _modalOffetTop);_.$scrollActionArea.css('top', _modalOffetTop);_status.modalOffetTop = _modalOffetTop;}if( _status.isHivelab() && GALAXY.sizeMode <= 2 ) {const scrollable = _.getScrollable();if( scrollable ) {_.$scrollActionArea.addClass('show-up-down');_.$scrollActionArea.removeAttr(_status.removeHidenAria);_.$scrollActionArea.find('.btns').removeAttr(_status.removeHidenAria);} else {_.$scrollActionArea.removeClass('show-up-down');_.$scrollActionArea.attr(_status.hiddenAria);_.$scrollActionArea.find('.btns').attr(_status.hiddenAria);}} else {_.$scrollActionArea.removeClass('show-up-down');_.$scrollActionArea.attr(_status.hiddenAria);_.$scrollActionArea.find('.btns').attr(_status.hiddenAria);}},getScrollable: function() {const _ = this;const $scroll = _.$scrollContainer;return $scroll.prop('scrollHeight') > $scroll.prop('clientHeight');},disabledClose: function(disabled) {const _ = mModal;if( disabled ) {_.accessibillity.onCloseButton();} else {_.accessibillity.offCloseButton();}},focusClose: function() {mModal.$modalContainer.find('.modal_close > a, .modal_close > button, .modal_close-area').focus();},accessibillity: {on: function() {mModal.$modalContainer.attr('aria-hidden', 'false').css('visibility', 'visible');_dom.$baseContentsArea.css('visibility','hidden');_status.oAccessibility && _status.oAccessibility.on(_dom.$baseContentsArea);$('body').off('keydown.closeFeatureModal').on('keydown.closeFeatureModal', function(e) {if( !_status.isOpenGNBMenu() && _status.isOpenedModal && !_status.isOpenedTracker && (e.key == 'Escape' || e.keyCode == 27)) {mModal.focusClose();};});},off: function() {mModal.$modalContainer.attr('aria-hidden', 'true').css('visibility', 'hidden');_dom.$baseContentsArea.css('visibility','visible');_status.oAccessibility && _status.oAccessibility.off(_dom.$baseContentsArea);$('body').off('keydown.closeFeatureModal');},onCloseButton: function() {if( !mModal.$modalContainer ) return;const $btnClose = mModal.$modalContainer.find('.modal_close');$btnClose.attr('aria-hidden', 'true');$btnClose.find('a,input,select,textarea,button,video,iframe,svg,use').attr('tabindex', -1);},offCloseButton: function() {if( !mModal.$modalContainer ) return;const $btnClose = mModal.$modalContainer.find('.modal_close');$btnClose.attr('aria-hidden', 'false');$btnClose.find('a,input,select,textarea,button,video,iframe,svg,use').removeAttr('tabindex'); $btnClose.children().removeAttr('tabindex');}}}// [module external]const mExternal = {exportFeature: function(url, uid, callback) {let css = null, sHtml = null;$.ajax({url: url,dataType: 'text'}).done(function(datas) {css = datas.split('/*!--GALAXY-SHOWROOM-CSS--*/')[1];if ( css ) {css = css.split('/*!--//GALAXY-SHOWROOM-CSS--*/')[0];}sHtml = datas.split('
')[1];if( callback ) {callback(css, sHtml, uid);}});},exportAllFeature: function(url, callback) {$.ajax({url: url,dataType: 'text'}).done(function(datas) {if( callback ) {callback(datas);}});},readyFeature: function(uid, callback) {_initDOM();mStorage.initHighlightData(_dom.$modal);mActions.init();_status.isOpenedModal = true;mHash.updateHash(uid);( typeof callback == 'function' ) && callback();},destroyFeature: function() {_status.isOpenedModal = false;mVideo.stop();mInfoHeader.hide();}}return {init: _init,getTracker: mStorage.getAllData,getVisitedTracker: mStorage.getVisitedData,getRemainedTracker: mStorage.getRemainedData,setOverviewLastControl: _setOverViewLastControl,exportFeature: mExternal.exportFeature,exportAllFeature: mExternal.exportAllFeature,readyFeature: mExternal.readyFeature,destroyFeature: mExternal.destroyFeature}};const $html = $('html');const $body = $('body');const $document = $(document);const $contents = $('#contents');const $overview = $('.m_content-overview');function debounceResize(callback, time, isForceCallHandler) {let width = window.innerWidth;let delay = time || 16.666666667; // 60fps (1000/60);let interval = null;if ( !callback ) {throw Error('Invalid required arguments Callback Function');}return function() {const windowWidth = window.innerWidth;if( isForceCallHandler ) {clearTimeout( interval );interval = setTimeout(callback, delay);} else {const checkResize = (!$html.hasClass('mobile')) ? true : width != windowWidth;if ( checkResize ) {clearTimeout( interval );interval = setTimeout(callback, delay);}width = windowWidth;}}}// AR// let isAr = null;;(function(f) {let fave = f || {};let ua = navigator.userAgent;let android = (/Android/i).test(ua);let iOS = (navigator.platform=='MacIntel'&&navigator.maxTouchPoints>1)||(/iPhone|iPad|iPod/i).test(ua);let link = android?fave.glb||fave.gltf:iOS?fave.usdz:0;if (link) {android&&(link='inten'+'t://arvr.goo'+'gle.com/scene-vie'+'wer/1.0?file='.concat(link,'&mode=ar_only#Int'+'ent;scheme=https;package=com.goo'+'gle.ar.core;action=and'+'roid.inte'+'nt.action.VIEW;S.browser_fallback_url=').concat(location.origin,';end;'));$('.__ar__button').addClass('__on').find('a.__link').attr({href:'https://samsungar.herokuapp.com/?device=s22_ultra&hub_active=0&disable_exit=1&cid=scom_ar&ch=scom&'});$overview.find('.pc_ar').remove();// isAr = true;} else {// isAr = false;$overview.addClass('no-ar');if ( (fave.glb || fave.usdz) && (!android || !iOS) ) {// isAr = true;$overview.removeClass('no-ar');} else {$overview.find('.__ar__button').remove();$overview.find('.pc_ar').addClass('show');}}})(window.ar3Data);const oAccessibility = (function() {return {on: function($target) {if ($target.length && !$target.data('oAccessibility') ) {$target.attr({'tabindex':'-1', 'aria-hidden': 'true'}).data('oAccessibility', true);let $accessibillityTarget = $target.find('a,input,select,textarea,button,video,iframe');$accessibillityTarget.each(function() {let $this = $(this);let tabindex = $this.attr('tabindex');let ariaHidden = $this.attr('aria-hidden');if (tabindex!==undefined&&tabindex!==null) {$this.data('prev-tabindex', tabindex);}if (ariaHidden!==undefined&&ariaHidden!==null) {$this.data('prev-ariaHidden', ariaHidden);};$this.attr({'tabindex':'-1', 'aria-hidden': 'true'});});}},off: function($target) {if ($target.length && $target.data('oAccessibility') == true) {$target.removeAttr('tabindex aria-hidden').data('oAccessibility', false);let $accessibillityTarget = $target.find('a,input,select,textarea,button,video,iframe');$accessibillityTarget.each(function() {let $this = $(this);let tabindex = $this.data('prev-tabindex');let ariaHidden = $this.data('prev-ariaHidden');if (tabindex!==undefined&&tabindex!==null) {$this.attr('tabindex',tabindex);} else {$this.removeAttr('tabindex');}if (ariaHidden!==undefined&&ariaHidden!==null) {$this.attr('aria-hidden',ariaHidden);} else {$this.removeAttr('aria-hidden');}});}}}})();// AR Modal Layerconst oArModal = (function() {let isKeyDown = false;let saveScrollTop = 0;let $prevButton = null;let $modalContent = null;let onceAppendAr = false;let $baseContentsArea = $('#wrap');const $modals = $('
');const ommi = function() {let omniture = $(this).data('omni');omniture && GALAXY.omniture(omniture);}const onResize = function() {if ( $contents.length && $modals.hasClass('show') ) {let offset = oOverview.getOffset();let modalHeight = window.innerHeight - offset;$modals.css({'top': offset, 'height': modalHeight});let modalContentHeight = $modals.find('.armodal_container').outerHeight();let modalInnerHeight = (modalHeight < modalContentHeight) ? modalHeight : 'auto';$modalContent.find('.armodal_inner').css({'height': modalInnerHeight});}}const keyDownCheck = function(e) {if (e.keyCode == 13 ) {isKeyDown = true;}};const _init = function() {let _this = this;if ( GALAXY.isGalaxy ) {$baseContentsArea = $baseContentsArea.find('#contents > *:not(#subnav), #footer');} else {$baseContentsArea = $baseContentsArea.find('#contents > *:not(.ma-floating-nav__wrap), .m_dotcom_footer, .nv-g-breadcrumb, footer');}if (!onceAppendAr) {onceAppendAr = true;$contents.after( $modals );$modals.html( $('.armodal_layer').html() ).css({visibility: 'hidden'});$('.armodal_layer').remove();}$modalContent = $modals.find('.armodal_contents-area');$modals.find('.armodal_close > a, .armodal_close > button, .armodal_close-area').on({'click.modalHide': _hide,'keydown.modalHide': keyDownCheck});$prevButton = $overview.find('.btn_ar');$prevButton.on('click', function(e) {_this.show();e.preventDefault();})return this;};const _show = function() {isKeyDown = false;isModalShow = true;$modalContent.find('a, button').off('click.omni').on('click.omni', ommi);GALAXY.changeSizeImage($modals.find('.armodal_contents figure'));// Accessibillity$modals.attr({'aria-hidden':'false'}).css({visibility:'visible'});oAccessibility.on($baseContentsArea);oAccessibility.on($('#teconsent'));oAccessibility.on($('#consent_blackbar'));setTimeout(function() { $modalContent.addClass('modals_open') }, 0);$modals.addClass('show');saveScrollTop = GALAXY.scrollTop;GALAXY.noScroll.on();GALAXY.setTransitionEndEvent($modals, shown);setTimeout(function() {$modals.find('.armodal_close button').focus();}, 300);onResize();GALAXY.resize(onResize, true);};const shown = function() {$modals.addClass('show-end');const closeModal = function(e) {if ($modals.hasClass('show-end') && (e.key == 'Escape' || e.keyCode == 27)) {_hide();};}$('body').off('keydown.closeArmodal').on('keydown.closeArmodal', closeModal);}const _hide = function() {// Accessibillity$modals.removeClass('show').attr('aria-hidden','true').css('visibility','hidden');$('body').off('keydown.closeArmodal');oAccessibility.off($baseContentsArea);oAccessibility.off($('#teconsent'));oAccessibility.off($('#consent_blackbar'));setTimeout(function () {$prevButton.focus();GALAXY.noScroll.off();GALAXY.setScrollTop(saveScrollTop);GALAXY.unResize(onResize);}, 0);$modals.removeClass('show-end');$modalContent.removeClass('modals_open');isKeyDown = false;isModalShow = false;(event && event.preventDefault());}return {init: _init,show: _show,hide: _hide}})();// AR Hash checkconst oArHash = (function() {const _init = function() {if ( $overview.hasClass('no-ar') ) { return false; }window.addEventListener('hashchange', this.change.bind(this));return this;}const _change = function() {let $hash = window.location.hash.split('#')[1],subnavHeight = 0,arOffsetTop = 0;if ( $hash == 'ar' ) {subnavHeight = $('#subnav, .ma-floating-nav__wrap').height() || 0;arOffsetTop = (GALAXY.sizeMode > 2) ? $overview.find('.overview-card.viewer ul.overview-card-list').offset().top : $('#ar').offset().top;scrollTop = arOffsetTop - subnavHeight;oArModal && oArModal.show();setTimeout(function() {GALAXY.setSmoothScrollTop(scrollTop, 100);}, 750);}};return {init : _init,change : _change}})();// overview Header Conditionconst oMyJurneyTracker = (function() {let $viewJourney = $overview.find('a.view-journey'),$myJourney = $overview.find('.my-journey'),$defaultBox = $myJourney.find('.type-default'),$shopBox = $myJourney.find('.type-shop'),$nonshopBox = $myJourney.find('.type-nonshop');const _init = function() {this.reset();return this;};const _reset = function() {this.remove();$shopBox.addClass('hide');$nonshopBox.addClass('hide');if ( typeof(features) !== 'undefined' ) {let journeyTrackerArr = features.getTracker();let confirmedTrackerArr = features.getVisitedTracker();let remainTrackerArr = features.getRemainedTracker();let checkedText = $overview.data('checked-title') || 'checked';$.each(confirmedTrackerArr, function(i) {let $this = $viewJourney.filter('[href="#'+this.uid+'"]');$this.length && $this.addClass('checked').attr({title: checkedText});});// remainTrackerconst $remainBtn = $defaultBox.find('.btn-remain');if (remainTrackerArr.length > 0) {let uid = remainTrackerArr[0].uid;let tagging = remainTrackerArr[0].tagging;let remainTarget = remainTrackerArr[0].tracker;let remainBtnCopy = $remainBtn.data('continue-txt');let remainDescCopy = $defaultBox.find('.desc').data('remain-copy');let omniText = $remainBtn.data('remain-omni')+tagging;let per = parseInt((confirmedTrackerArr.length/journeyTrackerArr.length)*100);let stepText = confirmedTrackerArr.length + '/' + journeyTrackerArr.length;// let $selectStep = null;if(confirmedTrackerArr.length == 0) {$defaultBox.find('.progress .bar').attr('aria-hidden','true');} else {$remainBtn.find('.copy').text(remainBtnCopy);$defaultBox.addClass('remain');$defaultBox.find('.progress .bar').removeAttr('aria-hidden');$defaultBox.find('.progress .bar span').hide();$defaultBox.find('.progress .bar').stop().__animate({'width':per+'%'},{duration:800,ease:Power2.easeOut, complete: function() {$defaultBox.find('.progress .bar span').text(stepText).show();}});$defaultBox.find('.desc').text(remainDescCopy);}$remainBtn.attr({'href':'#'+uid,'data-omni':omniText,'ga-la':omniText});$remainBtn.attr('title', remainTarget);$remainBtn.off('click',GALAXY.tracking).on('click',GALAXY.tracking);} else {$defaultBox.addClass('hide');let check = ['buy','regist','order','where'];let shopClassArr = $shopBox.find('.country-check').attr('class').split(' ');shopClassArr.splice(shopClassArr.indexOf('country-check'),1);if(check.indexOf(shopClassArr[0]) < 0) {$nonshopBox.removeClass('hide');} else {$shopBox.removeClass('hide');}}}};const _remove = function() {$viewJourney.removeClass('checked');}return {init: _init,reset : _reset,remove: _remove}})();// overview Layoutconst oOverview = (function() {const $overviewArticle = $overview.find('.m_article-overview'), $viewJourney = $overview.find('a.view-journey');const begin = function() {$('ul.overview-card-list').each(function() {if ( !this.children.length ) {$(this).closest('.overview-card').remove();}});};const _init = function() {if ( !$contents.length ) { return false; }addEvent();this.resize();return this;};const _resize = function() {setContentHeight();};const addEvent = function() {if ( typeof(features) != 'undefined' ) {$viewJourney.on('click', function() {oAccessibility.on($('#teconsent'));oAccessibility.on($('#consent_blackbar'));features.setOverviewLastControl(this);});$('.my-journey .box-btn > a').on('click', function() {oAccessibility.on($('#teconsent'));oAccessibility.on($('#consent_blackbar'));if ( features.getRemainedTracker().length > 1 ) {features.setOverviewLastControl(this);} else {let $shopCountryBox = $('.my-journey .type-shop .country-check');let check = ['buy','regist','order','where'];let shopClassArr = $shopCountryBox.attr('class').split(' ');shopClassArr.splice(shopClassArr.indexOf('country-check'),1);let isShopBoxCheck = check.indexOf(shopClassArr[0]) > -1;if ( isShopBoxCheck ) {features.setOverviewLastControl($shopCountryBox.find('a.'+shopClassArr));} else {features.setOverviewLastControl($('.my-journey .type-nonshop .box-btn>a'));}}});}};let ImageLoadChecked = false;const setContentHeight = function() {if ( GALAXY.sizeMode > 2 ) {if ( ImageLoadChecked ) {if ( !$.browser.ie ) {let contentOffsetTop = GALAXY.isGalaxy ? $('#subnav').height() : $('#contents').offset().top;$overview.css({'min-height': 'calc(100vh - ' + contentOffsetTop + 'px)'});} else {let offset = _offset();let overviewHeight = window.innerHeight - offset;let overviewAricleHeight = $overviewArticle.outerHeight();$overview.css({'height': overviewHeight,'min-height': overviewAricleHeight });}} else {let $images = $('ul.overview-card-list figure img');let imageCount = 0;let imageLength = $images.length;let checkLoadImages = function() {imageCount++;if ( imageCount == imageLength ) {ImageLoadChecked = true;setContentHeight();}};$images.each(function() {GALAXY.loadImage( $(this), checkLoadImages );});}} else {$overview.css({'height': '','min-height': ''});}}const _offset = function() {let offset = $contents.offset().top;if ( GALAXY.isGalaxy ) {let subnav = $('#subnav').height() || 0;offset += subnav;} else {var gnbHeight = $('.gnb').height();var scrolltop = $(window).scrollTop();var calcTop = scrolltop > gnbHeight ? gnbHeight : scrolltop;offset -= calcTop;}return offset;};begin();return {init: _init,resize: _resize,getOffset: _offset}})();// feature mobile slideconst oCards = (function() {const $wrapper = $('.overview-card.feature');const $lists = $wrapper.find('ul.overview-card-list');const $arrowBtns = $wrapper.find('.overview-card-arrow button');const $items = $lists.find('>li');const $window = $(window);let areaWidth = 0;let cardsWidth = 0;let itemWidth = 0;let maxMoveX = 0;let slideCheck = false;let slideInit = false;let isArrowClicked = false;const _init = function() {size();this.resizeCheck();return this;};const _resizeCheck = function() {if (!slideInit && GALAXY.sizeMode < 2) {size();addEvent();} else {removeEvent();slide.reset();}};const resize = function() {size();slide.animation();}const addEvent = function() {slideInit = true;$lists.on({'mousedown.cards touchstart.cards': slide.start});$lists.find('a').on({'focus.cards': itemFocus });$arrowBtns.on({'click.slide': arrowBtnClick })$window.on({'resize.cards': debounceResize(resize)});slide.arrowBtnCheck();};const removeEvent = function() {$lists.off('.cards');$document.off('.cards');$window.off('.cards');slideInit = false;};const itemFocus = function() {let index = $(this).parent().index();slide.animation(index);isArrowClicked = false;}const arrowBtnClick = function() {isArrowClicked = true;let index = $(this).hasClass('prev') ? -1 : +1;index += slide.index;slide.animation(index);}const slide = {touches: [],moveX : 0,index : 0,maxLens: $items.length-1,touched: false,eventStop: function(e) {e.preventDefault();},start: function(e) {if ( slide.touched == false ) {let touches = GALAXY.getEventPoint(e);slide.touches = {x: touches[0], y: touches[1], s: $lists.__css('x') };slide.touched = 'start';}if ( e.type == 'mousedown' ) {$lists.find('a').off('click.hashChange').on('click.hashChange', slide.eventStop);e.preventDefault();}let ev = e.originalEvent;if (ev.touches || ev.changedTouches) {document.addEventListener('touchmove', slide.move, {passive: false});document.addEventListener('touchend', slide.end);} else {document.addEventListener('mousemove', slide.move);document.addEventListener('mouseup', slide.end);}// $document.off('.cards').on({// 'mousemove.cards touchmove.cards': slide.move,// 'mouseup.cards touchend.cards': slide.end// });isArrowClicked = false;},getEventPoint: function(e) {if (e.touches || e.changedTouches) {return [e.touches[0] ? e.touches[0].pageX : e.changedTouches[0].pageX,e.touches[0] ? e.touches[0].pageY : e.changedTouches[0].pageY];}return [e.clientX, e.clientY];},move: function(e) {let touches = slide.getEventPoint(e);let moveX = touches[0] - slide.touches['x'];let moveY = touches[1] - slide.touches['y'];if (slide.touched === 'start') {slide.touched = (Math.abs(moveX) > Math.abs(moveY));}if ( slide.touched ) {slide.touches['mx'] = moveX;slide.moveX = moveX + slide.touches['s'];$lists.__css({x: slide.moveX});e.preventDefault();// console.log( e.preventDefault );if ( e.type == 'mousemove' ) {e.preventDefault();}}},end : function(e) {if ( slide.touched === true ) {let direction = (slide.touches['mx'] > 0) ? 1 : -1;let v = (parseInt(slide.touches['mx']/itemWidth,10)+direction) *itemWidth + slide.touches['s'];if ($('html.rtl').get(0)) {v = Math.max(Math.min(v, maxMoveX), 0);slide.index = Math.ceil(v/itemWidth);} else {v = Math.max(Math.min(v, 0), -maxMoveX);slide.index = Math.ceil(-v/itemWidth);}slide.animation();if (e && e.originalEvent) e.preventDefault();} else {$lists.find('a').off('click.hashChange');}slide.touched = false;if ( e && e.type) {if (e.touches || e.changedTouches) {document.removeEventListener('touchmove', slide.move);document.removeEventListener('touchend', slide.end);} else {document.removeEventListener('mousemove', slide.move);document.removeEventListener('mouseup', slide.end);}}slide.arrowBtnCheck();},animation: function(i) {let index = (typeof(i) == 'number') ? i : slide.index;index = Math.min(Math.max(index, 0), slide.maxLens);let v = (index == slide.maxLens) ? -maxMoveX : -(index*itemWidth);v *= $('html.rtl').get(0) ? -1 : 1;$lists.__animate({x: v}, {duration: 300, easing: 'easeOutCubic', force3D: true, complete: slide.end});slide.index = index;},reset: function() {$lists.css({'transform': ''});slide.index = 0;slide.touched = false;},arrowBtnCheck: function() {$arrowBtns.eq(0).parent().decideClass('hide', !slide.index);$arrowBtns.eq(1).parent().decideClass('hide', slide.index>=slide.maxLens);if ( isArrowClicked ) {if ( !slide.index ) { $arrowBtns.eq(1).focus(); }else if ( slide.index>=slide.maxLens ) { $arrowBtns.eq(0).focus(); }}}}const size = function() {areaWidth = $wrapper.width();cardsWidth = $lists[0].scrollWidth;itemWidth = $items.outerWidth();slideCheck = (areaWidth