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 $('.ig-slider .ig-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 $('.ig-shapes').css('z-index', 1); 211 212 // ie7 213 if (!$.browser.msie || $.browser.version > 7) return; 214 var textblockTexts = $('.ig-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 $(".ig-slider").each(function () { 267 var slider = $(this); 268 var sliderWidth = slider.width(); 269 var nav = slider.siblings(".ig-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(function($) { 283 "use strict"; 284 $('nav.ig-nav').addClass("desktop-nav"); 285}); 286 287 288jQuery(function ($) { 289 "use strict"; 290 if (!$.browser.msie || parseInt($.browser.version, 10) > 7) { 291 return; 292 } 293 $('ul.ig-hmenu>li:not(:first-child)').each(function () { $(this).prepend('<span class="ig-hmenu-separator"> </span>'); }); 294}); 295 296jQuery(function ($) { 297 "use strict"; 298 $("ul.ig-hmenu a:not([href])").attr('href', '#').click(function (e) { e.preventDefault(); }); 299}); 300 301 302jQuery(function ($) { 303 "use strict"; 304 if (!$.browser.msie) { 305 return; 306 } 307 var ieVersion = parseInt($.browser.version, 10); 308 if (ieVersion > 7) { 309 return; 310 } 311 312 /* Fix width of submenu items. 313 * The width of submenu item calculated incorrectly in IE6-7. IE6 has wider items, IE7 dis
313play items like stairs. 314 */ 315 $.each($("ul.ig-hmenu ul"), function () { 316 var maxSubitemWidth = 0; 317 var submenu = $(this); 318 var subitem = null; 319 $.each(submenu.children("li").children("a"), function () { 320 subitem = $(this); 321 var subitemWidth = subitem.outerWidth(false); 322 if (maxSubitemWidth < subitemWidth) { 323 maxSubitemWidth = subitemWidth; 324 } 325 }); 326 if (subitem !== null) { 327 var subitemBorderLeft = parseInt(subitem.css("border-left-width"), 10) || 0; 328 var subitemBorderRight = parseInt(subitem.css("border-right-width"), 10) || 0; 329 var subitemPaddingLeft = parseInt(subitem.css("padding-left"), 10) || 0; 330 var subitemPaddingRight = parseInt(subitem.css("padding-right"), 10) || 0; 331 maxSubitemWidth -= subitemBorderLeft + subitemBorderRight + subitemPaddingLeft + subitemPaddingRight; 332 submenu.children("li").children("a").css("width", maxSubitemWidth + "px"); 333 } 334 }); 335}); 336jQuery(function () { 337 "use strict"; 338 setHMenuOpenDirection({ 339 container: "div.ig-sheet", 340 defaultContainer: "#ig-main", 341 menuClass: "ig-hmenu", 342 leftToRightClass: "ig-hmenu-left-to-right", 343 rightToLeftClass: "ig-hmenu-right-to-left" 344 }); 345}); 346 347var setHMenuOpenDirection = (function ($) { 348 "use strict"; 349 return (function(menuInfo) { 350 var defaultContainer = $(menuInfo.defaultContainer); 351 defaultContainer = defaultContainer.length > 0 ? defaultContainer = $(defaultContainer[0]) : null; 352 353 $("ul." + menuInfo.menuClass + ">li>ul").each(function () { 354 var submenu = $(this); 355 356 var submenuWidth = submenu.outerWidth(false); 357 var submenuLeft = submenu.offset().left; 358 359 var mainContainer = submenu.parents(menuInfo.container); 360 mainContainer = mainContainer.length > 0 ? mainContainer = $(mainContainer[0]) : null; 361 362 var container = mainContainer || defaultContainer; 363 if (container !== null) { 364 var containerLeft = container.offset().left; 365 var containerWidth = container.outerWidth(false); 366 367 if (submenuLeft + submenuWidth >= containerLeft + containerWidth) { 368 /* right to left */ 369 submenu.addClass(menuInfo.rightToLeftClass).find("ul").addClass(menuInfo.rightToLeftClass); 370 } else if (submenuLeft <= containerLeft) { 371 /* left to right */ 372 submenu.addClass(menuInfo.leftToRightClass).find("ul").addClass(menuInfo.leftToRightClass); 373 } 374 } 375 }); 376 }); 377})(jQuery); 378 379 380jQuery(window).bind("resize", (function ($) { 381 /*global responsiveDesign */ 382 "use strict"; 383 return function () { 384 if (typeof responsiveDesign !== "undefined" && responsiveDesign.isResponsive) 385 return; 386 var sheetLeft = $(".ig-sheet").offset().left; 387 $("header.ig-header #ig-flash-area").each(function () { 388 var object = $(this); 389 object.css("left", sheetLeft + "px"); 390 }); 391 }; 392})(jQuery)); 393 394jQuery(function ($) { 395 'use strict'; 396 397 if ($.browser.msie && parseInt($.browser.version, 10) < 8) { 398 $(window).bind('resize', function() { 399 var c = $('div.ig-content'); 400 var s = c.parent().children('.ig-layout-cell:not(.ig-content)'); 401 var w = 0; 402 c.hide(); 403 s.each(function() { w += $(this).outerWidth(true); }); 404 c.w = c.parent().width(); c.css('width', c.w - w + 'px'); 405 c.show(); 406 }); 407 } 408 409 $(window).trigger('resize'); 410}); 411 412jQuery(function($) { 413 "use strict"; 414 if (!$('html').hasClass('ie7')) { 415 return; 416 } 417 $('ul.ig-vmenu li:not(:first-child),ul.ig-vmenu li li li:first-child,ul.ig-vmenu>li>ul').each(function () { $(this).append('<div class="ig-vmenu-separator"> </div><div class="ig-vmenu-separator-bg"> </div>'); }); 418}); 419jQuery(function() { 420 "use strict"; 421 setOpenSubmenuWithHover({vMenuClass: "ig-vmenu", activeClass: "active", hoveredClass: "hovered"}); 422}); 423 424(function ($) { 425 "use strict"; 426 $.fn.hoverIntent = function (f, g) { 427 var cfg = { 428 sensitivity: 7, 429 interval: 100, 430 timeout: 0 431 }; 432 cfg = $.extend(cfg, g ? { 433 over: f, 434 out: g 435 } : f); 436 var cX, cY, pX, pY; 437 var track = function (ev) { 438 cX = ev.pageX; 439 cY = ev.pageY 440 }; 441 var compare = function (ev, ob) { 442 ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); 443 if ((Math.abs(pX - cX) + Math.abs(pY - cY)) < cfg.sensitivity) { 444 $(ob).unbind("mousemove", track); 445 ob.hoverIntent_s = 1; 446 return cfg.over.apply(ob, [ev]) 447 } else { 448 pX = cX; 449 pY = cY; 450 ob.hoverIntent_t = setTimeout(function () { 451 compare(ev, ob) 452 }, cfg.interval) 453 } 454 };
455 var delay = function (ev, ob) { 456 ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); 457 ob.hoverIntent_s = 0; 458 return cfg.out.apply(ob, [ev]) 459 }; 460 var handleHover = function (e) { 461 var ev = $.extend({}, e); 462 var ob = this; 463 if (ob.hoverIntent_t) { 464 ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t) 465 } 466 if (e.type == "mouseenter") { 467 pX = ev.pageX; 468 pY = ev.pageY; 469 $(ob).bind("mousemove", track); 470 if (ob.hoverIntent_s != 1) { 471 ob.hoverIntent_t = setTimeout(function () { 472 compare(ev, ob) 473 }, cfg.interval) 474 } 475 } else { 476 $(ob).unbind("mousemove", track); 477 if (ob.hoverIntent_s == 1) { 478 ob.hoverIntent_t = setTimeout(function () { 479 delay(ev, ob) 480 }, cfg.timeout) 481 } 482 } 483 }; 484 return this.bind('mouseenter', handleHover).bind('mouseleave', handleHover) 485 } 486})(jQuery); 487 488var setOpenSubmenuWithHover = (function ($) { 489 "use strict"; 490 return (function(vMenuInfo) { 491 $("ul." + vMenuInfo.vMenuClass + " li").each(function () { 492 var item = $(this); 493 var simple = item.children("ul").length === 0; 494 if (!simple) { 495 item.children("a").hoverIntent({interval: 200, over: function() { 496 var link = $(this); 497 hideVMenuSubmenus(link, vMenuInfo.activeClass); 498 showVMenuSubmenu(link, vMenuInfo.activeClass, vMenuInfo.hoveredClass, false); 499 }, out: function () { }}); 500 } 501 item.children("a").bind("click", function(e) { 502 var link = $(this); 503 hideVMenuSubmenus(link, vMenuInfo.activeClass); 504 showVMenuSubmenu(link, vMenuInfo.activeClass, vMenuInfo.hoveredClass, simple); 505 }); 506 }); 507 }); 508})(jQuery); 509 510var showVMenuSubmenu = (function ($) { 511 "use strict"; 512 return (function(link, activeClass, hoveredClass, simple) { 513 if (simple) { 514 if (!link.hasClass(activeClass)) { 515 link.addClass(activeClass); 516 } 517 return; 518 } 519 if (!link.hasClass(activeClass)) { 520 link.siblings("ul").slideDown("fast", function() { 521 $(this).siblings("a").removeClass(hoveredClass); 522 $(this).addClass(activeClass).siblings("a").addClass(activeClass); 523 $(this).css("display", ""); 524 }); 525 } 526 }); 527})(jQuery); 528 529var hideVMenuSubmenus = (function ($) { 530 "use strict"; 531 return (function(link, activeClass) { 532 link.parent().siblings().children("ul." + activeClass).slideUp(function() { 533 $(this).find("a, ul").removeClass(activeClass); 534 $(this).removeClass(activeClass).siblings("a").removeClass(activeClass); 535 $(this).css("display", ""); 536 }); 537 link.parent().siblings().children("a." + activeClass).removeClass(activeClass); 538 }); 539})(jQuery); 540 541 542var artButtonSetup = (function ($) { 543 'use strict'; 544 return (function (className) { 545 $.each($("a." + className + ", button." + className + ", input." + className), function (i, val) { 546 var b = $(val); 547 if (!b.hasClass('ig-button')) { 548 b.addClass('ig-button'); 549 } 550 if (b.is('input')) { 551 b.val(b.val().replace(/^\s*/, '')).css('zoom', '1'); 552 } 553 b.mousedown(function () { 554 var b = $(this); 555 b.addClass("active"); 556 }); 557 b.mouseup(function () { 558 var b = $(this); 559 if (b.hasClass('active')) { 560 b.removeClass('active'); 561 } 562 }); 563 b.mouseleave(function () { 564 var b = $(this); 565 if (b.hasClass('active')) { 566 b.removeClass('active'); 567 } 568 }); 569 }); 570 });
571})(jQuery); 572jQuery(function () { 573 'use strict'; 574 artButtonSetup("ig-button"); 575}); 576 577jQuery(function($) { 578 'use strict'; 579 $('input.ig-search-button, form.ig-search input[type="submit"]').attr('value', ''); 580}); 581 582var Control = (function ($) { 583 'use strict'; 584 return (function () { 585 this.init = function(label, type, callback) { 586 var chAttr = label.find('input[type="' +type + '"]').attr('checked'); 587 if (chAttr === 'checked') { 588 label.addClass('ig-checked'); 589 } 590 591 label.mouseleave(function () { 592 $(this).removeClass('hovered').removeClass('active'); 593 }); 594 label.mouseover(function () { 595 $(this).addClass('hovered').removeClass('active'); 596 }); 597 label.mousedown(function (event) { 598 if (event.which !== 1) { 599 return; 600 } 601 $(this).addClass('active').removeClass('hovered'); 602 }); 603 label.mouseup(function (event) { 604 if (event.which !== 1) { 605 return; 606 } 607 callback.apply(this); 608 $(this).removeClass('active').addClass('hovered'); 609 }); 610 }; 611 }); 612})(jQuery); 613 614 615jQuery(function ($) { 616 'use strict'; 617 $('.ig-pager').contents().filter( 618 function () { 619 return this.nodeType === this.TEXT_NODE; 620 } 621 ).remove(); 622}); 623var fixRssIconLineHeight = (function ($) { 624 "use strict"; 625 return function (className) { 626 $("." + className).css("line-height", $("." + className).height() + "px"); 627 }; 628})(jQuery); 629 630jQuery(function ($) { 631 "use strict"; 632 var rssIcons = $(".ig-rss-tag-icon"); 633 if (rssIcons.length){ 634 fixRssIconLineHeight("ig-rss-tag-icon"); 635 if ($.browser.msie && parseInt($.browser.version, 10) < 9) { 636 rssIcons.each(function () { 637 if ($.trim($(this).html()) === "") { 638 $(this).css("vertical-align", "middle"); 639 } 640 }); 641 } 642 } 643}); 644/** 645* @license 646* jQuery Tools 1.2.6 Mousewheel 647* 648* NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE. 649* 650* http://flowplayer.org/tools/toolbox/mousewheel.html 651* 652* based on jquery.event.wheel.js ~ rev 1 ~ 653* Copyright (c) 2008, Three Dub Media 654* http://threedubmedia.com 655* 656* Since: Mar 2010 657* Date: 658*/ 659(function ($) { 660 'use strict'; 661 $.fn.mousewheel = function (fn) { 662 return this[fn ? "bind" : "trigger"]("wheel", fn); 663 }; 664 665 // special event config 666 $.event.special.wheel = { 667 setup: function () { 668 $.event.add(this, wheelEvents, wheelHandler, {}); 669 }, 670 teardown: function () { 671 $.event.remove(this, wheelEvents, wheelHandler); 672 } 673 }; 674 675 // events to bind ( browser sniffed... ) 676 var wheelEvents = !$.browser.mozilla ? "mousewheel" : // IE, opera, safari 677 "DOMMouseScroll" + ($.browser.version < "1.9" ? " mousemove" : ""); // firefox 678 679 // shared event handler 680 function wheelHandler(event) { 681 /*jshint validthis:true*/ 682 683 switch (event.type) { 684 685 // FF2 has incorrect event positions 686 case "mousemove": 687 return $.extend(event.data, { // store the correct properties 688 clientX: event.clientX, clientY: event.clientY, 689 pageX: event.pageX, pageY: event.pageY 690 }); 691 692 // firefox 693 case "DOMMouseScroll": 694 $.extend(event, event.data); // fix event properties in FF2 695 event.delta = -event.detail / 3; // normalize delta 696 break; 697 698 // IE, opera, safari 699 case "mousewheel": 700 event.delta = event.wheelDelta / 120; 701 break; 702 } 703 704 event.type = "wheel"; // hijack the event 705 return $.event.handle.call(this, event, event.delta); 706 } 707 708})(jQuery); 709 710 711var ThemeLightbox = (function ($) { 712 'use strict'; 713 return (function () { 714 var current; 715 var images = $(".ig-lightbox"); 716 717 this.init = function (ctrl) { 718 $(".ig-lightbox").live("click", { _ctrl: ctrl }, function (e) { 719 720 if (e.data._ctrl === true && !e.ctrlKey) { 721 return; 722 } 723 724 reload(); 725 current = images.index(this); 726 show(this); 727 }); 728 729 $(".ig-lightbox-wrapper .arrow.left:not(.disabled)").live("click", function () { 730 move(current - 1); 731 }); 732 733 $(".ig-lightbox-wrapper .arrow.right:not(.disabled)").live("click", function () { 734 move(current + 1); 735 }); 736 737 $(".ig-lightbox-wrapper .active").live("click", function () { 738 move(current + 1); 739 }); 740 741 $(".ig-lightbox-wrapper .close").live("click", function () { 742 close(); 743 }); 744 }; 745 746 function show(src) { 747 var closeBtn = $('<div class="close"><div class="cw"> </div><div class="ccw"> </div><div class="close-alt">✗</div></div>') 748 .click(close); 749 750 var imgContainer = $('.ig-lightbox-wrapper'); 751 if (imgContainer.length === 0) {
752 imgContainer = $('<div class="ig-lightbox-wrapper">').css('line-height', $(window).height() + "px") 753 .appendTo($("body")); 754 } 755 756 var img = $('<img class="ig-lightbox-image active" src="' + getFullImgSrc($(src).attr("src")) + '">'); 757 img.appendTo(imgContainer); 758 759 showArrows(); 760 closeBtn.appendTo(imgContainer); 761 showLoader(true); 762 763 img.load(function () { 764 showLoader(false); 765 }); 766 767 img.error(function () { 768 showLoader(false); 769 img.attr("src", $(src).attr("src")); 770 }); 771 772 bindMouse($(".ig-lightbox-wrapper .arrow").add(img).add(imgContainer)); 773 } 774 775 function reload() { 776 images = $(".ig-lightbox"); 777 } 778 779 function move(index) { 780 if (index < 0 || index >= images.length) { 781 return; 782 } 783 784 showError(false); 785 786 current = index; 787 788 $(".ig-lightbox-wrapper .ig-lightbox-image:not(.active)").remove(); 789 790 var active = $(".ig-lightbox-wrapper .active"); 791 var target = $('<img class="ig-lightbox-image" alt="" src="' + getFullImgSrc($(images[current]).attr("src")) + '" />'); 792 793 active.after(target); 794 795 showArrows(); 796 showLoader(true); 797 798 bindMouse($(".ig-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 ($(".ig-lightbox-wrapper .arrow").length === 0) { 817 $(".ig-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)); 818 $(".ig-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)); 819 } 820 821 if (current === 0) { 822 $(".ig-lightbox-wrapper .arrow.left").addClass("disabled"); 823 } else { 824 $(".ig-lightbox-wrapper .arrow.left").removeClass("disabled"); 825 } 826 827 if (current === images.length - 1) { 828 $(".ig-lightbox-wrapper .arrow.right").addClass("disabled"); 829 } else { 830 $(".ig-lightbox-wrapper .arrow.right").removeClass("disabled"); 831 } 832 } 833 834 function showError(enable) { 835 if (enable) { 836 $(".ig-lightbox-wrapper").append($('<div class="lightbox-error">Der angeforderte Inhalt kann nicht geladen werden. <br/>Bitte später noch einmal versuchen.</div>') 837 .css({ "top": $(window).height() / 2 - 60, "left": $(window).width() / 2 - 170 })); 838 } else { 839 $(".ig-lightbox-wrapper .lightbox-error").remove(); 840 } 841 } 842 843 function showLoader(enable) { 844 if (!enable) { 845 $(".ig-lightbox-wrapper .loading").remove(); 846 } 847 else { 848 $('<div class="loading"> </div>').css({ "top": $(window).height() / 2 - 16, "left": $(window).width() / 2 - 16 }).appendTo($(".ig-lightbox-wrapper")); 849 } 850 } 851 852 var close = function () { 853 $(".ig-lightbox-wrapper").remove(); 854 }; 855 856 function bindMouse(img) { 857 img.unbind("wheel").mousewheel(function (event, delta) { 858 delta = delta > 0 ? 1 : -1; 859 move(current + delta); 860 event.preventDefault(); 861 }); 862 863 img.mousedown(function (e) { 864 // close on middle button click 865 if (e.which === 2) { 866 close(); 867 } 868 e.preventDefault(); 869 }); 870 } 871 872 function getFullImgSrc(src) { 873 var fileName = src.substring(0, src.lastIndexOf('.')); 874 var ext = src.substring(src.lastIndexOf('.')); 875 src = fileName + "-large" + ext; 876 877 return src; 878 } 879 880 });
881})(jQuery); 882 883jQuery(function () { 884 'use strict'; 885 new ThemeLightbox().init(); 886}); 887 888(function($) { 889 'use strict'; 890 // transition && transitionEnd && browser prefix 891 $.support.transition = (function() { 892 var thisBody = document.body || document.documentElement, 893 thisStyle = thisBody.style, 894 support = thisStyle.transition !== undefined || 895 thisStyle.WebkitTransition !== undefined || 896 thisStyle.MozTransition !== undefined || 897 thisStyle.MsTransition !== undefined || 898 thisStyle.OTransition !== undefined; 899 return support && { 900 event: (function() { 901 var e = "transitionend"; 902 if ($.browser.opera) { 903 var version = parseFloat($.browser.version); 904 e = version >= 12 ? (version < 12.50 ? "otransitionend" : "transitionend") : "oTransitionEnd"; 905 } else if ($.browser.webkit) { 906 e = "webkitTransitionEnd"; 907 } 908 return e; 909 })(), 910 prefix: (function() { 911 var result; 912 $.each($.browser, function(key, value) { 913 if (key === "version") { 914 return true; 915 } 916 return (result = { 917 opera: "-o-", 918 mozilla: "-moz-", 919 webkit: "-webkit-", 920 msie: "-ms-" 921 }[key]) ? false : true; 922 }); 923 return result || ""; 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 transitionDuration = ""; 936 937 this.init = function(motionType, dir, duration) { 938 direction = dir; 939 motion = motionType; 940 slides = []; 941 width = 0; 942 height = 0; 943 multiplier = 1; 944 transitionDuration = duration; 945 }; 946 947 this.processSlide = function(element, modify) { 948 this.updateSize(element, null); 949 var pos = []; 950 951 var bgPosition = element.css("background-position"); 952 var positions = bgPosition.split(","); 953 $.each(positions, function (i) { 954 var position = $.trim(this); 955 var point = position.split(" "); 956 if (point.length > 1) { 957 var x = parseInt(point[0], 10); 958 var y = parseInt(point[1], 10); 959 pos.push({ x: x, y: y }); 960 } 961 }); 962 963 slides.push({ 964 "images": element.css("background-image"), 965 "sizes": element.css("background-size"), 966 "positions": pos 967 }); 968 969 if (modify) 970 element.css("background-image", "none"); 971 }; 972 973 this.updateSize = function (element, initialSize) { 974 width = element.outerWidth(false); 975 height = element.outerHeight(); 976 if (initialSize && parseInt(initialSize.width, 10) !== 0) { 977 multiplier = width / initialSize.width; 978 if (motion === "fade") { 979 $.each(element.children(), function (i) { 980 $(this).css("background-position", getCssPositions(slides[i].positions, { x: 0, y: 0 })); 981 }); 982 } 983 } 984 }; 985 986 this.setBackground = function(element, items) { 987 var bg = []; 988 var sizes = []; 989 $.each(items, function (i, o) { 990 bg.push(o.images); 991 sizes.push(o.sizes); 992 }); 993 element.css({ 994 "background-image": bg.join(", "), 995 "background-size": sizes.join(", "), 996 "background-repeat": "no-repeat" 997 }); 998 }; 999 1000 this.setPosition = function(element, items) { 1001 var pos = []; 1002 $.each(items, function(i, o) { 1003 pos.push(o.positions); 1004 }); 1005 element.css({ 1006 "background-position": pos.join(", ") 1007 }); 1008 }; 1009 1010 this.current = function(index) { 1011 return slides[index] || null; 1012 }; 1013 1014 this.next = function(index) { 1015 var next; 1016 if (direction === "next") { 1017 next = (index + 1) % slides.length; 1018 } else { 1019 next = index - 1; 1020 if (next < 0) { 1021 next = slides.length - 1; 1022 } 1023 } 1024 return slides[next]; 1025 }; 1026 1027 this.items = function(prev, next, move) { 1028 var prevItem = { x: 0, y: 0 }; 1029 var nextItem = { x: 0, y: 0 }; 1030 var isDirectionNext = direction === "next"; 1031 if (motion === "horizontal") { 1032 nextItem.x = isDirectionNext ? width : -width; 1033 nextItem.y = 0; 1034 if (move) { 1035 prevItem.x += isDirectionNext ? -width : width; 1036 nextItem.x += isDirectionNext ? -width : width; 1037 } 1038 } else if (motion === "vertical") { 1039 nextItem.x = 0; 1040 nextItem.y = isDirectionNext ? height : -height; 1041 if (move) { 1042 prevItem.y += isDirectionNext ? -height : height; 1043 nextItem.y += isDirectionNext ? -height : height; 1044 } 1045 } 1046 var result = [ ]; 1047 if (!!prev) { 1048 result.push({ images: prev.images, positions: getCssPositions(prev.positions, prevItem), sizes: prev.sizes }); 1049 } 1050 if (!!next) { 1051 result.push({ images: next.images, positions: getCssPositions(next.positions, nextItem), sizes: next.sizes }); 1052 } 1053 1054 if (direction === "next") { 1055 result.reverse(); 1056 } 1057 1058 return result; 1059 }; 1060 1061 this.transition = function(container, on) { 1062 container.css($.support.transition.prefix + "transition", on ? transitionDuration + " ease-in-out background-position" : ""); 1063 }; 1064 1065 function getCssPositions(positions, offset) { 1066 var result = []; 1067 if (positions === undefined) { 1068 return ""; 1069 } 1070 offset.x = offset.x || 0; 1071 offset.y = offset.y || 0; 1072 for (var i = 0; i < positions.length; i++) { 1073 result.push((positions[i].x * multiplier + offset.x) + "px " + (positions[i].y * multiplier + offset.y) + "px"); 1074 } 1075 return result.join(", "); 1076 } 1077 }; 1078 1079 1080 var Slider = function (element, settings) { 1081 1082 var interval = null; 1083 var active = false; 1084 var children = element.find(".active").parent().children();
1085 var last = false; 1086 var running = false; 1087 1088 this.settings = $.extend({ }, { 1089 "animation": "horizontal", 1090 "direction": "next", 1091 "speed": 600, 1092 "pause": 2500, 1093 "auto": true, 1094 "repeat": true, 1095 "navigator": null, 1096 "clickevents": true, 1097 "hover": true, 1098 "helper": null 1099 }, settings); 1100 1101 this.move = function (direction, next) { 1102 var activeItem = element.find(".active"), 1103 nextItem = next || activeItem[direction](), 1104 innerDirection = this.settings.direction === "next" ? "forward" : "back", 1105 reset = direction === "next" ? "first" : "last", 1106 moving = interval, 1107 slider = this, tmp; 1108 1109 active = true; 1110 1111 if (moving) { this.stop(true); } 1112 1113 if (!nextItem.length) { 1114 nextItem = element.find(".ig-slide-item")[reset](); 1115 if (!this.settings.repeat) { last = true; active = false; return; } 1116 } 1117 1118 if ($.support.transition) { 1119 nextItem.addClass(this.settings.direction); 1120 tmp = nextItem.get(0).offsetHeight; 1121 1122 activeItem.addClass(innerDirection); 1123 nextItem.addClass(innerDirection); 1124
1125 element.trigger("beforeSlide", children.length); 1126 1127 element.one($.support.transition.event, function () { 1128 nextItem.removeClass(slider.settings.direction) 1129 .removeClass(innerDirection) 1130 .addClass("active"); 1131 activeItem.removeClass("active") 1132 .removeClass(innerDirection); 1133 active = false; 1134 setTimeout(function () { 1135 element.trigger("afterSlide", children.length); 1136 }, 0); 1137 }); 1138 } else { 1139 element.trigger("beforeSlide", children.length); 1140 1141 activeItem.removeClass("active"); 1142 nextItem.addClass("active"); 1143 active = false; 1144 1145 element.trigger("afterSlide", children.length); 1146 } 1147 1148 this.navigate(nextItem); 1149 1150 if (moving) { this.start(); } 1151 }; 1152 1153 this.navigate = function (position) { 1154 var index = children.index(position); 1155 $(this.settings.navigator).children().removeClass("active").eq(index).addClass("active"); 1156 }; 1157 1158 this.to = function (index) { 1159 var activeItem = element.find(".active"), 1160 children = activeItem.parent().children(), 1161 activeIndex = children.index(activeItem), 1162 slider = this; 1163 1164 if (index > (children.length - 1) || index < 0) { 1165 return; 1166 } 1167 1168 if (active) { 1169 return element.one("afterSlide", function () { 1170 slider.to(index); 1171 }); 1172 } 1173 1174 if (activeIndex === index) { 1175 return; 1176 } 1177 1178 this.move(index > activeIndex ? "next" : "prev", $(children[index])); 1179 }; 1180 1181 this.next = function () { 1182 if (!active) { 1183 if (last) { this.stop(); return; } 1184 this.move("next"); 1185 } 1186 }; 1187 1188 this.prev = function () { 1189 if (!active) { 1190 if (last) { this.stop(); return; } 1191 this.move("prev"); 1192 } 1193 }; 1194 1195 this.start = function (force) { 1196 if (!!force) { 1197 setTimeout($.proxy(this.next, this), 10); 1198 } 1199 interval = setInterval($.proxy(this.next, this), this.settings.pause); 1200 running = true; 1201 }; 1202 1203 this.stop = function (pause) { 1204 clearInterval(interval); 1205 interval = null; 1206 running = !!pause; 1207 active = false; 1208 }; 1209 1210 this.active = function () { 1211 return running; 1212 }; 1213 1214 this.moving = function () { 1215 return active; 1216 }; 1217 1218 this.navigate(children.filter(".active")); 1219 1220 if (this.settings.clickevents) { 1221 $(this.settings.navigator).on("click", "a", { slider: this }, function (event) { 1222 var activeIndex = children.index(children.filter(".active")); 1223 var index = $(this).parent().children().index($(this)); 1224 if (activeIndex !== index) { 1225 event.data.slider.to(index); 1226 } 1227 event.preventDefault(); 1228 }); 1229 } 1230 1231 if (this.settings.hover) { 1232 var slider = this; 1233 element.add(this.settings.navigator) 1234 .add(element.siblings(".ig-shapes")).hover(function () { 1235 if (element.is(":visible") && !last) { slider.stop(true); } 1236 }, function () { 1237 if (element.is(":visible") && !last) { slider.start(); } 1238 }); 1239 } 1240 }; 1241 1242 $.fn.slider = function (arg) { 1243 return this.each(function () { 1244 var element = $(this), 1245 data = element.data("slider"), 1246 options = typeof arg === "object" && arg; 1247 1248 if (!data) { 1249 data = new Slider(element, options); 1250 element.data("slider", data); 1251 } 1252 1253 if (typeof arg === "string" && data[arg]) { 1254 data[arg](); 1255 } else if (data.settings.auto && element.is(":visible")) { 1256 data.start(); 1257 } 1258 }); 1259 }; 1260 1261})(jQuery); 1262 1263 1264 1265 1266jQuery(function($) { 1267 'use strict'; 1268 if ($.fn.slider) { 1269 $(".ig-slidecontainerheader").each(function () { 1270 var slideContainer = $(this), tmp; 1271 var inner = $(".ig-slider-inner", slideContainer); 1272 var helper = null; 1273
1274 if ($.support.transition) { 1275 helper = new BackgroundHelper(); 1276 helper.init("fade", "next", $(".ig-slide-item", inner).first().css($.support.transition.prefix + "transition-duration")); 1277 inner.children().each(function () { 1278 helper.processSlide($(this)); 1279 }); 1280 1281 } 1282 1283 1284 inner.children().eq(0).addClass("active"); 1285 slideContainer.slider({ 1286 pause: 2000, 1287 speed: 1000, 1288 repeat: true, 1289 animation: "fade", 1290 direction: "next", 1291 navigator: slideContainer.siblings(".ig-slidenavigatorheader"), 1292 helper: helper 1293 }); 1294 }); 1295 } 1296}); 1297jQuery(function ($) { 1298 "use strict"; 1299 if (!$.browser.msie || parseInt($.browser.version, 10) > 8) 1300 return; 1301 var path = ""; 1302 var scripts = $("script[src*='script.js']"); 1303 if (scripts.length > 0) { 1304 var src = scripts.last().attr('src'); 1305 path = src.substr(0, src.indexOf("script.js")); 1306 } 1307 processHeaderMultipleBg(path); 1308}); 1309 1310var processHeaderMultipleBg = (function ($) { 1311 "use strict"; 1312 return (function (path) { 1313 var header = $(".ig-header"); 1314 var bgimages = "".split(","); 1315 var bgpositions = "".split(","); 1316 for (var i = bgimages.length - 1; i >= 0; i--) { 1317 var bgimage = $.trim(bgimages[i]); 1318 if (bgimage === "") 1319 continue; 1320 if (path !== "") { 1321 bgimage = bgimage.replace(/(url\(['"]?)/i, "$1" + path); 1322 } 1323 header.append("<div style=\"position:absolute;top:0;left:0;width:100%;height:100%;background:" + bgimage + " " + bgpositions[i] + " no-repeat\">"); 1324 } 1325 header.css('background-image', "none".replace(/(url\(['"]?)/i, "$1" + path)); 1326 header.css('background-position', "0 0"); 1327 }); 1328})(jQuery); 1329 1330(function ($) { 1331 'use strict'; 1332 1333 /*global jQuery, artButtonSetup */ 1334 1335 $(function () { 1336 artButtonSetup("btn-primary"); 1337 artButtonSetup("button"); 1338 artButtonSetup("readon"); 1339 artButtonSetup("readmore"); 1340 }); 1341 1342 $(function ($) { 1343 var links = $('a.ig-rss-tag-icon[href="#"], a.ig-rss-tag-icon[href=""]'), 1344 href = $('head link[type="application/rss+xml"]').attr('href'); 1345 if (href) { 1346 links.attr('href', href); 1347 } else { 1348 links.hide(); 1349 } 1350 }); 1351 1352 $(function ($) { 1353 $('.ig-messages').each(function () { 1354 $(this).css('display', $(this).find('dl').length ? '' : 'none'); 1355 }); 1356 }); 1357 1358 $(function ($) { 1359 $('.ig-search-button').each(function (i, val) { 1360 var element = $(val), 1361 background = element.css('background-image'); 1362 1363 if (-1 !== background.indexOf('url')) { 1364 element.val(''); 1365 } 1366 if (element.hasClass('ig-button')) { 1367 element.removeClass('ig-button'); 1368 } 1369 }); 1370 }); 1371 1372 $(function ($) { 1373 // ie < 9 slider multiple background joomla fix 1374 if (!jQuery.browser.msie || jQuery.browser.version > 8) { 1375 return; 1376 } 1377 1378 var scriptSrc = jQuery('script[src*="script.js"]').last().attr('src'), 1379 pathToImages = scriptSrc.substr(0, scriptSrc.lastIndexOf('/') + 1) + 'images/'; 1380 1381 $('.ig-slider .ig-slide-item').each(function () { 1382 var bg = $(this).css('background-image'); 1383 if (bg) { 1384 bg = bg.replace(/url\(["'](.+)["']\)/, function (match, path) { 1385 var imageName = path.substr(path.lastIndexOf('/') + 1); 1386 return 'url(\'' + pathToImages + imageName + '\')'; 1387 }); 1388 $(this).css('background-image', bg); 1389 } 1390 }); 1391 }); 1392 1393}(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.