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 += "&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">✗</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">←</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">→</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.