Szybkie i łatwe
przenoszenie danych
na smartfon Galaxy
Zmieniając urządzenie na Galaxy nie musisz żegnać się ze starymi rzeczami. Dane i treści używane wcześniej — zdjęcia, filmy, kontakty, wydarzenia z kalendarza, notatki i ustawienia urządzenia — zachowasz je na nowym Galaxy.
*Rodzaj przenoszonych danych może różnić się w zależności od systemu operacyjnego urządzenia (Android lub iOS), jego wersji i/lub opcji połączenia.
Dlaczego akurat Smart Switch?
Aplikacja Smart Switch umożliwia sprawne przenoszenie różnych typów danych do nowego Samsunga Galaxy z różnych urządzeń w sposób, który preferujesz.
Transfer danych z różnych systemów operacyjnych
Przejście na Galaxy z innego systemu operacyjnego nie musi być trudne. Smart Switch może przesłać dane z wielu urządzeń, dzięki czemu aktualizacja do Galaxy przebiega bezproblemowo. To naprawdę jest Smart.
*W sekcji FAQ na dole strony można sprawdzić wymogi techniczne dla urządzeń kompatybilnych z aplikacją Smart Switch.
Transfer danych na różne sposoby
Aplikacja Smart Switch zapewnia wiele opcji podłączenia urządzeń – od kabla USB, przez połączenie bezprzewodowe i pamięci masowe po komputer i inne.
*Dostępne opcje połączeń mogą zależeć od systemu operacyjnego urządzenia, producenta lub możliwości korzystania z pamięci zewnętrznej w urządzeniu.
Transfer różnych typów danych
Aplikacja Smart Switch umożliwia migrację różnych typów plików do nowego Galaxy, w tym zdjęć, filmów, notatek, wydarzeń z kalendarza, a nawet ustawień urządzenia.
* Rodzaj przenoszonych danych może różnić się w zależności od systemu operacyjnego urządzenia (Android lub iOS), jego wersji i/lub opcji połączenia.
Jak przenieść dane
Chcesz przenieść dane? Przygotuj stare urządzenie, a następnie wybierz preferowany sposób podłączenia nowego smartfona Galaxy.
Jakie masz teraz urządzenie?
GALAXY
Jak chcesz się połączyć?
Użyj sieci Wi-Fi lub kabla USB
Zanim zaczniesz
Sprawdź, czy na obu urządzeniach masz zainstalowaną najnowszą wersję aplikacji Smart Switch. Aplikacja jest zainstalowana fabrycznie, ale można ją również pobrać ze sklepu Galaxy Store.
Aplikacja Smart Switch działa, gdy urządzenia są naładowane co najmniej na poziomie 20%, zapewniając w ten sposób bezpieczeństwo transferu danych.
Krok 1: Uruchom aplikację
Otwórz aplikację Smart Switch za nowym urządzeniu Galaxy. Dotknij opcję Odbierz dane, a następnie dotknij pozycji Galaxy.
- *Aplikację Smart Switch można znaleźć na smartfonie lub tablecie Galaxy, przechodząc do folderu Samsung na ekranie Aplikacje lub dotykając kolejno: Ustawienia > Konta i kopie zapasowe > Smart Switch.
- *Aplikację Smart Switch można znaleźć na telefonie lub tablecie Galaxy, przechodząc do folderu Samsung na ekranie Aplikacje lub dotykając kolejno: Ustawienia > Konta i kopie zapasowe > Smart Switch.
Krok 2: Połącz urządzenia
Wybierz połączenie bezprzewodowe lub za pomocą kabla USB połącz stare urządzenie z nowym Galaxy.
- *Jeśli chcesz przenieść dużą ilość danych, zalecane jest połączenie przewodowe, ponieważ jest ono stosunkowo szybsze. Sprawdź, czy obydwa urządzenia są odpowiednio naładowane, ponieważ podczas transferu danych podłączenie ładowarki nie będzie możliwe.
- *Jeśli chcesz przenieść dużą ilość danych, zalecane jest połączenie przewodowe, ponieważ jest ono stosunkowo szybsze. Sprawdź, czy obydwa urządzenia są odpowiednio naładowane, ponieważ podczas transferu danych podłączenie ładowarki nie będzie możliwe.
Krok 3: Wybierz dane
Wybierz dane, które chcesz przenieść. Aby rozpocząć, dotknij opcji Transfer.
Krok 4: Wykonaj transfer danych
Przesyłanie danych wkrótce się rozpocznie. Po zakończeniu dotknij Gotowe.
Tworzenie kopii zapasowej danych i przywracanie danych
Zanim zaczniesz
Sprawdź, czy na urządzeniach masz zainstalowaną najnowszą wersję aplikacji Smart Switch. Aplikacja jest zainstalowana fabrycznie, ale można ją również pobrać ze sklepu Galaxy Store.
Następnie włóż kartę microSD lub pamięć USB do smartfonu lub tabletu Galaxy.
Krok 1: Uruchom aplikację
Na telefonie uruchom aplikację Smart Switch i dotknij ikony karty SD w prawym górnym rogu.
- *Aplikację Smart Switch można znaleźć na telefonie lub tablecie Galaxy, przechodząc do folderu Samsung na ekranie Aplikacje lub dotykając kolejno: Ustawienia > Konta i kopie zapasowe > Smart Switch.
- *Aplikację Smart Switch można znaleźć na telefonie lub tablecie Galaxy, przechodząc do folderu Samsung na ekranie Aplikacje lub dotykając kolejno: Ustawienia > Konta i kopie zapasowe > Smart Switch.
Krok 2: Wybierz dane
Dotknij opcji Karta SD w strefie Utwórz kopię zapasową, a następnie wybierz dane ze starego urządzenia, których kopię zapasową chcesz utworzyć.
- *Jeśli na zewnętrznej pamięci nie ma wystarczająco miejsca, może być konieczne usunięcie zaznaczenia niektórych elementów. Można też wyczyścić pamięć zewnętrzną, aby uzyskać wystarczającą ilość miejsca na przesyłane dane
- *Jeśli na zewnętrznej pamięci nie ma wystarczająco miejsca, może być konieczne usunięcie zaznaczenia niektórych elementów. Można też wyczyścić pamięć zewnętrzną, aby uzyskać wystarczającą ilość miejsca na przesyłane dane
Krok 3: Utwórz kopie zapasowe danych
Wykonaj polecenia wyświetlane na ekranie. Po zakończeniu dotknij Gotowe, a następnie wyjmij zewnętrzną pamięć ze starego urządzenia.
Krok 4: Połącz urządzenia
Teraz włóż zewnętrzną pamięć do nowego urządzenia Galaxy, aby pobrać dane. Uruchom aplikację Smart Switch i dotknij ikony karty SD.
Krok 5: Przywracanie danych
Dotknij opcji Przywróć dane. Wybierz, które dane chcesz przywrócić, a następnie dotknij Dalej.
Krok 6: Wykonaj transfer danych
Przesyłanie danych wkrótce się rozpocznie. Dotnij Dalej, a po zakończeniu – Gotowe.
Tworzenie kopii zapasowej i przywracanie danych z komputera PC lub Mac
Zanim zaczniesz
Sprawdź, czy na urządzeniach masz zainstalowaną najnowszą wersję aplikacji Smart Switch.
Aplikacja jest zainstalowana fabrycznie na telefonie lub tablecie Galaxy, ale można ją również pobrać ze sklepu Galaxy Store. Jeśli chodzi o aplikację Smart Switch PC, pobierz i zainstaluj ją na komputerze PC lub Mac z systemem Windows.
Link do pobrania aplikacji Smart Switch PC:
Windows Mac
- *Aplikacja Smart Switch działa, gdy urządzenia są naładowane co najmniej na poziomie 20%, zapewniając w ten sposób bezpieczeństwo transferu danych.
- *Aplikacja Smart Switch działa, gdy urządzenia są naładowane co najmniej na poziomie 20%, zapewniając w ten sposób bezpieczeństwo transferu danych.
Krok 1: Połącz urządzenia i uruchom aplikację
Połącz stary telefon lub tablet z komputerem PC za pomocą kabla USB.
Na komputerze uruchom aplikację Smart Switch i dotknij opcji Kopia zapasowa, aby zapisać dane ze starego urządzenia.
Krok 2: Wybierz dane do skopiowania
Wybierz dane, których kopię zapasową chcesz utworzyć. „Wybierz wszystko” to opcja domyślna, ale można też odznaczyć niektóre pozycje. Dotknięcie poszczególnej kategorii pozwoli wybrać konkretne elementy. Dotknij opcji Kopia zapasowa, aby rozpocząć tworzenie kopii danych.
Krok 3: Utwórz kopie zapasowe danych
Przesyłanie danych wkrótce się rozpocznie. Po zakończeniu dotknij Gotowe.
Krok 4: Połącz urządzenia i przywróć dane
Teraz połącz nowy telefon Galaxy z komputerem PC za pomocą kabla USB.
Na komputerze PC uruchom aplikację Smart Switch i dotknij opcji Kopia zapasowa, aby przesłać dane na nowe urządzenie.
Krok 5: Wybierz dane do przywrócenia
Dotknij dane, które chcesz przywrócić i dotknij Przywróć.
Krok 6: Wykonaj transfer danych
Przesyłanie danych wkrótce się rozpocznie. Po zakończeniu przywracania danych dotknij OK.
IOS
Jak chcesz się połączyć?
Korzystanie z kabla USB
Zanim zaczniesz
Sprawdź, czy na urządzeniu Galaxy masz zainstalowaną najnowszą wersję aplikacji Smart Switch. Aplikacja jest zainstalowana fabrycznie, ale można ją również pobrać ze sklepu Galaxy Store. Nie ma potrzeby instalowania jej na urządzeniu z systemem iOS.
Przed połączeniem obu urządzeń kablem USB sprawdź, czy są odpowiednio naładowane, ponieważ podczas transferu danych podłączenie do ładowarki nie będzie możliwe.
Krok 1: Uruchom aplikację
Otwórz aplikację Smart Switch za nowym urządzeniu Galaxy. Dotknij opcji Odbierz dane, a następnie dotknij iPhone/iPad.
- *Aplikację Smart Switch można znaleźć na smartfonie lub tablecie Galaxy, przechodząc do folderu Samsung na ekranie Aplikacje lub dotykając kolejno: Ustawienia > Konta i kopie zapasowe > Smart Switch.
- *Aplikację Smart Switch można znaleźć na telefonie lub tablecie Galaxy, przechodząc do folderu Samsung na ekranie Aplikacje lub dotykając kolejno: Ustawienia > Konta i kopie zapasowe > Smart Switch.
Krok 2: Połącz urządzenia
Użyj kabla Lightning-do-USB-C lub USB-C-do-USB-C, aby połączyć stare urządzenie iOS z nowym Galaxy. Jeśli używasz kabla USB-A, jak w przypadku wielu standardowych kabli do ładowania, możesz użyć adaptera OTG, aby podłączyć się do portu USB-C.
Kiedy zobaczysz alert „Ufaj temu komputerowi?” na iPhonie lub iPadzie, kliknij „Zaufaj”.
- *Adapter OTG sprzedawany oddzielnie
- *Adapter OTG sprzedawany oddzielnie
Krok 3: Wybierz dane
Wybierz dane, które chcesz przenieść. Aby rozpocząć, dotknij opcji Transfer.
Krok 4: Wykonaj transfer danych
Przesyłanie danych wkrótce się rozpocznie. Po zakończeniu dotknij Gotowe.
Dodatkowe wskazówki
Na nowego Samsunga Galaxy można też przenieść czaty i zdjęcia z aplikacji WhatsApp zainstalowanej na urządzeniu z systemem iOS.
Wykonaj następujące czynności:
- 1. Po wyborze danych do przeniesienia dotknij opcji „WhatsApp” w menu Aplikacje, a następnie Transfer.
- 2. Zeskanuj kod QR i dotknij Start na iPhonie.
- *Wymagana jest najnowsza wersja aplikacji WhatsApp na urządzeniu z systemem iOS.
- *Historię czatów WhatsApp można przenieść wyłącznie przed zalogowaniem się do aplikacji WhatsApp na nowym urządzeniu. W przypadku zalogowania się do WhatsApp przed migracją lub przed ukończeniem przenoszenia danych za pomocą aplikacji Smart Switch migracja danych z aplikacji nie będzie możliwa.
- *Wymagana jest najnowsza wersja aplikacji WhatsApp na urządzeniu z systemem iOS.
- *Historię czatów WhatsApp można przenieść wyłącznie przed zalogowaniem się do aplikacji WhatsApp na nowym urządzeniu. W przypadku zalogowania się do WhatsApp przed migracją lub przed ukończeniem przenoszenia danych za pomocą aplikacji Smart Switch migracja danych z aplikacji nie będzie możliwa.
Użyj sieci Wi-Fi
Zanim zaczniesz
Sprawdź, czy na obu urządzeniach masz zainstalowaną najnowszą wersję aplikacji Smart Switch. Aplikacja jest fabrycznie instalowana na nowych urządzeniach z rodziny Galaxy, ale można ją również pobrać z Galaxy Store. Pobierz aplikację Smart Switch z App Store i zainstaluj ją na swoim starym iPhonie lub iPadzie.
Aplikacja Smart Switch działa, gdy urządzenia są naładowane co najmniej na poziomie 20%, zapewniając w ten sposób bezpieczeństwo transferu danych.
Link do pobrania aplikacji mobilnej Smart Switch:
Krok 1: Uruchom
Na swoim nowym urządzeniu Galaxy uruchom aplikację Smart Switch. Dotknij opcji „Odbierz dane”, a następnie „iPhone/iPad”.
- * Aplikację Smart Switch znajdziesz na swoim telefonie lub tablecie Galaxy w folderze Samsung na ekranie Aplikacji, lub wybierając kolejno Ustawienia > Konta i kopia zapasowa > Smart Switch.
- * Aplikację Smart Switch znajdziesz na swoim telefonie lub tablecie Galaxy w folderze Samsung na ekranie Aplikacji, lub wybierając kolejno Ustawienia > Konta i kopia zapasowa > Smart Switch.
Krok 2 : Połączenie
Dotknij opcji „Przenieś bezprzewodowo”, aby połączyć swoje urządzenie z systemem iOS z nowym urządzeniem Galaxy.
- * Jeśli do przeniesienia masz dużą liczbę plików, zalecamy skorzystanie z połączenia przewodowego, gdyż umożliwia przesył większej ilości danych jednocześnie. Przed rozpoczęciem upewnij się, że urządzenia są naładowane, ponieważ podczas transferu danych nie będzie można podłączyć ładowarki.
- * Jeśli do przeniesienia masz dużą liczbę plików, zalecamy skorzystanie z połączenia przewodowego, gdyż umożliwia przesył większej ilości danych jednocześnie. Przed rozpoczęciem upewnij się, że urządzenia są naładowane, ponieważ podczas transferu danych nie będzie można podłączyć ładowarki.
Krok 2 : Połączenie
Pobierz aplikację Smart Switch, dotykając „Pobierz Smart Switch na swojego iPhone’a lub iPada” i skanując kod QR.
Krok 2 : Połączenie
Otwórz aplikację Smart Switch na swoim iPhonie lub iPadzie i dotknij opcji „Przenieś bezprzewodowo”.
Następnie zeskanuj kod QR na swoim nowym telefonie Samsung Galaxy.
Krok 3: Wybierz
Wybierz dane, które chcesz przenieść. Aby rozpocząć, dotknij opcji „Przenieś”.
Możesz przenieść swoje kontakty, kalendarz, zdjęcia i filmy.
Krok 4: Przenieś
Transfer rozpocznie się za chwilę. Gdy proces dobiegnie końca, dotknij przycisku „Gotowe”.
- * W trakcie transferu nie zamykaj aplikacji Smart Switch na swoim iPhonie lub iPadzie
- * W trakcie transferu nie zamykaj aplikacji Smart Switch na swoim iPhonie lub iPadzie
Przenoszenie kopii zapasowej danych iTunes (Finder) z komputera PC lub Mac
Zanim zaczniesz
Sprawdź, czy na urządzeniach masz zainstalowaną najnowszą wersję aplikacji Smart Switch.
Aplikacja jest zainstalowana fabrycznie na telefonie lub tablecie Galaxy, ale można ją również pobrać ze sklepu Galaxy Store. Jeśli chodzi o aplikację Smart Switch PC, pobierz i zainstaluj ją na komputerze PC lub Mac z systemem Windows.
Link do pobrania aplikacji Smart Switch PC:
Windows Mac
Krok 1: Utwórz kopie zapasowe danych
Aby wszystkie najnowsze dane były gotowe do transferu za pomocą aplikacji Smart Switch, wykonaj kopię zapasową danych urządzenia iOS z plikami iTunes (Finder) na komputerze PC lub Mac.
Krok 2: Połącz urządzenia
Połącz telefon z komputerem PC za pomocą kabla USB. Uruchom aplikację Smart Switch na komputerze i dotknij opcji Przywróć.
Krok 3: Przywracanie danych
Wybierz dane z kopii zapasowej iTunes (Finder), które chcesz przywrócić i dotknij Przywróć.
Krok 4: Wykonaj transfer danych
Przesyłanie danych wkrótce się rozpocznie. Po zakończeniu dotknij Gotowe.
Przenoszenie danych z chmury iCloud
Zanim zaczniesz
Sprawdź, czy na telefonie lub tablecie Galaxy masz zainstalowaną najnowszą wersję aplikacji Smart Switch. Aplikacja jest zainstalowana fabrycznie, ale można ją również pobrać ze sklepu Galaxy Store.
Aplikacja Smart Switch działa, gdy urządzenia są naładowane co najmniej na poziomie 20%, zapewniając w ten sposób bezpieczeństwo transferu danych.
Krok 1: Synchronizacja z iCloud
Aby wszystkie najnowsze dane były gotowe do transferu za pomocą aplikacji Smart Switch, zsynchronizuj swoje urządzenie iOS z chmurą iCloud.
- 1. Na iPhonie lub iPadzie przejdź do Ustawień, dotknij swojego imienia, a następnie – iCloud. Teraz dotknij Pokaż wszystko.
- 2. Wybierz Zdjęcia i włącz opcję Synchronizuj ten iPhone (lub iPad).
- 3. Wróć do iCloud i wybierz iCloud Drive, a następnie włącz opcję Synchronizuj ten iPhone (lub iPad).
- 4. Wróć do iCloud i włącz opcje Pages, Numbers i Keynote.
- 5. Wróć do iCloud i wybierz Notes, a następnie włącz opcję Synchronizuj ten iPhone (lub iPad).
- 6. Wróć do iCloud i włącz opcje Contacts, Calendars and Reminders.
Krok 2: Uruchom aplikację
Otwórz aplikację Smart Switch na nowym urządzeniu i dotknij opcji Odbierz dane, a następnie – iPhone/iPad.
- *Aplikację Smart Switch można znaleźć na smartfonie lub tablecie Galaxy, przechodząc do folderu Samsung na ekranie Aplikacje lub dotykając kolejno: Ustawienia > Konta i kopie zapasowe > Smart Switch.
- *Aplikację Smart Switch można znaleźć na telefonie lub tablecie Galaxy, przechodząc do folderu Samsung na ekranie Aplikacje lub dotykając kolejno: Ustawienia > Konta i kopie zapasowe > Smart Switch.
Krok 3: Połącz urządzenia
Dotknij opcji Pobierz dane z iCloud, wprowadź swój identyfikator Apple ID lub adres e-mail i hasło, a następnie dotknij opcji Zaloguj się do iCloud.
Krok 4: Wybierz dane
Wybierz dane z chmury iCloud, które chcesz przenieść, a następnie dotknij Transfer.
Krok 5: Wykonaj transfer danych
Przesyłanie danych wkrótce się rozpocznie. Po zakończeniu dotknij Gotowe.
Inne urządzenie z Androidem
Jak chcesz się połączyć?
Użyj sieci Wi-Fi lub kabla USB
Zanim zaczniesz
Sprawdź, czy na obu urządzeniach masz zainstalowaną najnowszą wersję aplikacji Smart Switch. Aplikacja jest zainstalowana fabrycznie na nowym urządzeniu Galaxy, ale można ją również pobrać ze sklepu Galaxy Store lub Google Play Store.
Aplikacja Smart Switch działa, gdy urządzenia są naładowane co najmniej na poziomie 20%, zapewniając w ten sposób bezpieczeństwo transferu danych.
Krok 1: Uruchom aplikację
Na nowym smartfonie Galaxy otwórz aplikację Smart Switch i dotknij opcji Odbierz dane. Następnie wybierz Galaxy/Android.
- *Aplikację Smart Switch można znaleźć na smartfonie lub tablecie Galaxy, przechodząc do folderu Samsung na ekranie Aplikacje lub dotykając kolejno: Ustawienia > Konta i kopie zapasowe > Smart Switch.
- *Aplikację Smart Switch można znaleźć na telefonie lub tablecie Galaxy, przechodząc do folderu Samsung na ekranie Aplikacje lub dotykając kolejno: Ustawienia > Konta i kopie zapasowe > Smart Switch.
Krok 2: Połącz urządzenia
Wybierz połączenie bezprzewodowe lub za pomocą kabla USB połącz stare urządzenie z nowym telefonem Galaxy.
- *Jeśli chcesz przenieść dużą ilość danych, zalecane jest połączenie przewodowe, ponieważ jest ono stosunkowo szybsze. Sprawdź, czy obydwa urządzenia są odpowiednio naładowane, ponieważ podczas transferu danych podłączenie ładowarki nie będzie możliwe.
- *Jeśli chcesz przenieść dużą ilość danych, zalecane jest połączenie przewodowe, ponieważ jest ono stosunkowo szybsze. Sprawdź, czy obydwa urządzenia są odpowiednio naładowane, ponieważ podczas transferu danych podłączenie ładowarki nie będzie możliwe.
Krok 3: Wybierz dane
Wybierz dane, które chcesz przenieść. Aby rozpocząć, dotknij opcji Transfer.
Krok 4: Wykonaj transfer danych
Przesyłanie danych wkrótce się rozpocznie. Po zakończeniu dotknij Gotowe.
Tworzenie kopii zapasowej danych i przywracanie danych
Zanim zaczniesz
Sprawdź, czy na urządzeniach masz zainstalowaną najnowszą wersję aplikacji Smart Switch. Aplikacja jest zainstalowana fabrycznie na nowym urządzeniu Galaxy, ale można ją również pobrać ze sklepu Galaxy Store lub Google Play Store.
Teraz włóż kartę microSD lub pamięć USB do starego urządzenia.
Krok 1: Uruchom aplikację
Na starym telefonie uruchom aplikację Smart Switch i dotknij ikony karty SD w prawym górnym rogu. Następnie dotknij Karta SD w strefie Utwórz kopię zapasową.
- *Aplikację Smart Switch można pobrać ze sklepu Galaxy Store lub Google Play Store.
- *Aplikację Smart Switch można pobrać ze sklepu Galaxy Store lub Google Play Store.
Krok 2: Wybierz dane i utwórz ich kopię
Wybierz dane, których kopię zapasową chcesz utworzyć, i dotknij Dalej. Po zakończeniu transferu dotknij Gotowe.
- *Jeśli na zewnętrznej pamięci nie ma wystarczająco miejsca, może być konieczne usunięcie zaznaczenia niektórych elementów. Można też wyczyścić pamięć zewnętrzną, aby uzyskać wystarczającą ilość miejsca na przesyłane dane
- *Jeśli na zewnętrznej pamięci nie ma wystarczająco miejsca, może być konieczne usunięcie zaznaczenia niektórych elementów. Można też wyczyścić pamięć zewnętrzną, aby uzyskać wystarczającą ilość miejsca na przesyłane dane
Krok 3: Połącz urządzenia
Teraz włóż kartę SD lub pamięć USB do nowego telefonu Galaxy. Uruchom aplikację Smart Switch i dotknij ikony karty SD w prawym górnym rogu.
Krok 4: Przywracanie danych
Dotknij opcji Przywróć dane. Wybierz, które dane chcesz przywrócić, a następnie dotknij Dalej.
Krok 5: Wykonaj transfer danych
Przesyłanie danych wkrótce się rozpocznie. Po zakończeniu dotknij Gotowe.
').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()); }});