Smart Switch | Apps - The Official Samsung Galaxy Site (2024)

Smart Switch | Apps - The Official Samsung Galaxy Site (1)

Move data
fast and easy
with Smart Switch


The content on your previous phone or tablet - favorite photos, contacts, calendar events, notes, device settings and more
- stays with you when you switch to a new Samsung Galaxy.

Smart Switch | Apps - The Official Samsung Galaxy Site (2)Smart Switch | Apps - The Official Samsung Galaxy Site (3)

* Transferable data may vary depending on the device OS (Android or iOS), OS version, and/or connection option.

Why Samsung Smart Switch?


Smart Switch seamlessly transfers multiple types of data to your new Samsung Galaxy from different devices in the way that works best for you.

Smart Switch | Apps - The Official Samsung Galaxy Site (4)Smart Switch | Apps - The Official Samsung Galaxy Site (5)

Move data from different OS

Regardless of whether you’re coming from another Galaxy, iOS or other Android device, the data you care about can now be brought over to your new Galaxy effortlessly.

* Check technical requirements for Smart Switch compatible devices from the FAQ section.

Smart Switch | Apps - The Official Samsung Galaxy Site (6)Smart Switch | Apps - The Official Samsung Galaxy Site (7)

Switch through many ways

Smart Switch lets you choose from many options to connect your devices - from a USB cable, wireless connection, storage device to PC and more.

* Available connection option may vary depending on device OS, manufacturer or availability of expandable storage.

Smart Switch | Apps - The Official Samsung Galaxy Site (8)Smart Switch | Apps - The Official Samsung Galaxy Site (9)

Switch various types of data

Smart Switch migrates different types of files to your new Galaxy, including photos, videos, notes, calendar events and even device settings.

* Transferable data may vary depending on the device OS (Android or iOS), OS version, and/or connection option.

How to transfer

Ready to transfer data? First, prepare your previous device and then select the preferred way to connect your new Samsung Galaxy.

What is your previous device?

GALAXY

How would you like to connect?
Use Wi-Fi or a USB cable

Before you begin

Make sure you have the most up-to-date version of the Smart Switch app installed on both devices. The app is pre-installed but also downloadable from the Galaxy Store.

Smart Switch will run when devices are at least 20% charged to ensure safe data transfer.

Smart Switch | Apps - The Official Samsung Galaxy Site (10)

Step 1 : Launch

On your new Galaxy device, open the Smart Switch app. Tap Receive data, and then tap Galaxy.

  • * You can find the Smart Switch app on the Galaxy phone or tablet by navigating to the Samsung folder on the Apps screen, or going to Settings > Accounts and backup > Smart Switch.
Smart Switch | Apps - The Official Samsung Galaxy Site (11)
  • * You can find the Smart Switch app on the Galaxy phone or tablet by navigating to the Samsung folder on the Apps screen, or going to Settings > Accounts and backup > Smart Switch.

Step 2 : Connect

Select a wireless connection or use a USB cable to connect your old device to your new Galaxy device.

  • * If you have a large amount of data to transfer, a wired connection is recommended because it is relatively faster. Make sure your devices are properly charged beforehand since connecting to a charger is not available during such transfer.
Smart Switch | Apps - The Official Samsung Galaxy Site (12)
  • * If you have a large amount of data to transfer, a wired connection is recommended because it is relatively faster. Make sure your devices are properly charged beforehand since connecting to a charger is not available during such transfer.

Step 3 : Select

Select the data you want to transfer. When you are ready to start, tap Transfer.

Smart Switch | Apps - The Official Samsung Galaxy Site (13)

Step 4 : Transfer

The transfer will begin shortly. Tap Done when it’s finished.

Smart Switch | Apps - The Official Samsung Galaxy Site (14)
Backup and restore from external storage

Before you begin

Make sure you have the most up-to-date version of the Smart Switch app installed on your devices. The app is pre-installed but also downloadable from the Galaxy Store.

And then insert the microSD card or connect the USB storage device to your Galaxy phone or tablet.

Smart Switch | Apps - The Official Samsung Galaxy Site (15)

Step 1 : Launch

On your phone, launch the Smart Switch app and tap the SD card icon in the upper right corner.

  • * You can find the Smart Switch app on the Galaxy phone or tablet by navigating to the Samsung folder on the Apps screen, or going to Settings > Accounts and backup > Smart Switch.
Smart Switch | Apps - The Official Samsung Galaxy Site (16)
  • * You can find the Smart Switch app on the Galaxy phone or tablet by navigating to the Samsung folder on the Apps screen, or going to Settings > Accounts and backup > Smart Switch.

Step 2 : Select

Tap SD Card under Back up to, and select the data you want to back up from your old device.

  • * If there is not enough space on your external storage, you may need to deselect some items. Or, you may clear the external storage to get enough space for the data to transfer
Smart Switch | Apps - The Official Samsung Galaxy Site (17)
  • * If there is not enough space on your external storage, you may need to deselect some items. Or, you may clear the external storage to get enough space for the data to transfer

Step 3 : Back up

Follow the on-screen instructions. When finished, tap Done and then remove the external storage from the old device.

Smart Switch | Apps - The Official Samsung Galaxy Site (18)

Step 4 : Connect

Next, insert the external storage into the new Galaxy device to receive data. Launch the Smart Switch app, and tap the SD card icon.

Smart Switch | Apps - The Official Samsung Galaxy Site (19)

Step 5 : Restore

Tap Restore. Select what you want to restore, and then tap Next.

Smart Switch | Apps - The Official Samsung Galaxy Site (20)

Step 6 : Transfer

The transfer will begin shortly. Tap Next and then Done when it’s finished.

Smart Switch | Apps - The Official Samsung Galaxy Site (21)
Backup and restore from PC or Mac

Before you begin

Make sure you have the most up-to-date version of the Smart Switch app installed on your devices.

The app for Galaxy phone or tablet is pre-installed but also downloadable from the Galaxy Store. For the Smart Switch PC app, download and install it on your Windows PC or Mac.

Smart Switch PC download link :

WindowsMac

  • * Smart Switch will run when devices are at least 20% charged to ensure safe data transfer.
Smart Switch | Apps - The Official Samsung Galaxy Site (22)
  • * Smart Switch will run when devices are at least 20% charged to ensure safe data transfer.

Step 1 : Connect and launch

Connect your previous phone or tablet to your PC using a USB cable.
On your PC, launch the Smart Switch app and tap Backup to save data from the old device.

Smart Switch | Apps - The Official Samsung Galaxy Site (23)

Step 2 : Select to back up

Choose the data you want to back up. "Select all" is the default option, but you can deselect some items if you'd like. Clicking on a category will allow you to select specific items in that category. Tap Backup when you are ready.

Smart Switch | Apps - The Official Samsung Galaxy Site (24)

Step 3 : Back up

The transfer will begin shortly. Tap Done when it’s finished.

Smart Switch | Apps - The Official Samsung Galaxy Site (25)

Step 4 : Connect and restore

Next, connect your new Galaxy device to your PC using a USB cable.
On your PC, launch Smart Switch and tap Restore to transfer data to the new device.

Smart Switch | Apps - The Official Samsung Galaxy Site (26)

Step 5 : Select to restore

Select the data you want to restore, and tap Restore.

Smart Switch | Apps - The Official Samsung Galaxy Site (27)

Step 6 : Transfer

The transfer will begin shortly. Tap OK when the restore is complete.

Smart Switch | Apps - The Official Samsung Galaxy Site (28)

IOS

How would you like to connect?
Use a USB cable

Before you begin

Make sure you have the most up-to-date version of the Smart Switch app installed on the Galaxy device. The app is pre-installed but also downloadable from the Galaxy Store. You don’t need to install the app on an iOS device.

Check if both devices are properly charged before connecting with a USB cable because connecting to a charger is not available during the transfer.

Smart Switch | Apps - The Official Samsung Galaxy Site (29)

Step 1 : Launch

On your new Galaxy device, launch the Smart Switch app. Tap Receive data, and then tap iPhone/iPad.

  • * You can find the Smart Switch app on the Galaxy phone or tablet by navigating to the Samsung folder on the Apps screen, or going to Settings > Accounts and backup > Smart Switch.
Smart Switch | Apps - The Official Samsung Galaxy Site (30)
  • * You can find the Smart Switch app on the Galaxy phone or tablet by navigating to the Samsung folder on the Apps screen, or going to Settings > Accounts and backup > Smart Switch.

Step 2 : Connect

Use a Lightning-to-USB-C or USB-C-to-USB-C cable to connect your previous iOS device to your new Galaxy device. If you are using a USB-A cable like many standard charging cables, you can use the OTG adapter to plug into the USB-C port.

When the “Trust This Computer?” alert appears on your iPhone or iPad, tap “Trust”.

  • * OTG adapter sold separately
Smart Switch | Apps - The Official Samsung Galaxy Site (31)
  • * OTG adapter sold separately

Step 3 : Select

Select the data you want to transfer. When you are ready to start, tap Transfer.

Smart Switch | Apps - The Official Samsung Galaxy Site (32)

Step 4 : Transfer

The transfer will begin shortly. Tap Done when it’s finished.

Smart Switch | Apps - The Official Samsung Galaxy Site (33)

Additional tips

You can also transfer your WhatsApp chats and photos on your iOS device to your new Samsung Galaxy.

Take the following steps:

  1. 1. When selecting the data to transfer, choose “WhatsApp” under the Apps menu, and tap Transfer.
  2. 2. Scan the QR code and tap Start on your iPhone.
  • * Requires the latest version of WhatsApp on iOS device.
  • * WhatsApp chat history can be transferred only before signing into WhatsApp on the new device. If WhatsApp is logged in before migration or before Smart Switch is done transferring the data, then the app data cannot be transferred.
Smart Switch | Apps - The Official Samsung Galaxy Site (34)
  • * Requires the latest version of WhatsApp on iOS device.
  • * WhatsApp chat history can be transferred only before signing into WhatsApp on the new device. If WhatsApp is logged in before migration or before Smart Switch is done transferring the data, then the app data cannot be transferred.
Use Wi-Fi

Before you begin

Make sure you have the most up-to-date version of the Smart Switch app installed on both devices. The app comes pre-installed on new Galaxy devices but is also downloadable from the Galaxy Store. Download the Smart Switch app from Apple's App Store and install it on your old iPhone or iPad.

Smart Switch will run when devices are at least 20% charged to ensure safe data transfer.

Smart Switch mobile download link :

Smart Switch | Apps - The Official Samsung Galaxy Site (35)

Step 1 : Launch

On your new Galaxy device, launch the Smart Switch app. Tap "Receive data" and then tap "iPhone/iPad."

  • * You can find the Smart Switch app on your Galaxy phone or tablet by navigating to the Samsung folder on the Apps screen, or by going to Settings > Accounts and backup > Smart Switch.
Smart Switch | Apps - The Official Samsung Galaxy Site (36)
  • * You can find the Smart Switch app on your Galaxy phone or tablet by navigating to the Samsung folder on the Apps screen, or by going to Settings > Accounts and backup > Smart Switch.

Step 2 : Connect

Tap "Transfer wirelessly" to connect your iOS device to your new Galaxy device.

  • * If you have a large amount of data to transfer, it is recommended to use a wired connection, as it can transfer a larger amount of data at once. Make sure your devices are properly charged beforehand since connecting to a charger is not available during such a transfer.
Smart Switch | Apps - The Official Samsung Galaxy Site (37)
  • * If you have a large amount of data to transfer, it is recommended to use a wired connection, as it can transfer a larger amount of data at once. Make sure your devices are properly charged beforehand since connecting to a charger is not available during such a transfer.

Step 2 : Connect

Download the Smart Switch app by tapping "Get Smart Switch on your iPhone or iPad" and scanning the QR code.

Smart Switch | Apps - The Official Samsung Galaxy Site (38)

Step 2 : Connect

Open the Smart Switch app on your iPhone or iPad, and tap "Transfer wirelessly."
Then, scan the QR code on your new Samsung Galaxy phone.

Smart Switch | Apps - The Official Samsung Galaxy Site (39)

Step 3 : Select

Select the data you want to transfer. When you are ready to start, tap "Transfer."
You can transfer your Contacts, Calendar, Images and Videos.

Smart Switch | Apps - The Official Samsung Galaxy Site (40)

Step 4 : Transfer

The transfer will begin shortly. Tap Done when it’s finished.

  • * Keep Smart Switch open on your iPhone or iPad while transferring
Smart Switch | Apps - The Official Samsung Galaxy Site (41)
  • * Keep Smart Switch open on your iPhone or iPad while transferring
Transfer iTunes (Finder) backup data from PC or Mac

Before you begin

Make sure you have the most up-to-date version of the Smart Switch app installed on your devices.

The app for Galaxy phone or tablet is pre-installed but also downloadable from the Galaxy Store. For the Smart Switch PC app, download and install it on your Windows PC or Mac.

Smart Switch PC download link :

WindowsMac

Smart Switch | Apps - The Official Samsung Galaxy Site (42)

Step 1 : Back up

To make sure all of your latest data is ready for Smart Switch, back up your iOS device with iTunes (Finder) on your PC or Mac.

Smart Switch | Apps - The Official Samsung Galaxy Site (43)

Step 2 : Connect

Connect your phone to your PC using a USB cable. Launch Smart Switch on your PC, and tap Restore.

Smart Switch | Apps - The Official Samsung Galaxy Site (44)

Step 3 : Restore

Select the iTunes (Finder) backup data you would like to restore and tap Restore.

Smart Switch | Apps - The Official Samsung Galaxy Site (45)

Step 4 : Transfer

The transfer will begin shortly. Tap Done when it’s finished.

Smart Switch | Apps - The Official Samsung Galaxy Site (46)
Move iCloud data

Before you begin

Make sure you have the most up-to-date version of the Smart Switch app installed on your Galaxy phone or tablet. The app is pre-installed but also downloadable from the Galaxy Store.

Smart Switch will run when devices are at least 20% charged to ensure a safe data transfer.

Smart Switch | Apps - The Official Samsung Galaxy Site (47)

Step 1 : Sync to iCloud

To make sure all of your latest data is ready for Smart Switch, sync your iOS device to iCloud.

  1. 1. On your iPhone or iPad, go to Settings, tap your name, then tap iCloud. Then tap Show All.
  2. 2. Select Photos and turn on Sync this iPhone (or iPad).
  3. 3. Go back to iCloud and select iCloud Drive, then turn on Sync this iPhone (or iPad).
  4. 4. Go back to iCloud and turn on Pages, Numbers and Keynote.
  5. 5. Go back to iCloud and select Notes, then turn on Sync this iPhone (or iPad).
  6. 6. Go back to iCloud and turn on Contacts, Calendars and Reminders.
Smart Switch | Apps - The Official Samsung Galaxy Site (48)

Step 2 : Launch

On your new device, launch the Smart Switch app and tap Receive data. Then tap iPhone/iPad.

  • * You can find the Smart Switch app on the Galaxy phone or tablet by navigating to the Samsung folder on the Apps screen, or going to Settings > Accounts and backup > Smart Switch.
Smart Switch | Apps - The Official Samsung Galaxy Site (49)
  • * You can find the Smart Switch app on the Galaxy phone or tablet by navigating to the Samsung folder on the Apps screen, or going to Settings > Accounts and backup > Smart Switch.

Step 3 : Connect

Tap Get data from iCloud instead. Enter your Apple ID or email address and password, and tap Sign in to iCloud.

Smart Switch | Apps - The Official Samsung Galaxy Site (50)

Step 4 : Select

Select the iCloud data you want to transfer, and then tap Transfer.

Smart Switch | Apps - The Official Samsung Galaxy Site (51)

Step 5 : Transfer

The transfer will begin shortly. Tap Done when it’s finished.

Smart Switch | Apps - The Official Samsung Galaxy Site (52)

Other Android

How would you like to connect?
Use Wi-Fi or a USB cable

Before you begin

Make sure you have the most up-to-date version of the Smart Switch app installed on both devices. The app is pre-installed on the new Galaxy device but also downloadable from the Galaxy Store or the Google Play Store.

Smart Switch will run when devices are at least 20% charged to ensure safe data transfer.

Smart Switch | Apps - The Official Samsung Galaxy Site (53)

Step 1 : Launch

On your new Galaxy phone, launch the Smart Switch app and tap Receive data. And then tap Galaxy/Android.

  • * You can find the Smart Switch app on the Galaxy phone or tablet by navigating to the Samsung folder on the Apps screen, or going to Settings > Accounts and backup > Smart Switch.
Smart Switch | Apps - The Official Samsung Galaxy Site (54)
  • * You can find the Smart Switch app on the Galaxy phone or tablet by navigating to the Samsung folder on the Apps screen, or going to Settings > Accounts and backup > Smart Switch.

Step 2 : Connect

Select a wireless connection or use a USB cable to connect your old device to your new Galaxy phone.

  • * If you have a large amount of data to transfer, a wired connection is recommended because it is relatively faster. Make sure your devices are properly charged beforehand since connecting to a charger is not available during such transfer.
Smart Switch | Apps - The Official Samsung Galaxy Site (55)
  • * If you have a large amount of data to transfer, a wired connection is recommended because it is relatively faster. Make sure your devices are properly charged beforehand since connecting to a charger is not available during such transfer.

Step 3 : Select

Select the data you want to transfer. When you are ready to start, tap Transfer.

Smart Switch | Apps - The Official Samsung Galaxy Site (56)

Step 4 : Transfer

The transfer will begin shortly. Tap Done when it’s finished.

Smart Switch | Apps - The Official Samsung Galaxy Site (57)
Backup and restore from external storage

Before you begin

Make sure you have the most up-to-date version of the Smart Switch app installed on your devices. The app is pre-installed on the new Galaxy device but also downloadable from the Galaxy Store or the Google Play Store.

And then insert the microSD card or connect the USB storage device to your old device.

Smart Switch | Apps - The Official Samsung Galaxy Site (58)

Step 1 : Launch

On your old device, launch the Smart Switch app and tap the SD card icon on the upper right corner. And then tap SD Card under Back up to.

  • * The Smart Switch app is downloadable from Galaxy Store or Google Play Store.
Smart Switch | Apps - The Official Samsung Galaxy Site (59)
  • * The Smart Switch app is downloadable from Galaxy Store or Google Play Store.

Step 2 : Select and back up

Select the data you want to back up and tap Next. When transfer is complete, tap Done.

  • * If there is not enough space on your external storage, you may need to deselect some items. Or, you may clear the external storage to get enough space for the data to transfer
Smart Switch | Apps - The Official Samsung Galaxy Site (60)
  • * If there is not enough space on your external storage, you may need to deselect some items. Or, you may clear the external storage to get enough space for the data to transfer

Step 3 : Connect

Next, insert a SD card or connect a USB storage device to your new Galaxy phone. Launch the Smart Switch app and tap the SD card icon on the upper right corner.

Smart Switch | Apps - The Official Samsung Galaxy Site (61)

Step 4 : Restore

Tap Restore. Select what you want to restore, and then tap Next.

Smart Switch | Apps - The Official Samsung Galaxy Site (62)

Step 5 : Transfer

The transfer will begin shortly. Tap Done when it’s finished.

Smart Switch | Apps - The Official Samsung Galaxy Site (63)

').addClass(s.options.dotsClass), e = 0; e <= s.getDotCount(); e += 1) i.find("ul").append(t('

  • ').append(s.options.customPaging.call(this, s, e))); s.$dots = i.appendTo(s.options.appendDots) } }, e.prototype.buildOut = function () { var e = this; e.$slides = e.$slider.children(e.options.slide + ":not(.slick-cloned)").addClass("slick-slide"), e.slideCount = e.$slides.length, e.$slides.each(function (e, i) { t(i).attr("data-slick-index", e).data("originalStyling", t(i).attr("style") || "") }), e.$slider.addClass("slick-slider"), e.$slideTrack = 0 === e.slideCount ? t('

    ').appendTo(e.$slider) : e.$slides.wrapAll('

    ').parent(), e.$list = e.$slideTrack.wrap('

    ').parent(), e.$slideTrack.css("opacity", 0), (e.options.centerMode === !0 || e.options.swipeToSlide === !0) && (e.options.slidesToScroll = 1), t("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"), e.setupInfinite(), e.buildArrows(), e.buildDots(), e.updateDots(), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), e.options.draggable === !0 && e.$list.addClass("draggable") }, e.prototype.buildRows = function () { var t, e, i, s, n, r, o, a = this; if (s = document.createDocumentFragment(), r = a.$slider.children(), a.options.rows > 1) { for (o = a.options.slidesPerRow * a.options.rows, n = Math.ceil(r.length / o), t = 0; n > t; t++) { var l = document.createElement("div"); for (e = 0; e < a.options.rows; e++) { var h = document.createElement("div"); for (i = 0; i < a.options.slidesPerRow; i++) { var c = t * o + (e * a.options.slidesPerRow + i); r.get(c) && h.appendChild(r.get(c)) } l.appendChild(h) } s.appendChild(l) } a.$slider.empty().append(s), a.$slider.children().children().children().css({ width: 100 / a.options.slidesPerRow + "%", display: "inline-block" }) } }, e.prototype.checkResponsive = function (e, i) { var s, n, r, o = this, a = !1, l = o.$slider.width(), h = window.innerWidth || t(window).width(); if ("window" === o.respondTo ? r = h : "slider" === o.respondTo ? r = l : "min" === o.respondTo && (r = Math.min(h, l)), o.options.responsive && o.options.responsive.length && null !== o.options.responsive) { n = null; for (s in o.breakpoints) o.breakpoints.hasOwnProperty(s) && (o.originalSettings.mobileFirst === !1 ? r < o.breakpoints[s] && (n = o.breakpoints[s]) : r > o.breakpoints[s] && (n = o.breakpoints[s])); null !== n ? null !== o.activeBreakpoint ? (n !== o.activeBreakpoint || i) && (o.activeBreakpoint = n, "unslick" === o.breakpointSettings[n] ? o.unslick(n) : (o.options = t.extend({}, o.originalSettings, o.breakpointSettings[n]), e === !0 && (o.currentSlide = o.options.initialSlide), o.refresh(e)), a = n) : (o.activeBreakpoint = n, "unslick" === o.breakpointSettings[n] ? o.unslick(n) : (o.options = t.extend({}, o.originalSettings, o.breakpointSettings[n]), e === !0 && (o.currentSlide = o.options.initialSlide), o.refresh(e)), a = n) : null !== o.activeBreakpoint && (o.activeBreakpoint = null, o.options = o.originalSettings, e === !0 && (o.currentSlide = o.options.initialSlide), o.refresh(e), a = n), e || a === !1 || o.$slider.trigger("breakpoint", [o, a]) } }, e.prototype.changeSlide = function (e, i) { var s, n, r, o = this, a = t(e.currentTarget); switch (a.is("a") && e.preventDefault(), a.is("li") || (a = a.closest("li")), r = o.slideCount % o.options.slidesToScroll !== 0, s = r ? 0 : (o.slideCount - o.currentSlide) % o.options.slidesToScroll, e.data.message) { case "previous": n = 0 === s ? o.options.slidesToScroll : o.options.slidesToShow - s, o.slideCount > o.options.slidesToShow && o.slideHandler(o.currentSlide - n, !1, i); break; case "next": n = 0 === s ? o.options.slidesToScroll : s, o.slideCount > o.options.slidesToShow && o.slideHandler(o.currentSlide + n, !1, i); break; case "index": var l = 0 === e.data.index ? 0 : e.data.index || a.index() * o.options.slidesToScroll; o.slideHandler(o.checkNavigable(l), !1, i), a.children().trigger("focus"); break; default: return } }, e.prototype.checkNavigable = function (t) { var e, i, s = this; if (e = s.getNavigableIndexes(), i = 0, t > e[e.length - 1]) t = e[e.length - 1]; else for (var n in e) { if (t < e[n]) { t = i; break } i = e[n] } return t }, e.prototype.cleanUpEvents = function () { var e = this; e.options.dots && null !== e.$dots && t("li", e.$dots).off("click.slick", e.changeSlide).off("mouseenter.slick", t.proxy(e.interrupt, e, !0)).off("mouseleave.slick", t.proxy(e.interrupt, e, !1)), e.$slider.off("focus.slick blur.slick"), e.options.arrows === !0 && e.slideCount > e.options.slidesToShow && (e.$prevArrow && e.$prevArrow.off("click.slick", e.changeSlide), e.$nextArrow && e.$nextArrow.off("click.slick", e.changeSlide)), e.$list.off("touchstart.slick mousedown.slick", e.swipeHandler), e.$list.off("touchmove.slick mousemove.slick", e.swipeHandler), e.$list.off("touchend.slick mouseup.slick", e.swipeHandler), e.$list.off("touchcancel.slick mouseleave.slick", e.swipeHandler), e.$list.off("click.slick", e.clickHandler), t(document).off(e.visibilityChange, e.visibility), e.cleanUpSlideEvents(), e.options.accessibility === !0 && e.$list.off("keydown.slick", e.keyHandler), e.options.focusOnSelect === !0 && t(e.$slideTrack).children().off("click.slick", e.selectHandler), t(window).off("orientationchange.slick.slick-" + e.instanceUid, e.orientationChange), t(window).off("resize.slick.slick-" + e.instanceUid, e.resize), t("[draggable!=true]", e.$slideTrack).off("dragstart", e.preventDefault), t(window).off("load.slick.slick-" + e.instanceUid, e.setPosition), t(document).off("ready.slick.slick-" + e.instanceUid, e.setPosition) }, e.prototype.cleanUpSlideEvents = function () { var e = this; e.$list.off("mouseenter.slick", t.proxy(e.interrupt, e, !0)), e.$list.off("mouseleave.slick", t.proxy(e.interrupt, e, !1)) }, e.prototype.cleanUpRows = function () { var t, e = this; e.options.rows > 1 && (t = e.$slides.children().children(), t.removeAttr("style"), e.$slider.empty().append(t)) }, e.prototype.clickHandler = function (t) { var e = this; e.shouldClick === !1 && (t.stopImmediatePropagation(), t.stopPropagation(), t.preventDefault()) }, e.prototype.destroy = function (e) { var i = this; i.autoPlayClear(), i.touchObject = {}, i.cleanUpEvents(), t(".slick-cloned", i.$slider).detach(), i.$dots && i.$dots.remove(), i.$prevArrow && i.$prevArrow.length && (i.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), i.htmlExpr.test(i.options.prevArrow) && i.$prevArrow.remove()), i.$nextArrow && i.$nextArrow.length && (i.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), i.htmlExpr.test(i.options.nextArrow) && i.$nextArrow.remove()), i.$slides && (i.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function () { t(this).attr("style", t(this).data("originalStyling")) }).find("button").removeAttr("title"), i.$slideTrack.children(this.options.slide).detach(), i.$slideTrack.detach(), i.$list.detach(), i.$slider.append(i.$slides)), i.cleanUpRows(), i.$slider.removeClass("slick-slider"), i.$slider.removeClass("slick-initialized"), i.$slider.removeClass("slick-dotted"), i.unslicked = !0, e || i.$slider.trigger("destroy", [i]) }, e.prototype.disableTransition = function (t) { var e = this, i = {}; i[e.transitionType] = "", e.options.fade === !1 ? e.$slideTrack.css(i) : e.$slides.eq(t).css(i) }, e.prototype.fadeSlide = function (t, e) { var i = this; i.cssTransitions === !1 ? (i.$slides.eq(t).css({ zIndex: i.options.zIndex }), i.$slides.eq(t).animate({ opacity: 1 }, i.options.speed, i.options.easing, e)) : (i.applyTransition(t), i.$slides.eq(t).css({ opacity: 1, zIndex: i.options.zIndex }), e && setTimeout(function () { i.disableTransition(t), e.call() }, i.options.speed)) }, e.prototype.fadeSlideOut = function (t) { var e = this; e.cssTransitions === !1 ? e.$slides.eq(t).animate({ opacity: 0, zIndex: e.options.zIndex - 2 }, e.options.speed, e.options.easing) : (e.applyTransition(t), e.$slides.eq(t).css({ opacity: 0, zIndex: e.options.zIndex - 2 })) }, e.prototype.filterSlides = e.prototype.slickFilter = function (t) { var e = this; null !== t && (e.$slidesCache = e.$slides, e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(t).appendTo(e.$slideTrack), e.reinit()) }, e.prototype.focusHandler = function () { var e = this; e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*:not(.slick-arrow)", function (i) { i.stopImmediatePropagation(); var s = t(this); setTimeout(function () { e.options.pauseOnFocus && (e.focussed = s.is(":focus"), e.autoPlay()) }, 0) }) }, e.prototype.getCurrent = e.prototype.slickCurrentSlide = function () { var t = this; return t.currentSlide }, e.prototype.getDotCount = function () { var t = this, e = 0, i = 0, s = 0; if (t.options.infinite === !0) for (; e < t.slideCount;) ++s, e = i + t.options.slidesToScroll, i += t.options.slidesToScroll <= t.options.slidesToShow ? t.options.slidesToScroll : t.options.slidesToShow; else if (t.options.centerMode === !0) s = t.slideCount; else if (t.options.asNavFor) for (; e < t.slideCount;) ++s, e = i + t.options.slidesToScroll, i += t.options.slidesToScroll <= t.options.slidesToShow ? t.options.slidesToScroll : t.options.slidesToShow; else s = 1 + Math.ceil((t.slideCount - t.options.slidesToShow) / t.options.slidesToScroll); return s - 1 }, e.prototype.getLeft = function (t) { var e, i, s, n = this, r = 0; return n.slideOffset = 0, i = n.$slides.first().outerHeight(!0), n.options.infinite === !0 ? (n.slideCount > n.options.slidesToShow && (n.slideOffset = n.slideWidth * n.options.slidesToShow * -1, r = i * n.options.slidesToShow * -1), n.slideCount % n.options.slidesToScroll !== 0 && t + n.options.slidesToScroll > n.slideCount && n.slideCount > n.options.slidesToShow && (t > n.slideCount ? (n.slideOffset = (n.options.slidesToShow - (t - n.slideCount)) * n.slideWidth * -1, r = (n.options.slidesToShow - (t - n.slideCount)) * i * -1) : (n.slideOffset = n.slideCount % n.options.slidesToScroll * n.slideWidth * -1, r = n.slideCount % n.options.slidesToScroll * i * -1))) : t + n.options.slidesToShow > n.slideCount && (n.slideOffset = (t + n.options.slidesToShow - n.slideCount) * n.slideWidth, r = (t + n.options.slidesToShow - n.slideCount) * i), n.slideCount <= n.options.slidesToShow && (n.slideOffset = 0, r = 0), n.options.centerMode === !0 && n.options.infinite === !0 ? n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2) - n.slideWidth : n.options.centerMode === !0 && (n.slideOffset = 0, n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2)), e = n.options.vertical === !1 ? t * n.slideWidth * -1 + n.slideOffset : t * i * -1 + r, n.options.variableWidth === !0 && (s = n.slideCount <= n.options.slidesToShow || n.options.infinite === !1 ? n.$slideTrack.children(".slick-slide").eq(t) : n.$slideTrack.children(".slick-slide").eq(t + n.options.slidesToShow), e = n.options.rtl === !0 ? s[0] ? -1 * (n.$slideTrack.width() - s[0].offsetLeft - s.width()) : 0 : s[0] ? -1 * s[0].offsetLeft : 0, n.options.centerMode === !0 && (s = n.slideCount <= n.options.slidesToShow || n.options.infinite === !1 ? n.$slideTrack.children(".slick-slide").eq(t) : n.$slideTrack.children(".slick-slide").eq(t + n.options.slidesToShow + 1), e = n.options.rtl === !0 ? s[0] ? -1 * (n.$slideTrack.width() - s[0].offsetLeft - s.width()) : 0 : s[0] ? -1 * s[0].offsetLeft : 0, e += (n.$list.width() - s.outerWidth()) / 2)), e }, e.prototype.getOption = e.prototype.slickGetOption = function (t) { var e = this; return e.options[t] }, e.prototype.getNavigableIndexes = function () { var t, e = this, i = 0, s = 0, n = []; for (e.options.infinite === !1 ? t = e.slideCount : (i = -1 * e.options.slidesToScroll, s = -1 * e.options.slidesToScroll, t = 2 * e.slideCount); t > i;) n.push(i), i = s + e.options.slidesToScroll, s += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow; return n }, e.prototype.getSlick = function () { return this }, e.prototype.getSlideCount = function () { var e, i, s, n = this; return s = n.options.centerMode === !0 ? n.slideWidth * Math.floor(n.options.slidesToShow / 2) : 0, n.options.swipeToSlide === !0 ? (n.$slideTrack.find(".slick-slide").each(function (e, r) { if(n.options.rtl === true) return (t(n.$slideTrack[0]).outerWidth() - r.offsetLeft) - s - t(r).outerWidth() / 2 > -1 * n.swipeLeft ? (i = r, !1) : void 0; if(n.options.rtl === false) return r.offsetLeft - s + t(r).outerWidth() / 2 > -1 * n.swipeLeft ? (i = r, !1) : void 0; }), e = Math.abs(t(i).attr("data-slick-index") - n.currentSlide) || 1) : n.options.slidesToScroll }, e.prototype.goTo = e.prototype.slickGoTo = function (t, e) { var i = this; i.changeSlide({ data: { message: "index", index: parseInt(t) } }, e) }, e.prototype.init = function (e) { var i = this; t(i.$slider).hasClass("slick-initialized") || (t(i.$slider).addClass("slick-initialized"), i.buildRows(), i.buildOut(), i.setProps(), i.startLoad(), i.loadSlider(), i.initializeEvents(), i.updateArrows(), i.updateDots(), i.checkResponsive(!0), i.focusHandler()), e && i.$slider.trigger("init", [i]), i.options.accessibility === !0 && i.initADA(), i.options.autoplay && (i.paused = !1, i.autoPlay()) }, e.prototype.initADA = function () { var e = this; e.$slideTrack.find(".slick-cloned").attr({ tabindex: "-1" }), e.$slideTrack.attr("data-role", "listbox"), e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function (e) { t(this).attr({ "data-role": "option" }) }), null !== e.$dots && e.$dots.attr("data-role", "tablist").find("li").each(function (i) { t(this).attr({ "data-role": "presentation", id: "slick-slide" + e.instanceUid + i }) }).find("button").attr("data-role", "button").end().closest("div").attr("data-role", "toolbar"), e.activateADA() }, e.prototype.initArrowEvents = function () { var t = this; t.options.arrows === !0 && t.slideCount > t.options.slidesToShow && (t.$prevArrow.off("click.slick").on("click.slick", { message: "previous" }, t.changeSlide), t.$nextArrow.off("click.slick").on("click.slick", { message: "next" }, t.changeSlide)) }, e.prototype.initDotEvents = function () { var e = this; e.options.dots === !0 && e.slideCount > e.options.slidesToShow && t("li", e.$dots).on("click.slick", { message: "index" }, e.changeSlide), e.options.dots === !0 && e.options.pauseOnDotsHover === !0 && t("li", e.$dots).on("mouseenter.slick", t.proxy(e.interrupt, e, !0)).on("mouseleave.slick", t.proxy(e.interrupt, e, !1)) }, e.prototype.initSlideEvents = function () { var e = this; e.options.pauseOnHover && (e.$list.on("mouseenter.slick", t.proxy(e.interrupt, e, !0)), e.$list.on("mouseleave.slick", t.proxy(e.interrupt, e, !1))) }, e.prototype.initializeEvents = function () { var e = this; e.initArrowEvents(), e.initDotEvents(), e.initSlideEvents(), e.$list.on("touchstart.slick mousedown.slick", { action: "start" }, e.swipeHandler), e.$list.on("touchmove.slick mousemove.slick", { action: "move" }, e.swipeHandler), e.$list.on("touchend.slick mouseup.slick", { action: "end" }, e.swipeHandler), e.$list.on("touchcancel.slick mouseleave.slick", { action: "end" }, e.swipeHandler), e.$list.on("click.slick", e.clickHandler), t(document).on(e.visibilityChange, t.proxy(e.visibility, e)), e.options.accessibility === !0 && e.$list.on("keydown.slick", e.keyHandler), e.options.focusOnSelect === !0 && t(e.$slideTrack).children().on("click.slick", e.selectHandler), t(window).on("orientationchange.slick.slick-" + e.instanceUid, t.proxy(e.orientationChange, e)), t(window).on("resize.slick.slick-" + e.instanceUid, t.proxy(e.resize, e)), t("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault), t(window).on("load.slick.slick-" + e.instanceUid, e.setPosition), t(document).on("ready.slick.slick-" + e.instanceUid, e.setPosition) }, e.prototype.initUI = function () { var t = this; t.options.arrows === !0 && t.slideCount > t.options.slidesToShow && (t.$prevArrow.show(), t.$nextArrow.show()), t.options.dots === !0 && t.slideCount > t.options.slidesToShow && t.$dots.show() }, e.prototype.keyHandler = function (t) { var e = this; t.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === t.keyCode && e.options.accessibility === !0 ? e.changeSlide({ data: { message: e.options.rtl === !0 ? "next" : "previous" } }) : 39 === t.keyCode && e.options.accessibility === !0 && e.changeSlide({ data: { message: e.options.rtl === !0 ? "previous" : "next" } })) }, e.prototype.lazyLoad = function () { function e(e) { t("img[data-lazy]", e).each(function () { var e = t(this), i = t(this).attr("data-lazy"), s = document.createElement("img"); s.onload = function () { e.animate({ opacity: 0 }, 100, function () { e.attr("src", i).animate({ opacity: 1 }, 200, function () { e.removeAttr("data-lazy").removeClass("slick-loading") }), o.$slider.trigger("lazyLoaded", [o, e, i]) }) }, s.onerror = function () { e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), o.$slider.trigger("lazyLoadError", [o, e, i]) }, s.src = i }) } var i, s, n, r, o = this; o.options.centerMode === !0 ? o.options.infinite === !0 ? (n = o.currentSlide + (o.options.slidesToShow / 2 + 1), r = n + o.options.slidesToShow + 2) : (n = Math.max(0, o.currentSlide - (o.options.slidesToShow / 2 + 1)), r = 2 + (o.options.slidesToShow / 2 + 1) + o.currentSlide) : (n = o.options.infinite ? o.options.slidesToShow + o.currentSlide : o.currentSlide, r = Math.ceil(n + o.options.slidesToShow), o.options.fade === !0 && (n > 0 && n--, r <= o.slideCount && r++)), i = o.$slider.find(".slick-slide").slice(n, r), e(i), o.slideCount <= o.options.slidesToShow ? (s = o.$slider.find(".slick-slide"), e(s)) : o.currentSlide >= o.slideCount - o.options.slidesToShow ? (s = o.$slider.find(".slick-cloned").slice(0, o.options.slidesToShow), e(s)) : 0 === o.currentSlide && (s = o.$slider.find(".slick-cloned").slice(-1 * o.options.slidesToShow), e(s)) }, e.prototype.loadSlider = function () { var t = this; t.setPosition(), t.$slideTrack.css({ opacity: 1 }), t.$slider.removeClass("slick-loading"), t.initUI(), "progressive" === t.options.lazyLoad && t.progressiveLazyLoad() }, e.prototype.next = e.prototype.slickNext = function () { var t = this; t.changeSlide({ data: { message: "next" } }) }, e.prototype.orientationChange = function () { var t = this; t.checkResponsive(), t.setPosition() }, e.prototype.pause = e.prototype.slickPause = function () { var t = this; t.autoPlayClear(), t.paused = !0 }, e.prototype.play = e.prototype.slickPlay = function () { var t = this; t.autoPlay(), t.options.autoplay = !0, t.paused = !1, t.focussed = !1, t.interrupted = !1 }, e.prototype.postSlide = function (t) { var e = this; e.unslicked || (e.$slider.trigger("afterChange", [e, t]), e.animating = !1, e.setPosition(), e.swipeLeft = null, e.options.autoplay && e.autoPlay(), e.options.accessibility === !0 && e.initADA()) }, e.prototype.prev = e.prototype.slickPrev = function () { var t = this; t.changeSlide({ data: { message: "previous" } }) }, e.prototype.preventDefault = function (t) { t.preventDefault() }, e.prototype.progressiveLazyLoad = function (e) { e = e || 1; var i, s, n, r = this, o = t("img[data-lazy]", r.$slider); o.length ? (i = o.first(), s = i.attr("data-lazy"), n = document.createElement("img"), n.onload = function () { i.attr("src", s).removeAttr("data-lazy").removeClass("slick-loading"), r.options.adaptiveHeight === !0 && r.setPosition(), r.$slider.trigger("lazyLoaded", [r, i, s]), r.progressiveLazyLoad() }, n.onerror = function () { 3 > e ? setTimeout(function () { r.progressiveLazyLoad(e + 1) }, 500) : (i.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), r.$slider.trigger("lazyLoadError", [r, i, s]), r.progressiveLazyLoad()) }, n.src = s) : r.$slider.trigger("allImagesLoaded", [r]) }, e.prototype.refresh = function (e) { var i, s, n = this; s = n.slideCount - n.options.slidesToShow, !n.options.infinite && n.currentSlide > s && (n.currentSlide = s), n.slideCount <= n.options.slidesToShow && (n.currentSlide = 0), i = n.currentSlide, n.destroy(!0), t.extend(n, n.initials, { currentSlide: i }), n.init(), e || n.changeSlide({ data: { message: "index", index: i } }, !1) }, e.prototype.registerBreakpoints = function () { var e, i, s, n = this, r = n.options.responsive || null; if ("array" === t.type(r) && r.length) { n.respondTo = n.options.respondTo || "window"; for (e in r) if (s = n.breakpoints.length - 1, i = r[e].breakpoint, r.hasOwnProperty(e)) { for (; s >= 0;) n.breakpoints[s] && n.breakpoints[s] === i && n.breakpoints.splice(s, 1), s--; n.breakpoints.push(i), n.breakpointSettings[i] = r[e].settings } n.breakpoints.sort(function (t, e) { return n.options.mobileFirst ? t - e : e - t }) } }, e.prototype.reinit = function () { var e = this; e.$slides = e.$slideTrack.children(e.options.slide).addClass("slick-slide"), e.slideCount = e.$slides.length, e.currentSlide >= e.slideCount && 0 !== e.currentSlide && (e.currentSlide = e.currentSlide - e.options.slidesToScroll), e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0), e.registerBreakpoints(), e.setProps(), e.setupInfinite(), e.buildArrows(), e.updateArrows(), e.initArrowEvents(), e.buildDots(), e.updateDots(), e.initDotEvents(), e.cleanUpSlideEvents(), e.initSlideEvents(), e.checkResponsive(!1, !0), e.options.focusOnSelect === !0 && t(e.$slideTrack).children().on("click.slick", e.selectHandler), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), e.setPosition(), e.focusHandler(), e.paused = !e.options.autoplay, e.autoPlay(), e.$slider.trigger("reInit", [e]) }, e.prototype.resize = function () { var e = this; t(window).width() !== e.windowWidth && (clearTimeout(e.windowDelay), e.windowDelay = window.setTimeout(function () { e.windowWidth = t(window).width(), e.checkResponsive(), e.unslicked || e.setPosition() }, 50)) }, e.prototype.removeSlide = e.prototype.slickRemove = function (t, e, i) { var s = this; return "boolean" == typeof t ? (e = t, t = e === !0 ? 0 : s.slideCount - 1) : t = e === !0 ? --t : t, s.slideCount < 1 || 0 > t || t > s.slideCount - 1 ? !1 : (s.unload(), i === !0 ? s.$slideTrack.children().remove() : s.$slideTrack.children(this.options.slide).eq(t).remove(), s.$slides = s.$slideTrack.children(this.options.slide), s.$slideTrack.children(this.options.slide).detach(), s.$slideTrack.append(s.$slides), s.$slidesCache = s.$slides, void s.reinit()) }, e.prototype.setCSS = function (t) { var e, i, s = this, n = {}; s.options.rtl === !0 && (t = -t), e = "left" == s.positionProp ? Math.ceil(t) + "px" : "0px", i = "top" == s.positionProp ? Math.ceil(t) + "px" : "0px", n[s.positionProp] = t, s.transformsEnabled === !1 ? s.$slideTrack.css(n) : (n = {}, s.cssTransitions === !1 ? (n[s.animType] = "translate(" + e + ", " + i + ")", s.$slideTrack.css(n)) : (n[s.animType] = "translate3d(" + e + ", " + i + ", 0px)", s.$slideTrack.css(n))) }, e.prototype.setDimensions = function () { var t = this; t.options.vertical === !1 ? t.options.centerMode === !0 && t.$list.css({ padding: "0px " + t.options.centerPadding }) : (t.$list.height(t.$slides.first().outerHeight(!0) * t.options.slidesToShow), t.options.centerMode === !0 && t.$list.css({ padding: t.options.centerPadding + " 0px" })), t.listWidth = t.$list.width(), t.listHeight = t.$list.height(), t.options.vertical === !1 && t.options.variableWidth === !1 ? (t.slideWidth = Math.ceil(t.listWidth / t.options.slidesToShow), t.$slideTrack.width(Math.ceil(t.slideWidth * t.$slideTrack.children(".slick-slide").length))) : t.options.variableWidth === !0 ? t.$slideTrack.width(5e3 * t.slideCount) : (t.slideWidth = Math.ceil(t.listWidth), t.$slideTrack.height(Math.ceil(t.$slides.first().outerHeight(!0) * t.$slideTrack.children(".slick-slide").length))); var e = t.$slides.first().outerWidth(!0) - t.$slides.first().width(); t.options.variableWidth === !1 && t.$slideTrack.children(".slick-slide").width(t.slideWidth - e) }, e.prototype.setFade = function () { var e, i = this; i.$slides.each(function (s, n) { e = i.slideWidth * s * -1, i.options.rtl === !0 ? t(n).css({ position: "relative", right: e, top: 0, zIndex: i.options.zIndex - 2, opacity: 0 }) : t(n).css({ position: "relative", left: e, top: 0, zIndex: i.options.zIndex - 2, opacity: 0 }) }), i.$slides.eq(i.currentSlide).css({ zIndex: i.options.zIndex - 1, opacity: 1 }) }, e.prototype.setHeight = function () { var t = this; if (1 === t.options.slidesToShow && t.options.adaptiveHeight === !0 && t.options.vertical === !1) { var e = t.$slides.eq(t.currentSlide).outerHeight(!0); t.$list.css("height", e) } }, e.prototype.setOption = e.prototype.slickSetOption = function () { var e, i, s, n, r, o = this, a = !1; if ("object" === t.type(arguments[0]) ? (s = arguments[0], a = arguments[1], r = "multiple") : "string" === t.type(arguments[0]) && (s = arguments[0], n = arguments[1], a = arguments[2], "responsive" === arguments[0] && "array" === t.type(arguments[1]) ? r = "responsive" : "undefined" != typeof arguments[1] && (r = "single")), "single" === r) o.options[s] = n; else if ("multiple" === r) t.each(s, function (t, e) { o.options[t] = e }); else if ("responsive" === r) for (i in n) if ("array" !== t.type(o.options.responsive)) o.options.responsive = [n[i]]; else { for (e = o.options.responsive.length - 1; e >= 0;) o.options.responsive[e].breakpoint === n[i].breakpoint && o.options.responsive.splice(e, 1), e--; o.options.responsive.push(n[i]) } a && (o.unload(), o.reinit()) }, e.prototype.setPosition = function () { var t = this; t.setDimensions(), t.setHeight(), t.options.fade === !1 ? t.setCSS(t.getLeft(t.currentSlide)) : t.setFade(), t.$slider.trigger("setPosition", [t]) }, e.prototype.setProps = function () { var t = this, e = document.body.style; t.positionProp = t.options.vertical === !0 ? "top" : "left", "top" === t.positionProp ? t.$slider.addClass("slick-vertical") : t.$slider.removeClass("slick-vertical"), (void 0 !== e.WebkitTransition || void 0 !== e.MozTransition || void 0 !== e.msTransition) && t.options.useCSS === !0 && (t.cssTransitions = !0), t.options.fade && ("number" == typeof t.options.zIndex ? t.options.zIndex < 3 && (t.options.zIndex = 3) : t.options.zIndex = t.defaults.zIndex), void 0 !== e.OTransform && (t.animType = "OTransform", t.transformType = "-o-transform", t.transitionType = "OTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (t.animType = !1)), void 0 !== e.MozTransform && (t.animType = "MozTransform", t.transformType = "-moz-transform", t.transitionType = "MozTransition", void 0 === e.perspectiveProperty && void 0 === e.MozPerspective && (t.animType = !1)), void 0 !== e.webkitTransform && (t.animType = "webkitTransform", t.transformType = "-webkit-transform", t.transitionType = "webkitTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (t.animType = !1)), void 0 !== e.msTransform && (t.animType = "msTransform", t.transformType = "-ms-transform", t.transitionType = "msTransition", void 0 === e.msTransform && (t.animType = !1)), void 0 !== e.transform && t.animType !== !1 && (t.animType = "transform", t.transformType = "transform", t.transitionType = "transition"), t.transformsEnabled = t.options.useTransform && null !== t.animType && t.animType !== !1 }, e.prototype.setSlideClasses = function (t) { var e, i, s, n, r = this; i = r.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current"), //r.$slides.eq(t).addClass("slick-current").attr("tabindex", "0"), r.$slides.eq(t).addClass("slick-current"), r.options.centerMode === !0 ? (e = Math.floor(r.options.slidesToShow / 2), r.options.infinite === !0 && (t >= e && t <= r.slideCount - 1 - e ? r.$slides.slice(t - e, t + e + 1).addClass("slick-active") : (s = r.options.slidesToShow + t, i.slice(s - e + 1, s + e + 2).addClass("slick-active")), 0 === t ? i.eq(i.length - 1 - r.options.slidesToShow).addClass("slick-center") : t === r.slideCount - 1 && i.eq(r.options.slidesToShow).addClass("slick-center")), r.$slides.eq(t).addClass("slick-center")) : t >= 0 && t <= r.slideCount - r.options.slidesToShow ? r.$slides.slice(t, t + r.options.slidesToShow).addClass("slick-active") : i.length <= r.options.slidesToShow ? i.addClass("slick-active") : (n = r.slideCount % r.options.slidesToShow, s = r.options.infinite === !0 ? r.options.slidesToShow + t : t, r.options.slidesToShow == r.options.slidesToScroll && r.slideCount - t < r.options.slidesToShow ? i.slice(s - (r.options.slidesToShow - n), s + n).addClass("slick-active") : i.slice(s, s + r.options.slidesToShow).addClass("slick-active")), "ondemand" === r.options.lazyLoad && r.lazyLoad() }, e.prototype.setupInfinite = function () { var e, i, s, n = this; if (n.options.fade === !0 && (n.options.centerMode = !1), n.options.infinite === !0 && n.options.fade === !1 && (i = null, n.slideCount > n.options.slidesToShow)) { for (s = n.options.centerMode === !0 ? n.options.slidesToShow + 1 : n.options.slidesToShow, e = n.slideCount; e > n.slideCount - s; e -= 1) i = e - 1, t(n.$slides[i]).clone(!0).attr("id", "").attr("data-slick-index", i - n.slideCount).prependTo(n.$slideTrack).addClass("slick-cloned"); for (e = 0; s > e; e += 1) i = e, t(n.$slides[i]).clone(!0).attr("id", "").attr("data-slick-index", i + n.slideCount).appendTo(n.$slideTrack).addClass("slick-cloned"); n.$slideTrack.find(".slick-cloned").find("[id]").each(function () { t(this).attr("id", "") }) } }, e.prototype.interrupt = function (t) { var e = this; t || e.autoPlay(), e.interrupted = t }, e.prototype.selectHandler = function (e) { var i = this, s = t(e.target).is(".slick-slide") ? t(e.target) : t(e.target).parents(".slick-slide"), n = parseInt(s.attr("data-slick-index")); return n || (n = 0), i.slideCount <= i.options.slidesToShow ? (i.setSlideClasses(n), void i.asNavFor(n)) : void i.slideHandler(n) }, e.prototype.slideHandler = function (t, e, i) { var s, n, r, o, a, l = null, h = this; return e = e || !1, h.animating === !0 && h.options.waitForAnimate === !0 || h.options.fade === !0 && h.currentSlide === t || h.slideCount <= h.options.slidesToShow ? void 0 : (e === !1 && h.asNavFor(t), s = t, l = h.getLeft(s), o = h.getLeft(h.currentSlide), h.currentLeft = null === h.swipeLeft ? o : h.swipeLeft, h.options.infinite === !1 && h.options.centerMode === !1 && (0 > t || t > h.getDotCount() * h.options.slidesToScroll) ? void(h.options.fade === !1 && (s = h.currentSlide, i !== !0 ? h.animateSlide(o, function () { h.postSlide(s) }) : h.postSlide(s))) : h.options.infinite === !1 && h.options.centerMode === !0 && (0 > t || t > h.slideCount - h.options.slidesToScroll) ? void(h.options.fade === !1 && (s = h.currentSlide, i !== !0 ? h.animateSlide(o, function () { h.postSlide(s) }) : h.postSlide(s))) : (h.options.autoplay && clearInterval(h.autoPlayTimer), n = 0 > s ? h.slideCount % h.options.slidesToScroll !== 0 ? h.slideCount - h.slideCount % h.options.slidesToScroll : h.slideCount + s : s >= h.slideCount ? h.slideCount % h.options.slidesToScroll !== 0 ? 0 : s - h.slideCount : s, h.animating = !0, h.$slider.trigger("beforeChange", [h, h.currentSlide, n]), r = h.currentSlide, h.currentSlide = n, h.setSlideClasses(h.currentSlide), h.options.asNavFor && (a = h.getNavTarget(), a = a.slick("getSlick"), a.slideCount <= a.options.slidesToShow && a.setSlideClasses(h.currentSlide)), h.updateDots(), h.updateArrows(), h.options.fade === !0 ? (i !== !0 ? (h.fadeSlideOut(r), h.fadeSlide(n, function () { h.postSlide(n) })) : h.postSlide(n), void h.animateHeight()) : void(i !== !0 ? h.animateSlide(l, function () { h.postSlide(n) }) : h.postSlide(n)))) }, e.prototype.startLoad = function () { var t = this; t.options.arrows === !0 && t.slideCount > t.options.slidesToShow && (t.$prevArrow.hide(), t.$nextArrow.hide()), t.options.dots === !0 && t.slideCount > t.options.slidesToShow && t.$dots.hide(), t.$slider.addClass("slick-loading") }, e.prototype.swipeDirection = function () { var t, e, i, s, n = this; return t = n.touchObject.startX - n.touchObject.curX, e = n.touchObject.startY - n.touchObject.curY, i = Math.atan2(e, t), s = Math.round(180 * i / Math.PI), 0 > s && (s = 360 - Math.abs(s)), 45 >= s && s >= 0 ? n.options.rtl === !1 ? "left" : "right" : 360 >= s && s >= 315 ? n.options.rtl === !1 ? "left" : "right" : s >= 135 && 225 >= s ? n.options.rtl === !1 ? "right" : "left" : n.options.verticalSwiping === !0 ? s >= 35 && 135 >= s ? "down" : "up" : "vertical" }, e.prototype.swipeEnd = function (t) { var e, i, s = this; if (s.dragging = !1, s.interrupted = !1, s.shouldClick = s.touchObject.swipeLength > 10 ? !1 : !0, void 0 === s.touchObject.curX) return !1; if (s.touchObject.edgeHit === !0 && s.$slider.trigger("edge", [s, s.swipeDirection()]), s.touchObject.swipeLength >= s.touchObject.minSwipe) { switch (i = s.swipeDirection()) { case "left": case "down": e = s.options.swipeToSlide ? s.checkNavigable(s.currentSlide + s.getSlideCount()) : s.currentSlide + s.getSlideCount(), s.currentDirection = 0; break; case "right": case "up": e = s.options.swipeToSlide ? s.checkNavigable(s.currentSlide - s.getSlideCount()) : s.currentSlide - s.getSlideCount(), s.currentDirection = 1 } "vertical" != i && (s.slideHandler(e), s.touchObject = {}, s.$slider.trigger("swipe", [s, i])) } else s.touchObject.startX !== s.touchObject.curX && (s.slideHandler(s.currentSlide), s.touchObject = {}) }, e.prototype.swipeHandler = function (t) { var e = this; if (!(e.options.swipe === !1 || "ontouchend" in document && e.options.swipe === !1 || e.options.draggable === !1 && -1 !== t.type.indexOf("mouse"))) switch (e.touchObject.fingerCount = t.originalEvent && void 0 !== t.originalEvent.touches ? t.originalEvent.touches.length : 1, e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold, e.options.verticalSwiping === !0 && (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold), t.data.action) { case "start": e.swipeStart(t); break; case "move": e.swipeMove(t); break; case "end": e.swipeEnd(t) } }, e.prototype.swipeMove = function (t) { var e, i, s, n, r, o = this; return r = void 0 !== t.originalEvent ? t.originalEvent.touches : null, !o.dragging || r && 1 !== r.length ? !1 : (e = o.getLeft(o.currentSlide), o.touchObject.curX = void 0 !== r ? r[0].pageX : t.clientX, o.touchObject.curY = void 0 !== r ? r[0].pageY : t.clientY, o.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(o.touchObject.curX - o.touchObject.startX, 2))), o.options.verticalSwiping === !0 && (o.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(o.touchObject.curY - o.touchObject.startY, 2)))), i = o.swipeDirection(), "vertical" !== i ? (void 0 !== t.originalEvent && o.touchObject.swipeLength > 4 && t.preventDefault(), n = (o.options.rtl === !1 ? 1 : -1) * (o.touchObject.curX > o.touchObject.startX ? 1 : -1), o.options.verticalSwiping === !0 && (n = o.touchObject.curY > o.touchObject.startY ? 1 : -1), s = o.touchObject.swipeLength, o.touchObject.edgeHit = !1, o.options.infinite === !1 && (0 === o.currentSlide && "right" === i || o.currentSlide >= o.getDotCount() && "left" === i) && (s = o.touchObject.swipeLength * o.options.edgeFriction, o.touchObject.edgeHit = !0), o.options.vertical === !1 ? o.swipeLeft = e + s * n : o.swipeLeft = e + s * (o.$list.height() / o.listWidth) * n, o.options.verticalSwiping === !0 && (o.swipeLeft = e + s * n), o.options.fade === !0 || o.options.touchMove === !1 ? !1 : o.animating === !0 ? (o.swipeLeft = null, !1) : void o.setCSS(o.swipeLeft)) : void 0) }, e.prototype.swipeStart = function (t) { var e, i = this; return i.interrupted = !0, 1 !== i.touchObject.fingerCount || i.slideCount <= i.options.slidesToShow ? (i.touchObject = {}, !1) : (void 0 !== t.originalEvent && void 0 !== t.originalEvent.touches && (e = t.originalEvent.touches[0]), i.touchObject.startX = i.touchObject.curX = void 0 !== e ? e.pageX : t.clientX, i.touchObject.startY = i.touchObject.curY = void 0 !== e ? e.pageY : t.clientY, void(i.dragging = !0)) }, e.prototype.unfilterSlides = e.prototype.slickUnfilter = function () { var t = this; null !== t.$slidesCache && (t.unload(), t.$slideTrack.children(this.options.slide).detach(), t.$slidesCache.appendTo(t.$slideTrack), t.reinit()) }, e.prototype.unload = function () { var e = this; t(".slick-cloned", e.$slider).remove(), e.$dots && e.$dots.remove(), e.$prevArrow && e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove(), e.$nextArrow && e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove(), e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").css("width", "") }, e.prototype.unslick = function (t) { var e = this; e.$slider.trigger("unslick", [e, t]), e.destroy() }, e.prototype.updateArrows = function () { var t, e = this; t = Math.floor(e.options.slidesToShow / 2), e.options.arrows === !0 && e.slideCount > e.options.slidesToShow && !e.options.infinite && (e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), e.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 0 === e.currentSlide ? (e.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), e.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : e.currentSlide >= e.slideCount - e.options.slidesToShow && e.options.centerMode === !1 ? (e.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : e.currentSlide >= e.slideCount - 1 && e.options.centerMode === !0 && (e.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"))) }, e.prototype.updateDots = function () { var t = this; null !== t.$dots && (t.$dots.find("li").removeClass("slick-active").find("button").removeAttr("title"), t.$dots.find("li").eq(Math.floor(t.currentSlide / t.options.slidesToScroll)).addClass("slick-active").find("button").attr("title", "selected")) }, e.prototype.visibility = function () { var t = this; t.options.autoplay && (document[t.hidden] ? t.interrupted = !0 : t.interrupted = !1) }, t.fn.slick = function () { var t, i, s = this, n = arguments[0], r = Array.prototype.slice.call(arguments, 1), o = s.length; for (t = 0; o > t; t++) if ("object" == typeof n || "undefined" == typeof n ? s[t].slick = new e(s[t], n) : i = s[t].slick[n].apply(s[t].slick, r), "undefined" != typeof i) return i; return s } }), APPS_PLUGIN = !0; var smartSwitch = { isMobile: $.browser.mobile, areaWidth: 0, areaHeight: 0, prevSizeMode: -1, sizeMode: 0, resizeFunctions: [], initialized: false, eiwafDevice: { TYPE_DESKTOP: "desktop", TYPE_PHONE: "phone", TYPE_TABLET: "tablet", agent: { _mobile: (/Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/i.test(window.navigator.userAgent)), _tablet: (/iPad|tablet/i.test(window.navigator.userAgent)), _apple: (/iP(hone|od|ad)/i.test(window.navigator.userAgent)) }, detect: function () { var _userAgent = navigator.userAgent.toLowerCase(); _html = document.getElementsByTagName("html")[0]; //default add class _html.classList.add("default-apps"); //samsung-device check if (_userAgent.search("sm-") > -1) { _html.classList.add("samsung-device"); if (this.agent.mobile) _html.classList.add("samsung-mobile-device"); } if (this.agent_apple) { _html.classList.add("apple-mobile-device"); } if (this.type) return; if (this.agent._mobile) { if (_userAgent.search("android") > -1) { if (_userAgent.search("mobile") == -1) this.type = this.TYPE_TABLET; } if (!this.type) this.type = this.TYPE_PHONE; } if (this.agent._tablet) this.type = this.TYPE_TABLET; if (!this.type) this.type = this.TYPE_DESKTOP; switch (this.type) { case "phone": _html.classList.add("apps-device-phone"); break; case "tablet": _html.classList.add("apps-device-tablet"); break; case "desktop": _html.classList.add("apps-device-desktop"); break; default: break; } } }, addViewportEvent: function (param, target) { //해당 섹션에 들어갈때 or 벗어날때 이벤트 적용 var events = 'scroll.addViewportEvent load.addViewportEvent resize.addViewportEvent'; param = $.extend({ parent: window, a11y: false, triggerPosition: false, triggerPositionPercent: false, enter: false, leave: false, progress: false, visiblePercent: false, visible: false, invisible: false, fullVisible: false }, param || {}); if (typeof (param.triggerPosition && param.triggerPositionPercent) == 'number') { return true; } var methods = $.fn.extend({ destroy: function () { $(param.parent).off(events); } }); return target.each(function (idx, obj) { var isEnter = false; var isVisible = false; var isActive = false; var isFullVisible = false; var visiblePercent = 0; var parent = param.parent; //if(param.triggerPosition) $(parent).on(events, function () { var returnValue = { Height: $(obj).outerHeight(), ViewportHeight: $(parent).height(), ScrollTop: $(document).scrollTop(), OffsetTop: $(obj).offset().top }; var visiblePerTopPercent = ((returnValue.ScrollTop + returnValue.ViewportHeight - returnValue.OffsetTop) / returnValue.Height * 100).toFixed(2); var visiblePerBottomPercent = -((returnValue.ScrollTop - returnValue.OffsetTop - returnValue.Height) / returnValue.Height * 100).toFixed(2); var viewPortPosition = returnValue.OffsetTop - returnValue.ScrollTop - param.triggerPosition; var viewPortPositionPercent = (viewPortPosition / returnValue.ViewportHeight * 100 - param.triggerPositionPercent).toFixed(2); isVisible = visiblePerTopPercent >= 0 && visiblePerBottomPercent >= 0; if (viewPortPositionPercent >= 50) viewPortPositionPercent = 50; else if (viewPortPositionPercent <= -50) viewPortPositionPercent = -50; if (isVisible && visiblePerTopPercent <= 100) visiblePercent = visiblePerTopPercent; else if (isVisible && visiblePerBottomPercent <= 100) visiblePercent = visiblePerBottomPercent; else if (isVisible) visiblePercent = 100; else visiblePercent = 0; if (isVisible) { /* Set Property */ obj.isVisible = isVisible; obj.isEnter = isEnter; obj.viewPortPositionPercent = viewPortPositionPercent; obj.viewPortPosition = viewPortPosition; obj.visiblePercent = visiblePercent; } if (isVisible) { /* Set Trigger & Run */ if (!isEnter && (param.triggerPositionPercent !== false && viewPortPositionPercent <= 0) || (param.triggerPosition && viewPortPosition <= 0)) { $(obj).trigger('enter'); if ($.isFunction(param.enter)) param.enter(); } if (isEnter && (param.triggerPositionPercent !== false && viewPortPositionPercent > 0) || (param.triggerPosition && viewPortPosition > 0)) { $(obj).trigger('leave'); if ($.isFunction(param.leave)) param.leave(); } if ($.isFunction(param.progress)) { if (param.triggerPositionPercent) param.progress(Number(viewPortPositionPercent), returnValue); if (param.triggerPosition) param.progress(Number(viewPortPosition), returnValue); } } if (!isActive && visiblePercent > 0) { $(obj).trigger('visible'); if ($.isFunction(param.visible)) param.visible(); } if (isActive && visiblePercent == 0) { $(obj).trigger('invisible'); if ($.isFunction(param.invisible)) param.invisible(); $(obj).trigger('leave'); if ($.isFunction(param.leave)) param.leave(); } if (!isFullVisible && visiblePercent == 100) { $(obj).trigger('fullVisible'); if ($.isFunction(param.fullVisible)) param.fullVisible(); } if ($.isFunction(param.visiblePercent)) param.visiblePercent(Number(visiblePercent), returnValue); isActive = visiblePercent != 0; isEnter = ((param.triggerPositionPercent && viewPortPositionPercent <= 0) && isVisible) || ((param.triggerPosition && viewPortPosition <= 0) && isVisible); isFullVisible = visiblePercent >= 100; }); }); }, pdpImgReplace: function ($this) { //pdp 동적 구현시 해상도에 맞게 이미지 교체 var $pdp = $this, $figure = $pdp.find('figure img'); if (!$('html').hasClass('s1')) { $figure.each(function () { $(this).attr('src', $(this).data('desktop-src')); }); } else { $figure.each(function () { $(this).attr('src', $(this).data('mobile-src')); }); } }, imgLazyLoad: function (target) { function changeSrcPc(target) { if (target.attr("data-desktop-src")) { target.attr("src", target.attr("data-desktop-src")); } } function changeSrcMobile(target) { if (target.attr("data-mobile-src")) { target.attr("src", target.attr("data-mobile-src")); } } target.each(function () { var _this = $(this); var flag = true; smartSwitch.addViewportEvent({ triggerPositionPercent: 75, enter: function () { if (flag) { _this.addClass("lazy-load").find("img").each(function () { var __this = $(this); if (smartSwitch.sizeMode == 1) { if (__this.attr("data-mobile-src")) { __this.attr("src", __this.attr("data-mobile-src")); } else if (__this.attr("data-src")) { __this.attr("src", __this.attr("data-src")); } else { changeSrcPc(__this); } } else { if (__this.attr("data-desktop-src")) { __this.attr("src", __this.attr("data-desktop-src")); } else if (__this.attr("data-src")) { __this.attr("src", __this.attr("data-src")); } else { changeSrcPc(__this); } } }); } flag = false; } }, _this); }); }, resize: function (func, flag) { if (typeof (func) == 'function') { this.resizeFunctions.push(func); return this; } var documentElement = document.documentElement, width, height, sizeMode; width = documentElement.clientWidth; // if (smartSwitch.isPoorBrowser) {width = Math.max(document.getElementById('wrap').offsetWidth, width);} height = $(window).height(); // ignore Mode if (func !== true) { if (!$.browser.mobile && width == smartSwitch.areaWidth && height == smartSwitch.areaHeight) { return; } else if ($.browser.mobile && width == smartSwitch.areaWidth) { return; } } var windowSize = window.innerWidth != undefined ? window.innerWidth : $(window).innerWidth() + 17; sizeMode = windowSize > 1440 ? 3 : windowSize > 767 ? 2 : 1; smartSwitch.prevSizeMode = smartSwitch.sizeMode; if (sizeMode != smartSwitch.sizeMode) { smartSwitch.sizeMode = sizeMode; documentElement.className = documentElement.className.replace(/ *s[1-4][1-4]?/g, '') + ' s' + sizeMode; } documentElement.className = documentElement.className.replace(/ *s0/, '') + (360 > width ? ' s0' : ''); smartSwitch.areaWidth = width; smartSwitch.areaHeight = height; // smartSwitch.sections && smartSwitch.sections.resize && smartSwitch.sections.resize(flag); if (smartSwitch.resizeFunctions.length) { $.each(smartSwitch.resizeFunctions, function () {this();}); } smartSwitch.motion.resize(); }, checkOS : function(){ var mobileArr = new Array("iphone", "ipod", "blackberry", "android", "samsung", "ios", "ipad"); for (var txt in mobileArr) { if (navigator.userAgent.toLowerCase().indexOf(mobileArr[txt]) > -1 && !$('html').hasClass('mobile')) { $('html').addClass('mobile'); } else { $('html').addClass('desktop'); }} }, motion: { smartSwitch: { elem: { _winHoriz: window.innerWidth !== undefined ? window.innerWidth : document.documentElement.clientWidth, _extentionWrap: $(document).find(".smart-switch-how-wrap"), _accordianWrap: $(document).find('.smart-switch-faq-wrap'), _beforeClickDep1Idx : 0, _beforeClickIdx : 0, _beforeSizeMode: null, _afterSizeMode: null, _resizeIdx: 0, _content: null }, event: function () { var _switch = this, wrap = this.elem._extentionWrap, accWrap = this.elem._accordianWrap, accBtn = accWrap.find('.switch-accordion-list button'), tabBtn = wrap.find(".switch-tabs-list-depth1 button.switch-tabs-link"), tabDepBtn = wrap.find(".switch-tabs-list-depth2 button.switch-tabs-link"); accBtn.on('click', function () { let $this = $(this); if($this.closest('li').hasClass('active')){ $this.closest('li').removeClass('active'); $this.closest('li').find('.swicth-accordion-cont').slideUp(); $this.attr('aria-expanded', false); }else{ accBtn.closest('li').siblings().removeClass('active'); $('.swicth-accordion-cont').slideUp(); accBtn.attr('aria-expanded', false) $this.closest('li').addClass('active'); $this.closest('li').find('.swicth-accordion-cont').slideDown(); $this.attr('aria-expanded', true); setTimeout(function(){ $('html, body').stop().animate({scrollTop:$this.closest('li').offset().top}); },450); } }); tabBtn.on("click", function () { let $this = $(this), thisIdx = $this.parent().index(); if($this.hasClass('active')){ return false; } wrap.find(".switch-tabs-body .switch-tabs-conts").eq(thisIdx).find(".switch-tabs-conts-depth2").eq(0).find(".slick-list").removeAttr("style"); _switch.elem._beforeClickDep1Idx = $this.parent().siblings().find('button.active').parent().index(); _switch.elem._beforeClickIdx = 0; _switch.motion.elem._beforeHeight = wrap.find(".switch-slide-wrap").height(); tabBtn.removeClass("active"); $this.addClass("active"); _switch.change(thisIdx, 0,false); _switch.motion.click(thisIdx, 0); _switch.accessibility.click($this); }); tabDepBtn.on("click", function () { let $this = $(this), _thisIdx = $this.parent().index(), dep1Idx = $this.closest('.switch-tabs-conts').index(), contents = wrap.find(".switch-tabs-body > .switch-tabs-conts").eq(dep1Idx).find(".switch-tabs-conts-depth2"), content = contents.eq(_thisIdx); if($this.hasClass('active')){ return false; } content.find(".slick-list").removeAttr("style"); _switch.elem._beforeClickIdx = $this.parent().siblings().find('button.active').parent().index(); tabDepBtn.removeClass("active"); $this.addClass("active"); contents.removeClass('active'); content.addClass('active'); _switch.change(dep1Idx, _thisIdx,false); // _switch.slide(content, false); _switch.motion.click(dep1Idx, _thisIdx); _switch.accessibility.click($this); }); }, motion: { elem : { _beforeSizeMode: 0, _afterSizeMode: 0, _beforeHeight: 0, _afterHeight: 0 }, setting: function (_idx, _idx2) { var _wrap = smartSwitch.motion.smartSwitch.elem._extentionWrap, contents = _wrap.find('.switch-tabs-body > .switch-tabs-conts').eq(_idx), content = contents.find(".switch-tabs-conts-depth2").eq(_idx2); setTimeout(function () { content.find(".slick-list").removeAttr("style"); }, 100); }, click: function (_idx, _idx2) { var _switch = smartSwitch.motion.smartSwitch, _wrap = _switch.elem._extentionWrap, contents = _wrap.find('.switch-tabs-body > .switch-tabs-conts').eq(_idx), content = contents.find(".switch-tabs-conts-depth2").eq(_idx2), list = content.find(".switch-slide-list.slick-current"), _contentWrap = content.find(".slick-list"); content.find(".slick-list").css("height", list.find(".switch-slide-list-inner").outerHeight(true)); content.find(".switch-slide-wrap").on("beforeChange", function (event, slick, idx, nextIdx) { var _slickList = $(slick.$list[0]); _contentWrap.removeAttr("style"); _slickList.css({ "height" : _slickList.find(".switch-slide-list").eq(nextIdx).find(".switch-slide-list-inner").outerHeight(true) }); }); this.elem._afterHeight = _contentWrap.height(); _contentWrap.css("height", this.elem._beforeHeight); setTimeout(function () { _contentWrap.css("height", _switch.motion.elem._afterHeight); }, 0); }, resize: function (_idx, _idx2) { var _switch = smartSwitch.motion.smartSwitch, _wrap = _switch.elem._extentionWrap, contents = _wrap.find('.switch-tabs-body > .switch-tabs-conts').eq(_idx), content = contents.find(".switch-tabs-conts-depth2").eq(_idx2), _sizeMode = smartSwitch.sizeMode > 1 ? 2 : 1; setTimeout(function () { content.find(".slick-list").css({ "height" : content.find(".switch-slide-list.slick-current .switch-slide-list-inner").outerHeight(true) }); _switch.tagging(content); content.find(".switch-slide-wrap").slick("refresh"); }, 1000); this.elem._beforeSizeMode = _sizeMode; if (this.elem._beforeSizeMode != this.elem._afterSizeMode) { this.elem._afterSizeMode = _sizeMode; setTimeout(function () { if (_sizeMode === 1) _wrap.find('.slick-slide').css('visibility', 'visible'); content.find(".slick-list").css({ "height" : content.find(".switch-slide-list.slick-current .switch-slide-list-inner").outerHeight(true) }); _switch.tagging(content); }, 1000); } } }, /* tab contents change event */ change: function (_idx, _idx2,_resizeCheck) { var _switch = this, wrap = this.elem._extentionWrap, contents = wrap.find(".switch-tabs-body > .switch-tabs-conts"), contents_item = contents.eq(_idx), content = contents_item.find('.switch-tabs-conts-depth2').eq(_idx2); contents.removeClass("active"); contents_item.addClass("active"); contents_item.find('.switch-tabs-conts-depth2').removeClass("active"); content.addClass("active"); contents_item.find(".switch-tabs-list-depth2 .switch-tabs-item button").removeClass("active"); contents_item.find(".switch-tabs-list-depth2 .switch-tabs-item:eq("+_idx2+") button").addClass("active"); _switch.slide(content, _resizeCheck); _switch.elem._content = content; }, /* tab contents slide */ slide: function (content, _resizeCheck) {//int slide var _switch = this, _winHoriz = _switch.elem._winHoriz, wrap = _switch.elem._extentionWrap, _type = content.find(".card-list-wrap").data("role-slide"), _contentSlideCheck = content.find(".switch-slide-wrap").is(".slick-initialized"), _slideConfig = { centerMode: true, slidesToShow: 1, slidesToScroll: 1, infinite: false, accessibility: true, speed: 500, dots: true, arrows: true, // adaptiveHeight: true, rtl: $("html").is(".rtl") }, _beforeDep1Content = wrap.find(".switch-tabs-body > .switch-tabs-conts").eq(_switch.elem._beforeClickDep1Idx), _beforeDep1ContentSlideCheck = _beforeDep1Content.find('.switch-tabs-conts-depth2').eq(_switch.elem._beforeClickIdx).find(".switch-slide-wrap").is(".slick-initialized"), _beforeContent = wrap.find(".switch-tabs-body > .switch-tabs-conts.active").find('.switch-tabs-conts-depth2').eq(_switch.elem._beforeClickIdx), _beforeContentSlideCheck = _beforeContent.find(".switch-slide-wrap").is(".slick-initialized"); //before reset if (_beforeDep1ContentSlideCheck === true) { _beforeDep1Content.find('.switch-tabs-conts-depth2').eq(_switch.elem._beforeClickIdx).find(".switch-slide-wrap").slick("unslick"); _beforeDep1Content.find('.switch-tabs-conts-depth2').eq(_switch.elem._beforeClickIdx).find(".switch-slide-wrap").find('.switch-slide-list').not('.switch-slide-list:eq(0)').css({'visibility': 'hidden'}); } if (_beforeContentSlideCheck === true) { _beforeContent.find(".switch-slide-wrap").slick("unslick"); _beforeContent.find(".switch-slide-wrap").find('.switch-slide-list').not('.switch-slide-list:eq(0)').css({'visibility': 'hidden'}); } if (_resizeCheck === true && _contentSlideCheck) { content.find(".switch-slide-wrap").slick("unslick"); content.find('.switch-slide-list').not('.switch-slide-list:eq(0)').css({'visibility': 'hidden'}); } content.find('.switch-slide-list').css({'visibility': 'visible'}); //slide setting _contentSlideCheck = content.find(".switch-slide-wrap").is(".slick-initialized"); if (_contentSlideCheck === false) { if (this.elem._afterSizeMode !== 1) content.find('.switch-slide-list').not('.switch-slide-list:eq(0)').css({'visibility': 'hidden'}); setTimeout(function(){ content.find(".switch-slide-wrap").slick(_slideConfig); content.find(".switch-slide-wrap").slick("refresh"); content.find('.switch-slide-list').css({'visibility': 'visible'}); _switch.tagging(content); },100) } //switch접근성 - 화살표 포커스 이동 content.find(".switch-slide-wrap").on('click', '.slick-arrow', function(){ content.find(".switch-slide-wrap").on("afterChange", function (event, slick, current, next) { content.find(".switch-slide-wrap").find('.switch-slide-list').attr('aria-hidden',true); content.find(".switch-slide-wrap").find('.switch-slide-list.slick-current').attr('aria-hidden',false); if (_switch.elem._winHoriz > 768) { if(current == 0){ content.find('.slick-next.slick-arrow').focus(); } else if(current == (slick.slideCount-1)){ content.find('.slick-prev.slick-arrow').focus(); } } }); }); content.find(".switch-slide-wrap").on("afterChange", function (event, slick, current, next) { content.find(".switch-slide-wrap").find('.switch-slide-list').attr('aria-hidden',true); content.find(".switch-slide-wrap").find('.switch-slide-list.slick-current').attr('aria-hidden',false); content.find(".switch-slide-wrap").find('.switch-slide-list.slick-current').removeAttr('style'); }); }, tagging: function (content) { setTimeout(function(){ content.find(".switch-slide-wrap").find('.switch-slide-list').attr('aria-hidden',true); content.find(".switch-slide-wrap").find('.switch-slide-list.slick-current').attr('aria-hidden',false); content.find(".slick-dots li button").each(function (_i) { var _this = $(this),dotTitle = function() { var titleDom = content.find('.slick-slide').eq(_i).find('.switch-slide-tit')var dataTitle = titleDom.attr('data-switch-slide-tit');if (dataTitle) return dataTitle;if (!dataTitle) return titleDom.text();} _this.attr("data-omni-type", "microsite_pcontentinter"); _this.attr("data-omni", "carousel:index:" + (_i + 1)); _this.text(dotTitle); }); },1000) }, accessibility: { click: function (_this) { _this.attr("title", "selected").parent().siblings().find("button").attr("title", ""); } }, init: function () { if (this.elem._extentionWrap.length > 0) { this.event(); this.change(0,0); this.motion.click(0, 0); this.motion.setting(); } }, resize: function () { if (this.elem._extentionWrap.length > 0) { this.elem._winHoriz = window.innerWidth !== undefined ? window.innerWidth : document.documentElement.clientWidth; var _sizeMode = smartSwitch.sizeMode > 1 ? 2 : 1; var _activeIdx = this.elem._extentionWrap.find(".switch-tabs-body > .switch-tabs-conts.active").index(); var _activeIdx2 = this.elem._extentionWrap.find(".switch-tabs-body > .switch-tabs-conts").eq(_activeIdx).find(".switch-tabs-conts-depth2.active").index(); this.elem._beforeSizeMode = _sizeMode; if (this.elem._resizeIdx > 0) this.motion.resize(_activeIdx, _activeIdx2); if (this.elem._beforeSizeMode != this.elem._afterSizeMode && this.elem._resizeIdx > 0) { this.elem._afterSizeMode = _sizeMode; _activeIdx = this.elem._extentionWrap.find(".switch-tabs-body > .switch-tabs-conts.active").index(); _activeIdx2 = this.elem._extentionWrap.find(".switch-tabs-body > .switch-tabs-conts").eq(_activeIdx).find(".switch-tabs-conts-depth2.active").index(); this.elem._beforeClickDep1Idx = _activeIdx; this.elem._beforeClickIdx = _activeIdx2; this.change(_activeIdx, _activeIdx2, true); } else if (this.elem._resizeIdx < 1) { this.elem._afterSizeMode = _sizeMode; this.elem._resizeIdx = this.elem._resizeIdx + 1; } } } }, init: function () { this.smartSwitch.init(); }, resize: function () { this.smartSwitch.resize(); }, scroll: function () { } }, readyInit: function(){ this.eiwafDevice.detect(); this.checkOS(); this.imgLazyLoad($(".smart-switch-how-wrap")); }, loadInit: function () { //전체 스크립트 기본 실행 if (this.initialized) {return;} this.resize(true); this.initialized = true; this.motion.init(); } } $(document).ready(function () { smartSwitch.readyInit(); $(window).off('resize').on('resize', function () { smartSwitch.resize(true, 'resize') $('.smart-switch-how-wrap').each(function(){ if($(this).hasClass('lazy-load')){ smartSwitch.pdpImgReplace($(this)); } }) }); }); if (window.addEventListener) { window.addEventListener('load', smartSwitch.loadInit(), false); } else if (window.attachEvent) { window.attachEvent('onload', smartSwitch.loadInit()); } });

  • Smart Switch | Apps - The Official Samsung Galaxy Site (2024)

    FAQs

    Does Samsung Smart Switch copy everything? ›

    Smart Switch can transfer all your data, including your device settings, so that you can pick up your new device and carry on right where you left off. You can even create a backup for your old phone's files on your PC or Mac, then transfer or sync your data onto your new Galaxy phone.

    Where can I download the Samsung Smart Switch? ›

    The app is pre-installed on the new Galaxy device but also downloadable from the Galaxy Store or the Google Play Store. Smart Switch will run when devices are at least 20% charged to ensure safe data transfer. On your new Galaxy phone, launch the Smart Switch app and tap Receive data. And then tap Galaxy/Android.

    What does not transfer with Samsung Smart Switch? ›

    Contacts: Contacts saved on the SIM card, social networks (Facebook, Twitter, etc.), Google accounts, and work email accounts are excluded. Calender: Appointments synced with external accounts, such as Google, and calendar stickers are excluded.

    What is the Smart Switch app on a Samsung phone? ›

    Smart Switch allows you to share content from Android™, Windows™, or iPhone™ devices to your new Galaxy phone quickly, easily and safely with just a few taps on the screen.

    Why did Smart Switch not transfer everything? ›

    If an error occurred while you were transferring content through Smart Switch, there is a simple way to solve the problem: clearing the app's cache and residual files. Available screens and settings may vary by wireless service provider, software version, and phone model.

    Does the Samsung Smart Switch transfer text messages? ›

    When you use Smart Switch to set up your new phone, you can decide exactly what you want on your new device. If your old phone is a Galaxy, you'll be able to transfer just about everything, including all your texts, media content, Wi-Fi details and even your home screen settings.

    Is there a free Smart Switch app? ›

    Samsung Smart Switch mobile app is a freely available application that can transfer data from an existing iOS or Android device to a Galaxy phone.

    Is Samsung Smart Switch already installed? ›

    Smart Switch is already preloaded on most of the newer Samsung Galaxy phones or tablets. You can find it on the Home screen or in Settings > Accounts and backup > Smart Switch. On older ones or other Android devices, you may need to download it from the Galaxy Store or Google Play Store.

    Does Samsung Smart Switch download apps? ›

    Does Samsung Smart Switch transfer apps? Yes, and you can see from its official website that Samsung Smart Switch allows users to transfer contacts, SMS, call logs, apps, calendars, media files and more from Android, iOS, BlackBerry or Windows mobile phone to Samsung device.

    What data does Smart Switch not transfer? ›

    Contacts: Not all contacts can be transferred with Smart Switch. Contacts from your Sim card, email and social media cannot be transferred. Themes and live wallpapers: You cannot transfer any of your phone's themes and live wallpapers with Smart Switch.

    Do you need Smart Switch on both phones to transfer? ›

    Wirelessly transfer your data with Samsung Smart Switch to another Android phone. Make sure the Smart Switch app is installed on both phones.

    Do I put my SIM card in a new phone before transferring data on Samsung? ›

    Put your sim into new device before powering your new device on. Set up the phone and update all apps from store's. Check for software update. You can use cloud backup or use smartswitch to transfer everything over from your old device to your new one.

    Is Smart Switch safe for Samsung? ›

    Yes, transferring data between smartphones with the Samsung Smart Switch Mobile app is totally safe, as the transfer is done over an encrypted network connection between the two devices.

    What apps do I need to transfer from Samsung to Samsung? ›

    Method 1. Transfer Apps by Samsung Smart Switch
    1. Find the Smart Switch App in the Galaxy Store or in the Play Store. Install the app on both the devices and keep them within 50 cm of distance from each other.
    2. Launch the app on both phones and establish a connection.

    Does the Samsung Smart Switch transfer passwords? ›

    But it seems that Samsung Smart Switch now has option to transfer wifi passwords.

    Does everything get transferred with Smart Switch? ›

    While Smart Switch supports tons of data types, there are certain kinds of content that it does not support. For instance, it can't transfer app data, DRM-protected media files, or any third-party account related information. Some stored settings like Safari history, bookmarks, WhatsApp messages, etc.

    Does Smart Switch transfer or copy data? ›

    Switch with Samsung Smart Switch

    Smart Switch copies your old data to your new device automatically. This means that your data will still be on the old device as well. This is the same for every device.

    Does Smart Switch copy all apps? ›

    Smart Switch will copy all of your data, apps, settings, texts, photos, etc. Even your home screen (s) set up, your wallpaper, even such things as internet bookmarks that you may have on your home screen. It takes a little while for it to copy everything, but just wait until it tells you that it's done.

    Does Samsung Smart Switch copy or move files? ›

    Samsung Smart Switch allows you to move files, photos, contacts, and more from your old iOS phone to your new Galaxy phone.

    Top Articles
    Latest Posts
    Article information

    Author: Kerri Lueilwitz

    Last Updated:

    Views: 6658

    Rating: 4.7 / 5 (67 voted)

    Reviews: 82% of readers found this page helpful

    Author information

    Name: Kerri Lueilwitz

    Birthday: 1992-10-31

    Address: Suite 878 3699 Chantelle Roads, Colebury, NC 68599

    Phone: +6111989609516

    Job: Chief Farming Manager

    Hobby: Mycology, Stone skipping, Dowsing, Whittling, Taxidermy, Sand art, Roller skating

    Introduction: My name is Kerri Lueilwitz, I am a courageous, gentle, quaint, thankful, outstanding, brave, vast person who loves writing and wants to share my knowledge and understanding with you.