PageSourceSearch

https://trumpistanbul.com.tr/en/js/jquery.nivo.slider.js

js trumpistanbul.com.tr collected 2026-10-02 11:43:47 UTC 25,281 bytes, 685 lines download raw bytes

1/*
2 * jQuery Nivo Slider v2.6
3 * http://nivo.dev7studios.com
4 *
5 * Copyright 2011, Gilbert Pellegrom
6 * Free to use and abuse under the MIT license.
7 * http://www.opensource.org/licenses/mit-license.php
8 * 
9 * March 2010
10 */
11
12(function($) {
13
14    var NivoSlider = function(element, options){
15		//Defaults are below
16		var settings = $.extend({}, $.fn.nivoSlider.defaults, options);
17
18        //Useful variables. Play carefully.
19        var vars = {
20            currentSlide: 0,
21            currentImage: '',
22            totalSlides: 0,
23            randAnim: '',
24            running: false,
25            paused: false,
26            stop: false
27        };
28    
29        //Get this slider
30        var slider = $(element);
31        slider.data('nivo:vars', vars);
32        slider.css('position','relative');
33        slider.addClass('nivoSlider');
34        
35        //Find our slider children
36        var kids = slider.children();
37        kids.each(function() {
38            var child = $(this);
39            var link = '';
40            if(!child.is('img')){
41                if(child.is('a')){
42                    child.addClass('nivo-imageLink');
43                    link = child;
44                }
45                child = child.find('img:first');
46            }
47            //Get img width & height
48            var childWidth = child.width();
49            if(childWidth == 0) childWidth = child.attr('width');
50            var childHeight = child.height();
51            if(childHeight == 0) childHeight = child.attr('height');
52            //Resize the slider
53            if(childWidth > slider.width()){
54                slider.width(childWidth);
55            }
56            if(childHeight > slider.height()){
57                slider.height(childHeight);
58            }
59            if(link != ''){
60                link.css('display','none');
61            }
62            child.css('display','none');
63            vars.totalSlides++;
64        });
65        
66        //Set startSlide
67        if(settings.startSlide > 0){
68            if(settings.startSlide >= vars.totalSlides) settings.startSlide = vars.totalSlides - 1;
69            vars.currentSlide = settings.startSlide;
70        }
71        
72        //Get initial image
73        if($(kids[vars.currentSlide]).is('img')){
74            vars.currentImage = $(kids[vars.currentSlide]);
75        } else {
76            vars.currentImage = $(kids[vars.currentSlide]).find('img:first');
77        }
78        
79        //Show initial link
80        if($(kids[vars.currentSlide]).is('a')){
81            $(kids[vars.currentSlide]).css('display','block');
82        }
83        
84        //Set first background
85        slider.css('background','url("'+ vars.currentImage.attr('src') +'") no-repeat');
86
87        //Create caption
88        slider.append(
89            $('<div class="nivo-caption"><p></p></div>').css({ display:'none', opacity:settings.captionOpacity })
90        );			
91		
92		// Process caption function
93		var processCaption = function(settings){
94			var nivoCaption = $('.nivo-caption', slider);
95			if(vars.currentImage.attr('title') != '' && vars.currentImage.attr('title') != undefined){
96				var title = vars.currentImage.attr('title');
97				if(title.substr(0,1) == '#') title = $(title).html();	
98
99				if(nivoCaption.css('display') == 'block'){
100					nivoCaption.find('p').fadeOut(settings.animSpeed, function(){
101						$(this).html(title);
102						$(this).fadeIn(settings.animSpeed);
103					});
104				} else {
105					nivoCaption.find('p').html(title);
106				}					
107				nivoCaption.fadeIn(settings.animSpeed);
108			} else {
109				nivoCaption.fadeOut(settings.animSpeed);
110			}
111		}
112		
113        //Process initial  caption
114        processCaption(settings);
115        
116        //In the words of Super Mario "let's a go!"
117        var timer = 0;
118        if(!settings.manualAdvance && kids.length > 1){
119            timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
120        }
121
122        //Add Direction nav
123        if(settings.directionNav){
124            slider.append('<div class="nivo-directionNav"><a class="nivo-prevNav">'+ settings.prevText +'</a><a class="nivo-nextNav">'+ settings.nextText +'</a></div>');
125            
126            //Hide Direction nav
127            if(settings.directionNavHide){
128                $('.nivo-directionNav', slider).hide();
129                slider.hover(function(){
130                    $('.nivo-directionNav', slider).show();
131                }, function(){
132                    $('.nivo-directionNav', slider).hide();
133                });
134            }
135            
136            $('a.nivo-prevNav', slider).live('click', function(){
137                if(vars.running) return false;
138                clearInterval(timer);
139                timer = '';
140                vars.currentSlide -= 2;
141                nivoRun(slider, kids, settings, 'prev');
142            });
143            
144            $('a.nivo-nextNav', slider).live('click', function(){
145                if(vars.running) return false;
146                clearInterval(timer);
147                timer = '';
148                nivoRun(slider, kids, settings, 'next');
149            });
150        }
151        
152        //Add Control nav
153        if(settings.controlNav){
154            var nivoControl = $('<div class="nivo-controlNav"></div>');
155            slider.append(nivoControl);
156            for(var i = 0; i < kids.length; i++){
157                if(settings.controlNavThumbs){
158                    var child = kids.eq(i);
159                    if(!child.is('img')){
160                        child = child.find('img:first');
161                    }
162                    if (settings.controlNavThumbsFromRel) {
163                        nivoControl.append('<a class="nivo-control" rel="'+ i +'"><img src="'+ child.attr('rel') + '" alt="" /></a>');
164                    } else {
165                        nivoControl.append('<a class="nivo-control" rel="'+ i +'"><img src="'+ child.attr('src').replace(settings.controlNavThumbsSearch, settings.controlNavThumbsReplace) +'" alt="" /></a>');
166                    }
167                } else {
168                    nivoControl.append('<a class="nivo-control" rel="'+ i +'">'+ (i + 1) +'</a>');
169                }
170                
171            }
172            //Set initial active link
173            $('.nivo-controlNav a:eq('+ vars.currentSlide +')', slider).addClass('active');
174            
175            $('.nivo-controlNav a', slider).live('click', function(){
176                if(vars.running) return false;
177                if($(this).hasClass('active')) return false;
178                clearInterval(timer);
179                timer = '';
180                slider.css('background','url("'+ vars.currentImage.attr('src') +'") no-repeat');
181                vars.currentSlide = $(this).attr('rel') - 1;
182                nivoRun(slider, kids, settings, 'control');
183            });
184        }
185        
186        //Keyboard Navigation
187        if(settings.keyboardNav){
188            $(window).keypress(function(event){
189                //Left
190                if(event.keyCode == '37'){
191                    if(vars.running) return false;
192                    clearInterval(timer);
193                    timer = '';
194                    vars.currentSlide-=2;
195                    nivoRun(slider, kids, settings, 'prev');
196                }
197                //Right
198                if(event.keyCode == '39'){
199                    if(vars.running) return false;
200                    clearInterval(timer);
201                    timer = '';
202                    nivoRun(slider, kids, settings, 'next');
203                }
204            });
205        }
206        
207        //For pauseOnHover setting
208        if(settings.pauseOnHover){
209            slider.hover(function(){
210                vars.paused = true;
211                clearInterval(timer);
212                timer = '';
213            }, function(){
214                vars.paused = false;
215                //Restart the timer
216                if(timer == '' && !settings.manualAdvance){
217                    timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
218                }
219            });
220        }
221        
222        //Event when Animation finishes
223        slider.bind('nivo:animFinished', function(){ 
224            vars.running = false; 
225            //Hide child links
226            $(kids).each(function(){
227                if($(this).is('a')){
228                    $(this).css('display','none');
229                }
230            });
231            //Show current link
232            if($(kids[vars.currentSlide]).is('a')){
233                $(kids[vars.currentSlide]).css('display','block');
234            }
235            //Restart the timer
236            if(timer == '' && !vars.paused && !settings.manualAdvance){
237                timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
238            }
239            //Trigger the afterChange callback
240            settings.afterChange.call(this);
241        });
242        
243        // Add slices for slice animations
244        var createSlices = function(slider, settings, vars){
245            for(var i = 0; i < settings.slices; i++){
246				var sliceWidth = Math.round(slider.width()/settings.slices);
247				if(i == settings.slices-1){
248					slider.append(
249						$('<div class="nivo-slice"></div>').css({ 
250							left:(sliceWidth*i)+'px', width:(slider.width()-(sliceWidth*i))+'px',
251							height:'0px', 
252							opacity:'0', 
253							background: 'url("'+ vars.currentImage.attr('src') +'") no-repeat -'+ ((sliceWidth + (i * sliceWi
253dth)) - sliceWidth) +'px 0%'
254						})
255					);
256				} else {
257					slider.append(
258						$('<div class="nivo-slice"></div>').css({ 
259							left:(sliceWidth*i)+'px', width:sliceWidth+'px',
260							height:'0px', 
261							opacity:'0', 
262							background: 'url("'+ vars.currentImage.attr('src') +'") no-repeat -'+ ((sliceWidth + (i * sliceWidth)) - sliceWidth) +'px 0%'
263						})
264					);
265				}
266			}
267        }
268		
269		// Add boxes for box animations
270		var createBoxes = function(slider, settings, vars){
271			var boxWidth = Math.round(slider.width()/settings.boxCols);
272			var boxHeight = Math.round(slider.height()/settings.boxRows);
273			
274			for(var rows = 0; rows < settings.boxRows; rows++){
275				for(var cols = 0; cols < settings.boxCols; cols++){
276					if(cols == settings.boxCols-1){
277						slider.append(
278							$('<div class="nivo-box"></div>').css({ 
279								opacity:0,
280								left:(boxWidth*cols)+'px', 
281								top:(boxHeight*rows)+'px',
282								width:(slider.width()-(boxWidth*cols))+'px',
283								height:boxHeight+'px',
284								background: 'url("'+ vars.currentImage.attr('src') +'") no-repeat -'+ ((boxWidth + (cols * boxWidth)) - boxWidth) +'px -'+ ((boxHeight + (rows * boxHeight)) - boxHeight) +'px'
285							})
286						);
287					} else {
288						slider.append(
289							$('<div class="nivo-box"></div>').css({ 
290								opacity:0,
291								left:(boxWidth*cols)+'px', 
292								top:(boxHeight*rows)+'px',
293								width:boxWidth+'px',
294								height:boxHeight+'px',
295								background: 'url("'+ vars.currentImage.attr('src') +'") no-repeat -'+ ((boxWidth + (cols * boxWidth)) - boxWidth) +'px -'+ ((boxHeight + (rows * boxHeight)) - boxHeight) +'px'
296							})
297						);
298					}
299				}
300			}
301		}
302
303        // Private run method
304		var nivoRun = function(slider, kids, settings, nudge){
305			//Get our vars
306			var vars = slider.data('nivo:vars');
307            
308            //Trigger the lastSlide callback
309            if(vars && (vars.currentSlide == vars.totalSlides - 1)){ 
310				settings.lastSlide.call(this);
311			}
312            
313            // Stop
314			if((!vars || vars.stop) && !nudge) return false;
315			
316			//Trigger the beforeChange callback
317			settings.beforeChange.call(this);
318					
319			//Set current background before change
320			if(!nudge){
321				slider.css('background','url("'+ vars.currentImage.attr('src') +'") no-repeat');
322			} else {
323				if(nudge == 'prev'){
324					slider.css('background','url("'+ vars.currentImage.attr('src') +'") no-repeat');
325				}
326				if(nudge == 'next'){
327					slider.css('background','url("'+ vars.currentImage.attr('src') +'") no-repeat');
328				}
329			}
330			vars.currentSlide++;
331            //Trigger the slideshowEnd callback
332			if(vars.currentSlide == vars.totalSlides){ 
333				vars.currentSlide = 0;
334				settings.slideshowEnd.call(this);
335			}
336			if(vars.currentSlide < 0) vars.currentSlide = (vars.totalSlides - 1);
337			//Set vars.currentImage
338			if($(kids[vars.currentSlide]).is('img')){
339				vars.currentImage = $(kids[vars.currentSlide]);
340			} else {
341				vars.currentImage = $(kids[vars.currentSlide]).find('img:first');
342			}
343			
344			//Set active links
345			if(settings.controlNav){
346				$('.nivo-controlNav a', slider).removeClass('active');
347				$('.nivo-controlNav a:eq('+ vars.currentSlide +')', slider).addClass('active');
348			}
349			
350			//Process caption
351			processCaption(settings);
352			
353			// Remove any slices from last transition
354			$('.nivo-slice', slider).remove();
355			
356			// Remove any boxes from last transition
357			$('.nivo-box', slider).remove();
358			
359			if(settings.effect == 'random'){
360				var anims = new Array('sliceDownRight','sliceDownLeft','sliceUpRight','sliceUpLeft','sliceUpDown','sliceUpDownLeft','fold','fade',
361                'boxRandom','boxRain','boxRainReverse','boxRainGrow','boxRainGrowReverse');
362				vars.randAnim = anims[Math.floor(Math.random()*(anims.length + 1))];
363				if(vars.randAnim == undefined) vars.randAnim = 'fade';
364			}
365            
366            //Run random effect from specified set (eg: effect:'fold,fade')
367            if(settings.effect.indexOf(',') != -1){
368                var anims = settings.effect.split(',');
369                vars.randAnim = anims[Math.floor(Math.random()*(anims.length))];
370				if(vars.randAnim == undefined) vars.randAnim = 'fade';
371            }
372		
373			//Run effects
374			vars.running = true;
375			if(settings.effect == 'sliceDown' || settings.effect == 'sliceDownRight' || vars.randAnim == 'sliceDownRight' ||
376				settings.effect == 'sliceDownLeft' || vars.randAnim == 'sliceDownLeft'){
377				createSlices(slider, settings, vars);
378				var timeBuff = 0;
379				var i = 0;
380				var slices = $('.nivo-slice', slider);
381				if(settings.effect == 'sliceDownLeft' || vars.randAnim == 'sliceDownLeft') slices = $('.nivo-slice', slider)._reverse();
382				
383				slices.each(function(){
384					var slice = $(this);
385					slice.css({ 'top': '0px' });
386					if(i == settings.slices-1){
387						setTimeout(function(){
388							slice.animate({ height:'100%', opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
389						}, (100 + timeBuff));
390					} else {
391						setTimeout(function(){
392							slice.animate({ height:'100%', opacity:'1.0' }, settings.animSpeed);
393						}, (100 + timeBuff));
394					}
395					timeBuff += 50;
396					i++;
397				});
398			} 
399			else if(settings.effect == 'sliceUp' || settings.effect == 'sliceUpRight' || vars.randAnim == 'sliceUpRight' ||
400					settings.effect == 'sliceUpLeft' || vars.randAnim == 'sliceUpLeft'){
401				createSlices(slider, settings, vars);
402				var timeBuff = 0;
403				var i = 0;
404				var slices = $('.nivo-slice', slider);
405				if(settings.effect == 'sliceUpLeft' || vars.randAnim == 'sliceUpLeft') slices = $('.nivo-slice', slider)._reverse();
406				
407				slices.each(function(){
408					var slice = $(this);
409					slice.css({ 'bottom': '0px' });
410					if(i == settings.slices-1){
411						setTimeout(function(){
412							slice.animate({ height:'100%', opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
413						}, (100 + timeBuff));
414					} else {
415						setTimeout(function(){
416							slice.animate({ height:'100%', opacity:'1.0' }, settings.animSpeed);
417						}, (100 + timeBuff));
418					}
419					timeBuff += 50;
420					i++;
421				});
422			} 
423			else if(settings.effect == 'sliceUpDown' || settings.effect == 'sliceUpDownRight' || vars.randAnim == 'sliceUpDown' || 
424					settings.effect == 'sliceUpDownLeft' || vars.randAnim == 'sliceUpDownLeft'){
425				createSlices(slider, settings, vars);
426				var timeBuff = 0;
427				var i = 0;
428				var v = 0;
429				var slices = $('.nivo-slice', slider);
430				if(settings.effect == 'sliceUpDownLeft' || vars.randAnim == 'sliceUpDownLeft') slices = $('.nivo-slice', slider)._reverse();
431				
432				slices.each(function(){
433					var slice = $(this);
434					if(i == 0){
435						slice.css('top','0px');
436						i++;
437					} else {
438						slice.css('bottom','0px');
439						i = 0;
440					}
441					
442					if(v == settings.slices-1){
443						setTimeout(function(){
444							slice.animate({ height:'100%', opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
445						}, (100 + timeBuff));
446					} else {
447						setTimeout(function(){
448							slice.animate({ height:'100%', opacity:'1.0' }, settings.animSpeed);
449						}, (100 + timeBuff));
450					}
451					timeBuff += 50;
452					v++;
453				});
454			} 
455			else if(settings.effect == 'fold' || vars.randAnim == 'fold'){
456				createSlices(slider, settings, vars);
457				var timeBuff = 0;
458				var i = 0;
459				
460				$('.nivo-slice', slider).each(function(){
461					var slice = $(this);
462					var origWidth = slice.width();
463					slice.css({ top:'0px', height:'100%', width:'0px' });
464					if(i == settings.slices-1){
465						setTimeout(function(){
466							slice.animate({ width:origWidth, opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
467						}, (100 + timeBuff));
468					} else {
469						setTimeout(function(){
470							slice.animate({ width:origWidth, opacity:'1.0' }, settings.animSpeed);
471						}, (100 + timeBuff));
472					}
473					timeBuff += 50;
474					i++;
475				});
476			}  
477			else if(settings.effect == 'fade' || vars.randAnim == 'fade'){
478				createSlices(slider, settings, vars);
479				
480				var firstSlice = $('.nivo-slice:first', slider);
481                firstSlice.css({
482                    'height': '100%',
483                    'width': slider.width() + 'px'
484                });
485    
486				firstSlice.animate({ opacity:'1.0' }, (settings.animSpeed*2), '', function(){ slider.trigger('nivo:animFinished'); });
487			}          
488            else if(settings.effect == 'slideInRight' || vars.randAnim == 'slideInRight'){
489				createSlices(slider, settings, vars);
490				
491                var firstSlice = $('.nivo-slice:first', slider);
492                firstSlice.css({
493                    'height': '100%',
494                    'width': '0px',
495                    'opacity': '1'
496                });
497
498                firstSlice.animate({ width: slider.width() + 'px' }, (settings.animSpeed*2), '', function(){ slider.trigger('nivo:animFinished'); });
499            }
500            else if(settings.effect == 'slideInLeft' || vars.randAnim == 'slideInLeft'){
501				createSlices(slider, settings, vars);
502				
503                var firstSlice = $('.nivo-slice:first', slider);
504                firstSlice.css({
505                    'height': '100%',
506                    'width': '0px',
507                    'opacity': '1',
508                    'left': '',
509                    'right': '0px'
510                });
511
512                firstSlice.animate({ width: slider.width() + 'px' }, (settings.animSpeed*2), '', function(){ 
513                    // Reset positioning
514                    firstSlice.css({
515                        'left': '0px',
516                        'right': ''
517                    });
518                    slider.trigger('nivo:animFinished'); 
519                });
520            }
521			else if(settings.effect == 'boxRandom' || vars.randAnim == 'boxRandom'){
522				createBoxes(slider, settings, vars);
523				
524				var totalBoxes = settings.boxCols * settings.boxRows;
525				var i = 0;
526				var timeBuff = 0;
527				
528				var boxes = shuffle($('.nivo-box', slider));
529				boxes.each(function(){
530					var box = $(this);
531					if(i == totalBoxes-1){
532						setTimeout(function(){
533							box.animate({ opacity:'1' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
534						}, (100 + timeBuff));
535					} else {
536						setTimeout(function(){
537							box.animate({ opacity:'1' }, settings.animSpeed);
538						}, (100 + timeBuff));
539					}
540					timeBuff += 20;
541					i++;
542				});
543			}
544			else if(settings.effect == 'boxRain' || vars.randAnim == 'boxRain' || settings.effect == 'boxRainReverse' || vars.randAnim == 'boxRainReverse' || 
545                    settings.effect == 'boxRainGrow' || vars.randAnim == 'boxRainGrow' || settings.effect == 'boxRainGrowReverse' || vars.randAnim == 'boxRainGrowReverse'){
546				createBoxes(slider, settings, vars);
547				
548				var totalBoxes = settings.boxCols * settings.boxRows;
549				var i = 0;
550				var timeBuff = 0;
551				
552				// Split boxes into 2D array
553				var rowIndex = 0;
554				var colIndex = 0;
555				var box2Darr = new Array();
556				box2Darr[rowIndex] = new Array();
557				var boxes = $('.nivo-box', slider);
558				if(settings.effect == 'boxRainReverse' || vars.randAnim == 'boxRainReverse' ||
559                   settings.effect == 'boxRainGrowReverse' || vars.randAnim == 'boxRainGrowReverse'){
560					boxes = $('.nivo-box', slider)._reverse();
561				}
562				boxes.each(function(){
563					box2Darr[rowIndex][colIndex] = $(this);
564					colIndex++;
565					if(colIndex == settings.boxCols){
566						rowIndex++;
567						colIndex = 0;
568						box2Darr[rowIndex] = new Array();
569					}
570				});
571				
572				// Run animation
573				for(var cols = 0; cols < (settings.boxCols * 2); cols++){
574					var prevCol = cols;
575					for(var rows = 0; rows < settings.boxRows; rows++){
576						if(prevCol >= 0 && prevCol < settings.boxCols){
577							/* Due to some weird JS bug with loop vars 
578							being used in setTimeout, this is wrapped
579							with an anonymous function call */
580							(function(row, col, time, i, totalBoxes) {
581								var box = $(box2Darr[row][col]);
582                                var w = box.width();
583                                var h = box.height();
584                                if(settings.effect == 'boxRainGrow' || vars.randAnim == 'boxRainGrow' ||
585                                   settings.effect == 'boxRainGrowReverse' || vars.randAnim == 'boxRainGrowReverse'){
586                                    box.width(0).height(0);
587                                }
588								if(i == totalBoxes-1){
589									setTimeout(function(){
590										box.animate({ opacity:'1', width:w, height:h }, settings.animSpeed/1.3, '', function(){ slider.trigger('nivo:animFinished'); });
591									}, (100 + time));
592								} else {
593									setTimeout(function(){
594										box.animate({ opacity:'1', width:w, height:h }, settings.animSpeed/1.3);
595									}, (100 + time));
596								}
597							})(rows, prevCol, timeBuff, i, totalBoxes);
598							i++;
599						}
600						prevCol--;
601					}
602					timeBuff += 100;
603				}
604			}
605		}
606		
607		// Shuffle an array
608		var shuffle = function(arr){
609			for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
610			return arr;
611		}
612        
613        // For debugging
614        var trace = function(msg){
615            if (this.console && typeof console.log != "undefined")
616                console.log(msg);
617        }
618        
619        // Start / Stop
620        this.stop = function(){
621            if(!$(element).data('nivo:vars').stop){
622                $(element).data('nivo:vars').stop = true;
623                trace('Stop Slider');
624            }
625        }
626        
627        this.start = function(){
628            if($(element).data('nivo:vars').stop){
629                $(element).data('nivo:vars').stop = false;
630                trace('Start Slider');
631            }
632        }
633        
634        //Trigger the afterLoad callback
635        settings.afterLoad.call(this);
636		
637		return this;
638    };
639        
640    $.fn.nivoSlider = function(options) {
641    
642        return this.each(function(key, value){
643            var element = $(this);
644            // Return early if this element already has a plugin instance
645            if (element.data('nivoslider')) return element.data('nivoslider');
646            // Pass options to plugin constructor
647            var nivoslider = new NivoSlider(this, options);
648            // Store plugin object in this element's data
649            element.data('nivoslider', nivoslider);
650        });
651
652	};
653	
654	//Default settings
655	$.fn.nivoSlider.defaults = {
656		effect: 'random',
657		slices: 15,
658		boxCols: 8,
659		boxRows: 4,
660		animSpeed: 500,
661		pauseTime: 3000,
662		startSlide: 0,
663		directionNav: true,
664		directionNavHide: true,
665		controlNav: true,
666		controlNavThumbs: false,
667        controlNavThumbsFromRel: false,
668		controlNavThumbsSearch: '.jpg',
669		controlNavThumbsReplace: '_thumb.jpg',
670		keyboardNav: true,
671		pauseOnHover: true,
672		manualAdvance: false,
673		captionOpacity: 0.8,
674		prevText: 'Prev',
675		nextText: 'Next',
676		beforeChange: function(){},
677		afterChange: function(){},
678		slideshowEnd: function(){},
679        lastSlide: function(){},
680        afterLoad: function(){}
681	};
682	
683	$.fn._reverse = [].reverse;
684	
685})(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.