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