Smart Switch | App & Servizi | Samsung IT (2024)

Smart Switch | App & Servizi | Samsung IT (1)

Trasferisci i dati
in modo semplice e veloce
con Smart Switch


Porta con te il contenuto del tuo vecchio telefono o tablet (le foto preferite, i contatti, gli eventi del calendario, le note, le impostazioni del dispositivo, ecc.) quando passi a un nuovo Samsung Galaxy.

Smart Switch | App & Servizi | Samsung IT (2) Smart Switch | App & Servizi | Samsung IT (3)

* I dati trasferibili possono variare a seconda del sistema operativo del dispositivo (Android o iOS), della versione del sistema operativo e/o delle opzioni di connessione.

Perché usare Samsung Smart Switch?


Smart Switch trasferisce numerosi tipi di dati provenienti da diversi dispositivi e destinati al tuo nuovo Samsung Galaxy, nel modo più adatto a te.

Smart Switch | App & Servizi | Samsung IT (4)Smart Switch | App & Servizi | Samsung IT (5)

Sposta dati da sistemi operativi diversi

Non importa se provengono da un altro Galaxy, da iOS o da un altro dispositivo Android: i dati per te importanti ora possono essere trasmessi al tuo nuovo Galaxy in tutta semplicità.

* Verifica i requisiti tecnici relativi ai dispositivi compatibili con Smart Switch nella sezione delle FAQ.

Smart Switch | App & Servizi | Samsung IT (6)Smart Switch | App & Servizi | Samsung IT (7)

Tanti modi di fare Switch

Smart Switch ti consente di scegliere tra le tante opzioni disponibili per connettere i tuoi dispositivi: con un cavo USB, una connessione wireless, una memoria esterna, un PC e altro ancora.

* Le opzioni di connessione disponibili possono variare a seconda del sistema operativo del dispositivo, del produttore o della disponibilità di spazio di archiviazione aumentabile sul dispositivo.

Smart Switch | App & Servizi | Samsung IT (8)Smart Switch | App & Servizi | Samsung IT (9)

Sposta diversi tipi di dati

Smart Switch consente la migrazione di diversi tipi di dati nel tuo nuovo Galaxy, tra cui le foto, i video, le note, gli eventi del calendario e persino le impostazioni del dispositivo.

* I dati trasferibili possono variare a seconda del sistema operativo del dispositivo (Android o iOS), della versione del sistema operativo e/o delle opzioni di connessione.

Come effettuare il trasferimento

È ora di trasferire i dati! Per prima cosa, prepara il dispositivo precedente, quindi seleziona il metodo che preferisci per connettere il nuovo Samsung Galaxy.

A che categoria appartiene il tuo dispositivo precedente?

GALAXY

Come desideri effettuare la connessione?
Usa il Wi-Fi o un cavo USB

Preparativi

Assicurati di avere installato la versione più aggiornata dell’app Smart Switch su entrambi i dispositivi. L’app è installata di default ma può anche essere scaricata dal Galaxy Store.

Smart Switch si avvierà quando entrambi i dispositivi saranno carichi almeno al 20%, così da garantire il buon esito del trasferimento dei dati.

Smart Switch | App & Servizi | Samsung IT (10)

Fase 1: Avvio

Apri l’app Smart Switch sul tuo nuovo dispositivo Galaxy. Tocca Ricevi dati, quindi Galaxy.

  • * Puoi trovare l’app Smart Switch su un telefono o tablet Galaxy accedendo alla cartella Samsung della schermata delle App, oppure toccando Impostazioni > Account e backup > Smart Switch.
Smart Switch | App & Servizi | Samsung IT (11)
  • * Puoi trovare l’app Smart Switch su un telefono o tablet Galaxy accedendo alla cartella Samsung della schermata delle App, oppure toccando Impostazioni > Account e backup > Smart Switch.

Fase 2: Connessione

Seleziona una connessione wireless oppure usa un cavo USB per connettere il vecchio dispositivo al nuovo Galaxy.

  • * Se desideri trasferire un volume consistente di dati, ti consigliamo di usare una connessione via cavo, che sarà un po’ più veloce. Assicurati a monte che i tuoi dispositivi siano accuratamente carichi: non è infatti possibile connettersi a un caricatore durante questo tipo di trasferimento.
Smart Switch | App & Servizi | Samsung IT (12)
  • * Se desideri trasferire un volume consistente di dati, ti consigliamo di usare una connessione via cavo, che sarà un po’ più veloce. Assicurati a monte che i tuoi dispositivi siano accuratamente carichi: non è infatti possibile connettersi a un caricatore durante questo tipo di trasferimento.

Fase 3: Selezione

Seleziona i dati che desideri traferire. Quando tutto è pronto, tocca Trasferisci.

Smart Switch | App & Servizi | Samsung IT (13)

Fase 4: Trasferimento

Il trasferimento comincerà a breve. Al termine, tocca Fatto.

Smart Switch | App & Servizi | Samsung IT (14)
Backup e ripristino da una memoria esterna

Preparativi

Assicurati di avere installato la versione più aggiornata dell’app Smart Switch sui dispositivi. L’app è installata di default ma può anche essere scaricata dal Galaxy Store.

Quindi inserisci la scheda microSD o connetti la memoria esterna via USB al telefono o tablet Galaxy.

Smart Switch | App & Servizi | Samsung IT (15)

Fase 1: Avvio

Apri l’app Smart Switch sul telefono, quindi tocca l’icona della scheda SD nell’angolo in alto a destra.

  • * Puoi trovare l’app Smart Switch su un telefono o tablet Galaxy accedendo alla cartella Samsung della schermata delle App, oppure toccando Impostazioni > Account e backup > Smart Switch.
Smart Switch | App & Servizi | Samsung IT (16)
  • * Puoi trovare l’app Smart Switch su un telefono o tablet Galaxy accedendo alla cartella Samsung della schermata delle App, oppure toccando Impostazioni > Account e backup > Smart Switch.

Fase 2: Selezione

Tocca Scheda SD in corrispondenza di Effettua backup su, quindi seleziona i dati del vecchio dispositivo per cui vuoi effettuare il backup.

  • * Se la memoria esterna non dispone di spazio sufficiente, potrebbe essere necessario deselezionare alcuni elementi o cancellare parte del contenuto della periferica per ottenere lo spazio sufficiente al trasferimento dei dati
Smart Switch | App & Servizi | Samsung IT (17)
  • * Se la memoria esterna non dispone di spazio sufficiente, potrebbe essere necessario deselezionare alcuni elementi o cancellare parte del contenuto della periferica per ottenere lo spazio sufficiente al trasferimento dei dati

Fase 3: Backup

Segui le istruzioni sullo schermo. Al termine dell’operazione, tocca Fatto, quindi rimuovi la memoria esterna dal vecchio dispositivo.

Smart Switch | App & Servizi | Samsung IT (18)

Fase 4: Connessione

A questo punto, inserisci la memoria esterna nel nuovo dispositivo Galaxy per ricevere i dati. Avvia l’app Smart Switch, quindi tocca l’icona della scheda SD.

Smart Switch | App & Servizi | Samsung IT (19)

Fase 5: Ripristino

Tocca Ripristina. Seleziona ciò che desideri ripristinare, quindi tocca Avanti.

Smart Switch | App & Servizi | Samsung IT (20)

Passaggio 6: Trasferimento

Il trasferimento comincerà a breve. Tocca Avanti, quindi Fatto, al termine dell’operazione.

Smart Switch | App & Servizi | Samsung IT (21)
Backup e ripristino da PC o Mac

Preparativi

Assicurati di avere installato sui dispositivi la versione più aggiornata dell’app Smart Switch.

L’app per telefono o tablet Galaxy è installata di default, ma è anche possibile scaricarla dal Galaxy Store. Per usare l’app Smart Switch per PC, scaricala e installala su PC Windows o su Mac.

Link per il download di Smart Switch per PC:

Windows Mac

  • * Smart Switch si avvierà quando entrambi i dispositivi saranno carichi almeno al 20%, così da garantire la sicurezza del trasferimento dei dati.
Smart Switch | App & Servizi | Samsung IT (22)
  • * Smart Switch si avvierà quando entrambi i dispositivi saranno carichi almeno al 20%, così da garantire la sicurezza del trasferimento dei dati.

Fase 1: Connessione e avvio

Connetti il vecchio telefono o tablet al PC con un cavo USB.
Avvia l’app Smart Switch da PC, quindi tocca Backup per salvare i dati presenti sul vecchio dispositivo.

Smart Switch | App & Servizi | Samsung IT (23)

Fase 2: Selezione per il backup

Scegli i dati per cui desideri effettuare il backup. L’opzione di default è “Seleziona tutti”, ma puoi deselezionare gli elementi che desideri. Fai clic su una categoria per scegliere gli elementi specifici al suo interno. Al termine, tocca Backup.

Smart Switch | App & Servizi | Samsung IT (24)

Fase 3: Backup

Il trasferimento comincerà a breve. Al termine, tocca Fatto.

Smart Switch | App & Servizi | Samsung IT (25)

Fase 4: Connessione e ripristino

A questo punto, connetti il nuovo dispositivo Galaxy al PC con un cavo USB.
Avvia Smart Switch da PC, quindi tocca Ripristina per trasferire i dati verso il nuovo dispositivo.

Smart Switch | App & Servizi | Samsung IT (26)

Fase 5: Selezione per il ripristino

Seleziona i dati che desideri ripristinare, quindi tocca Ripristina.

Smart Switch | App & Servizi | Samsung IT (27)

Fase 6: Trasferimento

Il trasferimento comincerà a breve. Tocca OK quando il ripristino sarà concluso.

Smart Switch | App & Servizi | Samsung IT (28)

IOS

Come desideri effettuare la connessione?
Usa un cavo USB

Preparativi

Assicurati di avere installato la versione più aggiornata dell’app Smart Switch sul dispositivo Galaxy. L’app è installata di default ma può anche essere scaricata dal Galaxy Store. Non sarà necessario installarla sui dispositivi iOS.

Verifica che entrambi i dispositivi siano carichi prima di connettere il cavo USB: la connessione al caricatore non sarà infatti disponibile durante il trasferimento.

Smart Switch | App & Servizi | Samsung IT (29)

Fase 1: Avvio

Apri l’app Smart Switch sul nuovo dispositivo Galaxy. Tocca Ricevi dati, quindi iPhone/iPad.

  • * Puoi trovare l’app Smart Switch su un telefono o tablet Galaxy accedendo alla cartella Samsung della schermata delle App, oppure toccando Impostazioni > Account e backup > Smart Switch.
Smart Switch | App & Servizi | Samsung IT (30)
  • * Puoi trovare l’app Smart Switch su un telefono o tablet Galaxy accedendo alla cartella Samsung della schermata delle App, oppure toccando Impostazioni > Account e backup > Smart Switch.

Fase 2: Connessione

Usa un cavo da Lightning a USB-C o da USB-C a USB-C per connettere il vecchio dispositivo iOS al nuovo dispositivo Galaxy. Se utilizzi un cavo USB-A, per esempio il cavo di un caricatore, puoi usare un adattatore OTG per collegarti alla porta USB-C.

Quando compare l’avviso “Autorizzi questo computer?” sull’iPhone o iPad, tocca “Autorizza”.

  • *Adattatore OTG venduto separatamente
Smart Switch | App & Servizi | Samsung IT (31)
  • *Adattatore OTG venduto separatamente

Fase 3: Selezione

Seleziona i dati che desideri traferire. Quando tutto è pronto, tocca Trasferisci.

Smart Switch | App & Servizi | Samsung IT (32)

Passaggio 4: Trasferimento

Il trasferimento comincerà a breve. Al termine, tocca Fatto.

Smart Switch | App & Servizi | Samsung IT (33)

Qualche suggerimento in più

È possibile trasferire dal dispositivo iOS al nuovo Samsung Galaxy anche le chat e le foto di WhatsApp.

Segui questo procedimento:

  1. 1. Al momento di selezionare i dati da trasferire, scegli “WhatsApp” dal menu delle App, quindi tocca Trasferisci.
  2. 2. Scansiona il QR code, quindi tocca Avvia sull’iPhone.
  • * È necessario aggiornare il dispositivo iOS con la versione più recente di WhatsApp.
  • * È possibile trasferire la cronologia delle chat WhatsApp solo se non si è ancora effettuato l’accesso a WhatsApp sul nuovo dispositivo. Se si accede a WhatsApp prima della migrazione o prima che Smart Switch abbia completato il trasferimento dei dati, i dati dell’app non potranno essere trasferiti.
Smart Switch | App & Servizi | Samsung IT (34)
  • * È necessario aggiornare il dispositivo iOS con la versione più recente di WhatsApp.
  • * È possibile trasferire la cronologia delle chat WhatsApp solo se non si è ancora effettuato l’accesso a WhatsApp sul nuovo dispositivo. Se si accede a WhatsApp prima della migrazione o prima che Smart Switch abbia completato il trasferimento dei dati, i dati dell’app non potranno essere trasferiti.
Use Wi-Fi

Preparativi

Assicurati di avere installato su entrambi i dispositivi la versione più aggiornata dell’app Smart Switch. L’app è installata di default sui dispositivi Galaxy nuovi, ma può anche essere scaricata dal Galaxy Store. Scarica l’app Smart Switch dall’Apple App Store e installala sul tuo vecchio iPhone o iPad.

Smart Switch si avvierà quando entrambi i dispositivi saranno carichi almeno al 20%, così da garantire il buon esito del trasferimento dei dati.

Link per il download di Smart Switch per dispositivi mobili :

Smart Switch | App & Servizi | Samsung IT (35)

Passaggio 1: avvia

Sul tuo nuovo dispositivo Galaxy, lancia l’app Smart Switch. Tocca “Ricevi dati” e poi “iPhone/iPad”.

  • * Puoi trovare l’app Smart Switch sul tuo telefono o tablet Galaxy accedendo alla cartella Samsung della schermata delle app, oppure accedendo a Impostazioni > Account e backup > Smart Switch.
Smart Switch | App & Servizi | Samsung IT (36)
  • * Puoi trovare l’app Smart Switch sul tuo telefono o tablet Galaxy accedendo alla cartella Samsung della schermata delle app, oppure accedendo a Impostazioni > Account e backup > Smart Switch.

Passaggio 2: connetti

Tocca “Trasferimento wireless” per connettere il tuo dispositivo iOS al tuo nuovo dispositivo Galaxy.

  • * Se desideri trasferire un volume consistente di dati, ti consigliamo di usare una connessione via cavo perché il trasferimento può risultare più veloce. Prima di iniziare assicurati di aver caricato a sufficienza i tuoi dispositivi: non è infatti possibile connettersi a un caricatore durante questo tipo di trasferimento.
Smart Switch | App & Servizi | Samsung IT (37)
  • * Se desideri trasferire un volume consistente di dati, ti consigliamo di usare una connessione via cavo perché il trasferimento può risultare più veloce. Prima di iniziare assicurati di aver caricato a sufficienza i tuoi dispositivi: non è infatti possibile connettersi a un caricatore durante questo tipo di trasferimento.

Passaggio 2: connetti

Scarica l’app Smart Switch toccando “Scarica Smart Switch sul tuo iPhone o iPad” e scansionando il QR code.

Smart Switch | App & Servizi | Samsung IT (38)

Passaggio 2: connetti

Apri l’app Smart Switch sul tuo iPhone o iPad e tocca “Trasferimento wireless”. Scansiona poi il QR code sul tuo nuovo telefono Samsung Galaxy.

Smart Switch | App & Servizi | Samsung IT (39)

Passaggio 3: seleziona

Seleziona i dati che vuoi trasferire. Quando tutto è pronto, tocca “Trasferisci”. Puoi trasferire i Contatti, il Calendario, le Immagini e i Video.

Smart Switch | App & Servizi | Samsung IT (40)

Passaggio 4: trasferisci

Il trasferimento inizierà presto. Al termine, tocca “Fatto”.

  • * Durante il trasferimento, tieni aperta l’app Smart Switch sul tuo iPhone o iPad.
Smart Switch | App & Servizi | Samsung IT (41)
  • * Durante il trasferimento, tieni aperta l’app Smart Switch sul tuo iPhone o iPad.
Trasferimento dei dati di backup di iTunes (Finder) da PC o Mac

Preparativi

Assicurati di avere installato sui dispositivi la versione più aggiornata dell’app Smart Switch.

L’app per telefono o tablet Galaxy è installata di default, ma è anche possibile scaricarla dal Galaxy Store. Per usare l’app Smart Switch per PC, scaricala e installala su PC Windows o su Mac.

Link per il download di Smart Switch per PC:

Windows Mac

Smart Switch | App & Servizi | Samsung IT (42)

Fase 1: Backup

Per assicurarti che tutti i tuoi dati più recenti siano pronti per Smart Switch, effettua il backup del dispositivo iOS con iTunes (Finder) da PC o Mac.

Smart Switch | App & Servizi | Samsung IT (43)

Fase 2: Connessione

Connetti il telefono al PC con un cavo USB. Avvia Smart Switch da PC, quindi tocca Ripristina.

Smart Switch | App & Servizi | Samsung IT (44)

Fase 3: Ripristino

Seleziona i dati di backup di iTunes (Finder) che desideri ripristinare, quindi tocca Ripristina.

Smart Switch | App & Servizi | Samsung IT (45)

Fase 4: Trasferimento

Il trasferimento comincerà a breve. Al termine, tocca Fatto.

Smart Switch | App & Servizi | Samsung IT (46)
Spostamento dei dati Cloud

Preparativi

Assicurati di avere installato la versione più aggiornata dell’app Smart Switch sul telefono o tablet Galaxy. L’app è installata di default ma può anche essere scaricata dal Galaxy Store.

Smart Switch si avvierà quando entrambi i dispositivi saranno carichi almeno al 20%, così da garantire il buon esito del trasferimento dei dati.

Smart Switch | App & Servizi | Samsung IT (47)

Fase 1: Sincronizzazione all’iCloud

Per assicurarti che tutti i tuoi dati più recenti siano pronti per Smart Switch, sincronizza il dispositivo iOS all’iCloud.

  1. 1. Accedi alle Impostazioni dell’iPhone o dell’iPad, quindi tocca il tuo nome e poi iCloud. Tocca quindi Mostra tutti.
  2. 2. Seleziona Foto e attiva Sincronizza iPhone (o iPad).
  3. 3. Torna nell’iCloud e seleziona iCloud Drive, quindi attiva Sincronizza iPhone (o iPad).
  4. 4. Torna nell’iCloud e attiva Pagine, Numeri e Keynote.
  5. 5. Torna nell’iCloud e seleziona Note, quindi attiva Sincronizza iPhone (o iPad).
  6. 6. Torna nell’iCloud e seleziona Contatti, Calendari e Promemoria.
Smart Switch | App & Servizi | Samsung IT (48)

Fase 2: Avvio

Apri l’app Smart Switch sul nuovo dispositivo e tocca Ricevi dati, quindi iPhone/iPad.

  • * Puoi trovare l’app Smart Switch su un telefono o tablet Galaxy accedendo alla cartella Samsung della schermata delle App, oppure toccando Impostazioni > Account e backup > Smart Switch.
Smart Switch | App & Servizi | Samsung IT (49)
  • * Puoi trovare l’app Smart Switch su un telefono o tablet Galaxy accedendo alla cartella Samsung della schermata delle App, oppure toccando Impostazioni > Account e backup > Smart Switch.

Passaggio 3: Connessione

Tocca Ottieni dati dall’iCloud. Inserisci il tuo ID Apple o il tuo indirizzo email e la password, quindi tocca Accedi all’iCloud.

Smart Switch | App & Servizi | Samsung IT (50)

Passaggio 4: Selezione

Seleziona i dati dell’iCloud che desideri trasferire, quindi tocca Trasferisci.

Smart Switch | App & Servizi | Samsung IT (51)

Passaggio 5: Trasferimento

Il trasferimento comincerà a breve. Al termine, tocca Fatto.

Smart Switch | App & Servizi | Samsung IT (52)

Usa il Wi-Fi o un cavo USB

Come desideri effettuare la connessione?
Usa il Wi-Fi o un cavo USB

Preparativi

Assicurati di avere installato la versione più aggiornata dell’app Smart Switch su entrambi i dispositivi. L’app è installata di default sul nuovo dispositivo Galaxy ma può anche essere scaricata dal Galaxy Store o dal Google Play Store.

Smart Switch si avvierà quando entrambi i dispositivi saranno carichi almeno al 20%, così da garantire il buon esito del trasferimento dei dati.

Smart Switch | App & Servizi | Samsung IT (53)

Fase 1: Avvio

Apri l’app Smart Switch sul nuovo telefono Galaxy. Tocca Ricevi dati, quindi Galaxy/Android.

  • * Puoi trovare l’app Smart Switch su un telefono o tablet Galaxy accedendo alla cartella Samsung della schermata delle App, oppure toccando Impostazioni > Account e backup > Smart Switch.
Smart Switch | App & Servizi | Samsung IT (54)
  • * Puoi trovare l’app Smart Switch su un telefono o tablet Galaxy accedendo alla cartella Samsung della schermata delle App, oppure toccando Impostazioni > Account e backup > Smart Switch.

Fase 2: Connessione

Seleziona una connessione wireless oppure usa un cavo USB per connettere il vecchio dispositivo al nuovo telefono Galaxy.

  • * Se desideri trasferire un volume consistente di dati, ti consigliamo di usare una connessione via cavo, che sarà un po’ più veloce. Assicurati a monte che i tuoi dispositivi siano accuratamente carichi: non è infatti possibile connettersi a un caricatore durante questo tipo di trasferimento.
Smart Switch | App & Servizi | Samsung IT (55)
  • * Se desideri trasferire un volume consistente di dati, ti consigliamo di usare una connessione via cavo, che sarà un po’ più veloce. Assicurati a monte che i tuoi dispositivi siano accuratamente carichi: non è infatti possibile connettersi a un caricatore durante questo tipo di trasferimento.

Fase 3: Selezione

Seleziona i dati che desideri traferire. Quando tutto è pronto, tocca Trasferisci.

Smart Switch | App & Servizi | Samsung IT (56)

Fase 4: Trasferimento

Il trasferimento comincerà a breve. Al termine, tocca Fatto.

Smart Switch | App & Servizi | Samsung IT (57)
Backup e ripristino da una memoria esterna

Preparativi

Assicurati di avere installato la versione più aggiornata dell’app Smart Switch sui dispositivi. L’app è installata di default sul nuovo dispositivo Galaxy ma può anche essere scaricata dal Galaxy Store o dal Google Play Store.

Inserisci quindi la scheda microSD oppure connetti la memoria USB esterna al dispositivo vecchio.

Smart Switch | App & Servizi | Samsung IT (58)

Fase 1: Avvio

Avvia l’app Smart Switch sul dispositivo vecchio, quindi tocca l’icona della scheda SD nell’angolo in alto a destra. Quindi tocca Scheda SD in corrispondenza di Effettua il backup su.

  • *L’app Smart Switch è scaricabile dal Galaxy Store o dal Google Play Store.
Smart Switch | App & Servizi | Samsung IT (59)
  • *L’app Smart Switch è scaricabile dal Galaxy Store o dal Google Play Store.

Fase 2: Selezione e backup

Seleziona i dati per cui desideri effettuare il backup e tocca Avanti. Quando il trasferimento sarà concluso, tocca Fatto.

  • * Se la memoria esterna non dispone di spazio sufficiente, potrebbe essere necessario deselezionare alcuni elementi o cancellare parte del contenuto della periferica per ottenere lo spazio sufficiente al trasferimento dei dati
Smart Switch | App & Servizi | Samsung IT (60)
  • * Se la memoria esterna non dispone di spazio sufficiente, potrebbe essere necessario deselezionare alcuni elementi o cancellare parte del contenuto della periferica per ottenere lo spazio sufficiente al trasferimento dei dati

Passaggio 3: Connessione

A questo punto inserisci una scheda SD o connetti una memoria USB esterna al nuovo telefono Galaxy. Avvia l’app Smart Switch e tocca l’icona della scheda SD nell’angolo in alto a destra.

Smart Switch | App & Servizi | Samsung IT (61)

Fase 4: Ripristino

Tocca Ripristina. Seleziona ciò che desideri ripristinare, quindi tocca Avanti.

Smart Switch | App & Servizi | Samsung IT (62)

Fase 5: Trasferimento

Il trasferimento comincerà a breve. Al termine, tocca Fatto.

Smart Switch | App & Servizi | Samsung IT (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 | App &amp; Servizi | Samsung IT (2024)
    Top Articles
    Latest Posts
    Article information

    Author: Rueben Jacobs

    Last Updated:

    Views: 6139

    Rating: 4.7 / 5 (57 voted)

    Reviews: 88% of readers found this page helpful

    Author information

    Name: Rueben Jacobs

    Birthday: 1999-03-14

    Address: 951 Caterina Walk, Schambergerside, CA 67667-0896

    Phone: +6881806848632

    Job: Internal Education Planner

    Hobby: Candle making, Cabaret, Poi, Gambling, Rock climbing, Wood carving, Computer programming

    Introduction: My name is Rueben Jacobs, I am a cooperative, beautiful, kind, comfortable, glamorous, open, magnificent person who loves writing and wants to share my knowledge and understanding with you.