PageSourceSearch

https://oslarija.si/templates/default/script.js

js oslarija.si collected 2026-10-06 16:15:47 UTC 38,809 bytes, 1,139 lines download raw bytes

1/* Created by Artisteer v4.1.0.59861 */
2/*jshint forin:true, noarg:true, noempty:true, eqeqeq:true, bitwise:true, strict:true, undef:true, curly:false, browser:true, jquery:false */
3/*global jQuery BackgroundHelper */
4
5// css helper
6(function ($) {
7    'use strict';
8    var data = [
9        { str: navigator.userAgent, sub: 'Chrome', ver: 'Chrome', name: 'chrome' },
10        { str: navigator.vendor, sub: 'Apple', ver: 'Version', name: 'safari' },
11        { prop: window.opera, ver: 'Opera', name: 'opera' },
12        { str: navigator.userAgent, sub: 'Firefox', ver: 'Firefox', name: 'firefox' },
13        { str: navigator.userAgent, sub: 'MSIE', ver: 'MSIE', name: 'ie' }
14    ];
15    var v = function (s, n) {
16        var i = s.indexOf(data[n].ver);
17        return (i !== -1) ? parseInt(s.substring(i + data[n].ver.length + 1), 10) : '';
18    };
19    var html = $('html');
20    for (var n = 0; n < data.length; n++) {
21        if ((data[n].str && (data[n].str.indexOf(data[n].sub) !== -1)) || data[n].prop) {
22            html.addClass(data[n].name + ' ' + data[n].name + v(navigator.userAgent, n) || v(navigator.appVersion, n));
23            break;
24        }
25    }
26
27    // 'desktop' class is used as responsive design initial value
28    html.addClass('desktop');
29})(jQuery);
30
31jQuery(function ($) {
32    'use strict';
33    var i, j, k, l, m;
34    if (!$.browser.msie || parseInt($.browser.version, 10) !== 9) {
35        return;
36    }
37
38    var splitByTokens = function (str, startToken, endToken, last) {
39        if (!last) {
40            last = false;
41        }
42        var startPos = str.indexOf(startToken);
43        if (startPos !== -1) {
44            startPos += startToken.length;
45            var endPos = last ? str.lastIndexOf(endToken) : str.indexOf(endToken, startPos);
46
47            if (endPos !== -1 && endPos > startPos) {
48                return str.substr(startPos, endPos - startPos);
49            }
50        }
51        return '';
52    };
53
54    var splitWithBrackets = function (str, token, brackets) {
55        /*jshint nonstandard:true */
56        if (!token) {
57            token = ',';
58        }
59        if (!brackets) {
60            brackets = '()';
61        }
62        var bracket = 0;
63        var startPos = 0;
64        var result = [];
65        if (brackets.lenght < 2) {
66            return result;
67        }
68        var pos = 0;
69        while (pos < str.length) {
70            var ch = str[pos];
71            if (ch === brackets[0]) {
72                bracket++;
73            }
74            if (ch === brackets[1]) {
75                bracket--;
76            }
77            if (ch === token && bracket < 1) {
78                result.push(str.substr(startPos, pos - startPos));
79                startPos = pos + token.length;
80            }
81            pos++;
82        }
83        result.push(str.substr(startPos, pos - startPos));
84        return result;
85    };
86
87    var byteToHex = function (d) {
88        var hex = Number(d).toString(16);
89        while (hex.length < 2) {
90            hex = "0" + hex;
91        }
92        return hex;
93    };
94
95    for (i = 0; i < document.styleSheets.length; i++) {
96        var s = document.styleSheets[i];
97        var r = [s];
98        for (j = 0; j < s.imports.length; j++) {
99            r.push(s.imports[j]);
100        }
101        for (j = 0; j < r.length; j++) {
102            s = r[j];
103            var n = [];
104            for (k = 0; k < s.rules.length; k++) {
105                var css = s.rules[k].cssText || s.rules[k].style.cssText;
106                if (!css) {
107                    continue;
108                }
109                var value = splitByTokens(css, '-svg-background:', ';');
110                if (value === '') {
111                    continue;
112                }
113                var values = splitWithBrackets(value);
114                for (l = 0; l < values.length; l++) {
115                    var g = splitByTokens(values[l], 'linear-gradient(', ')', true);
116                    if (g === '') {
117                        continue;
118                    }
119                    var args = splitWithBrackets(g);
120                    if (args.length < 3) {
121                        continue;
122                    }
123                    var maxOffset = 0;
124                    var stops = [];
125                    for (m = 1; m < args.length; m++) {
126                        var stopValues = splitWithBrackets($.trim(args[m]), ' ');
127                        if (stopValues.length < 2) {
128                            continue;
129                        }
130                        var stopColor = $.trim(stopValues[0]);
131                        var stopOpacity = 1;
132                        var colorRgba = splitByTokens(stopColor, 'rgba(', ')', true);
133                        var stopOffset = $.trim(stopValues[1]);
134                        if (colorRgba !== "") {
135                            var rgba = colorRgba.split(',');
136                            if (rgba.length < 4) {
137                                continue;
138                            }
139                            stopColor = '#' + byteToHex(rgba[0]) + byteToHex(rgba[1]) + byteToHex(rgba[2]);
140                            stopOpacity = rgba[3];
141                        }
142                        var isPx = stopOffset.indexOf('px') !== -1;
143                        if (isPx) {
144                            maxOffset = Math.max(maxOffset, parseInt(stopOffset, 10) || 0);
145                        }
146                        stops.push({ offset: stopOffset, color: stopColor, opacity: stopOpacity, isPx: isPx });
147                    }
148                    var stopsXML = '';
149                    var lastStop = null;
150                    for (m = 0; m < stops.length; m++) {
151                        if (stops[m].isPx) {
152                            stops[m].offset = ((parseInt(stops[m].offset, 10) || 0) / (maxOffset / 100)) + '%';
153                        }
154                        stopsXML += '<stop offset="' + stops[m].offset + '" stop-color="' + stops[m].color + '" stop-opacity="' + stops[m].opacity + '"/>';
155                        if (m === stops.length - 1) {
156                            lastStop = stops[m];
157                        }
158                    }
159                    var isLeft = $.trim(args[0]) === 'left';
160                    var direction = 'x1="0%" y1="0%" ' + (isLeft ? 'x2="100%" y2="0%"' : 'x2="0%" y2="
160100%"');
161                    var gradientLength = '100%';
162                    if (maxOffset > 0) {
163                        gradientLength = maxOffset + 'px';
164                    }
165                    var size = (isLeft ? 'width="' + gradientLength + '" height="100%"' : 'width="100%" height="' + gradientLength + '"');
166                    var last = "";
167                    if (lastStop !== null && maxOffset > 0) {
168                        last = '<rect ' +
169                            (isLeft ?
170                                'x="' + maxOffset + '" y="0"' :
171                                'x="0" y="' + maxOffset + '"') +
172                            ' width="100%" height="100%" style="fill:' + lastStop.color + ';opacity:' + lastStop.opacity + ';"/>';
173
174                    }
175                    var svgGradient = '<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><linearGradient id="g" gradientUnits="objectBoundingBox" ' + direction + '>' + stopsXML + '</linearGradient><rect x="0" y="0" ' + size + ' fill="url(#g)" />' + last + '</svg>';
176                    values[l] = values[l].replace('linear-gradient(' + g + ')', 'url(data:image/svg+xml,' + escape(svgGradient) + ')');
177                }
178                n.push({ s: s.rules[k].selectorText, v: 'background: ' + values.join(",") });
179            }
180            for (k = 0; k < n.length; k++) {
181                s.addRule(n[k].s, n[k].v);
182            }
183        }
184    }
185});
186
187jQuery(function ($) {
188    'use strict';
189    // ie < 9 slider multiple background fix
190    if (!$.browser.msie || $.browser.version > 8) return;
191    
192    function split(str) {
193        str = str.replace(/"/g, '').replace(/%20/g, '');
194        return  str.split(/\s*,\s*/);
195    }
196
197    $('.art-slider .art-slide-item').each(function () {
198        var bgs = split($(this).css('background-image'));
199        // needs to use the last image
200        if (bgs.length > 1) {
201            $(this).css("background-image", bgs[bgs.length - 1]);
202        }
203    });
204});
205
206jQuery(function ($) {
207    "use strict";
208    // ie8
209    if (!$.browser.msie || $.browser.version > 8) return;
210    $('.art-shapes').css('z-index', 1);
211    
212    // ie7
213    if (!$.browser.msie || $.browser.version > 7) return;
214    var textblockTexts = $('.art-textblock > div');
215    textblockTexts.each(function () {
216        var tbText = $(this);
217        var valign = tbText.css('vertical-align') ? tbText.css('vertical-align') : 'top';
218        if (valign === 'middle') {
219            var wrapper = tbText.wrap('<div/>').parent();
220            tbText.css({
221                'position': 'relative',
222                'top': '-50%',
223                'height': 'auto'
224            });
225            wrapper.css({
226                'position': 'absolute',
227                'top': '50%'
228            });
229        } else if (valign === 'bottom') {
230            tbText.css({
231                'position': 'absolute',
232                'height': 'auto',
233                'bottom': 0
234            });
235        }
236    });
237});
238
239/* Set wmode=transparent for iframes to show it under the menus, lightboxes etc. */
240jQuery(function ($) {
241    "use strict";
242    $("iframe[src]").each(function () {
243        var iframe = $(this);
244        var src = iframe.attr("src");
245        if (src == "") {
246            return;
247        }
248        if (src.lastIndexOf("?") !== -1) {
249            src += "&amp;wmode=transparent";
250        } else {
251            src += "?wmode=transparent";
252        }
253        iframe.attr("src", src);
254    });
255});
256
257jQuery(function ($) {
258    "use strict";
259    $(window).bind("resize", function () { navigatorResizeHandler($("html").hasClass("responsive")); });
260});
261
262var navigatorResizeHandler = (function ($) {
263    "use strict";
264    return function (responsiveDesign) {
265        if (responsiveDesign) return;
266        $(".art-slider").each(function () {
267            var slider = $(this);
268            var sliderWidth = slider.width();
269            var nav = slider.siblings(".art-slidenavigator");
270            if (nav.length) {
271                // left offset
272                var left = nav.attr("data-left");
273                // (margin = containerWidth - (objectPosition + objectWidth)) < 0
274                var margin = sliderWidth - sliderWidth * parseFloat(left) / 100 - nav.outerWidth(false);
275                if (margin < 0) {
276                    nav.css("margin-left", margin);
277                }
278            }
279        });
280    };
281})(jQuery);
282jQuery(window).bind("resize", (function ($) {
283    /*global responsiveDesign */
284    "use strict";
285    return function () {
286        if (typeof responsiveDesign !== "undefined" && responsiveDesign.isResponsive)
287            return;
288        var sheetLeft = $(".art-sheet").offset().left;
289        $("header.art-header #art-flash-area").each(function () {
290            var object = $(this);
291            object.css("left", sheetLeft + "px");
292        });
293    };
294})(jQuery));
295
296jQuery(function ($) {
297    'use strict';
298
299    if ($.browser.msie && parseInt($.browser.version, 10) < 8) {
300        $(window).bind('resize', function() {
301            var c = $('div.art-content');
302            var s = c.parent().children('.art-layout-cell:not(.art-content)');
303            var w = 0;
304            c.hide();
305            s.each(function() { w += $(this).outerWidth(true); });
306            c.w = c.parent().width(); c.css('width', c.w - w + 'px');
307            c.show();
308        });
309    }
310
311    $(window).trigger('resize');
312});
313
314jQuery(function($) {
315    "use strict";
316    if (!$('html').hasClass('ie7')) {
317        return;
318    }
319    $('ul.art-vmenu li:not(:first-child),ul.art-vmenu li li li:first-child,ul.art-vmenu>li>ul').each(function () { $(this).append('<div class="art-vmenu-separator"> </div><div class="art-vmenu-separator-bg"> </div>'); });
320});
321
322
323
324var artButtonSetup = (function ($) {
325    'use strict';
326    return (function (className) {
327        $.each($("a." + className + ", button." + className + ", input." + className), function (i, val) {
328            var b = $(val);
329            if (!b.hasClass('art-button')) {
330                b.addClass('art-button');
331            }
332            if (b.is('input')) {
333                b.val(b.val().replace(/^\s*/, '')).css('zoom', '1');
334            }
335            b.mousedown(function () {
336                var b = $(this);
337                b.addClass("active");
338            });
339            b.mouseup(function () {
340                var b = $(this);
341                if (b.hasClass('active')) {
342                    b.removeClass('active');
343                }
344            });
345            b.mouseleave(function () {
346                var b = $(this);
347                if (b.hasClass('active')) {
348                    b.removeClass('active');
349                }
350            });
351        });
352    });
353})(jQuery);
354jQuery(function () {
355    'use strict';
356    artButtonSetup("art-button");
357});
358
359var Control = (function ($) {
360    'use strict';
361    return (function () {
362        this.init = function(label, type, callback) {
363            var chAttr = label.find('input[type="' +type + '"]').attr('checked');
364            if (chAttr === 'checked') {
365              label.addClass('art-checked');
366            }
367
368            label.mouseleave(function () {
369              $(this).removeClass('hovered').removeClass('active');
370            });
371            label.mouseover(function () {
372              $(this).addClass('hovered').removeClass('active');
373            });
374            label.mousedown(function (event) {
375              if (event.which !== 1) {
376                  return;
377              }
378              $(this).addClass('active').removeClass('hovered');
379            });
380            label.mouseup(function (event) {
381              if (event.which !== 1) {
382                  return;
383              }
384              callback.apply(this);
385              $(this).removeClass('active').addClass('hovered');
386            });
387        };
388    });
389})(jQuery);
390
391
392jQuery(function ($) {
393    'use strict';
394    $('.art-pager').contents().filter(
395        function () {
396            return this.nodeType === this.TEXT_NODE;
397        }
398    ).remove();
399});
400var fixRssIconLineHeight = (function ($) {
401    "use strict";
402    return function (className) {
403        $("." + className).css("line-height", $("." + className).height() + "px");
404    };
405})(jQuery);
406
407jQuery(function ($) {
408    "use strict";
409    var rssIcons = $(".art-rss-tag-icon");
410    if (rssIcons.length){
411        fixRssIconLineHeight("art-rss-tag-icon");
412        if ($.browser.msie && parseInt($.browser.version, 10) < 9) {
413            rssIcons.each(function () {
414                if ($.trim($(this).html()) === "") {
415                    $(this).css("vertical-align", "middle");
416                }
417            });
418        }
419    }
420});
421/**
422* @license 
423* jQuery Tools 1.2.6 Mousewheel
424* 
425* NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
426* 
427* http://flowplayer.org/tools/toolbox/mousewheel.html
428* 
429* based on jquery.event.wheel.js ~ rev 1 ~ 
430* Copyright (c) 2008, Three Dub Media
431* http://threedubmedia.com 
432*
433* Since: Mar 2010
434* Date:  
435*/
436(function ($) {
437    'use strict';
438    $.fn.mousewheel = function (fn) {
439        return this[fn ? "bind" : "trigger"]("wheel", fn);
440    };
441
442    // special event config
443    $.event.special.wheel = {
444        setup: function () {
445            $.event.add(this, wheelEvents, wheelHandler, {});
446        },
447        teardown: function () {
448            $.event.remove(this, wheelEvents, wheelHandler);
449        }
450    };
451
452    // events to bind ( browser sniffed... )
453    var wheelEvents = !$.browser.mozilla ? "mousewheel" : // IE, opera, safari
454        "DOMMouseScroll" + ($.browser.version < "1.9" ? " mousemove" : ""); // firefox
455
456    // shared event handler
457    function wheelHandler(event) {
458        /*jshint validthis:true*/
459        
460        switch (event.type) {
461
462            // FF2 has incorrect event positions
463            case "mousemove":
464                return $.extend(event.data, { // store the correct properties
465                    clientX: event.clientX, clientY: event.clientY,
466                    pageX: event.pageX, pageY: event.pageY
467                });
468
469                // firefox
470            case "DOMMouseScroll":
471                $.extend(event, event.data); // fix event properties in FF2
472                event.delta = -event.detail / 3; // normalize delta
473                break;
474
475            // IE, opera, safari
476            case "mousewheel":
477                event.delta = event.wheelDelta / 120;
478                break;
479        }
480
481        event.type = "wheel"; // hijack the event
482        return $.event.handle.call(this, event, event.delta);
483    }
484
485})(jQuery);
486
487
488var ThemeLightbox = (function ($) {
489    'use strict';
490    return (function () {
491        var current;
492        var images = $(".art-lightbox");
493
494        this.init = function (ctrl) {
495            $(".art-lightbox").live("click", { _ctrl: ctrl }, function (e) {
496
497                if (e.data._ctrl === true && !e.ctrlKey) {
498                    return;
499                }
500                
501                reload();
502                current = images.index(this);
503                show(this);
504            });
505
506            $(".art-lightbox-wrapper .arrow.left:not(.disabled)").live("click", function () {
507                move(current - 1);
508            });
509
510            $(".art-lightbox-wrapper .arrow.right:not(.disabled)").live("click", function () {
511                move(current + 1);
512            });
513
514            $(".art-lightbox-wrapper .active").live("click", function () {
515                move(current + 1);
516            });
517
518            $(".art-lightbox-wrapper .close").live("click", function () {
519                close();
520            });
521        };
522
523        function show(src) {
524            var closeBtn = $('<div class="close"><div class="cw"> </div><div class="ccw"> </div><div class="close-alt">&#10007;</div></div>')
525                .click(close);
526
527            var imgContainer = $('.art-lightbox-wrapper');
528            if (imgContainer.length === 0) {
529                imgContainer = $('<div class="art-lightbox-wrapper">').css('line-height', $(window).height() + "px")
530                    .appendTo($("body"));
531            }
532            
533            var img = $('<img class="art-lightbox-image active" src="' + getFullImgSrc($(src).attr("src")) + '">');
534            img.appendTo(imgContainer);
535
536            showArrows();
537            closeBtn.appendTo(imgContainer);
538            showLoader(true);
539
540            img.load(function () {
541                showLoader(false);
542            });
543
544            img.error(function () {
545                showLoader(false);
546                img.attr("src", $(src).attr("src"));
547            });
548
549            bindMouse($(".art-lightbox-wrapper .arrow").add(img).add(imgContainer));
550        }
551
552        function reload() {
553            images = $(".art-lightbox");
554        }
555
556        function move(index) {
557            if (index < 0 || index >= images.length) {
558                return;
559            }
560
561            showError(false);
562
563            current = index;
564
565            $(".art-lightbox-wrapper .art-lightbox-image:not(.active)").remove();
566
567            var active = $(".art-lightbox-wrapper .active");
568            var target = $('<img class="art-lightbox-image" alt="" src="' + getFullImgSrc($(images[current]).attr("src")) + '" />');
569
570            active.after(target);
571
572            showArrows();
573            showLoader(true);
574
575            bindMouse($(".art-lightbox-wrapper").add(target));
576
577            target.load(function () {
578                showLoader(false);
579
580                active.removeClass("active");
581                target.addClass("active");
582            });
583
584            target.error(function () {
585                showLoader(false);
586                active.removeClass("active");
587                target.addClass("active");
588                target.attr("src", $(images[current]).attr("src"));
589            });
590        }
591
592        function showArrows() {
593            if ($(".art-lightbox-wrapper .arrow").length === 0) {
594                $(".art-lightbox-wrapper").append($('<div class="arrow left"><div class="arrow-t ccw"> </div><div class="arrow-b cw"> </div><div class="arrow-left-alt">&#8592;</div></div>').css("top", $(window).height() / 2 - 40));
595                $(".art-lightbox-wrapper").append($('<div class="arrow right"><div class="arrow-t cw"> </div><div class="arrow-b ccw"> </div><div class="arrow-right-alt">&#8594;</div></div>').css("top", $(window).height() / 2 - 40));
596            }
597
598            if (current === 0) {
599                $(".art-lightbox-wrapper .arrow.left").addClass("disabled");
600            } else {
601                $(".art-lightbox-wrapper .arrow.left").removeClass("disabled");
602            }
603
604            if (current === images.length - 1) {
605                $(".art-lightbox-wrapper .arrow.right").addClass("disabled");
606            } else {
607                $(".art-lightbox-wrapper .arrow.right").removeClass("disabled");
608            }
609        }
610
611        function showError(enable) {
612            if (enable) {
613                $(".art-lightbox-wrapper").append($('<div class="lightbox-error">The requested content cannot be loaded.<br/>Please try again later.</div>')
614                        .css({ "top": $(window).height() / 2 - 60, "left": $(window).width() / 2 - 170 }));
615            } else {
616                $(".art-lightbox-wrapper .lightbox-error").remove();
617            }
618        }
619
620        function showLoader(enable) {
621            if (!enable) {
622                $(".art-lightbox-wrapper .loading").remove();
623            }
624            else {
625                $('<div class="loading"> </div>').css({ "top": $(window).height() / 2 - 16, "left": $(window).width() / 2 - 16 }).appendTo($(".art-lightbox-wrapper"));
626            }
627        }
628
629        var close = function () {
630            $(".art-lightbox-wrapper").remove();
631        };
632
633        function bindMouse(img) {
634            img.unbind("wheel").mousewheel(function (event, delta) {
635                delta = delta > 0 ? 1 : -1;
636                move(current + delta);
637                event.preventDefault();
638            });
639
640            img.mousedown(function (e) {
641                // close on middle button click
642                if (e.which === 2) {
643                    close();
644                }
645                e.preventDefault();
646            });
647        }
648
649        function getFullImgSrc(src) {
650            var fileName = src.substring(0, src.lastIndexOf('.'));
651            var ext = src.substring(src.lastIndexOf('.'));
652            src = fileName + "-large" + ext;
653
654            return src;
655        }
656
657    });
658})(jQuery);
659
660jQuery(function () {
661    'use strict';
662    new ThemeLightbox().init();
663});
664
665(function($) {
666    'use strict';
667    // transition && transitionEnd && browser prefix
668    $.support.transition = (function() {
669        var thisBody = document.body || document.documentElement,
670            thisStyle = thisBody.style,
671            support = thisStyle.transition !== undefined ||
672                thisStyle.WebkitTransition !== undefined ||
673                thisStyle.MozTransition !== undefined ||
674                thisStyle.MsTransition !== undefined ||
675                thisStyle.OTransition !== undefined;
676        return support && {
677            event: (function() {
678                var e = "transitionend";
679                if ($.browser.opera) {
680                    var version = parseFloat($.browser.version);
681                    e = version >= 12 ? (version < 12.50 ? "otransitionend" : "transitionend") : "oTransitionEnd";
682                } else if ($.browser.webkit) {
683                    e = "webkitTransitionEnd";
684                }
685                return e;
686            })(),
687            prefix: (function() {
688                var result;
689                $.each($.browser, function(key, value) {
690                    if (key === "version") {
691                        return true;
692                    }
693                    return (result = {
694                        opera: "-o-",
695                        mozilla: "-moz-",
696                        webkit: "-webkit-",
697                        msie: "-ms-"
698                    }[key]) ? false : true;
699                });
700                return result || "";
701            })()
702        };
703    })();
704
705    window.BackgroundHelper = function () {
706        var slides = [];
707        var direction = "next";
708        var motion = "horizontal";
709        var width = 0;
710        var height = 0;
711        var multiplier = 1;
712        var transitionDuration = "";
713
714        this.init = function(motionType, dir, duration) {
715            direction = dir;
716            motion = motionType;
717            slides = [];
718            width = 0;
719            height = 0;
720            multiplier = 1;
721            transitionDuration = duration;
722        };
723
724        this.processSlide = function(element, modify) {
725            this.updateSize(element, null);
726            var pos = [];
727
728            var bgPosition = element.css("background-position");
729            var positions = bgPosition.split(",");
730            $.each(positions, function (i) {
731                var position = $.trim(this);
732                var point = position.split(" ");
733                if (point.length > 1) {
734                    var x = parseInt(point[0], 10);
735                    var y = parseInt(point[1], 10);
736                    pos.push({ x: x, y: y });
737                }
738            });
739
740            slides.push({
741                "images": element.css("background-image"),
742                "sizes": element.css("background-size"),
743                "positions": pos
744            });
745            
746            if (modify)
747                element.css("background-image", "none");
748        };
749        
750        this.updateSize = function (element, initialSize) {
751            width = element.outerWidth(false);
752            height = element.outerHeight();
753            if (initialSize && parseInt(initialSize.width, 10) !== 0) {
754                multiplier = width / initialSize.width;
755                if (motion === "fade") {
756                    $.each(element.children(), function (i) {
757                        $(this).css("background-position", getCssPositions(slides[i].positions, { x: 0, y: 0 }));
758                    });
759                }
760            }
761        };
762
763        this.setBackground = function(element, items) {
764            var bg = [];
765            var sizes = [];
766            $.each(items, function (i, o) {
767                bg.push(o.images);
768                sizes.push(o.sizes);
769            });
770            element.css({
771                "background-image": bg.join(", "),
772                "background-size": sizes.join(", "),
773                "background-repeat": "no-repeat"
774            });
775        };
776
777        this.setPosition = function(element, items) {
778            var pos = [];
779            $.each(items, function(i, o) {
780                pos.push(o.positions);
781            });
782            element.css({
783                "background-position": pos.join(", ")
784            });
785        };
786
787        this.current = function(index) {
788            return slides[index] || null;
789        };
790
791        this.next = function(index) {
792            var next;
793            if (direction === "next") {
794                next = (index + 1) % slides.length;
795            } else {
796                next = index - 1;
797                if (next < 0) {
798                    next = slides.length - 1;
799                }
800            }
801            return slides[next];
802        };
803
804        this.items = function(prev, next, move) {
805            var prevItem = { x: 0, y: 0 };
806            var nextItem = { x: 0, y: 0 };
807            var isDirectionNext = direction === "next";
808            if (motion === "horizontal") {
809                nextItem.x = isDirectionNext ? width : -width;
810                nextItem.y = 0;
811                if (move) {
812                    prevItem.x += isDirectionNext ? -width : width;
813                    nextItem.x += isDirectionNext ? -width : width;
814                }
815            } else if (motion === "vertical") {
816                nextItem.x = 0;
817                nextItem.y = isDirectionNext ? height : -height;
818                if (move) {
819                    prevItem.y += isDirectionNext ? -height : height;
820                    nextItem.y += isDirectionNext ? -height : height;
821                }
822            }
823            var result = [ ];
824            if (!!prev) {
825                result.push({ images: prev.images, positions: getCssPositions(prev.positions, prevItem), sizes: prev.sizes });
826            }
827            if (!!next) {
828                result.push({ images: next.images, positions: getCssPositions(next.positions, nextItem), sizes: next.sizes });
829            }
830            
831            if (direction === "next") {
832                result.reverse();
833            }
834
835            return result;
836        };
837
838        this.transition = function(container, on) {
839            container.css($.support.transition.prefix + "transition", on ? transitionDuration + " ease-in-out background-position" : "");
840        };
841        
842        function getCssPositions(positions, offset) {
843            var result = [];
844            if (positions === undefined) {
845                return "";
846            }
847            offset.x = offset.x || 0;
848            offset.y = offset.y || 0;
849            for (var i = 0; i < positions.length; i++) {
850                result.push((positions[i].x * multiplier + offset.x) + "px " + (positions[i].y * multiplier + offset.y) + "px");
851            }
852            return result.join(", ");
853        }
854    };
855
856
857    var Slider = function (element, settings) {
858
859        var interval = null;
860        var active = false;
861        var children = element.find(".active").parent().children();
862        var last = false;
863        var running = false;
864
865        this.settings = $.extend({ }, {
866            "animation": "horizontal",
867            "direction": "next",
868            "speed": 600,
869            "pause": 2500,
870            "auto": true,
871            "repeat": true,
872            "navigator": null,
873            "clickevents": true,
874            "hover": true,
875            "helper": null
876        }, settings);
877
878        this.move = function (direction, next) {
879            var activeItem = element.find(".active"),
880                nextItem = next || activeItem[direction](),
881                innerDirection = this.settings.direction === "next" ? "forward" : "back",
882                reset = direction === "next" ? "first" : "last",
883                moving = interval,
884                slider = this, tmp;
885
886            active = true;
887
888            if (moving) { this.stop(true); }
889
890            if (!nextItem.length) {
891                nextItem = element.find(".art-slide-item")[reset]();
892                if (!this.settings.repeat) { last = true; active = false; return; }
893            }
894
895            if ($.support.transition) {
896                nextItem.addClass(this.settings.direction);
897                tmp = nextItem.get(0).offsetHeight;
898                
899                activeItem.addClass(innerDirection);
900                nextItem.addClass(innerDirection);
901                
902                element.trigger("beforeSlide", children.length);
903                
904                element.one($.support.transition.event, function () {
905                    nextItem.removeClass(slider.settings.direction)
906                        .removeClass(innerDirection)
907                        .addClass("active");
908                    activeItem.removeClass("active")
909                        .removeClass(innerDirection);
910                    active = false;
911                    setTimeout(function () {
912                        element.trigger("afterSlide", children.length);
913                    }, 0);
914                });
915            } else {
916                element.trigger("beforeSlide", children.length);
917                
918                activeItem.removeClass("active");
919                nextItem.addClass("active");
920                active = false;
921                
922                element.trigger("afterSlide", children.length);
923            }
924
925            this.navigate(nextItem);
926
927            if (moving) { this.start(); }
928        };
929
930        this.navigate = function (position) {
931            var index = children.index(position);
932            $(this.settings.navigator).children().removeClass("active").eq(index).addClass("active");
933        };
934
935        this.to = function (index) {
936            var activeItem = element.find(".active"),
937                children = activeItem.parent().children(),
938                activeIndex = children.index(activeItem),
939                slider = this;
940
941            if (index > (children.length - 1) || index < 0) {
942                return;
943            }
944
945            if (active) {
946                return element.one("afterSlide", function () {
947                    slider.to(index);
948                });
949            }
950            
951            if (activeIndex === index) {
952                return;
953            }
954
955            this.move(index > activeIndex ? "next" : "prev", $(children[index]));
956        };
957
958        this.next = function () {
959            if (!active) {
960                if (last) { this.stop(); return;  }
961                this.move("next");
962            }
963        };
964
965        this.prev = function () {
966            if (!active) {
967                if (last) { this.stop(); return; }
968                this.move("prev");
969            }
970        };
971
972        this.start = function (force) {
973            if (!!force) {
974                setTimeout($.proxy(this.next, this), 10);
975            }
976            interval = setInterval($.proxy(this.next, this), this.settings.pause);
977            running = true;
978        };
979
980        this.stop = function (pause) {
981            clearInterval(interval);
982            interval = null;
983            running = !!pause;
984            active = false;
985        };
986
987        this.active = function () {
988            return running;
989        };
990
991        this.moving = function () {
992            return active;
993        };
994        
995        this.navigate(children.filter(".active"));
996
997        if (this.settings.clickevents) {
998            $(this.settings.navigator).on("click", "a", { slider: this }, function (event) {
999                var activeIndex = children.index(children.filter(".active"));
1000                var index = $(this).parent().children().index($(this));
1001                if (activeIndex !== index) {
1002                    event.data.slider.to(index);
1003                }
1004                event.preventDefault();
1005            });
1006        }
1007        
1008        if (this.settings.hover) {
1009            var slider = this;
1010            element.add(this.settings.navigator)
1011                   .add(element.siblings(".art-shapes")).hover(function () {
1012                if (element.is(":visible") && !last) { slider.stop(true); }
1013            }, function () {
1014                if (element.is(":visible") && !last) { slider.start(); }
1015            });
1016        }
1017    };
1018
1019    $.fn.slider = function (arg) {
1020        return this.each(function () {
1021            var element = $(this),
1022                data = element.data("slider"),
1023                options = typeof arg === "object" && arg;
1024
1025            if (!data) {
1026                data = new Slider(element, options);
1027                element.data("slider", data);
1028            }
1029            
1030            if (typeof arg === "string" && data[arg]) {
1031                data[arg]();
1032            } else if (data.settings.auto && element.is(":visible")) {
1033                data.start();
1034            }
1035        });
1036    };
1037
1038})(jQuery);
1039
1040
1041
1042
1043jQuery(function ($) {
1044    "use strict";
1045    if (!$.browser.msie || parseInt($.browser.version, 10) > 8)
1046        return;
1047    var path = "";
1048    var scripts = $("script[src*='script.js']");
1049    if (scripts.length > 0) {
1050        var src = scripts.last().attr('src');
1051        path = src.substr(0, src.indexOf("script.js"));
1052    }
1053    processHeaderMultipleBg(path);
1054});
1055
1056var processHeaderMultipleBg = (function ($) {
1057    "use strict";
1058    return (function (path) {
1059        var header = $(".art-header");
1060        var bgimages = "url('images/object0.png'), ".split(",");
1061        var bgpositions = "324px 17px, ".split(",");
1062        for (var i = bgimages.length - 1; i >= 0; i--) {
1063            var bgimage = $.trim(bgimages[i]);
1064            if (bgimage === "")
1065                continue;
1066            if (path !== "") {
1067                bgimage = bgimage.replace(/(url\(['"]?)/i, "$1" + path);
1068            }
1069            header.append("<div style=\"position:absolute;top:0;left:0;width:100%;height:100%;background:" + bgimage + " " + bgpositions[i] + " no-repeat\">");
1070        }
1071        header.css('background-image', "url('images/header.png')".replace(/(url\(['"]?)/i, "$1" + path));
1072        header.css('background-position', "0 0");
1073    });
1074})(jQuery);
1075
1076(function ($) {
1077    'use strict';
1078
1079    /*global jQuery, artButtonSetup */
1080
1081    $(function () {
1082        artButtonSetup("btn-primary");
1083        artButtonSetup("button");
1084        artButtonSetup("readon");
1085        artButtonSetup("readmore");
1086    });
1087
1088    $(function ($) {
1089        var links = $('a.art-rss-tag-icon[href="#"], a.art-rss-tag-icon[href=""]'),
1090            href = $('head link[type="application/rss+xml"]').attr('href');
1091        if (href) {
1092            links.attr('href', href);
1093        } else {
1094            links.hide();
1095        }
1096    });
1097
1098    $(function ($) {
1099        $('.art-messages').each(function () {
1100            $(this).css('display', $(this).find('dl').length ? '' : 'none');
1101        });
1102    });
1103
1104    $(function ($) {
1105        $('.art-search-button').each(function (i, val) {
1106            var element = $(val),
1107                background = element.css('background-image');
1108
1109            if (-1 !== background.indexOf('url')) {
1110                element.val('');
1111            }
1112            if (element.hasClass('art-button')) {
1113                element.removeClass('art-button');
1114            }
1115        });
1116    });
1117
1118    $(function ($) {
1119        // ie < 9 slider multiple background joomla fix
1120        if (!jQuery.browser.msie || jQuery.browser.version > 8) {
1121            return;
1122        }
1123
1124        var scriptSrc = jQuery('script[src*="script.js"]').last().attr('src'),
1125            pathToImages = scriptSrc.substr(0, scriptSrc.lastIndexOf('/') + 1) + 'images/';
1126
1127        $('.art-slider .art-slide-item').each(function () {
1128            var bg = $(this).css('background-image');
1129            if (bg) {
1130                bg = bg.replace(/url\(["'](.+)["']\)/, function (match, path) {
1131                    var imageName = path.substr(path.lastIndexOf('/') + 1);
1132                    return 'url(\'' + pathToImages + imageName + '\')';
1133                });
1134                $(this).css('background-image', bg);
1135            }
1136        });
1137    });
1138
1139}(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.