PageSourceSearch

https://www.hesselbyslott.se/wp-content/plugins/tb_tslider/assets/js/tslider.js?v=1

js hesselbyslott.se collected 2026-09-25 00:13:29 UTC 40,679 bytes, 897 lines download raw bytes

vendor: 6,242 bytes, lines 1-33
1var $ = jQuery;
2
3// Modernizr
4/*! modernizr 3.2.0 (Custom Build) | MIT *
5* http://modernizr.com/download/?-csstransitions-prefixed-prefixedcss-prefixedcssvalue-setclasses !*/
6!function(e,n,t){function r(e,n){return typeof e===n}function i(){var e,n,t,i,o,s,a;for(var f in C)if(C.hasOwnProperty(f)){if(e=[],n=C[f],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(t=0;t<n.options.aliases.length;t++)e.push(n.options.aliases[t].toLowerCase());for(i=r(n.fn,"function")?n.fn():n.fn,o=0;o<e.length;o++)s=e[o],a=s.split("."),1===a.length?Modernizr[a[0]]=i:(!Modernizr[a[0]]||Modernizr[a[0]]instanceof Boolean||(Modernizr[a[0]]=new Boolean(Modernizr[a[0]])),Modernizr[a[0]][a[1]]=i),g.push((i?"":"no-")+a.join("-"))}}function o(e){var n=S.className,t=Modernizr._config.classPrefix||"";if(_&&(n=n.baseVal),Modernizr._config.enableJSClass){var r=new RegExp("(^|\\s)"+t+"no-js(\\s|$)");n=n.replace(r,"$1"+t+"js$2")}Modernizr._config.enableClasses&&(n+=" "+t+e.join(" "+t),_?S.className.baseVal=n:S.className=n)}function s(e){return e.replace(/([a-z])-([a-z])/g,function(e,n,t){return n+t.toUpperCase()}).replace(/^-/,"")}function a(e){return e.replace(/([A-Z])/g,function(e,n){return"-"+n.toLowerCase()}).replace(/^ms-/,"-ms-")}function f(e,n){return!!~(""+e).indexOf(n)}function l(){return"function"!=typeof n.createElement?n.createElement(arguments[0]):_?n.createElementNS.call(n,"http://www.w3.org/2000/svg",arguments[0]):n.createElement.apply(n,arguments)}function u(e,n){return function(){return e.apply(n,arguments)}}function p(e,n,t){var i;for(var o in e)if(e[o]in n)return t===!1?e[o]:(i=n[e[o]],r(i,"function")?u(i,t||n):i);return!1}function d(){var e=n.body;return e||(e=l(_?"svg":"body"),e.fake=!0),e}function c(e,t,r,i){var o,s,a,f,u="modernizr",p=l("div"),c=d();if(parseInt(r,10))for(;r--;)a=l("div"),a.id=i?i[r]:u+(r+1),p.appendChild(a);return o=l("style"),o.type="text/css",o.id="s"+u,(c.fake?c:p).appendChild(o),c.appendChild(p),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(n.createTextNode(e)),p.id=u,c.fake&&(c.style.background="",c.style.overflow="hidden",f=S.style.overflow,S.style.overflow="hidden",S.appendChild(c)),s=t(p,e),c.fake?(c.parentNode.removeChild(c),S.style.overflow=f,S.offsetHeight):p.parentNode.removeChild(p),!!s}function m(n,r){var i=n.length;if("CSS"in e&&"supports"in e.CSS){for(;i--;)if(e.CSS.supports(a(n[i]),r))return!0;return!1}if("CSSSupportsRule"in e){for(var o=[];i--;)o.push("("+a(n[i])+":"+r+")");return o=o.join(" or "),c("@supports ("+o+") { #modernizr { position: absolute; } }",function(e){return"absolute"==getComputedStyle(e,null).position})}return t}function v(e,n,i,o){function a(){p&&(delete N.style,delete N.modElem)}if(o=r(o,"undefined")?!1:o,!r(i,"undefined")){var u=m(e,i);if(!r(u,"undefined"))return u}for(var p,d,c,v,h,y=["modernizr","tspan"];!N.style;)p=!0,N.modElem=l(y.shift()),N.style=N.modElem.style;for(c=e.length,d=0;c>d;d++)if(v=e[d],h=N.style[v],f(v,"-")&&(v=s(v)),N.style[v]!==t){if(o||r(i,"undefined"))return a(),"pfx"==n?v:!0;try{N.style[v]=i}catch(g){}if(N.style[v]!=h)return a(),"pfx"==n?v:!0}return a(),!1}function h(e,n,t,i,o){var s=e.charAt(0).toUpperCase()+e.slice(1),a=(e+" "+b.join(s+" ")+s).split(" ");return r(n,"string")||r(n,"undefined")?v(a,n,i,o):(a=(e+" "+P.join(s+" ")+s).split(" "),p(a,n,t))}function y(e,n,r){return h(e,t,t,n,r)}var g=[],C=[],x={_version:"3.2.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var t=this;setTimeout(function(){n(t[e])},0)},addTest:function(e,n,t){C.push({name:e,fn:n,options:t})},addAsyncTest:function(e){C.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=x,Modernizr=new Modernizr;var S=n.documentElement,_="svg"===S.nodeName.toLowerCase(),w="Moz O ms Webkit",b=x._config.usePrefixes?w.split(" "):[];x._cssomPrefixes=b;var E=function(n){var r,i=prefixes.length,o=e.CSSRule;if("undefined"==typeof o)return t;if(!n)return!1;if(n=n.replace(/^@/,""),r=n.replace(/-/g,"_").toUpperCase()+"_RULE",r in o)return"@"+n;for(var s=0;i>s;s++){var a=prefixes[s],f=a.toUpperCase()+"_"+r;if(f in o)return"@-"+a.toLowerCase()+"-"+n}return!1};x.atRule=E;var P=x._config.usePrefixes?w.toLowerCase().split(" "):[];x._domPrefixes=P;var z={elem:l("modernizr")};Modernizr._q.push(function(){delete z.elem});var N={style:z.elem.style};Modernizr._q.unshift(function(){delete N.style});var T=function(e,n){var t=!1,r=l("div"),i=r.style;if(e in i){var o=P.length;for(i[e]=n,t=i[e];o--&&!t;)i[e]="-"+P[o]+"-"+n,t=i[e]}return""===t&&(t=!1),t};x.prefixedCSSValue=T,x.testAllProps=h;var j=x.prefixed=function(e,n,t){return 0===e.indexOf("@")?E(e):(-1!=e.indexOf("-")&&(e=s(e)),n?h(e,n,t):h(e,"pfx"))};x.prefixedCSS=function(e){var n=j(e);return n&&a(n)};x.testAllProps=y,Modernizr.addTest("csstransitions",y("transition","all",!0)),i(),o(g),delete x.addTest,delete x.addAsyncTest;for(var L=0;L<Modernizr._q.length;L++)Modernizr._q[L]();e.Modernizr=Modernizr}(window,document);
7// Parallax plugin
8/* Very simple */
9!function(n){n.fn.parallax=function(o){var t=n(window).height(),e=n.extend({speed:.15},o);return this.each(function(){var o=n(this);n(document).scroll(function(){var r=n(window).scrollTop(),i=o.offset().top,c=o.outerHeight();if(!(r>=i+c||i>=r+t)){var a=Math.round((i-r)*e.speed);o.css("background-position","center "+a+"px")}})})}}(jQuery);
10(function ($) {
11    /* =====================
12    tslider
13    ===================== */
14    var tslider = function (container, params) {
15        if (!(this instanceof tslider)) return new tslider(container, params);
16        if(typeof params === "string" && container[0].tslider !== undefined) {
17            if(params === "reset") {
18                var ts = container[0].tslider;
19                ts.onContainerShow(true);
20            }
21            if(params === "destroy") {
22                var ts = container[0].tslider;
23                ts.onContainerHide(true);
24            }
25            return
26        }
27
28        var defaults = {
29            animation_effect: 'ts-animation-effect-slide',
30            animation_speed: 'ts-animation-duration-slow',
31            animation_function: 'ts-animation-function-dooreffect',
32            autoplay: true,
33            autoplay_speed: 2500,
34            arrows: false,
35            pagination: false,
36            pagination_type: 'ts-pagination-circles',
37            pagination_position: 'ts-position-bottom-center',
38            fullheight: false,
39            max_height: 100,
40            startindex: 0,
41            show: 1,
42            spacebetween: 0,
43            swipe: false,
44            scrolldown: false,
45            typeof: 'ts-type-widescreen',
46            lazyload: false,
47        };
48
49        // Namespace
50        var ts = this;
51
52        // Settings
53        ts.settings = $.extend({}, defaults, params);
54        ts._settings = $.extend({}, defaults, params);
55
56        // Element
57        ts.container = $(container);
58
59        // Spara instance så vi inte laddar tslider mer än 1 gång på detta element
60        ts.container[0].tslider = ts;
61        ts.container.data('tslider', ts);
62
63        // Wrapper, som innehåller våra slides
64        ts.wrapper = ts.container.children(".ts-wrapper");
65        ts.window = ts.wrapper.children(".ts-window");
66
67        // Pagination
68        ts.pagination = ts.container.children(".ts-pagination");
69
70        // Arrows Prev
71        ts.previous = ts.container.children(".ts-arrow-prev");
72
73        // Arrows Next
74        ts.next = ts.container.children(".ts-arrow-next");
75
76        // Slides
77        ts.slides = ts.window.children();
78
79        // TypeOf
80        if(ts.settings.typeof === "ts-type-widescreen") ts.settings.fullheight = false;
81        if(ts.settings.typeof === "ts-type-fullheight") ts.settings.fullheight = true;
82        if(ts.settings.typeof === "ts-type-timer") ts.settings.fullheight = true;
83        if(ts.settings.typeof === "ts-type-widescreen") {
84            ts.settings.fullheight = false;
85        }
86        if(ts.settings.animation_effect === "default") ts.settings.animation_effect = 'ts-animation-effect-slide';
87        if(ts.settings.animation_speed === "default") ts.settings.animation_speed = 'ts-animation-duration-normal';
88        if(ts.settings.animation_function === "default") ts.settings.animation_function = 'ts-animation-function-dooreffect';
89
90        /* =====================
91        Preloader v.0.2.1
92        ===================== */
93        ts.preloader = {
94            images: [],
95            loaded: 0
96        }
97
98        ts.loadImages = function(src, callback) {
99            var image = new Image();
100            function onCompleted() {
101                if(callback) callback();
102            }
103            image.onload = function () {
104                try {
105                    ts.preloader.loaded = ts.preloader.loaded +1
106                    onCompleted();
107                } catch (e) {
108
109                }
110            }
111            image.onerror = function() {
112                try {
113                    ts.preloader.loaded = ts.preloader.loaded +1
114                    onCompleted();
115                } catch (e) {
116
117                }
118            }
119            image.src = src;
120        }
121
122        ts.preloadImages = function () {
123            ts.preloader.images = ts.container.find('img');
124            function _onCompleted() {
125                if(ts.preloader.loaded === ts.preloader.images.length)
126                ts.setContainerSize();
127                ts.updateLayer();
128            }
129            for(var i = 0; i < ts.preloader.images.length; i++) {
130                ts.loadImages(ts.preloader.images[i].currentSrc,  _onCompleted)
131            }
132        }
133
134        /* =====================
135        Autoplayer v.0.2.1
136        ===================== */
137        ts.autoplayId;
138        ts.autoPlaySeconds = 0;
139        ts.addTime = 0;
140        ts.addSeconds = function() {
141            ts.autoPlaySeconds = ts.autoPlaySeconds + 0.1
142            ts.autoPlaySeconds = Math.round( ts.autoPlaySeconds * 10 ) / 10;
143            ts.addTime = ts.autoPlaySeconds;
144            ts.timer(ts.addTime);
145        }
146        ts.timer = function (timeLeft) {
147            if (timeLeft == ts.settings.autoplay_speed / 1000) {
148                ts.autoPlaySeconds = 0;
149                ts.fixLoop();
150                ts.slideNext();
151            }
152        }
153
154        ts.autoplay = function() {
155            ts.autoplayId = setInterval(ts.addSeconds, 100);
156        }
157
158        ts.startAutoplay = function() {
159            if(ts.settings.autoplay)
160            ts.autoplay();
161        }
162
163        ts.pauseAutoplay = function() {
164            clearInterval(ts.autoplayId);
165        }
166
167        ts.stopAutoplay = function() {
168            ts.autoPlaySeconds = 0;
169        }
170
171        /* =====================
172        Arrows
173        ===================== */
174        ts.createArrow = function() {
175            if(ts.slides.length > 1) {
176                $(ts.next).addClass("enabled").on("click", function(e) { ts.clickArrow(0); });
177                $(ts.previous).addClass("enabled").on("click", function(e) { ts.clickArrow(1); });
178                ts.positionArrow();
179            }
180        }
181
182        ts.clickArrow = function(func) {
183            if(ts.isInAnimation) return false;
184            if(func === 0) {
185                if(ts.isInAnimation) return;
186                ts.slideNext();
187            }
188            else {
189                if(ts.isInAnimation) return;
190                ts.slidePrev();
191            }
192        }
193
194        ts.positionArrow = function() {
195            if($(ts.container).find(".ts-arrow").hasClass("ts-position-center-center")) {
196                $(ts.container).find(".ts-arrow").css({
197                    "marginTop": -($(ts.container).find(".ts-arrow").outerHeight() / 2)
198                });
199            } else {
200                $(ts.container).find(".ts-arrow").css({
201                    "marginTop": "auto"
202                });
203            }
204        }
205
206        /* =====================
207        Pagination
208        ===================== */
209        ts.createPagination = function() {
210            if(ts.slides.length <= 1) return;
211            $(ts.pagination).addClass(ts.settings.pagination_type + " " + ts.settings.pagination_position);
212            if(ts.settings.typeof !== "ts-type-timer") {
213                $.each($(ts.slides).not(".ts-clone"), function() {
214                    var bullet = $("<div class='ts-pagination-item'></div>");
215                    bullet.bind("click", ts.clickPagination);
216                    $(ts.pagination).find(".ts-pagination-wrapper").append(bullet);
217                });
218                $(ts.pagination).find(".ts-pagination-wrapper").children().eq(ts.indexActive - ts.loopedSlides).addClass("active");
219            } else {
220                var ww = $(window).width();
221                var remove = 200;
222                if(ww >= 1400) remove = 0;
223                else if(ww >= 1170) remove = 200;
224                else if(ww >= 768) remove = 100;
225                else if(ww >= 480) remove = 100;
226                $(".ts-pagination-grid").width($(".ts-pagination-grid").width() - remove);
227                $(".ts-pagination-wrapper").width($(".ts-pagination-grid").width());
228
229
230                var gridWidth = $(".ts-pagination-grid").width();
231                var space = Math.floor((parseInt(gridWidth) / 12));
232                for(var i = 0; i < 12; i++) {
233                    var bullet = $("<span class='ts-pagination-step'></span>");
234                    bullet.css({
235                        width: space,
236                    })
237                    $(ts.pagination).find(".ts-pagination-grid").prepend(bullet);
238                }
239
240                $(ts.pagination).find(".ts-pagination-item").eq(0).css({
241                    left: $(ts.pagination).find(".ts-pagination-step").eq(0).position().left
242                });
243                $(ts.pagination).find(".ts-pagination-item").eq(1).css({
244                    left: $(ts.pagination).find(".ts-pagination-step").eq(4).position().left
245                });
246                $(ts.pagination).find(".ts-pagination-item").eq(2).css({
247                    left: $(ts.pagination).find(".ts-pagination-step").eq(8).position().left
248                });
249
250                $(ts.pagination).find(".ts-pagination-item").bind("click", ts.clickPagination);
251                $(ts.pagination).find(".ts-pagination-wrapper").children().eq(ts.indexActive - ts.loopedSlides).addClass("active");
252                $(ts.pagination).find(".ts-pagination-item").css({
253                    width: space * 4 ,
254                });
255                $(ts.pagination).find(".ts-pagination-marker").not(".ts-pagination-marker-hover").css({
256                    width: (space * 4 + 4),
257                    left: $(ts.pagination).find(".ts-pagination-item.active").position().left
258                });
259
260                var hover1 = $("<div class='ts-pagination-marker ts-pagination-marker-hover' />");
261                var hover2 = $("<div class='ts-pagination-marker ts-pagination-marker-hover' />");
262                var hover3 = $("<div class='ts-pagination-marker ts-pagination-marker-hover' />");
263                hover1.css({
264                    width: (space * 4 + 4),
265                    left: $(ts.pagination).find(".ts-pagination-item").eq(0).position().left
266                });
267                $(ts.pagination).find(".ts-pagination-grid").append(hover1);
268                hover2.css({
269                    width: (space * 4 + 4),
270                    left: $(ts.pagination).find(".ts-pagination-item").eq(1).position().left
271                });
272                $(ts.pagination).find(".ts-pagination-grid").append(hover2)
273                hover3.css({
274                    width: (space * 4 + 4),
275                    left: $(ts.pagination).find(".ts-pagination-item").eq(2).position().left
276                });
277                $(ts.pagination).find(".ts-pagination-grid").append(hover3)
278
279                $(ts.pagination).find(".ts-pagination-item").mouseenter(function() {
280                    $(ts.pagination).find(".ts-pagination-marker-hover").eq($(this).index()).addClass("animate");
281                })
282                .mouseleave(function() {
283                    $(ts.pagination).find(".ts-pagination-marker-hover").eq($(this).index()).removeClass("animate");
284                });
285            }
286        }
287
288        ts.updatePagination = function() {
289            var active = ts.indexActive - ts.loopedSlides
290            if(active >  ts.slides.not(".ts-clone").length - 1) active = 0;
291            $(ts.pagination).find(".ts-pagination-wrapper").children().eq(active).addClass("active");
292
293            if( (ts.indexPrevious - ts.loopedSlides) != active )
294            $(ts.pagination).find(".ts-pagination-wrapper").children().eq(ts.indexPrevious - ts.loopedSlides).removeClass("active");
295        }
296
297        ts.updatePaginationLayout = function() {
298            if(ts.settings.typeof == "ts-type-timer") {
299                var ww = $(window).width();
300                var remove = 200;
301                if(ww >= 1400) remove = 0;
302                else if(ww >= 1170) remove = 200;
303                else if(ww >= 768) remove = 100;
304                else if(ww >= 480) remove = 100;
305                $(".ts-pagination-grid").width($(ts.pagination).width() - remove);
306                $(".ts-pagination-wrapper").width($(".ts-pagination-grid").width());
307
308
309                var gridWidth = $(".ts-pagination-grid").width();
310                var space = Math.floor((parseInt(gridWidth) / 12));
311                $(ts.pagination).find(".ts-pagination-step").css({
312                    width: space,
313                });
314
315                $(ts.pagination).find(".ts-pagination-item").eq(0).css({
316                    left: $(ts.pagination).find(".ts-pagination-step").eq(0).position().left
317                });
318                $(ts.pagination).find(".ts-pagination-item").eq(1).css({
319                    left: $(ts.pagination).find(".ts-pagination-step").eq(4).position().left
320                });
321                $(ts.pagination).find(".ts-pagination-item").eq(2).css({
322                    left: $(ts.pagination).find(".ts-pagination-step").eq(8).position().left
323                });
324
325                $(ts.pagination).find(".ts-pagination-item").bind("click", ts.clickPagination);
326                $(ts.pagination).find(".ts-pagination-wrapper").children().eq(ts.indexActive - ts.loopedSlides).addClass("active");
327                $(ts.pagination).find(".ts-pagination-item").css({
328                    width: space * 4 ,
329                });
330
331                $(ts.pagination).find(".ts-pagination-marker-hover").css({
332                    width: (space * 4 + 4)
333                });
334
335                $(ts.pagination).find(".ts-pagination-marker-hover").eq(0).css({
336                    left: $(ts.pagination).find(".ts-pagination-item").eq(0).position().left
337                });
338                $(ts.pagination).find(".ts-pagination-marker-hover").eq(1).css({
339                    left: $(ts.pagination).find(".ts-pagination-item").eq(1).position().left
340                });
341                $(ts.pagination).find(".ts-pagination-marker-hover").eq(2).css({
342                    left: $(ts.pagination).find(".ts-pagination-item").eq(2).position().left
343                });
344
345                $(ts.pagination).find(".ts-pagination-marker").not(".ts-pagination-marker-hover").css({
346                    width: (space * 4 + 4),
347                    left: $(ts.pagination).find(".ts-pagination-item.active").position().left
348                })
349            }
350        }
351
352        ts.clickPagination = function() {
353            ts.slideTo($(this).index() + ts.loopedSlides, ts.settings.animation_speed);
354            $(ts.pagination).find(".ts-pagination-marker").not(".ts-pagination-marker-hover").css({
355                left: $(ts.pagination).find(".ts-pagination-item.active").css("left")
356            })
357
358            $(ts.pagination).trigger("pagination-clicked", $(this).index());
359        }
360
361        /* =====================
362        Swipe
363        ===================== */
364        ts.swipeArr = {};
365        ts.swipeArr.sx = 0;
366        ts.swipeArr.ex = 0;
367        ts.swipe = function() {
368            $(ts.container).on("swipeleft", function(e) {
369                e.preventDefault();
370                if(ts.isInAnimation) return false;
371                ts.slideNext();
372            });
373            $(ts.container).on("swiperight", function(e) {
374                e.preventDefault();
375                if(ts.isInAnimation) return false;
376                ts.slidePrev();
377            });
378        }
379
380        /* =====================
381        Slides Layers
382        ===================== */
383        ts.updateLayer = function() {
384            var h = 0, s;
385            $.each($(ts.container).find(".ts-slide-layer"), function() {
386                $(this).height("auto");
387                if($(this).height() > h) {
388                    h = $(this).height();
389                }
390            });
391            $(ts.container).find(".ts-slide-layer").css({
392                "height" : h
393            })
394
395            if(ts.settings.typeof === "ts-type-ticker") {
396                $(ts.container).find(".ts-slide-layer").css({
397                    "lineHeight" : h + "px"
398                })
399            }
400            //     if($(this).find(".ts-slide-button-group").children().length < 1) $(this).find(".ts-slide-button-group").remove();
401            //     if( $(this).hasClass("ts-position-center-left") || $(this).hasClass("ts-position-center-right") || $(this).hasClass("ts-position-center-center") ) {
402            //         var top = ($(this).height() / 2);
403            //         $(this).css({
404            //             "marginTop": -(top)
405            //         });
406            //     }
407            // })
408        }
409
410        /* =====================
411        Video Handlers
412        ===================== */
413        ts.videoHandler = function() {
414            if($(ts.slides[ts.indexActive]).find("video").length) {
415                ts.pauseAutoplay();
416                var video = $(ts.slides[ts.indexActive]).find("video")[0];
417                video.load();
418                $(video).on("canplaythrough", function() {
419                    video.play();
420                    $(video).css({"opacity": 1});
421                });
422                $(video).on("ended", function() {
423                    if(ts._settings.show > 1) {
424                        ts.startAutoplay();
425                        ts.slideNext();
426                        $(video).css({"opacity": 0});
427                    }
428                });
429            }
430        }
431
432        /* =====================
433        Scrolldown
434        ===================== */
435        ts.scrollDown = function() {
436            var scrolldown = ts.container.children('.ts-scrolldown');
437            scrolldown.addClass("enabled");
438            scrolldown.on("click", function() {
439                var windowWidth = $(window).outerWidth();
440                var windowHeight = $(window).height();
441                if(windowWidth < 768) {
442                    $("html, body").animate({ scrollTop: parseInt($(ts.c
442ontainer).offset().top) + $(ts.container).outerHeight() -51 }, 600);
443                } else if(windowWidth < 1024) {
444                    $("html, body").animate({ scrollTop: parseInt($(ts.container).offset().top) + $(ts.container).outerHeight() -81 }, 600);
445                } else {
446                    $("html, body").animate({ scrollTop: parseInt($(ts.container).offset().top) + $(ts.container).outerHeight() -89 }, 600);
447                }
448
449            });
450        }
451
452
453        /* ==================================================================================================
454        /
455        /   THIS IS THE CORE
456        /                   ONLY TOUCH HERE
457        /       IF YOU KNOW
458        /                   WHAT YOU ARE DOING
459        /
460        /   KällarTomten @ Tankbar
461        /
462        ================================================================================================== */
463        ts.slideUi = function() {
464            $.each( ts.slides, function( i, slide ) {
465                var placeholder = $( slide ).find( ".media-placeholder" );
466                if( $( slide ).hasClass("ismobile") ) {
467                    if( placeholder.length > 0 ) {
468                        placeholder.append('<img src="' + placeholder.data("img") +'" class="ts-image" />');
469                    }
470                } else {
471                    var video = $('<video ' + placeholder.data("loop") + ' />');
472                    placeholder.append('<img src="' + placeholder.data("poster") +'" class="ts-image" />');
473                    if( placeholder.data("mp4") ) {
474                        video.append('<source src="' + placeholder.data("mp4") + '" type="video/mp4" />');
475                    }
476
477                    if( placeholder.data("webm") ) {
478                        video.append('<source src="' + placeholder.data("webm") + '" type="video/webm" />');
479                    }
480
481                    if( placeholder.data("ogv") ) {
482                        video.append('<source src="' + placeholder.data("ogv") + '" type="video/ogg" />');
483                    }
484
485                    placeholder.append( video );
486                }
487            });
488        }
489
490        ts.init = function() {
491            if(ts.settings.typeof == "ts-type-timer") {
492                ts.slidesTimer();
493            }
494            ts.slidesPerView();
495            if(ts.slides.length > 1) ts.createLoop();
496            ts.loopedSlides = ts.loopedSlides || 0;
497            ts.slideUi();
498            if(!ts.settings.lazyload) ts.setSlidesUi();
499            ts.setSlidesSize();
500            ts.setContainerSize();
501            ts.updateLayer();
502
503            ts.slideTo(ts.settings.startindex + ts.loopedSlides, 0, true);
504            if(ts.settings.preloader) ts.preloader();
505            if(ts.settings.arrows) ts.createArrow();
506            if(ts.settings.pagination && ts.settings.typeof != "ts-type-timer") ts.createPagination();
507            if(ts.settings.typeof === "ts-type-timer") ts.createPagination();
508            if(ts.settings.swipe) ts.swipe();
509            if(ts.settings.scrolldown) ts.scrollDown();
510            if(ts.settings.autoplay && ts.slides.length > 1) ts.startAutoplay();
511
512
513
514            if(ts.settings.animation_effect !== "ts-animation-effect-slide") {
515                ts.effects[ts.settings.animation_effect].transition(ts.settings.animation_speed);
516            }
517
518
519            $(window).on("resize", ts.onResize);
520        }
521
522        ts.lazyloadLoad = function(slide) {
523            var loadnext =((ts.indexActive + 1) > ts.slides.length) ? ts.settings.startindex + ts.loopedSlides : ts.indexActive + 1;
524            if($(slide).attr("data-lazyload") !== "") {
525                var bgp = $(slide).data("backgroundPosition");
526                if(bgp === "default") {
527                    bgp = "center center";
528                }
529                var image = $(slide).find("img.ts-image");
530                if($(image).attr("data-lazyload") !== undefined) {
531                    $(slide).css({
532                        "background-image": "url("+ $(image).attr('data-lazyload') +")",
533                        "background-position": bgp,
534                        "background-repeat": "no-repeat",
535                        "background-attachment": "scroll",
536                        "background-size": "cover"
537                    })
538                }
539                $(image).hide();
540            }
541
542            if($(ts.slides.eq(loadnext)).attr("data-lazyload") !== "") {
543                var bgp = $(slide).data("backgroundPosition");
544                if(bgp === "default") {
545                    bgp = "center center";
546                }
547                var image = $(ts.slides.eq(loadnext)).find("img.ts-image");
548                if($(image).attr("data-lazyload") !== undefined) {
549                    $(ts.slides.eq(loadnext)).css({
550                        "background-image": "url("+ $(image).attr('data-lazyload') +")",
551                        "background-position": bgp,
552                        "background-repeat": "no-repeat",
553                        "background-attachment": "scroll",
554                        "background-size": "cover"
555                    })
556                }
557                $(image).hide();
558            }
559        }
560
561        ts.slidesTimer = function() {
562            ts.settings.pagination_type = 'ts-pagination-timer';
563
564            var hit = 0;
565            var date = new Date();
566            var now = ((date.getHours() < 10) ? '0' + date.getHours() : date.getHours()) + ":" + ((date.getMinutes() < 10) ? '0' + date.getMinutes() : date.getMinutes());
567            for(var time = 0; time < 3; time++) {
568                var times = tb_slider_time[time].time.split(",");
569                if(now > times[0] && now < times[1]) {
570                    ts.settings.startindex = time;
571                }
572            }
573        }
574
575        ts.slidesPerView = function() {
576            if(ts.settings.show > ts.slides.length) {
577                ts.settings.show = ts.slides.length;
578                ts._settings.show = ts.slides.length;
579            }
580            if($(window).width() < 768) {
581                ts.settings.show = 1;
582            } else if($(window).width() < 1170 && ts._settings.show !== 1) {
583                ts.settings.show = 2;
584            } else {
585                ts.settings.show = ts._settings.show;
586            }
587        }
588        ts.onResizeIt;
589        ts.onResize = function() {
590            clearTimeout(ts.onResizeIt);
591            ts.onResizeIt = setTimeout(function() {
592                $(ts.slides).removeClass(ts.settings.animation_speed);
593                ts.stopAutoplay();
594                ts.slidesPerView();
595                ts.createLoop();
596                ts.setSlidesSize();
597                ts.setContainerSize();
598
599                ts.updateLayer();
600                if(ts.slides.length > 1)
601                ts.slideTo(ts.indexActive, 0, false);
602                ts.updatePaginationLayout();
603                // $(ts.slides).addClass(ts.settings.animation_speed);
604            }, 1);
605        }
606
607        ts.createLoop = function() {
608            $(ts.window).children(".ts-clone").remove();
609
610            ts.slides = ts.window.children();
611
612            ts.loopedSlides = parseInt(null || ts.settings.show, 10);
613            ts.loopedSlides = ts.loopedSlides + 0;
614
615            var prependSlides = [], appendSlides = [], i;
616            ts.slides.each(function (index, el) {
617                var slide = $(this);
618                if (index < ts.loopedSlides) appendSlides.push(el);
619                if (index < ts.slides.length && index >= ts.slides.length - ts.loopedSlides) prependSlides.push(el);
620            });
621
622            if(ts.slides.length > 1) {
623                for (i = 0; i < appendSlides.length; i++) {
624                    ts.window.append($(appendSlides[i].cloneNode(true)).addClass("ts-clone"));
625                }
626                for (i = prependSlides.length - 1; i >= 0; i--) {
627                    ts.window.prepend($(prependSlides[i].cloneNode(true)).addClass("ts-clone"));
628                }
629            }
630
631            ts.slides = ts.window.children();
632        }
633
634        ts.fixLoop = function () {
635            var newIndex;
636            //Fix For Negative Oversliding
637            if (ts.indexActive < ts.loopedSlides) {
638                newIndex = ts.slides.length - ts.loopedSlides * 3 + ts.indexActive;
639                newIndex = newIndex + ts.loopedSlides;
640                ts.slideTo(newIndex, 0, false, true);
641            }
642            //Fix For Positive Oversliding
643            else if ( (ts.indexActive > ts.slides.length - ts.settings.show * 2) ) {
644                newIndex = -ts.slides.length + ts.indexActive + ts.loopedSlides;
645                newIndex = newIndex + ts.loopedSlides;
646                ts.slideTo(newIndex, 0, false, true);
647            }
648
649            ts.updatePagination();
650        };
651
652        ts.setSlidesUi = function() {
653            if(ts.settings.typeof !== "ts-type-ticker") {
654                $.each(ts.slides, function() {
655                    var bgp = $(this).data("backgroundPosition");
656                    if(bgp === "default") {
657                        bgp = "center center";
658                    }
659                    var image = $(this).find("img.ts-image");
660                    if($(image).attr("src") !== undefined) {
661                        $(this).css({
662                            "background-image": "url("+ $(image).attr('src') +")",
663                            "background-position": bgp,
664                            "background-repeat": "no-repeat",
665                            "background-attachment": "scroll",
666                            "background-size": "cover"
667                        })
668                    }
669                    $(image).hide();
670                });
671            }
672        }
673
674        ts.setContainerSize = function() {
675            if(ts.settings.fullheight) {
676                var windowHeight = $(window).outerHeight(true);
677                $(ts.container).css({
678                    "height": windowHeight,
679                    "max-height": windowHeight,
680                });
681            } else if($(ts.slides).find(".ts-slide-layer").length > 0) {
682                var max_h = 0;
683                $.each(ts.slides, function() {
684                    $.each($(this).children(".ts-slide-layer"), function() {
685
686                        $(this).height("auto");
687                        if($(this).height() > max_h) {
688                            max_h = $(this).height();
689                        }
690                    });
691                });
692
693                if(max_h === undefined || max_h < 100) max_h = ts.settings.max_height;
694
695                $(ts.container).css({
696                    "max-height": max_h,
697                    "height": max_h
698                });
699            } else {
700                var max_h = 0;
701                $.each(ts.slides, function() {
702                    $(this).height("auto");
703                    if($(this).height() > max_h) {
704                        max_h = $(this).height();
705                    }
706                });
707                if(max_h === 0) {
708                    max_h = ts.settings.max_height;
709                    $(ts.slides).height("100%");
710                }
711                $(ts.container).css({
712                    "max-height": max_h,
713                    "height": max_h
714                });
715            }
716        }
717
718        ts.setSlidesSize = function() {
719            var width, marginRight, slideSize;
720            slideSize = $(ts.container).width() / ts.settings.show;
721            var wrapper = Math.ceil(slideSize * ts.slides.length);
722            slideSize =  Math.ceil(slideSize + (ts.settings.spacebetween / ts.settings.show)) - ts.settings.spacebetween;
723            wrapper = wrapper + slideSize;
724            marginRight = ts.settings.spacebetween;
725
726            if(ts.settings.show < 2) {
727                slideSize = $(ts.container).width();
728                wrapper = wrapper + slideSize;
729                marginRight = 0;
730            }
731
732            $(ts.slides).css({
733                width : slideSize,
734                marginRight: marginRight
735            });
736
737            $(ts.window).css({
738                width : wrapper
739            })
740        }
741
742        ts.slideTo = function(slideIndex, speed, video) {
743            ts.indexPrevious = ts.indexActive || 0;
744            ts.indexActive = slideIndex;
745
746            if(ts.settings.lazyload) {
747                ts.lazyloadLoad($(ts.slides).eq(ts.indexActive));
748            }
749
750            if(ts.settings.show > 2) {
751                $(ts.slides).removeClass("highlight");
752                $(ts.slides).eq(slideIndex + 1).addClass("highlight");
753            } else {
754                $(ts.slides).addClass("highlight");
755            }
756
757            $(ts.slides).removeClass('ts-slide-active');
758            $(ts.slides).eq(ts.indexActive).addClass('ts-slide-active')
759
760
761
762            var translate;
763            if(ts.settings.show > 1) {
764                translate = -(ts.indexActive * ($(ts.slides).width() + ts.settings.spacebetween) );
765            } else {
766                translate = -(ts.indexActive * $(ts.slides).width() );
767            }
768
769            if(video) {
770                ts.videoHandler();
771            }
772
773
774            if(speed === 0) {
775                ts.setWindowTranslate(translate);
776                ts.setWindowTransition(0)
777            } else {
778                ts.setWindowTransition(speed)
779                ts.setWindowTranslate(translate);
780            }
781            ts.updatePagination();
782        }
783
784        ts.setWindowTranslate = function(translate) {
785
786            if(ts.settings.animation_effect !== "ts-animation-effect-slide") {
787                ts.effects[ts.settings.animation_effect].translate();
788            } else {
789                $(ts.window).css({
790                    "-webkit-transform" : "translateX(" + translate + "px)",
791                    "-ms-transform" : "translateX(" + translate + "px)",
792                    "transform" : "translateX(" + translate + "px)"
793                });
794            }
795        }
796
797        ts.setWindowTransition = function(speed) {
798            var transEndEventNames = {
799                'WebkitTransition' : 'webkitTransitionEnd',
800                'MozTransition'    : 'transitionend',
801                'transition'       : 'transitionend'
802            };
803            var transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ];
804
805            var _speed;
806            if(speed === 0) {
807                _speed = "ts-animation-duration-none";
808            } else {
809                if(Modernizr.csstransitions)
810                ts.isInAnimation = true;
811                _speed = ts.settings.animation_speed;
812            }
813
814            if(ts.settings.animation_effect !== "ts-animation-effect-slide") {
815                ts.effects[ts.settings.animation_effect].transition(_speed);
816            } else {
817                $(ts.window)
818                .addClass(_speed)
819                .off(transEndEventName)
820                .on(transEndEventName, function(e) {
821                    if(e.target === this) {
822                        $(this).removeClass(_speed);
823                        ts.isInAnimation = false;
824                    }
825                });
826            }
827        }
828
829        ts.slideNext = function() {
830            if(ts.slides.length <= 1) return;
831            if(ts.isInAnimation) return;
832            ts.stopAutoplay();
833            ts.fixLoop();
834            ts.slideTo(ts.indexActive + 1, ts.settings.animation_speed);
835        }
836
837        ts.slidePrev = function() {
838            if(ts.slides.length <= 1) return;
839            if(ts.isInAnimation) return;
840            ts.stopAutoplay();
841            ts.fixLoop();
842            ts.slideTo(ts.indexActive - 1, ts.settings.animation_speed);
843        }
844
845        ts.effects = [];
846        ts.effects["ts-animation-effect-fade"] = {
847            translate: function() {
848                for (var i = 0; i < ts.slides.length; i++) {
849                    var slide = ts.slides.eq(i);
850                    var offset = slide[0].offsetLeft;
851                    var tx = -offset;
852                    slide
853                    .css({
854                        opacity: (ts.indexActive === i) ? 1 : 0,
855                        "-webkit-transform" : 'translateX(' + tx + 'px)',
856                        "-ms-transform" : 'translateX(' + tx + 'px)',
857                        "transform" : 'translateX(' + tx + 'px)'
858                    })
859                }
860            },
861
862            transition: function(_speed) {
863                var transEndEventNames = {
864                    'WebkitTransition' : 'webkitTransitionEnd',
865                    'MozTransition'    : 'transitionend',
866                    'transition'       : 'transitionend'
867                };
868                var transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ];
869
870                var pSlide = ts.slides.eq(ts.indexPrevious);
871                pSlide
872                .addClass(_speed)
873                .off(transEndEventName)
874                .on(transEndEventName, function(e) {
875                    if(e.target === this) {
876                        pSlide.removeClass(_speed);
877                    }
878                });
879
880                var slide = ts.slides.eq(ts.indexActive);
881                slide
882                .addClass(_speed)
883                .off(transEndEventName)
884                .on(transEndEventName, function(e) {
885                    if(e.target === this) {
886                        ts.isInAnimation = false;
887                        slide.removeClass(_speed);
888                    }
889                });
890            }
891        }
892
893        ts.init();
894        return ts;
895    }
896    window.tslider = tslider;
897})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.