PageSourceSearch

https://www.azhomesforsale.com/wp-content/themes/AZLand/script.js?ver=4.9.26

js azhomesforsale.com collected 2026-09-28 18:09:52 UTC 56,242 bytes, 1,555 lines download raw bytes

1/* Created by Artisteer v4.3.0.60745 */
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
6browser = 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        { str: navigator.userAgent, sub: 'Trident/7.0', ver: 'rv', name: 'ie' }
15    ];
16    var v = function (s, n) {
17        var i = s.indexOf(data[n].ver);
18        return (i !== -1) ? parseFloat(s.substring(i + data[n].ver.length + 1)) : 0;
19    };
20    var result = { name: 'unknown', version: 0 };
21    var html = $('html');
22    for (var n = 0; n < data.length; n++) {
23        if (!result[data[n].name]) {
24            result[data[n].name] = false;
25        }
26        if ((data[n].str && (data[n].str.indexOf(data[n].sub) !== -1)) || data[n].prop) {
27            result.name = data[n].name;
28            result[result.name] = true;
29            result.version = v(navigator.userAgent, n) || v(navigator.appVersion, n);
30            html.addClass(result.name + ' ' + result.name + parseInt(result.version, 10));
31        }
32    }
33    return result;
34} (jQuery);
35
36jQuery(function ($) {
37    if (typeof responsiveDesign === "undefined") {
38        $("html").addClass("desktop");
39    }
40});
41
42jQuery(function ($) {
43    'use strict';
44    var i, j, k, l, m;
45    if (!browser.ie || browser.version !== 9) {
46        return;
47    }
48    var splitByTokens = function (str, startToken, endToken, last) {
49        if (!last) {
50            last = false;
51        }
52        var startPos = str.indexOf(startToken);
53        if (startPos !== -1) {
54            startPos += startToken.length;
55            var endPos = last ? str.lastIndexOf(endToken) : str.indexOf(endToken, startPos);
56
57            if (endPos !== -1 && endPos > startPos) {
58                return str.substr(startPos, endPos - startPos);
59            }
60        }
61        return '';
62    };
63
64    var splitWithBrackets = function (str, token, brackets) {
65        /*jshint nonstandard:true */
66        if (!token) {
67            token = ',';
68        }
69        if (!brackets) {
70            brackets = '()';
71        }
72        var bracket = 0;
73        var startPos = 0;
74        var result = [];
75        if (brackets.lenght < 2) {
76            return result;
77        }
78        var pos = 0;
79        while (pos < str.length) {
80            var ch = str[pos];
81            if (ch === brackets[0]) {
82                bracket++;
83            }
84            if (ch === brackets[1]) {
85                bracket--;
86            }
87            if (ch === token && bracket < 1) {
88                result.push(str.substr(startPos, pos - startPos));
89                startPos = pos + token.length;
90            }
91            pos++;
92        }
93        result.push(str.substr(startPos, pos - startPos));
94        return result;
95    };
96
97    var byteToHex = function (d) {
98        var hex = Number(d).toString(16);
99        while (hex.length < 2) {
100            hex = "0" + hex;
101        }
102        return hex;
103    };
104
105    for (i = 0; i < document.styleSheets.length; i++) {
106        var s = document.styleSheets[i];
107        var r = [s];
108        for (j = 0; j < s.imports.length; j++) {
109            r.push(s.imports[j]);
110        }
111        for (j = 0; j < r.length; j++) {
112            s = r[j];
113            var n = [];
114            for (k = 0; k < s.rules.length; k++) {
115                var css = s.rules[k].cssText || s.rules[k].style.cssText;
116                if (!css) {
117                    continue;
118                }
119                var value = splitByTokens(css, '-svg-background:', ';');
120                if (value === '') {
121                    continue;
122                }
123                var values = splitWithBrackets(value);
124                for (l = 0; l < values.length; l++) {
125                    var g = splitByTokens(values[l], 'linear-gradient(', ')', true);
126                    if (g === '') {
127                        continue;
128                    }
129                    var args = splitWithBrackets(g);
130                    if (args.length < 3) {
131                        continue;
132                    }
133                    var maxOffset = 0;
134                    var stops = [];
135                    for (m = 1; m < args.length; m++) {
136                        var stopValues = splitWithBrackets($.trim(args[m]), ' ');
137                        if (stopValues.length < 2) {
138                            continue;
139                        }
140                        var stopColor = $.trim(stopValues[0]);
141                        var stopOpacity = 1;
142                        if (stopColor == 'transparent') {
143                            stopColor = '#000000';
144                            stopOpacity = 0;
145                        }
146                        var colorRgba = splitByTokens(stopColor, 'rgba(', ')', true);
147                        var stopOffset = $.trim(stopValues[1]);
148                        if (colorRgba !== "") {
149                            var rgba = colorRgba.split(',');
150                            if (rgba.length < 4) {
151                                continue;
152                            }
153                            stopColor = '#' + byteToHex(rgba[0]) + byteToHex(rgba[1]) + byteToHex(rgba[2]);
154                            stopOpacity = rgba[3];
155                        }
156                        var isPx = stopOffset.indexOf('px') !== -1;
157                        if (isPx) {
158                            maxOffset = Math.max(maxOffset, parseInt(stopOffset, 10) || 0);
159                        }
160                        stops.push({ offset: stopOffset, color: stopColor, opacity: stopOpacity, isPx: isPx });
161                    }
162                    var stopsXML = '';
163                    var lastStop = null;
164                    for (m = 0; m < stops.length; m++) {
165                        if (stops[m].isPx) {
166                            stops[m].offset = ((parseInt(stops[m].offset, 10) || 0) / (maxOffset / 100)) + '%';
167                        }
168                        stopsXML += '<stop offset="' + stops[m].offset + '" stop-color="' + stops[m].color + '" stop-opacity="' + stops[m].opacity + '"/>';
169                        if (m === stops.length - 1) {
170                            lastStop = stops[m];
171                        }
172                    }
173                    var isLeft = $.trim(args[0]) === 'left';
174                    var direction = 'x1="0%" y1="0%" ' + (isLeft ? 'x2="100%" y2="0%"' : 'x2="0%" y2="
174100%"');
175                    var gradientLength = '100%';
176                    if (maxOffset > 0) {
177                        gradientLength = maxOffset + 'px';
178                    }
179                    var size = (isLeft ? 'width="' + gradientLength + '" height="100%"' : 'width="100%" height="' + gradientLength + '"');
180                    var last = "";
181                    if (lastStop !== null && maxOffset > 0) {
182                        last = '<rect ' +
183                            (isLeft ?
184                                'x="' + maxOffset + '" y="0"' :
185                                'x="0" y="' + maxOffset + '"') +
186                            ' width="100%" height="100%" style="fill:' + lastStop.color + ';opacity:' + lastStop.opacity + ';"/>';
187
188                    }
189                    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>';
190                    values[l] = values[l].replace('linear-gradient(' + g + ')', 'url(data:image/svg+xml,' + escape(svgGradient) + ')');
191                }
192                n.push({ s: s.rules[k].selectorText, v: 'background: ' + values.join(",") });
193            }
194            for (k = 0; k < n.length; k++) {
195                s.addRule(n[k].s, n[k].v);
196            }
197        }
198    }
199});
200
201
202jQuery(function ($) {
203    "use strict";
204    // ie8
205    if (!browser.ie || browser.version > 8) return;
206    $('.art-shapes').each(function () {
207        if ($(this).siblings('.art-slider').length) {
208            $(this).remove();
209        } else {
210            $(this).css('z-index', 1);
211        }
212    });
213
214    // ie7
215    if (!browser.ie || browser.version > 7) return;
216    var textblockTexts = $('.art-textblock div[class$="-text"]');
217    textblockTexts.each(function () {
218        var tbText = $(this);
219        var valign = tbText.css('vertical-align') ? tbText.css('vertical-align') : 'top';
220        if (valign === 'middle') {
221            var wrapper = tbText.wrap('<div/>').parent();
222            tbText.css({
223                'position': 'relative',
224                'top': '-50%',
225                'height': 'auto'
226            });
227            wrapper.css({
228                'position': 'absolute',
229                'top': '50%'
230            });
231        } else if (valign === 'bottom') {
232            tbText.css({
233                'position': 'absolute',
234                'height': 'auto',
235                'bottom': 0
236            });
237        }
238    });
239});
240
241/* Set wmode=transparent for youtube and other video hostings to show it under the menus, lightboxes etc. */
242jQuery(function ($) {
243    "use strict";
244    var video = ["youtube"];
245
246    $("iframe[src]").each(function () {
247        var iframe = $(this),
248            src = iframe.attr("src"),
249            isVideo = false,
250            i;
251
252        for (i = 0; i < video.length; i++) {
253            if (src.toLowerCase().indexOf(video[i].toLowerCase()) !== -1) {
254                isVideo = true;
255                break;
256            }
257        }
258
259        if (!isVideo) {
260            return;
261        }
262
263        if (src.lastIndexOf("?") !== -1) {
264            src += "&amp;wmode=transparent";
265        } else {
266            src += "?wmode=transparent";
267        }
268        iframe.attr("src", src);
269    });
270});
271
272jQuery(function ($) {
273    "use strict";
274    $(window).bind("resize", function () { navigatorResizeHandler($("html").hasClass("responsive")); });
275});
276
277var navigatorResizeHandler = (function ($) {
278    "use strict";
279    return function (responsiveDesign) {
280        if (responsiveDesign) return;
281        $(".art-slider").each(function () {
282            var slider = $(this);
283            var sliderWidth = slider.width();
284            var nav = slider.siblings(".art-slidenavigator");
285            var navWidth = nav.outerWidth();
286            if (nav.length && navWidth < sliderWidth) {
287                // left offset
288                var left = nav.attr("data-left");
289                // (margin = containerWidth - (objectPosition + objectWidth)) < 0
290                var margin = sliderWidth - sliderWidth * parseFloat(left) / 100 - nav.outerWidth(false);
291                if (margin < 0) {
292                    nav.css("margin-left", margin);
293                }
294            }
295        });
296    };
297})(jQuery);
298
299var processElementMultiplyBg = (function ($) {
300    return (function (selector, info) {
301        if (!selector || !info || !info.bgimage || !info.bgposition || !info.images || !info.positions) return;
302        if (typeof customHeaderImage != 'undefined') info.images = '';
303        var path = "";
304        var script = $('head script[src*="script.js"]');
305        if (script.length) {
306            path = (script.attr('src') || '');
307            path = path.substr(0, path.lastIndexOf('/') + 1);
308        }
309        var html = '';
310        var el = $(selector);
311        var bgimages = info.images.split(",");
312        var bgpositions = info.positions.split(",");
313        for (var i = bgimages.length - 1; i >= 0; i--) {
314            var bgimage = $.trim(bgimages[i]);
315            if (bgimage === "")
316                continue;
317            var imgIdx = bgimage.lastIndexOf('images/');
318            var className = bgimage.substring(imgIdx + 7, bgimage.length - 6);
319            el.append("<div class=\"ie8fix " + className + "\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;background:" + bgimage.replace(/(images\/[^\/]+)$/, path + '$1') + " " + bgpositions[i] + " no-repeat\"></div>");
320        }
321        el.css('background-image', info.bgimage.replace(/(images\/[^\/]+)$/, path + '$1'));
322        el.css('background-position-x', "50%");
323        el.css('background-position-y', "50%");
324    });
325})(jQuery);
326
327
328var responsiveNavigator = (function ($) {
329    "use strict";
330    return function () {
331        if (typeof headerObjectResizer !== 'undefined' && headerObjectResizer.isPreview) return;
332
333        var sheet = $('.art-sheet');
334        var sheetWidth = sheet.outerWidth();
335
336        $(".art-slider").each(function () {
337            var currentSlider = $(this);
338            var currentSliderWidth = currentSlider.width();
339
340            var sliderNavigator = currentSlider.siblings(".art-slidenavigator");
341            if (sliderNavigator.length) {
342                var off = sheetLeftFunc(sheet, sliderNavigator);
343                var calcWidth = isContentSlider(sliderNavigator) ? currentSliderWidth : sheetWidth;
344
345                var navigatorWidth = sliderNavigator.outerWidth();
346                var offset = parseInt(sliderNavigator.attr('data-offset') || 0, 10);
347
348                // left offset
349                sliderNavigator.css('margin-left', '0px');
350
351                var left = parseFloat(sliderNavigator.attr("data-left"), 10);
352                var newLeft = off + uniToPx(left, navigatorWidth, calcWidth);
353                sliderNavigator.css('left', newLeft + 'px');
354
355
356                // reset top to original value
357                sliderNavigator.css("top", "");
358
359                // top
360                var navigatorHeight = sliderNavigator.outerHeight();
361                var uniy = parseFloat(sliderNavigator.attr('data-top'), 10);
362
363                var sliderHeight = parseInt(currentSlider.css('height'), 10);
364                var newTop = uniToPx(uniy, navigatorHeight, sliderHeight);
365
366                sliderNavigator.css("top", (newTop + offset) + 'px');
367            }
368        });
369    };
370})(jQuery);
371
372jQuery(function ($) {
373    "use strict";
374
375    if (typeof responsiveDesign === "undefined") {
376        $(window).bind("resize", responsiveNavigator);
377    }
378
379    $(window).on("load", function pageInitialize() {
380        $(window).trigger("resize");
381        $(window).off("load", pageInitialize);
382    });
383});
384
385jQuery(function ($) {
386    "use strict";
387    if ($('#art-main').children('header.art-header').length) {
388        $('#art-menu-bg').insertAfter($('header.art-header'));
389    }
390});
391
392
393/* Icons in Header should have display block.
394 * Otherwise, in case of inline-block there's a space gap in some browsers (Opera 12.16) and icon is cutted.
395 */
396if (browser.opera) {
397    jQuery(function ($) {
398        $(".art-header a[class$='tag-icon']").css("display", "block");
399    });
400}
401
402jQuery(function($) {
403    "use strict";
404     $(window).bind("resize", function () {
405        /*global responsiveDesign */
406        "use strict";
407        if (typeof responsiveDesign !== "undefined" && responsiveDesign.isResponsive)
408            return;
409        var sheetLeft = $(".art-sheet").offset().left;
410        $("header.art-header #art-flash-area").each(function () {
411            var object = $(this);
412            object.css("left", sheetLeft + "px");
413        });
414    });
415});
416
417jQuery(function($) {
418    "use strict";
419    $('nav.art-nav').addClass("desktop-nav");
420});
421
422jQuery(window).bind('resize', (function ($) {
423    "use strict";
424    return function() {
425        var menu = jQuery("nav.art-nav");
426        var menuOffset = menu.offset();
427        var pageOffset = jQuery('#art-main').offset();
428        if (!menuOffset || !pageOffset) {
429            return;
430        }
431        jQuery("#art-hmenu-bg").css({
432            "height": menu.outerHeight() + "px",
433            "top": (menuOffset.top - pageOffset.top) + "px"
434        });
435    };
436})(jQuery));
437
438
439jQuery(function ($) {
440    "use strict";
441    if (!browser.ie || browser.version > 7) {
442        return;
443    }
444    $('ul.art-hmenu>li:not(:first-child)').each(function () { $(this).prepend('<span class="art-hmenu-separator"> </span>'); });
445});
446
447jQuery(function ($) {
448    "use strict";
449    $("ul.art-hmenu a:not([href])").attr('href', '#').click(function (e) { e.preventDefault(); });
450});
451
452
453jQuery(function ($) {
454    "use strict";
455    if (!browser.ie || browser.version > 7) {
456        return;
457    }
458
459    /* Fix width of submenu items.
460    * The width of submenu item calculated incorrectly in IE6-7. IE6 has wider items, IE7 dis
460play items like stairs.
461    */
462    $.each($("ul.art-hmenu ul"), function () {
463        var maxSubitemWidth = 0;
464        var submenu = $(this);
465        var subitem = null;
466        $.each(submenu.children("li").children("a"), function () {
467            subitem = $(this);
468            var subitemWidth = subitem.outerWidth(false);
469            if (maxSubitemWidth < subitemWidth) {
470                maxSubitemWidth = subitemWidth;
471            }
472        });
473        if (subitem !== null) {
474            var subitemBorderLeft = parseInt(subitem.css("border-left-width"), 10) || 0;
475            var subitemBorderRight = parseInt(subitem.css("border-right-width"), 10) || 0;
476            var subitemPaddingLeft = parseInt(subitem.css("padding-left"), 10) || 0;
477            var subitemPaddingRight = parseInt(subitem.css("padding-right"), 10) || 0;
478            maxSubitemWidth -= subitemBorderLeft + subitemBorderRight + subitemPaddingLeft + subitemPaddingRight;
479            submenu.children("li").children("a").css("width", maxSubitemWidth + "px");
480        }
481    });
482});
483
484jQuery(function ($) {
485    "use strict";
486    var setDirection = function() {
487        setHMenuOpenDirection({
488            container: "div.art-sheet",
489            defaultContainer: "#art-main",
490            menuClass: "art-hmenu",
491            leftToRightClass: "art-hmenu-left-to-right",
492            rightToLeftClass: "art-hmenu-right-to-left"
493        });
494    };
495    if (typeof responsiveDesign !== "undefined") {
496        $(window).on('responsive', setDirection);
497    } else {
498        setDirection();
499    }
500});
501
502var setHMenuOpenDirection = (function ($) {
503    "use strict";
504    return (function(menuInfo) {
505        var defaultContainer = $(menuInfo.defaultContainer);
506        defaultContainer = defaultContainer.length > 0 ? defaultContainer = $(defaultContainer[0]) : null;
507
508        $("ul." + menuInfo.menuClass + ">li>ul").each(function () {
509            var submenu = $(this);
510
511            var submenuWidth = submenu.outerWidth(false);
512            var submenuLeft = submenu.offset().left;
513
514            var mainContainer = submenu.parents(menuInfo.container);
515            mainContainer = mainContainer.length > 0 ? mainContainer = $(mainContainer[0]) : null;
516
517            var container = mainContainer || defaultContainer;
518            if (container !== null) {
519                var containerLeft = container.offset().left;
520                var containerWidth = container.outerWidth(false);
521
522                if (submenuLeft + submenuWidth >= containerLeft + containerWidth) {
523                    /* right to left */
524                    submenu.addClass(menuInfo.rightToLeftClass).find("ul").addClass(menuInfo.rightToLeftClass);
525                } else if (submenuLeft <= containerLeft) {
526                    /* left to right */
527                    submenu.addClass(menuInfo.leftToRightClass).find("ul").addClass(menuInfo.leftToRightClass);
528                }
529            }
530        });
531    });
532})(jQuery);
533
534
535var menuExtendedCreate = (function ($) {
536    "use strict";
537    return function () {
538        var sheet = $(".art-sheet");
539        var sheetLeft = sheet.offset().left;
540        var sheetWidth = sheet.width();
541
542        $(".art-hmenu>li").each(function(i, v) {
543            var itm = $(this);
544            var subm = itm.children("ul");
545            if (subm.length === 0) {
546                return;
547            }
548
549            // reset
550            itm.removeClass("ext ext-r ext-l");
551            itm.css("width", "").find(".ext-off,.ext-m,.ext-l,.ext-r").remove();
552            subm.children("li").children("a").css("width", "");
553
554            var lw = 0, rw = 0;
555        
556            if (typeof subm.attr("data-ext-l") !== "undefined" && typeof subm.attr("data-ext-r") !== "undefined") {
557                lw = parseInt(subm.attr("data-ext-l"), 10) + 0;
558                rw = parseInt(subm.attr("data-ext-r"), 10) + 0;
559                itm.addClass("ext-r").addClass("ext-l");
560            } else {
561                var ltr = !subm.hasClass("art-hmenu-right-to-left");
562                itm.addClass(ltr ? "ext-r" : "ext-l");
563            }
564
565            var shadow = 0;
566            if (subm.length > 0) {
567                var lnk = itm.children("a");
568                var lnkWidth = lnk.outerWidth(false);
569                itm.css("width", Math.round(parseFloat(lnkWidth, 10)) + "px");
570                var menubarMargin = 5 * 2; // margin * 2 sides
571                var menubarBorder = 1 * 2; // border 1 side
572                var submWidth = subm.width() + shadow + menubarMargin + menubarBorder;
573                var w = submWidth - lnkWidth;
574                $("<div class=\"ext-m\"></div>").insertBefore(lnk);
575                if (w < 0) {
576                    var submA = subm.children("li").children("a");
577                    var pL = parseInt(submA.css("padding-left").replace("px", ""), 10) || 0;
578                    var pR = parseInt(submA.css("padding-right").replace("px", ""), 10) || 0;
579                    var bL = parseInt(submA.css("border-left").replace("px", ""), 10) || 0;
580                    var bR = parseInt(submA.css("border-right").replace("px", ""), 10) || 0;
581                    subm.children("li").children("a").css("width", (lnkWidth - pL - pR - bL - bR) + "px");
582                    submWidth = subm.width() + shadow + menubarMargin + menubarBorder;
583                    w = submWidth - lnkWidth;
584                }
585                $("<div class=\"ext-l\" style=\"width: " + (lw > 0 ? lw : Math.round(parseFloat(w, 10))) + "px;\"></div>").insertBefore(lnk);
586                $("<div class=\"ext-r\" style=\"width: " + (rw > 0 ? rw : Math.round(parseFloat(w, 10))) + "px;\"></div>").insertBefore(lnk);
587                itm.addClass("ext");
588            }
589        });
590    };
591})(jQuery);
592jQuery(window).load(menuExtendedCreate);
593
594jQuery(function ($) {
595    'use strict';
596    $(window).bind('resize', function () {
597        var bh = $('body').height();
598        var mh = 0;
599        var c = $('div.art-content');
600        c.removeAttr('style');
601
602        $('#art-main').children().each(function() {
603            if ($(this).css('position') !== 'absolute') {
604                mh += $(this).outerHeight(true);
605            }
606        });
607        
608        if (mh < bh) {
609            var r = bh - mh;
610            c.css('height', (c.parent().outerHeight(true) + r) + 'px');
611        }
612    });
613
614    if (browser.ie && browser.version < 8) {
615        $(window).bind('resize', function() {
616            var c = $('div.art-content');
617            var s = c.parent().children('.art-layout-cell:not(.art-content)');
618            var w = 0;
619            c.hide();
620            s.each(function() { w += $(this).outerWidth(true); });
621            c.w = c.parent().width(); c.css('width', c.w - w + 'px');
622            c.show();
623        });
624    }
625
626    $(window).trigger('resize');
627});
628
629jQuery(function($) {
630    "use strict";
631    if (!$('html').hasClass('ie7')) {
632        return;
633    }
634    $('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>'); });
635});
636
637
638
639var artButtonSetup = (function ($) {
640    'use strict';
641    return (function (className) {
642        $.each($("a." + className + ", button." + className + ", input." + className), function (i, val) {
643            var b = $(val);
644            if (!b.hasClass('art-button')) {
645                b.addClass('art-button');
646            }
647            if (b.is('input')) {
648                b.val(b.val().replace(/^\s*/, '')).css('zoom', '1');
649            }
650            b.mousedown(function () {
651                var b = $(this);
652                b.addClass("active");
653            });
654            b.mouseup(function () {
655                var b = $(this);
656                if (b.hasClass('active')) {
657                    b.removeClass('active');
658                }
659            });
660            b.mouseleave(function () {
661                var b = $(this);
662                if (b.hasClass('active')) {
663                    b.removeClass('active');
664                }
665            });
666        });
667    });
668})(jQuery);
669jQuery(function () {
670    'use strict';
671    artButtonSetup("art-button");
672});
673
674jQuery(function($) {
675    'use strict';
676    $('input.art-search-button, form.art-search input[type="submit"]').attr('value', '');
677});
678
679var Control = (function ($) {
680    'use strict';
681    return (function () {
682        this.init = function(label, type, callback) {
683            var chAttr = label.find('input[type="' +type + '"]').attr('checked');
684            if (chAttr === 'checked') {
685              label.addClass('art-checked');
686            }
687
688            label.mouseleave(function () {
689              $(this).removeClass('hovered').removeClass('active');
690            });
691            label.mouseover(function () {
692              $(this).addClass('hovered').removeClass('active');
693            });
694            label.mousedown(function (event) {
695              if (event.which !== 1) {
696                  return;
697              }
698              $(this).addClass('active').removeClass('hovered');
699            });
700            label.mouseup(function (event) {
701              if (event.which !== 1) {
702                  return;
703              }
704              callback.apply(this);
705              $(this).removeClass('active').addClass('hovered');
706            });
707        };
708    });
709})(jQuery);
710
711
712jQuery(function ($) {
713    'use strict';
714    $('.art-pager').contents().filter(
715        function () {
716            return this.nodeType === this.TEXT_NODE;
717        }
718    ).remove();
719});
720var fixRssIconLineHeight = (function ($) {
721    "use strict";
722    return function (className) {
723        $("." + className).css("line-height", $("." + className).height() + "px");
724    };
725})(jQuery);
726
727jQuery(function ($) {
728    "use strict";
729    var rssIcons = $(".art-rss-tag-icon");
730    if (rssIcons.length){
731        fixRssIconLineHeight("art-rss-tag-icon");
732        if (browser.ie && browser.version < 9) {
733            rssIcons.each(function () {
734                if ($.trim($(this).html()) === "") {
735                    $(this).css("vertical-align", "middle");
736                }
737            });
738        }
739    }
740});
741var ThemeLightbox = (function ($) {
742    'use strict';
743    return (function () {
744        var images = $(".art-lightbox");
745        var current;
746        this.init = function (ctrl) {
747            $(".art-lightbox").mouseup({ _ctrl: ctrl }, function (e) {
748                if ((e.data._ctrl === true && !e.ctrlKey) || (e.which && e.which !== 1)) {
749                    return;
750                }
751
752                images = $(".art-lightbox");
753
754                current = images.index(this);
755
756                var imgContainer = $('.art-lightbox-wrapper');
757                if (imgContainer.length === 0) {
758                    imgContainer = $('<div class="art-lightbox-wrapper">').css('line-height', $(window).height() + "px")
759                    .appendTo($("body"));
760
761                    var closeBtn = $('<div class="close"><div class="cw"> </div><div class="ccw"> </div><div class="close-alt">&#10007;</div></div>')
762                .click(close);
763                    closeBtn.appendTo(imgContainer);
764                    showArrows();
765                }
766
767                move(current);
768            });
769        };
770
771        function move(index) {
772            if (index < 0 || index >= images.length) {
773                return;
774            }
775
776            showError(false);
777
778            current = index;
779
780            $(".art-lightbox-wrapper .art-lightbox-image:not(.active)").remove();
781
782            var active = $(".art-lightbox-wrapper .active");
783            var target = $('<img class="art-lightbox-image" alt="" src="' + getFullImgSrc($(images[current]).attr("src")) + '" />').click(function () {
784                if ($(this).hasClass("active")) {
785                    move(current + 1);
786                }
787            });
788
789            if (active.length > 0) {
790                active.after(target);
791            } else {
792                $(".art-lightbox-wrapper").append(target);
793            }
794
795            showArrows();
796            showLoader(true);
797
798            bindMouse($(".art-lightbox-wrapper").add(target));
799
800            target.load(function () {
801                showLoader(false);
802
803                active.removeClass("active");
804                target.addClass("active");
805            });
806
807            target.error(function () {
808                showLoader(false);
809                active.removeClass("active");
810                target.addClass("active");
811                target.attr("src", $(images[current]).attr("src"));
812            });
813        }
814
815        function showArrows() {
816            if ($(".art-lightbox-wrapper .arrow").length === 0) {
817                $(".art-lightbox-wrapper").append(
818                    $('<div class="arrow left"><div class="arrow-t ccw"> </div><div class="arrow-b cw"> </div><div class="arrow-left-alt">&#8592;</div></div>')
819                        .css("top", $(window).height() / 2 - 40)
820                        .click(function () {
821                            if (!$(this).hasClass("disabled")) {
822                                move(current - 1);
823                            }
824                        })
825                );
826                $(".art-lightbox-wrapper").append(
827                    $('<div class="arrow right"><div class="arrow-t cw"> </div><div class="arrow-b ccw"> </div><div class="arrow-right-alt">&#8594;</div></div>')
828                        .css("top", $(window).height() / 2 - 40)
829                        .click(function () {
830                            if (!$(this).hasClass("disabled")) {
831                                move(current + 1);
832                            }
833                        })
834                );
835            }
836
837            if (current === 0) {
838                $(".art-lightbox-wrapper .arrow.left").addClass("disabled");
839            } else {
840                $(".art-lightbox-wrapper .arrow.left").removeClass("disabled");
841            }
842
843            if (current === images.length - 1) {
844                $(".art-lightbox-wrapper .arrow.right").addClass("disabled");
845            } else {
846                $(".art-lightbox-wrapper .arrow.right").removeClass("disabled");
847            }
848        }
849
850        function showError(enable) {
851            if (enable) {
852                $(".art-lightbox-wrapper").append($('<div class="lightbox-error">The requested content cannot be loaded.<br/>Please try again later.</div>')
853                        .css({ "top": $(window).height() / 2 - 60, "left": $(window).width() / 2 - 170 }));
854            } else {
855                $(".art-lightbox-wrapper .lightbox-error").remove();
856            }
857        }
858
859        function showLoader(enable) {
860            if (!enable) {
861                $(".art-lightbox-wrapper .loading").remove();
862            }
863            else {
864                $('<div class="loading"> </div>').css({ "top": $(window).height() / 2 - 16, "left": $(window).width() / 2 - 16 }).appendTo($(".art-lightbox-wrapper"));
865            }
866        }
867
868        var close = function () {
869            $(".art-lightbox-wrapper").remove();
870        };
871
872        function bindMouse(img) {
873            img.bind('mousewheel DOMMouseScroll', function (e) {
874                var orgEvent = window.event || e.originalEvent;
875                var delta = (orgEvent.wheelDelta ? orgEvent.wheelDelta : orgEvent.detail * -1) > 0 ? 1 : -1;
876                move(current + delta);
877                e.preventDefault();
878            }).mousedown(function (e) {
879                // close on middle button click
880                if (e.which === 2) {
881                    close();
882                }
883                e.preventDefault();
884            });
885        }
886
887        function getFullImgSrc(src) {
888            var fileName = src.substring(0, src.lastIndexOf('.'));
889            var ext = src.substring(src.lastIndexOf('.'));
890            return fileName + "-large" + ext;
891        }
892
893    });
894})(jQuery);
895
896jQuery(function () {
897    'use strict';
898    new ThemeLightbox().init();
899});
900
901(function ($) {
902    'use strict';
903    // transition && transitionEnd && browser prefix
904    $.support.themeTransition = (function () {
905        var thisBody = document.body || document.documentElement,
906            thisStyle = thisBody.style,
907            support = thisStyle.transition !== undefined ||
908                thisStyle.WebkitTransition !== undefined ||
909                thisStyle.MozTransition !== undefined ||
910                thisStyle.MsTransition !== undefined ||
911                thisStyle.OTransition !== undefined;
912        return support && {
913            event: (function () {
914                return "transitionend webkitTransitionEnd otransitionend oTransitionEnd";
915            })(),
916            prefix: (function () {
917                return ({
918                    opera: "-o-",
919                    firefox: "-moz-",
920                    chrome: "-webkit-",
921                    safari: "-webkit-",
922                    ie: ""
923                }[browser.name] || "");
924            })()
925        };
926    })();
927
928    window.BackgroundHelper = function () {
929        var slides = [];
930        var direction = "next";
931        var motion = "horizontal";
932        var width = 0;
933        var height = 0;
934        var multiplier = 1;
935        var originalWidth = 0;
936        var originalHeight = 0;
937        var transitionDuration = "";
938
939        this.init = function (motionType, dir, duration) {
940            direction = dir;
941            motion = motionType;
942            slides = [];
943            width = 0;
944            height = 0;
945            multiplier = 1;
946            originalWidth = 0;
947            originalHeight = 0;
948            transitionDuration = duration;
949        };
950
951        this.processSlide = function (element, modify) {
952            this.updateSize(element, null);
953            var pos = [];
954
955            var bgPosition = element.css("background-position");
956            var positions = bgPosition.split(",");
957            $.each(positions, function (i) {
958                var position = $.trim(this);
959                var point = position.split(" ");
960                var zeroValue = browser.ie && browser.version >= 10 ? 0.1 : 0;
961                if (point.length > 1) {
962                    var x = point[0].indexOf('%') === -1 ? parseFloat(point[0], 10) : zeroValue;
963                    var y = point[1].indexOf('%') === -1 ? parseFloat(point[1], 10) : zeroValue;
964                    pos.push({ x: x, y: y });
965                } else {
966                    pos.push({ x: zeroValue, y: zeroValue });
967                }
968            });
969
970            slides.push({
971                "images": element.css("background-image"),
972                "sizes": element.css("background-size"),
973                "positions": pos
974            });
975
976            if (modify)
977                element.css("background-image", "none");
978        };
979
980        this.updateSize = function (element, initialSize) {
981            width = element.outerWidth(false);
982            height = element.outerHeight();
983            if (initialSize && parseInt(initialSize.width, 10) !== 0) {
984                originalWidth = parseInt(initialSize.width, 10);
985                originalHeight = parseInt(initialSize.height, 10);
986                if (motion === "fade") {
987                    $.each(element.children(), function (i) {
988                        $(this).css("background-position", getCssPositions(slides[i].positions, { x: 0, y: 0 }));
989                    });
990                }
991            }
992        };
993
994        this.setBackground = function (element, items) {
995            var bg = [];
996            var sizes = [];
997            $.each(items, function (i, o) {
998                bg.push(o.images);
999                sizes.push(o.sizes);
1000            });
1001            element.css({
1002                "background-image": bg.join(", "),
1003                //"background-size": sizes.join(", "),
1004                "background-repeat": "no-repeat"
1005            });
1006        };
1007
1008        this.setPosition = function (element, items) {
1009            var pos = [];
1010            $.each(items, function (i, o) {
1011                pos.push(o.positions);
1012            });
1013            element.css({
1014                "background-position": pos.join(", ")
1015            });
1016        };
1017
1018        this.current = function (index) {
1019            return slides[index] || null;
1020        };
1021
1022        this.next = function (index) {
1023            var next;
1024            if (direction === "next") {
1025                next = (index + 1) % slides.length;
1026            } else {
1027                next = index - 1;
1028                if (next < 0) {
1029                    next = slides.length - 1;
1030                }
1031            }
1032            return slides[next];
1033        };
1034
1035        this.items = function (prev, next, move) {
1036            var prevItem = { x: 0, y: 0 };
1037            var nextItem = { x: 0, y: 0 };
1038            var isDirectionNext = direction === "next";
1039            var verticalOffset = -(originalHeight - height) / 2;
1040            var horizontalOffset = -(originalWidth - width) / 2;
1041            if (motion === "horizontal") {
1042                prevItem.y = nextItem.y = -(originalHeight - height) / 2;
1043                prevItem.x = horizontalOffset;
1044                nextItem.x = (isDirectionNext ? originalWidth : -originalWidth) + horizontalOffset;
1045                if (move) {
1046                    prevItem.x += isDirectionNext ? -originalWidth : originalWidth;
1047                    nextItem.x += isDirectionNext ? -originalWidth : originalWidth;
1048                }
1049            } else if (motion === "vertical") {
1050                prevItem.x = nextItem.x = horizontalOffset;
1051                prevItem.y = verticalOffset;
1052                nextItem.y = (isDirectionNext ? originalHeight : -originalHeight) + verticalOffset;
1053                if (move) {
1054                    prevItem.y += isDirectionNext ? -originalHeight : originalHeight;
1055                    nextItem.y += isDirectionNext ? -originalHeight : originalHeight;
1056                }
1057            }
1058            var result = [];
1059            if (!!prev) {
1060                result.push({ images: prev.images, positions: getCssPositions(prev.positions, prevItem), sizes: prev.sizes });
1061            }
1062            if (!!next) {
1063                result.push({ images: next.images, positions: getCssPositions(next.positions, nextItem), sizes: next.sizes });
1064            }
1065
1066            if (direction === "next") {
1067                result.reverse();
1068            }
1069
1070            return result;
1071        };
1072
1073        this.transition = function (container, on) {
1074            container.css($.support.themeTransition.prefix + "transition", on ? "background-position " + transitionDuration + " ease-in-out" : "");
1075        };
1076
1077        function getCssPositions(positions, offset) {
1078            var result = [];
1079            if (positions === undefined) {
1080                return "";
1081            }
1082            offset.x = offset.x || 0;
1083            offset.y = offset.y || 0;
1084            for (var i = 0; i < positions.length; i++) {
1085                result.push((positions[i].x * 1 + offset.x) + "px " + (positions[i].y * 1 + offset.y) + "px");
1086            }
1087            return result.join(", ");
1088        }
1089    };
1090
1091
1092    var ThemeSlider = function (element, settings) {
1093
1094        var interval = null;
1095        var active = false;
1096        var children = element.find(".active").parent().children();
1097        var last = false;
1098        var running = false;
1099
1100        this.settings = $.extend({}, {
1101            "animation": "horizontal",
1102            "direction": "next",
1103            "speed": 600,
1104            "pause": 2500,
1105            "auto": true,
1106            "repeat": true,
1107            "navigator": null,
1108            "clickevents": true,
1109            "hover": true,
1110            "helper": null
1111        }, settings);
1112
1113        this.move = function (direction, next) {
1114            var activeItem = element.find(".active"),
1115                nextItem = next || activeItem[direction](),
1116                innerDirection = this.settings.direction === "next" ? "forward" : "back",
1117                reset = direction === "next" ? "first" : "last",
1118                moving = interval,
1119                slider = this, tmp;
1120
1121            active = true;
1122
1123            if (moving) { this.stop(true); }
1124
1125            if (!nextItem.length) {
1126                nextItem = element.find(".art-slide-item")[reset]();
1127                if (!this.settings.repeat) { last = true; active = false; return; }
1128            }
1129
1130            if ($.support.themeTransition) {
1131                nextItem.addClass(this.settings.direction);
1132                tmp = nextItem.get(0).offsetHeight;
1133
1134                activeItem.addClass(innerDirection);
1135                nextItem.addClass(innerDirection);
1136
1137                element.trigger("beforeSlide", children.length);
1138
1139                element.one($.support.themeTransition.event, function () {
1140                    nextItem.removeClass(slider.settings.direction)
1141                        .removeClass(innerDirection)
1142                        .addClass("active");
1143                    activeItem.removeClass("active")
1144                        .removeClass(innerDirection);
1145                    active = false;
1146                    setTimeout(function () {
1147                        element.trigger("afterSlide", children.length);
1148                    }, 0);
1149                });
1150            } else {
1151                element.trigger("beforeSlide", children.length);
1152
1153                activeItem.removeClass("active");
1154                nextItem.addClass("active");
1155                active = false;
1156
1157                element.trigger("afterSlide", children.length);
1158            }
1159
1160            this.navigate(nextItem);
1161
1162            if (moving) { this.start(); }
1163        };
1164
1165        this.navigate = function (position) {
1166            var index = children.index(position);
1167            $(this.settings.navigator).children().removeClass("active").eq(index).addClass("active");
1168        };
1169
1170        this.to = function (index) {
1171            var activeItem = element.find(".active"),
1172                children = activeItem.parent().children(),
1173                activeIndex = children.index(activeItem),
1174                slider = this;
1175
1176            if (index > (children.length - 1) || index < 0) {
1177                return;
1178            }
1179
1180            if (active) {
1181                return element.one("afterSlide", function () {
1182                    slider.to(index);
1183                });
1184            }
1185
1186            if (activeIndex === index) {
1187                return;
1188            }
1189
1190            this.move(index > activeIndex ? "next" : "prev", $(children[index]));
1191        };
1192
1193        this.next = function () {
1194            if (!active) {
1195                if (last) { this.stop(); return; }
1196                this.move("next");
1197            }
1198        };
1199
1200        this.prev = function () {
1201            if (!active) {
1202                if (last) { this.stop(); return; }
1203                this.move("prev");
1204            }
1205        };
1206
1207        this.start = function (force) {
1208            if (!!force) {
1209                setTimeout($.proxy(this.next, this), 10);
1210            }
1211            interval = setInterval($.proxy(this.next, this), this.settings.pause);
1212            running = true;
1213        };
1214
1215        this.stop = function (pause) {
1216            clearInterval(interval);
1217            interval = null;
1218            running = !!pause;
1219            active = false;
1220        };
1221
1222        this.active = function () {
1223            return running;
1224        };
1225
1226        this.moving = function () {
1227            return active;
1228        };
1229
1230        this.navigate(children.filter(".active"));
1231
1232        if (this.settings.clickevents) {
1233            $(this.settings.navigator).on("click", "a", { slider: this }, function (event) {
1234                var activeIndex = children.index(children.filter(".active"));
1235                var index = $(this).parent().children().index($(this));
1236                if (activeIndex !== index) {
1237                    event.data.slider.to(index);
1238                }
1239                event.preventDefault();
1240            });
1241        }
1242
1243        if (this.settings.hover) {
1244            var slider = this;
1245            element.add(this.settings.navigator)
1246                   .add(element.siblings(".art-shapes")).hover(function () {
1247                       if (element.is(":visible") && !last) { slider.stop(true); }
1248                   }, function () {
1249                       if (element.is(":visible") && !last) { slider.start(); }
1250                   });
1251        }
1252    };
1253
1254    $.fn.themeSlider = function (arg) {
1255        return this.each(function () {
1256            var element = $(this),
1257                data = element.data("slider"),
1258                options = typeof arg === "object" && arg;
1259
1260            if (!data) {
1261                data = new ThemeSlider(element, options);
1262                element.data("slider", data);
1263            }
1264
1265            if (typeof arg === "string" && data[arg]) {
1266                data[arg]();
1267            } else if (data.settings.auto && element.is(":visible")) {
1268                data.start();
1269            }
1270        });
1271    };
1272
1273})(jQuery);
1274
1275
1276
1277
1278if (typeof window.resizeData === 'undefined') window.resizeData = {};
1279window.resizeData.headerPageWidth = false;
1280if (typeof window.defaultResponsiveData === 'undefined') window.defaultResponsiveData = [false, true, true, true, true, ];
1281
1282// used to apply compicated values in style like '!important!
1283function applyCss(object, param, value) {
1284    var rg = new RegExp(param + '\s*:\s*[^;]+;', "i");
1285    var style = object.attr('style');
1286    var str = param + ': ' + value + ';';
1287    if (rg.test(style)) {
1288        style = style.replace(rg, str);
1289    }
1290    else {
1291        style += '; ' + str;
1292    }
1293
1294    object.attr('style', style);
1295}
1296
1297// convert universal coord to pixels
1298function uniToPx(uni, size, parentSize) {
1299    uni = parseFloat(uni || '0');
1300    if (uni < 0) {
1301        uni = uni * size;
1302    } else if (uni >= 1) {
1303        uni = parentSize - (2 - uni) * size;
1304    } else {
1305        uni = uni * (parentSize - size);
1306    }
1307
1308    return uni;
1309}
1310
1311function isContentSlider(object) {
1312    var isHeader = object.parents('header').length > 0;
1313    if (isHeader) {
1314        return false;
1315    }
1316    var isPageSlider = object.parents('.art-pageslider').length > 0;
1317    if (isPageSlider)
1318        return false;
1319
1320    return true;
1321}
1322
1323function sheetLeftFunc(sheet, object) {
1324    var sheetLeft = sheet.offset().left;
1325
1326    var isHeader = object.parents('header').length > 0;
1327    if (isHeader) {
1328        if (resizeData.headerPageWidth) return sheetLeft;
1329    } else {
1330        var isPageSlider = object.parents('.art-pageslider').length > 0;
1331        if (isPageSlider) {
1332            if (resizeData.pageSliderPageWidth) return sheetLeft;
1333        }
1334    }
1335
1336    return 0;
1337}
1338
1339var headerObjectResizer = {
1340    
1341    postInit: false,
1342
1343    resize: (function ($) {
1344        'use strict';
1345        return function () {
1346            if (!headerObjectResizer.postInit && typeof responsiveDesign !== 'undefined') {
1347                $(window).on('responsiveResize', headerObjectResizer.resize);
1348                headerObjectResizer.postInit = true;
1349            }
1350
1351            var responsiveType = 0;
1352            // if we don't use full custom responsive so we MUST cleanup all styles
1353            var cleanUpStyles = false;
1354            // when use default respo so while in desktop mode always use 0-type, in other case cleanup our styles
1355            if (typeof responsiveDesign !== 'undefined' && 
1356                    defaultResponsiveData[responsiveDesign.responsiveTypeIdx] &&
1357                    responsiveDesign.isResponsive) {
1358                cleanUpStyles = true;
1359            }
1360
1361            if (typeof responsiveDesign !== 'undefined') {
1362                if (responsiveDesign.responsiveType === 'tabletlandscape') {
1363                    responsiveType = 1;
1364                } else if (responsiveDesign.responsiveType === 'tabletportrait') {
1365                    responsiveType = 2;
1366                } else if (responsiveDesign.responsiveType === 'phonelandscape') {
1367                    responsiveType = 3;
1368                } else if (responsiveDesign.responsiveType === 'phoneportrait') {
1369                    responsiveType = 4;
1370                }
1371            }
1372
1373            var sheet = $('.art-sheet');
1374            var sheetWidth = sheet.outerWidth();
1375
1376            var header = $('header');
1377            var height = 0;
1378            var cssPrefix = 'art-';
1379
1380            // move html shapes
1381            var headerQuery = 'header.art-header .art-shapes>*, header.art-header .art-textblock, header.art-header>.art-headline, header.art-header>.art-slogan, header.art-header>.art-positioncontrol, header.art-header>.art-logo';
1382            var pageSliderQuery = '.art-pageslider .art-slide-item>*';
1383            if (headerObjectResizer.isPreview) {
1384                headerQuery = 'header .art-slider';
1385                pageSliderQuery = '.art-pageslider .art-slider, .art-pageslider .art-textblock';
1386            }
1387            $(headerQuery + ', ' + pageSliderQuery).each(function () {
1388                var object = $(this);
1389                height = object.parent().height();
1390
1391                var off = sheetLeftFunc(sheet, object);
1392
1393                var cls = object.attr('class').split(' ');
1394                $.each(cls, function (key, val) {
1395                    val = $.trim(val);
1396                    if (val.length === 0) return;
1397                    if (val.indexOf(cssPrefix) !== 0) return;
1398
1399                    val = val.substring(cssPrefix.length);
1400                    var data = resizeData[val];
1401                    if (typeof data === 'undefined') return;
1402
1403                    if (cleanUpStyles) {
1404                        object.css('display', '');
1405                        object.css('left', '');
1406                        object.css('margin-left', '');
1407                    }
1408
1409                    var respData = data.responsive[responsiveType];
1410                    if (respData.visible) {
1411                        object.css('display', '');
1412                    } else {
1413                        applyCss(object, 'display', 'none !important');
1414                    }
1415
1416                    if (cleanUpStyles || !respData.visible) return false;
1417
1418                    var x = uniToPx(respData.left, data.autoWidth ? object.width() : data.width, sheetWidth);
1419                    x += off;
1420
1421                    var y = uniToPx(respData.top, data.height, height);
1422
1423                    object.css('left', x + 'px');
1424                    object.css('top', y + 'px');
1425                    applyCss(object, 'margin-left', '0px !important');
1426                    return false;
1427                });
1428            });
1429
1430            // move images in slide's background-images
1431            var slides = $('.art-slide-item').add(header);
1432            if (browser.ie && browser.version <= 8) {
1433                slides = slides.add('.art-slide-item .ie8fix');
1434            }
1435            $.each(slides, function (slideIdx, slide) {
1436                slide = $(slide);
1437
1438                if (slide.closest('.art-collage').length > 0 || cleanUpStyles) {
1439                    slide.css('background-position', '');
1440                    return;
1441                }
1442
1443                var slideVisible = slide.is(':visible');
1444                if (!slideVisible && browser.ie) {
1445                    slide.css('display', 'block');
1446                }
1447
1448                var off = sheetLeftFunc(sheet, slide);
1449
1450                if (browser.ie && browser.version <= 8) {
1451                    var s = slide.attr('style');
1452                    if (s) {
1453                        s = s.replace(/background\-position[^;]+/, '');
1454                        slide.attr('style', s);
1455                    }
1456                } else {
1457                    slide.css('background-position', '');
1458                }
1459                slide.css('background-size', '');
1460
1461                var bgImage = slide.css('background-image') ? slide.css('background-image').split(',') : [];
1462                var bgPosition = slide.css('background-position') && (slide.css('background-position').replace(/[0][^\d]+/gi, '')).length > 0 ?
1463                    slide.css('background-position').split(',') :
1464                    [];
1465                if (bgImage.length !== bgPosition.length) {
1466                    slide.css('display', '');
1467                    return;
1468                }
1469
1470                height = slide.height();
1471                if (height === 0) height = slide.parent().height();
1472
1473                $.each(bgImage, function (idx, val) {
1474                    var findImageIdx = val.lastIndexOf('images/');
1475                    var findDotIdx = val.lastIndexOf('.');
1476                    if (findImageIdx === -1 || findDotIdx === -1) return;
1477
1478                    var name = val.substring(findImageIdx + 7, findDotIdx);
1479
1480                    var data = resizeData[name];
1481                    if (typeof data === 'undefined') return;
1482
1483                    var respData = data.responsive[responsiveType];
1484                    // big default coordinates for hiding
1485                    var x = 9999, y = 9999;
1486                    if (respData.visible) {
1487                        x = uniToPx(respData.left, data.width, sheetWidth);
1488                        x += off + data.area.x;
1489
1490                        y = uniToPx(respData.top, data.height, height);
1491                        y += data.area.y;
1492                    }
1493
1494                    bgPosition[idx] = x + 'px ' + y + 'px';
1495                });
1496
1497                slide.css('background-position', bgPosition.join(','));
1498
1499                if (!slideVisible && browser.ie) {
1500                    slide.css('display', '');
1501                }
1502            });
1503
1504        };
1505    })(jQuery),
1506
1507    initialize: function ($) {
1508        if (!browser.ie || browser.version > 8) {
1509            $(window).on('resize', this.resize);
1510        } else {
1511            var resizeTimeout;
1512            var self = this;
1513            $(window).on("resize", function () {
1514                clearTimeout(resizeTimeout);
1515                resizeTimeout = setTimeout(function () { self.resize(); }, 25);
1516            });
1517        }
1518    }
1519};
1520
1521headerObjectResizer.initialize(jQuery);
1522jQuery(function ($) {
1523    "use strict";
1524    if (!browser.ie || browser.version > 8)
1525        return;
1526    processElementMultiplyBg(".art-header", {
1527        "bgimage": "url('images/header.png')",
1528        "bgposition": "center top",
1529        "images": "",
1530        "positions": ""
1531    });
1532});
1533if (typeof window.resizeData === 'undefined') window.resizeData = {};
1534
1535window.resizeData.pageSliderPageWidth = false;
1536
1537
1538jQuery(function ($) {
1539    'use strict';
1540    artButtonSetup("button");
1541    
1542    var indexURL = $('link[rel="home"]').attr('href');
1543    var iframeTagPart = ['<iframe frameBorder="0" allowtransparency="true" ' , 'background-color:transparent;filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);"></iframe>'];
1544    if(indexURL && $('header.clickable').length) {
1545        if($('#art-header-bg').length) {
1546            $('header').append(
1547                (browser.ie ? iframeTagPart[0] + 'style="position:absolute;height:100%;width:40000px;left:-20000px;' + iframeTagPart[1] : '' ) +
1548                '<a style="position:absolute;height:100%;width:40000px;left:-20000px;top:0px;z-index:99;" href="' + indexURL + '"></a>');
1549        } else {
1550            $('header').append(
1551                (browser.ie ? iframeTagPart[0] + 'style="position:absolute;height:100%;width:100%;' + iframeTagPart[1] : '' ) +
1552                '<a style="position:absolute;height:100%;width:100%;outline:" href="' + indexURL + '"></a>');
1553        }
1554    }
1555});

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.