PageSourceSearch

https://augencentrum.com/resources/js/plugins.js

js augencentrum.com collected 2026-10-04 03:35:18 UTC 22,439 bytes, 585 lines download raw bytes

1<!--
2/*******************************************************************************
3	OLDIE - or Old IE. A script that finds the version of IE you're using,
4	and redirects if lower than the set parameter.
5	[[ Created by Ryan McLaughlin, www.DaoByDesign.com ]]
6*******************************************************************************/
7var browser		= navigator.appName
8var ver			= navigator.appVersion
9var thestart	= parseFloat(ver.indexOf("MSIE"))+1 //This finds the start of the MS version string.
10var brow_ver	= parseFloat(ver.substring(thestart+4,thestart+7)) //This cuts out the bit of string we need.
11
12if ((browser=="Microsoft Internet Explorer") && (brow_ver < 8)) //By default the min. IE ver is set to 6. Change as desired.
13	{
14	window.location="/oldi.html"; //URL to redirect to.
15	}
16//-->
17
18
19function change(e) {
20        var y = $(this); var D = this.defaultValue; var V = $.trim(y.val()); var t = e.type;
21        switch (t) {
22        case 'focus': if(D==V&&D=='http://'){y.select();}else if(D==V){y.val('');}else{y.val(V); y.select();};y.removeClass("error"); break;
23        case 'blur': if(V==''){y.val(D);}; break;
24		}
25}
26
27// Avoid `console` errors in browsers that lack a console.
28(function() {
29    var method;
30    var noop = function noop() {};
31    var methods = [
32        'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
33        'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
34        'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
35        'timeStamp', 'trace', 'warn'
36    ];
37    var length = methods.length;
38    var console = (window.console = window.console || {});
39
40    while (length--) {
41        method = methods[length];
42
43        // Only stub undefined methods.
44        if (!console[method]) {
45            console[method] = noop;
46        }
47    }
48}());
49
50// Place any jQuery/helper plugins in here.
51
52
53/*! waitForImages jQuery Plugin - v1.4.2 - 2013-01-19
54* https://github.com/alexanderdickson/waitForImages
55* Copyright (c) 2013 Alex Dickson; Licensed MIT */
56(function(e){var t="waitForImages";e.waitForImages={hasImageProperties:["backgroundImage","listStyleImage","borderImage","borderCornerImage"]},e.expr[":"].uncached=function(t){if(!e(t).is('img[src!=""]'))return!1;var n=new Image;return n.src=t.src,!n.complete},e.fn.waitForImages=function(n,r,i){var s=0,o=0;e.isPlainObject(arguments[0])&&(i=arguments[0].waitForAll,r=arguments[0].each,n=arguments[0].finished),n=n||e.noop,r=r||e.noop,i=!!i;if(!e.isFunction(n)||!e.isFunction(r))throw new TypeError("An invalid callback was supplied.");return this.each(function(){var u=e(this),a=[],f=e.waitForImages.hasImageProperties||[],l=/url\(\s*(['"]?)(.*?)\1\s*\)/g;i?u.find("*").andSelf().each(function(){var t=e(this);t.is("img:uncached")&&a.push({src:t.attr("src"),element:t[0]}),e.each(f,function(e,n){var r=t.css(n),i;if(!r)return!0;while(i=l.exec(r))a.push({src:i[2],element:t[0]})})}):u.find("img:uncached").each(function(){a.push({src:this.src,element:this})}),s=a.length,o=0,s===0&&n.call(u[0]),e.each(a,function(i,a){var f=new Image;e(f).bind("load."+t+" error."+t,function(e){o++,r.call(a.element,o,s,e.type=="load");if(o==s)return n.call(u[0]),!1}),f.src=a.src})})}})(jQuery);
57
58/**
59 * Cookie plugin
60 *
61 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
62 * Dual licensed under the MIT and GPL licenses:
63 * http://www.opensource.org/licenses/mit-license.php
64 * http://www.gnu.org/licenses/gpl.html
65 *
66 */
67
68/**
69 * Create a cookie with the given name and value and other optional parameters.
70 *
71 * @example $.cookie('the_cookie', 'the_value');
72 * @desc Set the value of a cookie.
73 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
74 * @desc Create a cookie with all available options.
75 * @example $.cookie('the_cookie', 'the_value');
76 * @desc Create a session cookie.
77 * @example $.cookie('the_cookie', null);
78 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
79 *       used when the cookie was set.
80 *
81 * @param String name The name of the cookie.
82 * @param String value The value of the cookie.
83 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
84 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
85 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
86 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
87 *                             when the the browser exits.
88 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
89 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
90 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
91 *                        require a secure protocol (like HTTPS).
92 * @type undefined
93 *
94 * @name $.cookie
95 * @cat Plugins/Cookie
96 * @author Klaus Hartl/[email protected]
97 */
98
99/**
100 * Create multiple cookies at once stored in an object, with optional parameters affecting them all.
101 *
102 * @example $.cookie({ 'the_cookie' : 'the_value' });
103 * @desc Set/delete multiple cookies at once.
104 * @example $.cookie({ 'the_cookie' : 'the_value' }, { expires: 7, path: '/', domain: 'jquery.com', secure: true });
105 * @desc Set/delete multiple cookies with options.
106 *
107 * @param Object name An object with multiple cookie name-value pairs.
108 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
109 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
110 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
111 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
112 *                             when the the browser exits.
113 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
114 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
115 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
116 *                        require a secure protocol (like HTTPS).
117 * @type undefined
118 *
119 * @name $.cookie
120 * @cat Plugins/Cookie
121 * @author Klaus Hartl/[email protected]
122 */
123
124/**
125 * Get the value of a cookie with the given name.
126 *
127 * @example $.cookie('the_cookie');
128 * @desc Get the value of a cookie.
129 *
130 * @param String name The name of the cookie.
131 * @return The value of the cookie.
132 * @type String
133 *
134 * @name $.cookie
135 * @cat Plugins/Cookie
136 * @author Klaus Hartl/[email protected]
137 */
138
139/**
140 * Get the names and values of all cookies for the page.
141 *
142 * @example $.cookie();
143 * @desc Get all the cookies for the page
144 *
145 * @return an object with the name-value pairs of all available cookies.
146 * @type Object
147 *
148 * @name $.cookie
149 * @cat Plugins/Cookie
150 * @author Klaus Hartl/[email protected]
151 */
152
153
154jQuery.cookie = function(name, value, options) {
155    if (typeof value != 'undefined'  ||  (name  &&  typeof name != 'string')) { // name and value given, set cookie
156        if (typeof name == 'string') {
157            options = options || {};
158            if (value === null) {
159                value = '';
160                options.expires = -1;
161            }
162            var expires = '';
163            if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
164                var date;
165                if (typeof options.expires == 'number') {
166                    date = new Date();
167                    date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
168                } else {
169                    date = options.expires;
170                }
171                expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
172            }
173            // CAUTION: Needed to parenthesize options.path and options.domain
174            // in the following expressions, otherwise they evaluate to undefined
175            // in the packed version for some reason...
176            var path = options.path ? '; path=' + (options.path) : '';
177            var domain = options.domain ? '; domain=' + (options.domain) : '';
178            var secure = options.secure ? '; secure' : '';
179            document.cookie = name + '=' + encodeURIComponent(value) + expires + path + domain + secure;
180        } else { // `name` is really an object of multiple cookies to be set.
181          for (var n in name) { jQuery.cookie(n, name[n], value||options); }
182        }
183    } else { // get cookie (or all cookies if name is not provided)
184        var returnValue = {};
185        if (document.cookie) {
186            var cookies = document.cookie.split(';');
187            for (var i = 0; i < cookies.length; i++) {
188                var cookie = jQuery.trim(cookies[i]);
189                // Does this cookie string begin with the name we want?
190                if (!name) {
191                    var nameLength = cookie.indexOf('=');
192                    returnValue[ cookie.substr(0, nameLength)] = decodeURIComponent(cookie.substr(nameLength+1));
193                } else if (cookie.substr(0, name.length + 1) == (name + '=')) {
194                    returnValue = decodeURIComponent(cookie.substr(name.length + 1));
195                    break;
196                }
197            }
198        }
199        return returnValue;
200    }
201};
202
203
204
205/*! Backstretch - v2.0.4 - 2013-06-19
206* http://srobbin.com/jquery-plugins/backstretch/
207* Copyright (c) 2013 Scott Robbin; Licensed MIT */
208
209;(function ($, window, undefined) {
210  'use strict';
211
212  /* PLUGIN DEFINITION
213   * ========================= */
214
215  $.fn.backstretch = function (images, options) {
216    // We need at least one image or method name
217    if (images === undefined || images.length === 0) {
218      $.error("No images were supplied for Backstretch");
219    }
220
221    /*
222     * Scroll the page one pixel to get the right window height on iOS
223     * Pretty harmless for everyone else
224    */
225    if ($(window).scrollTop() === 0 ) {
226      window.scrollTo(0, 0);
227    }
228
229    return this.each(function () {
230      var $this = $(this)
231        , obj = $this.data('backstretch');
232
233      // Do we already have an instance attached to this element?
234      if (obj) {
235
236        // Is this a method they're trying to execute?
237        if (typeof images == 'string' && typeof obj[images] == 'function') {
238          // Call the method
239          obj[images](options);
240
241          // No need to do anything further
242          return;
243        }
244
245        // Merge the old options with the new
246        options = $.extend(obj.options, options);
247
248        // Remove the old instance
249        obj.destroy(true);
250      }
251
252      obj = new Backstretch(this, images, options);
253      $this.data('backstretch', obj);
254    });
255  };
256
257  // If no element is supplied, we'll attach to body
258  $.backstretch = function (images, options) {
259    // Return the instance
260    return $('body')
261            .backstretch(images, options)
262            .data('backstretch');
263  };
264
265  // Custom selector
266  $.expr[':'].backstretch = function(elem) {
267    return $(elem).data('backstretch') !== undefined;
268  };
269
270  /* DEFAULTS
271   * ========================= */
272
273  $.fn.backstretch.defaults = {
274      centeredX: true   // Should we center the image on the X axis?
275    , centeredY: true   // Should we center the image on the Y axis?
276    , duration: 5000    // Amount of time in between slides (if slideshow)
277    , fade: 0           // Speed of fade transition between slides
278  };
279
280  /* STYLES
281   * 
282   * Baked-in styles that we'll apply to our elements.
283   * In an effort to keep the plugin simple, these are not exposed as options.
284   * That said, anyone can override these in their own stylesheet.
285   * ========================= */
286  var styles = {
287      wrap: {
288          left: 0
289        , top: 0
290        , overflow: 'hidden'
291        , margin: 0
292        , padding: 0
293        , height: '100%'
294        , width: '100%'
295        , zIndex: -999999
296      }
297    , img: {
298          position: 'absolute'
299        , display: 'none'
300        , margin: 0
301        , padding: 0
302        , border: 'none'
303        , width: 'auto'
304        , height: 'auto'
305        , maxHeight: 'none'
306        , maxWidth: 'none'
307        , zIndex: -999999
308      }
309  };
310
311  /* CLASS DEFINITION
312   * ========================= */
313  var Backstretch = function (container, images, options) {
314    this.options = $.extend({}, $.fn.backstretch.defaults, options || {});
315
316    /* In its simplest form, we allow Backstretch to be called on an image path.
317     * e.g. $.backstretch('/path/to/image.jpg')
318     * So, we need to turn this back into an array.
319     */
320    this.images = $.isArray(images) ? images : [images];
321
322    // Preload images
323    $.each(this.images, function () {
324      $('<img />')[0].src = this;
325    });    
326
327    // Convenience reference to know if the container is body.
328    this.isBody = container === document.body;
329
330    /* We're keeping track of a few different elements
331     *
332     * Container: the element that Backstretch was called on.
333     * Wrap: a DIV that we place the image into, so we can hide the overflow.
334     * Root: Convenience reference to help calculate the correct height.
335     */
336    this.$container = $(container);
337    this.$root = this.isBody ? supportsFixedPosition ? $(window) : $(document) : this.$container;
338
339    // Don't create a new wrap if one already exists (from a previous instance of Backstretch)
340    var $existing = this.$container.children(".backstretch").first();
341    this.$wrap = $existing.length ? $existing : $('<div class="backstretch"></div>').css(styles.wrap).appendTo(this.$container);
342
343    // Non-body elements need some style adjustments
344    if (!this.isBody) {
345      // If the container is statically positioned, we need to make it relative,
346      // and if no zIndex is defined, we should set it to zero.
347      var position = this.$container.css('position')
348        , zIndex = this.$container.css('zIndex');
349
350      this.$container.css({
351          position: position === 'static' ? 'relative' : position
352        , zIndex: zIndex === 'auto' ? 0 : zIndex
353        , background: 'none'
354      });
355      
356      // Needs a higher z-index
357      this.$wrap.css({zIndex: -999998});
358    }
359
360    // Fixed or absolute positioning?
361    this.$wrap.css({
362      position: this.isBody && supportsFixedPosition ? 'fixed' : 'absolute'
363    });
364
365    // Set the first image
366    this.index = 0;
367    this.show(this.index);
368
369    // Listen for resize
370    $(window).on('resize.backstretch', $.proxy(this.resize, this))
371             .on('orientationchange.backstretch', $.proxy(function () {
372                // Need to do this in order to get the right window height
373                if (this.isBody && window.pageYOffset === 0) {
374                  window.scrollTo(0, 1);
375                  this.resize();
376                }
377             }, this));
378  };
379
380  /* PUBLIC METHODS
381   * ========================= */
382  Backstretch.prototype = {
383      resize: function () {
384        try {
385          var bgCSS = {left: 0, top: 0}
386            , rootWidth = this.isBody ? this.$root.width() : this.$root.innerWidth()
387            , bgWidth = rootWidth
388            , rootHeight = this.isBody ? ( window.innerHeight ? window.innerHeight : this.$root.height() ) : this.$root.innerHeight()
389            , bgHeight = bgWidth / this.$img.data('ratio')
390            , bgOffset;
391
392            // Make adjustments based on image ratio
393            if (bgHeight >= rootHeight) {
394                bgOffset = (bgHeight - rootHeight) / 2;
395                if(this.options.centeredY) {
396                  bgCSS.top = '-' + bgOffset + 'px';
397                }
398            } else {
399                bgHeight = rootHeight;
400                bgWidth = bgHeight * this.$img.data('ratio');
401                bgOffset = (bgWidth - rootWidth) / 2;
402                if(this.options.centeredX) {
403                  bgCSS.left = '-' + bgOffset + 'px';
404                }
405            }
406
407            this.$wrap.css({width: rootWidth, height: rootHeight})
408                      .find('img:not(.deleteable)').css({width: bgWidth, height: bgHeight}).css(bgCSS);
409        } catch(err) {
410            // IE7 seems to trigger resize before the image is loaded.
411            // This try/catch block is a hack to let it fail gracefully.
412        }
413
414        return this;
415      }
416
417      // Show the slide at a certain position
418    , show: function (newIndex) {
419
420        // Validate index
421        if (Math.abs(newIndex) > this.images.length - 1) {
422          return;
423        }
424
425        // Vars
426        var self = this
427          , oldImage = self.$wrap.find('img').addClass('deleteable')
428          , evtOptions = { relatedTarget: self.$container[0] };
429
430        // Trigger the "before" event
431        self.$container.trigger($.Event('backstretch.before', evtOptions), [self, newIndex]); 
432
433        // Set the new index
434        this.index = newIndex;
435		 updateSliderMenu(newIndex);
436        // Pause the slideshow
437        clearInterval(self.interval);
438
439        // New image
440        self.$img = $('<img />')
441                      .css(styles.img)
442                      .bind('load', function (e) {
443                        var imgWidth = this.width || $(e.target).width()
444                          , imgHeight = this.height || $(e.target).height();
445                        
446                        // Save the ratio
447                        $(this).data('ratio', imgWidth / imgHeight);
448
449                        // Show the image, then delete the old one
450                        // "speed" option has been deprecated, but we want backwards compatibilty
451                        $(this).fadeIn(self.options.speed || self.options.fade, function () {
452                          oldImage.remove();
453
454                          // Resume the slideshow
455                          if (!self.paused) {
456                            self.cycle();
457                          }
458
459
460							
461						
462                          // Trigger the "after" and "show" events
463                          // "show" is being deprecated
464                          $(['after', 'show']).each(function () {
465                            self.$container.trigger($.Event('backstretch.' + this, evtOptions), [self, newIndex]);
466                          });
467                        });
468
469                        // Resize
470                        self.resize();
471                      })
472                      .appendTo(self.$wrap);
473
474        // Hack for IE img onload event
475        self.$img.attr('src', self.images[newIndex]);
476        return self;
477      }
478
479    , next: function () {
480        // Next slide
481		
482        return this.show(this.index < this.images.length - 1 ? this.index + 1 : 0);
483      }
484
485    , prev: function () {
486        // Previous slide
487        return this.show(this.index === 0 ? this.images.length - 1 : this.index - 1);
488      }
489
490    , pause: function () {
491        // Pause the slideshow
492        this.paused = true;
493        return this;
494      }
495
496    , resume: function () {
497        // Resume the slideshow
498        this.paused = false;
499        this.next();
500        return this;
501      }
502
503    , cycle: function () {
504        // Start/resume the slideshow
505        if(this.images.length > 1) {
506          // Clear the interval, just in case
507          clearInterval(this.interval);
508
509          this.interval = setInterval($.proxy(function () {
510            // Check for paused slideshow
511            if (!this.paused) {
512              this.next();
513            }
514          }, this), this.options.duration);
515        }
516        return this;
517      }
518
vendor: 2,463 bytes, lines 519-585
519    , destroy: function (preserveBackground) {
520        // Stop the resize events
521        $(window).off('resize.backstretch orientationchange.backstretch');
522
523        // Clear the interval
524        clearInterval(this.interval);
525
526        // Remove Backstretch
527        if(!preserveBackground) {
528          this.$wrap.remove();          
529        }
530        this.$container.removeData('backstretch');
531      }
532  };
533
534  /* SUPPORTS FIXED POSITION?
535   *
536   * Based on code from jQuery Mobile 1.1.0
537   * http://jquerymobile.com/
538   *
539   * In a nutshell, we need to figure out if fixed positioning is supported.
540   * Unfortunately, this is very difficult to do on iOS, and usually involves
541   * injecting content, scrolling the page, etc.. It's ugly.
542   * jQuery Mobile uses this workaround. It's not ideal, but works.
543   *
544   * Modified to detect IE6
545   * ========================= */
546
547  var supportsFixedPosition = (function () {
548    var ua = navigator.userAgent
549      , platform = navigator.platform
550        // Rendering engine is Webkit, and capture major version
551      , wkmatch = ua.match( /AppleWebKit\/([0-9]+)/ )
552      , wkversion = !!wkmatch && wkmatch[ 1 ]
553      , ffmatch = ua.match( /Fennec\/([0-9]+)/ )
554      , ffversion = !!ffmatch && ffmatch[ 1 ]
555      , operammobilematch = ua.match( /Opera Mobi\/([0-9]+)/ )
556      , omversion = !!operammobilematch && operammobilematch[ 1 ]
557      , iematch = ua.match( /MSIE ([0-9]+)/ )
558      , ieversion = !!iematch && iematch[ 1 ];
559
560    return !(
561      // iOS 4.3 and older : Platform is iPhone/Pad/Touch and Webkit version is less than 534 (ios5)
562      ((platform.indexOf( "iPhone" ) > -1 || platform.indexOf( "iPad" ) > -1  || platform.indexOf( "iPod" ) > -1 ) && wkversion && wkversion < 534) ||
563      
564      // Opera Mini
565      (window.operamini && ({}).toString.call( window.operamini ) === "[object OperaMini]") ||
566      (operammobilematch && omversion < 7458) ||
567      
568      //Android lte 2.1: Platform is Android and Webkit version is less than 533 (Android 2.2)
569      (ua.indexOf( "Android" ) > -1 && wkversion && wkversion < 533) ||
570      
571      // Firefox Mobile before 6.0 -
572      (ffversion && ffversion < 6) ||
573      
574      // WebOS less than 3
575      ("palmGetResource" in window && wkversion && wkversion < 534) ||
576      
577      // MeeGo
578      (ua.indexOf( "MeeGo" ) > -1 && ua.indexOf( "NokiaBrowser/8.5.0" ) > -1) ||
579      
580      // IE6
581      (ieversion && ieversion <= 6)
582    );
583  }());
584
585}(jQuery, window));

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.