PageSourceSearch

https://alexandrakiado.hu/content/RBSlider2/RBSlider2-2.9.6.js

js alexandrakiado.hu collected 2026-10-02 10:16:30 UTC 64,765 bytes, 1,656 lines download raw bytes

1/*
2* jQuery RBSlider v2.0
3*
4* Copyright @2016, Overflow Kft.
5*
6* All right reserved 
7*/
8 
9(function ($) {
10
11    $.fn.RBSlider2 = function (options) {
12
13        var defaults = {
14            azon: '',
15            parameters: '',
16            transition: 'scroll',     // 'normal', 'fade', 'scroll'
17            speed: 4000, 		    // integer - in ms
18            fadespeed: 500, 		// integer - in ms
19            swipetype: 'normal',     // 'none','normal', 'pager'
20            pageSize: 1,
21            totalitemcount: 0,
22            loadall: false,
23            pagertype: '', 		// 'NextPrev', ...,'AutoScroll'
24            mediapagesizelist: '',
25            mediaState: '',
26            orientationState: '',
27            refreshtime: 0,  // milisec
28            autoStart: true,
29            autoControls: true,
30            hoverstop: true,
31            imagegrouptype: "",
32            autosizepageritem: "",
33            controllername: "",
34            startid: "",
35            noData: "",
36            showNoData: false,
37            noFixData: false,
38            vertical: false,
39            flood: false,
40            marker: "",
41            groups: "",
42            startloadpage: 0,
43            startpage: -1,
44            beforeafter: 0,
45            actPageDiff: 0,
46            diffPageSize: false,
47            noPagerItem: false,
48            onlyOnePage: false,
49            maxcount: 0,
50            maxpagecount: 0,
51            lastitemid: 0,
52            skipcount: 0,
53            skippagecount: 0,
54            thumbcount: 0,
55            onlythumb: false,
56            thumbhover: false,
57            random: 0,
58            otherslider: "",
59            parentlistboxid: "",
60            imageTitle: "",
61            nameHtmlItemCode: "",
62            cleardiv: "",
63            clearselectclass: "",
64            sectionclass: "",
65            sliderparam: "",
66            showtype: "",
67            showtypetosummary: false,
68            showtypetext: false,
69            quickfirst: true,
70            infiniteLoop: false,
71            pagewidth: 100,
72            pagediff: 0,
73            loadpagejumpOffset: 0,
74            startGotoId: 0,
75            startGotoIdOffset: 0,
76            nextstr: "",
77            prevstr: "",
78            showpager3number: true,
79            enableKeyPress: 0,
80            ajaxurl: ''
81        }
82
83        var options = $.extend(defaults, options);
84
85        if (options.swipetype == 'normal')
86            if (options.autoStart || options.autoControls || options.transition != 'scroll')
87                options.swipetype = 'pager';
88
89        var base = this;
90        var id = this[0].id;
91
92        var $root = '';
93        var $container = '';
94        var $containeritems = '';
95        var $children = '';
96        var $autoControls = '';
97        var $pager = "";
98        var $pagerbottom = ""; // TopAndBottom
99
100        var stateSaved = false;
101
102        var interval = '';  // NextPage intervallum
103        var autoPlaying = false;
104        var hooverAutoPlaying = false;
105        var mouseOver = false;
106        var autoscrollnext = true;
107        var needloadpagejump = false;
108
109        var dataversio = 1;
110        var totalitemcount = 0;
111        var pageSize = 0;
112        var actPage = options.startpage; // -1;
113        var loadedPage = 0;
114        var lastloadeditemid = options.lastitemid;
115        var swipedistX = 0;
116        var newswipedistX = 0;
117        var actShowType = options.showtype;
118        var swipesecondpagechecked = false;
119        var visibilityChangeShowStoped = false;
120
121        var lastothersliderdata = "";
122
123        var isWorking = false;
124        var isLoading = false;
125        var justReloaded = true; // elsőre nem kell refresh
126
127        var mediaState = '';
128        var orientationState = "";
129        var resizing = false;
130        var enableResize = false;
131        if (options.mediapagesizelist != '')
132            if (options.mediapagesizelist.length > 0) {
133                enableResize = true;
134                resizing = true;
135                if (options.mediaState) {
136                    mediaState = options.mediaState;
137                    orientationState = options.orientationState;
138                }
139            }
140
141        $(window).bind("load", function (event) {
142            if (stateSaved)
143                return;
144            var itemData = LoadState();
145            if (itemData) {
146                ReloadAfterBack(itemData);
147            }
148            else {
149                SaveState();
150            }
151        });
152
153
154        var started = false;
155
156        // PUBLIC FUNCTIONS
157
158        /*
159        * Initialize
160        */
161        this.initShow = function () {
162            $root = $(this);
163            $container = $root.find('#' + id + '-container');
164            $containeritems = $root.find('#' + id + '-container-items');
165            $children = $containeritems.children();
166            $autoControls = $root.find('#' + id + '-autocontrols');
167            $pager = $root.find('#' + id + '-pager');
168            $pagerbottom = $root.find('#' + id + '-pager-bottom');
169
170            InitPageSize(options.pageSize);
171            totalitemcount = options.totalitemcount;
172
173            InitCss();
174            InitItems();
175            SetEmptyClass(totalitemcount == 0);
176
177            if (resizing) {
178                CheckResize(true);
179            }
180            else {
181                GoToPage(options.startloadpage, false);
182                if (options.startpage > 0)
183                    GotoSwipePage(actPage);
184            }
185
186            if (options.thumbcount > 0)
187                InitThumbs();
188
189            if (options.autoStart)
190                StartShow();
191
192            if (options.autoControls)
193                SetAutoControl();
194
195            RefreshEventHandler();
196            if (options.refreshtime > 0)
197                RefreshInit();
198
199            started = true;
200            if (options.startGotoId == 1)
201                RBGoToId(id, options.startGotoIdOffset);
202
203            if (options.pagewidth != 100)
204                CheckMoreData();
205
206            /*leállítani, ha nem aktív az oldal*/
207            document.addEventListener('visibilitychange', function () {
208                if (document.visibilityState == 'visible') {
209                    if (visibilityChangeShowStoped) {
210                        StartShow();
211                        visibilityChangeShowStoped = false;
212                    }
213                } else {
214                    if (autoPlaying) {
215                        StopShow();
216                        visibilityChangeShowStoped = true;
217                    }
218                }
219            });
220        };
221
222        // PRIVATE FUNCTIONS
223        function ReloadAfterBack(itemData) {
224            if (isLoading) {
225                setTimeout(function () {
226                    ReloadAfterBack(itemData);
227                }, 100);     // <-- time in milliseconds
228                return;
229            }
230            try {
231                isLoading = true;
232
233                $containeritems.html(JSON.parse(itemData).containeritemsHtml);
234                totalitemcount = JSON.parse(itemData).totalitemcount;
235                lastloadeditemid = JSON.parse(itemData).lastloadeditemid;
236                loadedPage = JSON.parse(itemData).loadedPage;
237                $containeritems.find('.rb2-slider-pager-item').addClass('rb2-slider-pager-item-firstinit');
238                $containeritems.find('.rb2-slider-item').addClass('rb2-slider-item-firstinit');
239                /* $root.find('.rb2-pager-item').addClass('rb2-pager-item-init');*/
240                InitItems();
241                SetPageActive(JSON.parse(itemData).actPage);
242            }
243            finally {
244                isLoading = false;
245            }
246        }
247
248        function LoadState() {
249            try {
250                return localStorage.getItem("RBSlider-" + id);
251            }
252            catch (ex) { }
253        }
254
255        function SaveState() {
256            stateSaved = true;
257            try {
258                DoSaveState();
259                return;
260            }
261            catch (ex) {
262                localStorage.clear();
263            }
264            try {
265                DoSaveState();
266            }
267            catch (ex) {
268            }
269        }
270
271        function DoSaveState() {
272            var itemData = { id: id, actPage: actPage, loadedPage: loadedPage, totalitemcount: totalitemcount, lastloadeditemid: lastloadeditemid,
273                containeritemsHtml: $containeritems.html()
274            }
275            localStorage.setItem("RBSlider-" + id, JSON.stringify(itemData));
276        }
277
278        function InitCss() {
279
280        }
281
282        function CanUseInfiniteLoop() {
283
284            if (!options.infiniteLoop)
285                return false;
286
287            if (options.transition != 'scroll')
288                return false;
289
290            if (options.pagewidth != 100)
291                return false;
292
293            if (options.pagertype == 'AutoScroll' ||
294        options.pagertype == 'ScrollDown' ||
295        options.pagertype == 'ScrollDownName' ||
296        options.pagertype == 'Number' ||
297        options.pagertype == 'NumberPrevNext' ||
298        options.pagertype == 'NumberPrevNextArrow')
299                return false;
300
301            if (GetMaxPage() <= 1)
302                return false;
303
304            return true;
305        }
306
307        function InitInfiniteLoop() {
308            $containeritems.children('.rb2-slider-loop-clone').remove();
309
310            if (!CanUseInfiniteLoop())
311                return;
312
313            var maxPage = GetMaxPage();
314
315            var realPages = $containeritems
316        .children('.rb2-slider-pager-item')
317        .not('.rb2-slider-loop-clone');
318
319            if (realPages.length < maxPage)
320                return;
321
322            var firstPage = $containeritems
323        .children('.rb2-slider-pager-item-0')
324        .first();
325
326            var lastPage = $containeritems
327        .children('.rb2-slider-pager-item-' + (maxPage - 1))
328        .first();
329
330            if (firstPage.length == 0)
331                return;
332
333            if (lastPage.length == 0)
334                return;
335
336            // első oldal klónja az utolsó után
337            var firstClone = firstPage.clone(false);
338
339            firstClone.find('[id]').addBack('[id]').removeAttr('id');
340
341            firstClone.removeClass(
342        'rb2-slider-pager-item-0 ' +
343        'rb2-slider-pager-item-firstinit ' +
344        'rb2-slider-pager-item-active ' +
345        'rb2-slider-pager-item-beforeactive ' +
346        'rb2-slider-pager-item-afteractive'
347    );
348
349            firstClone.addClass('rb2-slider-loop-clone rb2-slider-loop-clone-first');
350            firstClone.attr('data-page', maxPage);
351            firstClone.css('left', (maxPage * options.pagewidth) + '%');
352
353            $containeritems.append(firstClone);
354
355            // utolsó oldal klónja az első elé
356            var lastClone = lastPage.clone(false);
357
358            lastClone.find('[id]').addBack('[id]').removeAttr('id');
359
360            lastClone.removeClass(
361        'rb2-slider-pager-item-' + (maxPage - 1) + ' ' +
362        'rb2-slider-pager-item-firstinit ' +
363        'rb2-slider-pager-item-active ' +
364        'rb2-slider-pager-item-beforeactive ' +
365        'rb2-slider-pager-item-afteractive'
366    );
367
368            lastClone.addClass('rb2-slider-loop-clone rb2-slider-loop-clone-last');
369            lastClone.attr('data-page', -1);
370            lastClone.css('left', (-options.pagewidth) + '%');
371
372            $containeritems.append(lastClone);
373            $containeritems.width(((maxPage + 2) * options.pagewidth) + '%');
374        }
375
376        function InitItems() {
377            var pageitemcount = $containeritems.children().length;
378            if ((options.pagertype == 'AutoScroll') || (options.pagertype == 'ScrollDown') || (options.pagertype == 'ScrollDownName'))
379                pageitemcount = 1;
380            if (options.transition == 'fade')
381                pageitemcount = 1;
382            $containeritems.width((pageitemcount * options.pagewidth) + "%");
383            InitInfiniteLoop();
384            if (!started)
385                if (options.pagediff > 0)
386                    $containeritems.css('left', options.pagediff + "%");
387
388            if (options.pagertype != 'Number')
389                if (options.pagertype != 'NumberPrevNext')
390                    if (options.pagertype != 'NumberPrevNextArrow')
391                        if (options.autosizepageritem == "1") {
392                            if (pageitemcount > 0) {
393                                var pageritemwidth = options.pagewidth / pageitemcount;
394                                $containeritems.find(".rb2-slider-pager-item").width(pageritemwidth + "%");
395                            }
396                        }
397            if (options.swipetype != "none")
398                SetSwipe();
399            SetPageHover();
400            $containeritems.find('.rb2-slider-item-firstinit img').on('error', function () {
401                $(this).unbind("error").not('.variable-image').addClass('rb-imageerror');
402            });
403
404            $containeritems.find('.rb2-slider-pager-item-firstinit').removeClass('rb2-slider-pager-item-firstinit');
405            $containeritems.find('.rb2-slider-item-firstinit').removeClass('rb2-slider-item-firstinit');
406
407            if (!started) {
408                if (options.pagertype == 'AutoScroll')
409                    SetAutoScroll();
410
411                if (options.hoverstop)
412                    SetAutoHover();
413
414                $containeritems.keydown(function (event) {
415                    KeyPress(event);
416                });
417                if (enableResize)
418                    $(window).on('resize', ResizePage);
419            }
420
421            $root.find('.rb2-nextprev-prev.rb2-pager-item-init').click(function (event) {
422                GotoPrev();
423                RestartAutoPlaying();
424                RBStopEvent(event);
425                return false;
426            });
427            $root.find('.rb2-nextprev-next.rb2-pager-item-init').click(function (event) {
428                GotoNext();
429                RestartAutoPlaying();
430                RBStopEvent(event);
431                return false;
432            });
433
434            AddPagerClick($pager);
435            if ($pagerbottom)
436                AddPagerClick($pagerbottom);
437
438            if (options.showtype)
439                InitShowType();
440        }
441
442        function AddPagerClick(pager) {
443            pager.find('.rb2-pager-item-prev.rb2-pager-item-init').click(function (event) {
444                needloadpagejump = true;
445                GotoPrev();
446                RestartAutoPlaying();
447                RBStopEvent(event);
448                return false;
449            });
450            pager.find('.rb2-pager-item-next.rb2-pager-item-init').click(function (event) {
451                needloadpagejump = true;
452                GotoNext();
453                RestartAutoPlaying();
454                RBStopEvent(event);
455                return false;
456            });
457            pager.find('.rb2-pager-item').removeClass('rb2-pager-item-init');
458        }
459
460        function InitThumbs() {
461            if (options.thumbhover) {
462                $root.find('.rb2-slider-thumb-item').hover(function () {
463                    var thumbPage = $(this).data('thumbpage');
464                    if (actPage != thumbPage)
465                        GoToPage(thumbPage, true);
466                }, function () {
467
468                });
469            }
470            else {
471                $root.find('.rb2-slider-thumb-item').click(function () {
472                    var thumbPage = $(this).data('thumbpage');
473                    if (options.onlythumb)
474                        SetThumbSelected(thumbPage);
475                    else
476                        GoToPage(thumbPage, true);
477                });
478            }
479        }
480
481        function SetEmptyClass(empty) {
482            if (options.showNoData)
483                empty = false;
484            if (empty) {
485                $root.addClass("rb2-slider-empty");
486                if (options.sectionclass)
487                    $("." + options.sectionclass).addClass("rb2-sectionslider-empty");
488            }
489            else {
490                $root.removeClass("rb2-slider-empty");
491                if (options.sectionclass)
492                    $("." + options.sectionclass).removeClass("rb2-sectionslider-empty");
493            }
494        }
495
496        function SetThumbSelected(number) {
497            $root.find('.rb2-slider-thumb-item').removeClass("rb2-slider-thumb-selected");
498            $root.find('.rb2-slider-thumb-' + number).addClass("rb2-slider-thumb-selected");
499        }
500
501        function InitShowType() {
502            $root.find('.rb2-showtype-item-firstinit').click(function () {
503                var newShopType = $(this).data('showtype');
504                if (!newShopType)
505                    return;
506                if (actShowType == newShopType)
507                    return;
508                $root.find('.rb2-showtype-item').removeClass("rb2-showtype-item-selected");
509                $containeritems.removeClass("rb2-container-items-" + actShowType);
510                actShowType = newShopType;
511                $root.find('.rb2-showtype-item-' + actShowType).addClass("rb2-showtype-item-selected");
512                $containeritems.addClass("rb2-container-items-" + actShowType);
513                StartReload();
514            });
515            $root.find('.rb2-showtype-item-firstinit').removeClass('rb2-showtype-item-firstinit');
516        }
517
518        function InitPageSize(newPageSize) {
519            $containeritems.removeClass("rb2-slider-pagesize-" + pageSize);
520            pageSize = newPageSize;
521            $containeritems.addClass("rb2-slider-pagesize-" + pageSize);
522        }
523
524        function KeyPress(event) {
525            if (mouseOver) {
526                if (event.which == 37) {
527                    GotoPrev();
528                }
529                if (event.which == 39) {
530                    GotoNext();
531                }
532            }
533        }
534
535        function GotoNext(stopshow) {
536            if (isWorking)
537                return;
538
539            if (stopshow === undefined)
540                stopshow = true;
541
542            if (CanUseInfiniteLoop()) {
543                if (actPage == GetMaxPage() - 1) {
544                    ClearOther();
545
546                    if (GoToInfiniteFirstPage(stopshow))
547                        return;
548                }
549
550            }
551
552            if ((totalitemcount > ((actPage + 1) * pageSize)) || (options.diffPageSize && (lastloadeditemid > 0))) {
553                ClearOther();
554
555                if (options.refreshtime > 0) {
556                    Reload(actPage + 1);
557                }
558                else {
559                    GoToPage(actPage + 1, stopshow);
560                    GotoSwipePage(actPage);
561                }
562
563                if (options.marker)
564                    RBScrollToId(options.marker);
565            }
566        }
567
568        function GoToInfiniteFirstPage(stopshow) {
569            if (!CanUseInfiniteLoop())
570                return false;
571
572            var maxPage = GetMaxPage();
573
574            if (actPage != maxPage - 1)
575                return false;
576
577            var clone = $containeritems.children('.rb2-slider-loop-clone-first');
578
579            if (clone.length == 0)
580                return false;
581
582            if (stopshow && autoPlaying)
583                StopShow();
584
585            isWorking = true;
586
587            $containeritems.stop(true, true).animate(
588        {
589            left: (-maxPage * options.pagewidth + options.pagediff) + "%"
590        },
591        options.fadespeed,
592        function () {
593            SetPageActive(0, true);
594        }
595    );
596
597            return true;
598        }
599
600        function GoToInfiniteLastPage(stopshow) {
601            if (!CanUseInfiniteLoop())
602                return false;
603
604            if (actPage != 0)
605                return false;
606
607            var maxPage = GetMaxPage();
608
609            var clone = $containeritems.children('.rb2-slider-loop-clone-last');
610
611            if (clone.length == 0)
612                return false;
613
614            if (stopshow && autoPlaying)
615                StopShow();
616
617            isWorking = true;
618
619            $containeritems.stop(true, true).animate(
620        {
621            left: (options.pagewidth + options.pagediff) + "%"
622        },
623        options.fadespeed,
624        function () {
625            SetPageActive(maxPage - 1, true);
626        }
627    );
628
629            return true;
630        }
631
632        function GotoPrev(stopshow) {
633            if (isWorking)
634                return;
635
636            if (stopshow === undefined)
637                stopshow = true;
638
639            if (CanUseInfiniteLoop()) {
640                if (actPage == 0) {
641                    ClearOther();
642
643                    if (GoToInfiniteLastPage(stopshow))
644                        return;
645                }
646            }
647
648            if (actPage > 0) {
649                ClearOther();
650
651                if (options.refreshtime > 0) {
652                    Reload(actPage - 1);
653                }
654                else {
655                    GoToPage(actPage - 1, stopshow);
656                    GotoSwipePage(actPage);
657                }
658
659                if (options.marker)
660                    RBScrollToId(options.marker);
661            }
662        }
663
664        function GotoSwipePage(number) {
665            if (options.transition == 'scroll')
666                if (options.swipetype == "normal") {
667                    var imgwidth = $containeritems.find(".rb2-slider-pager-item").width();
668                    if (imgwidth > 0)
669                        swipedistX = -number * imgwidth;
670                    $containeritems.animate({ left: (-number * o
670ptions.pagewidth + options.pagediff) + "%" }, options.fadespeed);
671                }
672        }
673
674        function RefreshEventHandler() {
675            $root[0].onchange = function (e) {
676                FireEvent(e.id, e.azon);
677            }
678        }
679
680        function Refresh() {
681            if (autoPlaying)
682                return;
683            if (actPage != 0)
684                return;
685            if (isWorking)
686                return;
687            if (isLoading)
688                return;
689            if (justReloaded) {
690                justReloaded = false;
691                return;
692            }
693            Reload();
694        }
695
696        function RefreshInit() {
697            $root.everyTime(options.refreshtime, function () {
698                Refresh();
699            });
700        }
701
702        function FireEvent(id, azon) {
703            if (!id && !azon)
704                return;
705            if (id == "Page") {
706                azon -= 1;
707                StartReload(azon);
708                return;
709            }
710            if (id == "GotoPage") {
711                GoToPage(azon, false);
712                return;
713            }
714            if (azon == "StartShow") {
715                StartShow();
716                return;
717            }
718            if (azon == "NextPage") {
719                GotoNext();
720                return;
721            }
722            if (azon == "PrevPage") {
723                GotoPrev();
724                return;
725            }
726            if (azon == "DeleteAndStartShow") {
727                DeleteFirst();
728                StartShow();
729                return;
730            }
731            if (id == "Parameters") {
732                if (options.parameters == azon)
733                    return;
734                options.parameters = azon;
735                StartReload();
736                return;
737            }
738            if ((azon == "Reload") || (id == "Reload")) {
739                needloadpagejump = true;
740                StartReload();
741                return;
742            }
743        }
744
745        function DeleteFirst() {
746            if (totalitemcount > 0) {
747                $containeritems.find(".rb2-slider-pager-item-0").remove();
748                totalitemcount--;
749                InitItems();
750            }
751        }
752
753        /*
754        * Go to Slide
755        */
756        function GoToPage(number, stopshow, quick) {
757
758            isWorking = true;  // Csakhogy az autoplay tudjon róla
759
760            if (stopshow)
761                StopShow();
762
763            SetPageActive(number, quick);
764        }
765
766        function CheckData(success, gotoPage) {
767            CheckResize(false);
768            if (success) {
769                if ((gotoPage) && (gotoPage != actPage)) {
770                    GoToPage(gotoPage, true, true);
771                }
772                else {
773                    CheckMoreData();
774                }
775                autoscrollnext = true;
776                if (options.pagertype == 'AutoScroll')
777                    CheckAutoScrollNext();
778            }
779        }
780
781        function CheckMoreData() {
782            if (isWorking)
783                return;
784            if (isLoading)
785                return;
786            if (options.loadall)
787                if (loadedPage != -1)
788                    return;
789            if (options.onlyOnePage)
790                if (loadedPage != -1)
791                    return;
792            if (options.maxpagecount > 0) {
793                if (actPage >= options.maxpagecount)
794                    return;
795            }
796            if ((options.pagertype == 'Number') || (options.pagertype == 'NumberPrevNext') || (options.pagertype == 'NumberPrevNextArrow')) {
797                if (loadedPage != actPage)
798                    GetAjaxData(actPage);
799                return;
800            }
801            if (options.refreshtime > 0) {
802                if (loadedPage < actPage)
803                    GetAjaxData(actPage);
804                return;
805            }
806            var moredata = false;
807            if ((loadedPage < actPage) || ((loadedPage == actPage) && (options.pagertype != 'AutoScroll') && (options.pagertype != 'ScrollDown') &&
808                        (options.pagertype != 'ScrollDownName'))) {
809                if (!((loadedPage == 0) && (actPage == 0) && ((options.swipetype == "none") || (options.swipetype == "pager"))))
810                    moredata = true;
811            }
812            if (options.pagewidth != 100) {
813                if (loadedPage <= actPage + 1)
814                    moredata = true;
815                if (options.beforeafter > 1)
816                    if (loadedPage <= actPage + options.beforeafter)
817                        moredata = true;
818            }
819
820            /*if (options.startloadpage)
821            if (loadedPage < (options.startloadpage - 1))
822            moredata = true;*/
823            if (moredata)
824                if ((totalitemcount > ((loadedPage + 1) * pageSize)) || (options.refreshtime > 0) || (options.noFixData && ((actPage == 0) || (loadedPage == -1))) || (options.diffPageSize && (lastloadeditemid > 0)))
825                    GetAjaxData(loadedPage + 1);
826        }
827
828        function CheckResize(init) {
829            if (!enableResize)
830                return;
831            if (!resizing)
832                return;
833            if (isWorking)
834                return;
835            if (isLoading)
836                return;
837
838            var bestMediaState = -1;
839            var bodyWidth = RBGetWindowsWidth();
840            var bodyHeight = RBGetWindowsHeight();
841            for (var i = 0; i < options.mediapagesizelist.length; i++) {
842                var item = options.mediapagesizelist[i];
843                if ((bodyWidth < item.width) || (item.width == 0))
844                    if ((bestMediaState == -1) || (item.width > options.mediapagesizelist[bestMediaState]))
845                        bestMediaState = i;
846            }
847            var newOrientation = "Landscape";
848            if (bodyHeight > bodyWidth)
849                newOrientation = "Portrait";
850            if (bestMediaState != -1) {
851                if ((mediaState != options.mediapagesizelist[bestMediaState].azon) || (newOrientation != orientationState)) {
852                    mediaState = options.mediapagesizelist[bestMediaState].azon;
853                    orientationState = newOrientation;
854                    InitPageSize(options.mediapagesizelist[bestMediaState].pagesize);
855                    init = false;
856                    ClearOther();
857                    StartReload();
858                }
859            }
860            resizing = false;
861            if (init) {
862                var newgotopage = options.startloadpage;
863                if (options.startpage > 0) {
864                    if (options.startpage > newgotopage)
865                        newgotopage = options.startpage;
866                }
867                GoToPage(newgotopage, false);
868                if (options.startpage > 0)
869                    GotoSwipePage(actPage);
870            }
871        }
872
873        function GetAjaxData(number) {
874            DoGetAjaxData(number, dataversio);
875        }
876
877        function DoGetAjaxData(number, actdataversio) {
878            isLoading = true;
879            RBAjaxLoadingStart(number);
880            var loadall = options.loadall;
881            if (pageSize == 1)
882                if (number == 0)
883                    if ((options.autoStart) || (totalitemcount < 10))
884                        if (totalitemcount > 0)
885                            if (options.pagertype != 'None')
886                                if (!options.flood)
887                                    loadall = true;
888            var startid = "";
889            if (!started)
890                if (options.startid) {
891                    startid = options.startid;
892                    loadall = true;
893                }
894            var showNoData = "0";
895            if (options.showNoData)
896                showNoData = "1";
897            var skippagecount = options.skippagecount;
898            if ((options.pagertype == 'Number') || (options.pagertype == 'NumberPrevNext') || (options.pagertype == 'NumberPrevNextArrow'))
899                skippagecount = 0;
900
901            $.post(options.ajaxurl, {
902                id: id, pageindex: number, pagesize: pageSize, loadall: loadall, azon: options.azon, parameters: options.parameters, controllername: options.controllername,
903                mediastate: mediaState, orientationstate: orientationState, imagegrouptype: options.imagegrouptype, pagerType: options.pagertype, startid: startid,
904                showtype: actShowType, showtypetosummary: options.showtypetosummary, showtypetext: options.showtypetext, showNoData: showNoData, diffPageSize: options.diffPageSize,
905                lastitemid: lastloadeditemid, noPagerItem: options.noPagerItem, random: options.random, flood: options.flood, groups: options.groups, skipcount: options.skipcount,
906                skippagecount: skippagecount, onlyonepage: options.onlyOnePage,
907                maxcount: options.maxcount, otherslider: options.otherslider, sliderparam: options.sliderparam, thumbcount: options.thumbcount, onlythumb: options.onlythumb,
908                parentlistboxid: options.parentlistboxid, imageTitle: options.imageTitle, nameHtmlItemCode: options.nameHtmlItemCode
909            }, function (response) {
910                RBAjaxLoadingEnd();
911                if (actdataversio != dataversio) {
912                    isLoading = false;
913                    CheckData(true, 0);
914                    return;
915                }
916                var success = false;
917                var gotoPage = 0;
918                if (response) {
919                    if (response.message != '') {
920                        SetPageActive(actPage);
921                        alert(response.message);
922                    }
923                    else {
924                        if (response.summary != '') {
925                            $root.find('.rb2-slider-summary-full').html(response.summary);
926                            $root.find('.rb2-slider-summary-full').css('display', 'block');
927                        }
928                        if (response.header != '') {
929                            if (response.header == 'XXX') {
930                                $root.find('.rb2-slider-header-refresh').html("");
931                                $root.find('.rb2-slider-header-refresh').css('display', 'none');
932                            }
933                            else {
934                                $root.find('.rb2-slider-header-refresh').html(response.header);
935                                $root.find('.rb2-slider-header-refresh').css('display', 'block');
936                            }
937                        }
938                        if (number == 0) {
939                            SetEmptyClass(response.totalItemCount == 0);
940                        }
941                        if (number == 0) {
942                            if (options.thumbcount) {
943                                $root.find('.rb2-slider-thumb-full').html(response.thumb);
944                                InitThumbs();
945                            }
946                        }
947                        if (response.containeritems != '') {
948                            // $containeritems.html(response.containeritems);
949                            if (showNoData == "1")
950                                response.containeritems = response.containeritems.replace("%NoData%", options.noData);
951                            if (response.pageitemheader)
952                                $containeritems.append(response.pageitemheader);
953                            if (options.refreshtime > 0) {
954                                if (response.containeritems != $containeritems.html())
955                                    $containeritems.html(response.containeritems);
956                            }
957                            else {
958                                if (options.flood) {
959                                    if ((number == 0) && ((response.totalItemCount == 0) || loadall)) {
960                                        $containeritems.html('');
961                                        $containeritems.append(response.containeritems);
962                                    }
963                                    else {
964                                        CheckFloodGroups();
965                                        for (var i = 0; i < pageSize; i++) {
966                                            var html = $(response.containeritems).find(".rb2-slider-flood-group-" + (i + 1));
967                                            if (html.length > 0)
968                                                $containeritems.find(".rb2-slider-flood-group-" + (i + 1)).append(html.html());
969                                        }
970                                    }
971                                }
972                                else {
973                                    if ((options.pagertype == 'Number') || (options.pagertype == 'NumberPrevNext') || (options.pagertype == 'NumberPrevNextArrow'))
974                                        $containeritems.html('');
975                                    $containeritems.append(response.containeritems);
976                                }
977                            }
978                            if ((options.refreshtime > 0) || (options.noFixData && (number == 0)))
979                                totalitemcount = response.totalItemCount;
980                            gotoPage = response.gotoPage;
981                            InitItems();
982                            loadedPage = number;
983                            if (loadall)
984                                if (totalitemcount > 0)
985                                    loadedPage = totalitemcount - 1;
986                            lastloadeditemid = response.lastitemid;
987                            success = true;
988
989                            if (options.diffPageSize)
990                                if (lastloadeditemid < 1)
991                                    $root.find('#' + id + '-pager').addClass("rb2-pager-disable");
992                            // if ((options.refreshtime > 0))
993                            SetPageActive(actPage);
994                            if (options.thumbcount > 0)
995                                SetThumbSelected(number);
996                            SaveState();
997                        }
998                        if (response.urlChange)
999                            RBChangeUrl("111", response.urlChange);
1000                    }
1001                }
1002                isLoading = false;
1003                CheckData(success, gotoPage);
1004            }).fail(function (response) {
1005                RBAjaxLoadingEnd();
1006                isLoading = false;
1007                /* RBAjaxPostError();*/
1008            });
1009        }
1010
1011        function SetPageActive(number, quick) {
1012            var oldactpage = actPage;
1013            actPage = number;
1014            if (started) {
1015                if (options.swipetype != 'normal') {
1016                    if (options.loadall) {
1017                        if (options.transition == 'fade') {
1018                            var fadespeed = options.fadespeed;
1019                            if (!started)
1020                                fadespeed = 0;
1021                            $children.not(':eq(' + actPage + ')').fadeOut(fadespeed);
1022                            $children.eq(actPage).fadeIn(fadespeed);
1023                        }
1024                        if (options.transition == 'scroll') {
1025                            if (options.pagertype != 'AutoScroll')
1026                                if (options.pagertype != 'ScrollDown')
1027                                    if (options.pagertype != 'Number')
1028                                        if (options.pagertype != 'NumberPrevNext')
1029                                            if (options.pagertype != 'NumberPrevNextArrow')
1030                                                if (options.pagertype != 'ScrollDownName') {
1031                                                    if (quick)
1032                                                        $containeritems.css('left', (-number * options.pagewidth + options.pagediff) + "%");
1033                                                    else
1034                                                        $containeritems.animate({ left: (-number * options.pagewidth + options.pagediff) + "%" }, options.fadespeed);
1035                                                }
1036                        }
1037                    }
1038                    else {
1039                        if (options.transition == 'scroll')
1040                            if (options.pagertype != 'AutoScroll')
1041                                if (options.pagertype != 'ScrollDown')
1042                                    if (options.pagertype != 'Number')
1043                                        if (options.pagertype != 'NumberPrevNext')
1044                                            if (options.pagertype != 'NumberPrevNextArrow')
1045                                                if (options.pagertype != 'ScrollDownName') {
1046                                                    if (options.startpage > 0)
1047                                                        quick = true;
1048                                                    if (quick)
1049                                                        $containeritems.css('left', (-number * options.pagewidth + options.pagediff) + "%");
1050                                                    else
1051                                                        $containeritems.animate({ left: (-number * options.pagewidth + options.pagediff) + "%" }, options.fadespeed);
1052                                                }
1053                        // $containeritems.animate({ left: "0%" }, options.fadespeed);
1054                    }
1055                }
1056            }
1057
1058            if ($autoControls) {
1059                $autoControls.find('.rb2-autocontrols-item').removeClass("rb2-autocontrols-active");
1060                $autoControls.find('.rb2-autocontrols-item').eq(actPage).addClass("rb2-autocontrols-active");
1061            }
1062
1063            $root.find('.rb2-nextprev').addClass("rb2-nextprev-disable");
1064            $pager.find('.rb2-pager-item-link').addClass("rb2-pager-item-disable");
1065            if ($pagerbottom)
1066                $pagerbottom.find('.rb2-pager-item-link').addClass("rb2-pager-item-disable");
1067            var validPage = actPage + 1 + options.actPageDiff;
1068            if (validPage > 1) {
1069                $root.find('.rb2-nextprev-prev').removeClass("rb2-nextprev-disable");
1070                $pager.find('.rb2-pager-item-prev').removeClass("rb2-pager-item-disable");
1071                if ($pagerbottom)
1072                    $pagerbottom.find('.rb2-pager-item-prev').removeClass("rb2-pager-item-disable");
1073            }
1074            if ((totalitemcount > (validPage * pageSize)) || options.diffPageSize) {
1075                $root.find('.rb2-nextprev-next').removeClass("rb2-nextprev-disable");
1076                $pager.find('.rb2-pager-item-next').removeClass("rb2-pager-item-disable");
1077                if ($pagerbottom)
1078                    $pagerbottom.find('.rb2-pager-item-next').removeClass("rb2-pager-item-disable");
1079            }
1080            $pager.find('.rb2-pager-item-counter-actpage').html(validPage);
1081            if ($pagerbottom)
1082                $pagerbottom.find('.rb2-pager-item-counter-actpage').html(validPage);
1083            var actItems = validPage * pageSize;
1084            if (actItems > totalitemcount)
1085                actItems = totalitemcount;
1086            $pager.find('.rb2-pager-itemcounter-actitems').html(actItems);
1087            if ($pagerbottom)
1088                $pagerbottom.find('.rb2-pager-itemcounter-actitems').html(actItems);
1089
1090            $root.find('.rb2-slider-pager-item').removeClass("rb2-slider-pager-item-active");
1091            $root.find('.rb2-slider-pager-item').removeClass("rb2-slider-pager-item-beforeactive");
1092            $root.find('.rb2-slider-pager-item').removeClass("rb2-slider-pager-item-afteractive");
1093            $root.find('.rb2-slider-pager-item-' + number).addClass("rb2-slider-pager-item-active");
1094            $root.find('.rb2-slider-pager-item-' + (number - 1)).addClass("rb2-slider-pager-item-beforeactive");
1095            $root.find('.rb2-slider-pager-item-' + (number + 1)).addClass("rb2-slider-pager-item-afteractive");
1096            if (options.beforeafter > 0) {
1097                for (var i = 0; i < 100; i++) {
1098                    if (i < options.beforeafter) {
1099                        $root.find('.rb2-slider-pager-item').removeClass("rb2-slider-pager-item-beforeactive-" + (i + 1));
1100                        $root.find('.rb2-slider-pager-item').removeClass("rb2-slider-pager-item-afteractive-" + (i + 1));
1101                    }
1102                    if (i > 0) {
1103                        $root.find('.rb2-slider-pager-item-' + (number - (i + 1))).addClass("rb2-slider-pager-item-beforeactive");
1104                        $root.find('.rb2-slider-pager-item-' + (number + (i + 1))).addClass("rb2-slider-pager-item-afteractive");
1105                    }
1106                    if (i < options.beforeafter) {
1107                        $root.find('.rb2-slider-pager-item-' + (number - (i + 1))).addClass("rb2-slider-pager-item-beforeactive-" + (i + 1));
1108                        $root.find('.rb2-slider-pager-item-' + (number + (i + 1))).addClass("rb2-slider-pager-item-afteractive-" + (i + 1));
1109                    }
1110                }
1111            }
1112
1113            var maxPage = GetMaxPage();
1114            var enablepager = false;
1115            if (maxPage > 1)
1116                enablepager = true;
1117            if (options.diffPageSize)
1118            // if ((actPage == 1) || (lastloadeditemid > 0))
1119                enablepager = true;
1120            if (enablepager) {
1121                $pager.find('.rb2-pager-item-counter-maxpage').html(maxPage);
1122                if ($pagerbottom)
1123                    $pagerbottom.find('.rb2-pager-item-counter-maxpage').html(maxPage);
1124                $pager.find('.rb2-pager-itemcounter-maxitems').html(total
1124itemcount);
1125                if ($pagerbottom)
1126                    $pagerbottom.find('.rb2-pager-itemcounter-maxitems').html(totalitemcount);
1127                $pager.removeClass("rb2-pager-disable");
1128                if ($pagerbottom)
1129                    $pagerbottom.removeClass("rb2-pager-disable");
1130                RBUpdateItemHRefAttr('#' + id + ' .rb2-pager-item-link-prev', 'page', validPage - 2);
1131                RBUpdateItemHRefAttr('#' + id + ' .rb2-pager-item-link-next', 'page', validPage);
1132            }
1133            else {
1134                $pager.addClass("rb2-pager-disable");
1135                if ($pagerbottom)
1136                    $pagerbottom.addClass("rb2-pager-disable");
1137            }
1138
1139            if (options.thumbcount > 0)
1140                SetThumbSelected(actPage);
1141
1142            if ((options.pagertype == 'Number') || (options.pagertype == 'NumberPrevNext') || (options.pagertype == 'NumberPrevNextArrow')) {
1143                var numberactpage = actPage;
1144                if (!started)
1145                    if (options.skippagecount > 0)
1146                        numberactpage = options.skippagecount;
1147                SetNumberPager($pager, numberactpage, maxPage - 1);
1148                if ($pagerbottom)
1149                    SetNumberPager($pagerbottom, numberactpage, maxPage - 1);
1150                if (started)
1151                    RBGoToId(id);
1152            }
1153            if (options.loadpagejumpOffset)
1154                if (started)
1155                    if (needloadpagejump) {
1156                        needloadpagejump = false;
1157                        RBGoToId(id, options.loadpagejumpOffset);
1158                    }
1159
1160            isWorking = false;
1161
1162            if (options.otherslider) {
1163                var othersliderdiv = $root.find('.rb2-otherslider-' + actPage);
1164                var othersliderdata = $(othersliderdiv).data("othersliderparam");
1165                if (othersliderdata) {
1166                    if (othersliderdata != lastothersliderdata) {
1167                        lastothersliderdata = othersliderdata;
1168                        FireRefreshEventHandler(options.otherslider, "Parameters", othersliderdata);
1169                    }
1170                }
1171            }
1172
1173            CheckData(true, 0);
1174        }
1175
1176        function SetNumberPager(pager, actPage, maxPage) {
1177            pager.html("");
1178            if (maxPage > 0)
1179                AddNumberPagerItem(pager, actPage - 1, actPage, options.prevstr, actPage > 0);
1180            if (maxPage > 0)
1181                AddNumberPagerItem(pager, 0, actPage, "", true);
1182            if (maxPage > 0)
1183                AddNumberPagerItem(pager, 1, actPage, "", true);
1184            if (options.showpager3number)
1185                if (maxPage > 1)
1186                    AddNumberPagerItem(pager, 2, actPage, "", true);
1187
1188            var diff = 0;
1189            if (!options.showpager3number)
1190                diff = -1;
1191
1192            if (maxPage > 5) {
1193                if ((actPage > (1 + diff)) && (actPage < maxPage - (1 + diff))) {
1194                    if (actPage > (4 + diff))
1195                        AddNumberPagerDelimItem(pager);
1196                    if (actPage > (3 + diff))
1197                        AddNumberPagerItem(pager, actPage - 1, actPage, "", true);
1198                    if ((actPage > (2 + diff)) && (actPage < maxPage - (2 + diff)))
1199                        AddNumberPagerItem(pager, actPage, actPage, "", true);
1200                    if (actPage < maxPage - (3 + diff))
1201                        AddNumberPagerItem(pager, actPage + 1, actPage, "", true);
1202                    if (actPage < maxPage - (4 + diff))
1203                        AddNumberPagerDelimItem(pager);
1204                }
1205                if ((actPage < (2 + diff)) || (actPage > maxPage - (2 + diff))) {
1206                    AddNumberPagerDelimItem(pager);
1207                }
1208            }
1209
1210            if (options.showpager3number)
1211                if (maxPage > (4 + diff))
1212                    AddNumberPagerItem(pager, maxPage - 2, actPage, "", true);
1213            if (maxPage > (3 + diff))
1214                AddNumberPagerItem(pager, maxPage - 1, actPage, "", true);
1215            if (maxPage > (2 + diff))
1216                AddNumberPagerItem(pager, maxPage, actPage, "", true);
1217            if (maxPage > 0)
1218                AddNumberPagerItem(pager, actPage + 1, actPage, options.nextstr, actPage < maxPage);
1219        }
1220
1221        function AddNumberPagerItem(pager, pageNum, actPage, title, enabled) {
1222            var rootClass = "rb2-pager-item-number";
1223            var itemClass = "rb2-pager-item-number-" + pageNum;
1224            var className = rootClass + " " + itemClass;
1225            if (pageNum == actPage)
1226                className += " " + rootClass + "-selected";
1227            if (title == '')
1228                title = (pageNum + 1).toString();
1229            else
1230                className += " " + rootClass + "-prevnext";
1231            if (!enabled)
1232                className += " " + rootClass + "-disabled";
1233            if (title == '.')
1234                title = "";
1235            var numberItem = "<div class='" + className + "'>" + title + "</div>";
1236            pager.append(numberItem);
1237
1238            if (enabled)
1239                if (pageNum != actPage)
1240                    pager.find('.' + itemClass).click(function () {
1241                        GoToPage(pageNum, true);
1242                    });
1243        }
1244
1245        function AddNumberPagerDelimItem(pager) {
1246            var delimitem = "<div class='rb2-pager-item-number-delim'>...</div>";
1247            pager.append(delimitem);
1248        }
1249
1250        function ClearOther() {
1251            if (!options.cleardiv)
1252                return;
1253            if (!options.clearselectclass)
1254                return;
1255            $(options.cleardiv).removeClass(options.clearselectclass);
1256        }
1257
1258        function StartShow() {
1259            if (autoPlaying)
1260                return;
1261
1262            autoPlaying = true;
1263
1264            interval = setInterval(function () {
1265                if (!isWorking) {
1266                    if (CanUseInfiniteLoop()) {
1267                        GotoNext(false);
1268                    }
1269                    else {
1270                        var number = 0;
1271                        if (totalitemcount > ((actPage + 1) * pageSize)) {
1272                            number = actPage + 1;
1273                        }
1274                        var quickfirst = false;
1275                        if (options.quickfirst)
1276                            if (number == 0)
1277                                quickfirst = true;
1278                        GoToPage(number, false, quickfirst);
1279                    }
1280                }
1281            }, options.speed);
1282
1283            if ($autoControls) {
1284                $autoControls.find('.rb2-autocontrols-startstop')
1285            .removeClass('rb2-autocontrols-start')
1286            .addClass('rb2-autocontrols-stop');
1287            }
1288        }
1289
1290        /*
1291        * Stop the show
1292        */
1293        function StopShow() {
1294            hooverAutoPlaying = false;
1295            if (autoPlaying) {
1296                clearInterval(interval);
1297
1298                if ($autoControls) {
1299                    $autoControls.find('.rb2-autocontrols-startstop').removeClass('rb2-autocontrols-stop').addClass('rb2-autocontrols-start');
1300                }
1301                autoPlaying = false;
1302            }
1303        }
1304
1305        function RestartAutoPlaying() {
1306            if (!options.autoStart)
1307                return;
1308
1309            if (options.hoverstop && mouseOver) {
1310                hooverAutoPlaying = true;
1311                return;
1312            }
1313
1314            StartShow();
1315        }
1316
1317        function RBAjaxLoadingStart(number) {
1318            var enableAjaxLoading = false;
1319            if (!started)
1320                enableAjaxLoading = true;
1321            if ((options.pagertype == 'AutoScroll') || (options.pagertype == 'ScrollDown') || (options.pagertype == 'ScrollDownName'))
1322                enableAjaxLoading = true;
1323
1324            if (enableAjaxLoading)
1325                $root.find('.rb2-slider-loading').addClass('ajax-loading');
1326            if ((number == 0) || ((options.pagertype == 'Number') || (options.pagertype == 'NumberPrevNext') || (options.pagertype == 'NumberPrevNextArrow')))
1327                $container.addClass('ajax-loading');
1328        }
1329
1330        function RBAjaxLoadingEnd() {
1331            $root.find('.rb2-slider-loading').removeClass('ajax-loading');
1332            $container.removeClass('ajax-loading');
1333        }
1334
1335        /*
1336        * Handles hover events for auto shows
1337        */
1338        function SetAutoHover() {
1339            // hover over the slider window
1340            $container.hover(function () {
1341                mouseOver = true;
1342                hooverAutoPlaying = false;
1343                if (autoPlaying) {
1344                    StopShow();
1345                    hooverAutoPlaying = true;
1346                }
1347                if (options.enableKeyPress == 1)
1348                    $containeritems.focus();
1349            }, function () {
1350                mouseOver = false;
1351                if (hooverAutoPlaying) {
1352                    StartShow();
1353                    hooverAutoPlaying = false;
1354                }
1355            });
1356        }
1357
1358        /*
1359        * Resize
1360        */
1361        var ResizePage = function () {
1362            resizing = true;
1363            CheckResize(false);
1364        }
1365
1366        function StartReload(newpage) {
1367            dataversio++;
1368            justReloaded = true;
1369            Reload(newpage);
1370        }
1371
1372        function CheckFloodGroups() {
1373            if (pageSize > 0) {
1374                var groups = $containeritems.find(".rb2-slider-flood-group-1");
1375                if (groups.length == 0) {
1376                    var grouppagewidth = options.pagewidth / pageSize + "%";
1377                    for (var i = 0; i < pageSize; i++) {
1378                        var floodgroup = "<div class='rb2-slider-flood-group rb2-slider-flood-group-" + (i + 1) + "' style='width: " + grouppagewidth + "'></div>";
1379                        $containeritems.append(floodgroup);
1380                    }
1381                }
1382            }
1383        }
1384
1385        function Reload(newpage) {
1386            if (!newpage)
1387                newpage = 0;
1388            if (newpage < 0)
1389                newpage = 0;
1390            swipesecondpagechecked = false;
1391            loadedPage = newpage - 1;
1392            lastloadeditemid = 0;
1393            var fullreload = false;
1394            if ((newpage == 0) || (options.refreshtime > 0)) {
1395                fullreload = true;
1396                if (options.refreshtime == 0) {
1397                    $containeritems.html('');
1398                    if (options.flood)
1399                        CheckFloodGroups();
1400                }
1401                if (options.startpage > 0)
1402                    if (newpage < (options.startpage))
1403                        newpage = options.startpage;
1404                if (options.startloadpage)
1405                    if (newpage < (options.startloadpage))
1406                        newpage = options.startloadpage;
1407            }
1408            else {
1409                if (options.pagertype == 'AutoScroll')
1410                    do {
1411                        var pages = $root.find('.rb2-slider-pager-item');
1412                        if (!pages)
1413                            break;
1414                        if (pages.length == 0)
1415                            break;
1416                        var page = $(pages[pages.length - 1]);
1417                        if (!page)
1418                            break;
1419                        var pagenum = page.data("page");
1420                        if (!pagenum)
1421                            break;
1422                        if (pagenum < newpage)
1423                            break;
1424                        page.remove();
1425                    } while (true);
1426            }
1427            actPage = newpage - 1;
1428            $containeritems.width("0%");
1429            if (options.transition == 'scroll') {
1430                if (options.swipetype != "pager") {
1431                    swipedistX = 0;
1432                    if (options.pagertype != 'AutoScroll')
1433                        if (options.pagertype != 'ScrollDown')
1434                            if (options.pagertype != 'ScrollDownName')
1435                                if (options.pagertype != 'Number')
1436                                    if (options.pagertype != 'NumberPrevNext')
1437                                        if (options.pagertype != 'NumberPrevNextArrow')
1438                                            $containeritems.css('left', '0%');
1439                }
1440            }
1441            GoToPage(newpage, false);
1442            if (fullreload)
1443                if (options.startpage > 0)
1444                    GotoSwipePage(actPage);
1445        }
1446
1447        /*
1448        * Set AutoControls
1449        */
1450        function SetAutoControl() {
1451            $autoControls.find('.rb2-autocontrols-startstop').click(function () {
1452                if ($(this).hasClass('rb2-autocontrols-stop')) {
1453                    StopShow();
1454                } else if ($(this).hasClass('rb2-autocontrols-start')) {
1455                    StartShow();
1456                }
1457                return false;
1458            });
1459
1460            $autoControls.find('.rb2-autocontrols-item').click(function () {
1461                var number = $autoControls.children().index(this) - 1;
1462                GoToPage(number, true);
1463                return false;
1464            });
1465        }
1466
1467        function GetMaxPage() {
1468            if (totalitemcount < 1)
1469                return 0;
1470            if (pageSize < 1)
1471                return 0;
1472            var maxPage = Math.ceil(totalitemcount / pageSize);
1473            if (options.maxpagecount > 0)
1474                if (maxPage > options.maxpagecount)
1475                    maxPage = options.maxpagecount;
1476            return maxPage;
1477        }
1478
1479        /*
1480        * Swipe
1481        */
1482        function SetSwipe() {
1483            if (pageSize > 0)
1484                if (actPage < 1)
1485                    if (!options.noFixData)
1486                        if (!options.diffPageSize)
1487                            if (pageSize >= totalitemcount)
1488                                return;
1489            $containeritems.find('.rb2-slider-pager-item-firstinit')
1490            //.removeClass('rb2-slider-pager-item-firstinit')
1491            //$container.find('.rb2-slider-item-firstinit')
1492            //.removeClass('rb2-slider-item-firstinit')
1493            .on('swipeleft', function (e) {
1494                if (options.swipetype == "pager") {
1495                    ClearOther();
1496
1497                    if (CanUseInfiniteLoop() && actPage == GetMaxPage() - 1) {
1498                        GoToInfiniteFirstPage(true);
1499                        RestartAutoPlaying();
1500                        return;
1501                    }
1502
1503                    if (totalitemcount > ((actPage + 1) * pageSize)) {
1504                        GoToPage(actPage + 1, true);
1505                        RestartAutoPlaying();
1506                    }
1507                }
1508            })
1509
1510            .on('swiperight', function (e) {
1511                if (options.swipetype == "pager") {
1512                    ClearOther();
1513
1514                    if (CanUseInfiniteLoop() && actPage == 0) {
1515                        GoToInfiniteLastPage(true);
1516                        RestartAutoPlaying();
1517                        return;
1518                    }
1519
1520                    if (actPage > 0) {
1521                        GoToPage(actPage - 1, true);
1522                        RestartAutoPlaying();
1523                    }
1524                }
1525            })
1526			.on('movestart', function (e) {
1527			    // If the movestart heads off in a upwards or downwards
1528			    // direction, prevent it so that the browser scrolls normally.
1529			    if ((e.distX > e.distY && e.distX < -e.distY) ||
1530					    (e.distX < e.distY && e.distX > -e.distY)) {
1531			        e.preventDefault();
1532			        return;
1533			    }
1534			})
1535			.on('move', function (e) {
1536			    StopShow();
1537			    if (!swipesecondpagechecked) {
1538			        swipesecondpagechecked = true;
1539			        if (loadedPage == 0)
1540			            CheckMoreData();
1541			    }
1542			    var imgwidth = $containeritems.find(".rb2-slider-pager-item").width();
1543			    if (imgwidth > 0) {
1544			        var d = options.pagewidth;
1545			        if (options.swipetype == "pager") {
1546			            if (actPage == 0 && !CanUseInfiniteLoop())
1547			                d = 50;
1548			            if (totalitemcount <= ((actPage + 1) * pageSize))
1549			                d = 50;
1550			            $containeritems.css('left', ((-actPage * options.pagewidth + options.pagediff) + (e.distX / imgwidth * d)) + '%');
1551			        }
1552			        else {
1553			            newswipedistX = e.distX;
1554			            distX = swipedistX + e.distX;
1555			            if (distX > (imgwidth / 2))
1556			                distX = imgwidth / 2;
1557			            var maxPage = GetMaxPage();
1558			            if (distX < -(maxPage - 1) * imgwidth - imgwidth / 2)
1559			                distX = -(maxPage - 1) * imgwidth - imgwidth / 2;
1560			            $containeritems.css('left', (distX / imgwidth * d) + '%');
1561
1562			            if (maxPage > 0) {
1563			                var swipeActPage = -Math.ceil(distX / (imgwidth));
1564			                if (swipeActPage < 1)
1565			                    swipeActPage = 0;
1566			                if (swipeActPage > maxPage)
1567			                    swipeActPage = maxPage;
1568			                if (actPage != swipeActPage) {
1569			                    ClearOther();
1570			                    SetPageActive(swipeActPage);
1571			                }
1572			            }
1573			        }
1574			    }
1575			})
1576			.on('moveend', function (e) {
1577			    if (options.swipetype == "pager") {
1578			        if (CanUseInfiniteLoop() &&
1579        ((actPage == GetMaxPage() - 1 && e.distX < 0) ||
1580         (actPage == 0 && e.distX > 0))) {
1581			            RestartAutoPlaying();
1582			            return;
1583			        }
1584
1585			        ClearOther();
1586			        GoToPage(actPage, false);
1587			        RestartAutoPlaying();
1588			    }
1589			    else {
1590			        swipedistX = swipedistX + newswipedistX;
1591			        if (swipedistX > 0) {
1592			            swipedistX = 0;
1593			            $containeritems.css('left', '0%');
1594			        }
1595			        var imgwidth = $containeritems.find(".rb2-slider-pager-item").width();
1596			        if (imgwidth > 0) {
1597			            var maxPage = GetMaxPage();
1598			            if (swipedistX < -(maxPage - 1) * imgwidth) {
1599			                swipedistX = -(maxPage - 1) * imgwidth;
1600			                $containeritems.css('left', (swipedistX / imgwidth * options.pagewidth + options.pagediff) + '%');
1601			            }
1602			        }
1603			        RestartAutoPlaying();
1604			    }
1605			})
1606        }
1607        /*
1608        * PageHover
1609        */
1610
1611        function SetPageHover() {
1612            $containeritems.find('.rb2-slider-pager-item-firstinit').find('.rb2-slider-item').hover(function () {
1613                $(this).find('.hover_full').css('display', 'block');
1614            }, function () {
1615                $(this).find('.hover_full').css('display', 'none');
1616            });
1617        }
1618
1619        /*
1620        * AutoScroll
1621        */
1622        function SetAutoScroll() {
1623            $(window).scroll(function () {
1624                CheckAutoScrollNext();
1625            });
1626        }
1627
1628        function CheckAutoScrollNext() {
1629            var diff = $(window).height();
1630            if (options.flood)
1631                diff += $(window).height();
1632            if ((($(window).scrollTop() + $(window).height() + diff) >= ($root.position().top + $root.height())) ||
1633                (($(window).scrollTop() + $(window).height()) == $(document).height())) {
1634                if (autoscrollnext)
1635                    if (loadedPage == actPage) {
1636                        autoscrollnext = false;
1637                        GotoNext();
1638                    }
1639            }
1640        }
1641
1642        /*
1643        Start The Show
1644        */
1645        this.each(function () {
1646            base.initShow();
1647        });
1648
1649
1650        return this;
1651    }
1652
1653
1654
1655})(jQuery);
1656

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.