PageSourceSearch

https://www.ywpestcontrol.com/assets/addons/ldcms/M41/js/lightbox.min.js

js ywpestcontrol.com collected 2026-10-05 22:14:54 UTC 34,027 bytes, 1,182 lines download raw bytes

1;
2(function($, v, A, B) {
3	var C = (function(u) {
4		return function() {
5			return u.search(arguments[0])
6		}
7	})((navigator && navigator.userAgent) ? navigator.userAgent.toLowerCase() : "");
8	var D = ($.browser.msie && parseInt($.browser.version, 10) < 7 && parseInt($.browser.version, 10) > 4);
9	var E = false;
10	if (C("mobile") > -1) {
11		if (C("android") > -1 || C("googletv") > -1 || C("htc_flyer") > -1) {
12			E = true
13		}
14	};
15	if (C("opera") > -1) {
16		if (C("mini") > -1 && C("mobi") > -1) {
17			E = true
18		}
19	};
20	if (C("iphone") > -1) {
21		E = true
22	};
23	if (C("windows phone os 7") > -1) {
24		E = true
25	};
26	if ($.proxy === B) {
27		var F = {};
28		$.each(["Boolean", "Number", "String", "Function", "Array", "Date", "RegExp", "Object"], function(i, a) {
29			F["[object " + a + "]"] = a.toLowerCase()
30		});
31		$.extend({
32			proxy: function(a, b) {
33				if (a) {
34					return function() {
35						return a.apply(b || this, arguments)
36					}
37				}
38			},
39			type: function(a) {
40				return a === null ? String(a) : F[Object.prototype.toString.call(a)] || "object"
41			},
42			parseJSON: function(a) {
43				if (typeof a !== "string" || !a) {
44					return null
45				}
46				a = $.trim(a);
47				if (/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) {
48					return v.JSON && v.JSON.parse ? v.JSON.parse(a) : (new Function("return " + a))()
49				} else {
50					alert("Invalid JSON: " + a)
51				}
52			}
53		})
54	};
55	$.extend($.fx.prototype, {
56		update: function() {
57			if (this.options.step) {
58				this.options.step.call(this.elem, this.now, this)
59			}($.fx.step[this.prop] || $.fx.step._default)(this)
60		}
61	});
62	$.extend($.easing, {
63		easeOutBack: function(x, t, b, c, d, s) {
64			if (s === B) s = 1.70158;
65			return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b
66		}
67	});
68	$.extend({
69		LightBoxObject: {
70			defaults: {
71				name: 'jquery-lightbox',
72				style: {
73					zIndex: 99999,
74					width: 470,
75					height: 280
76				},
77				modal: false,
78				overlay: {
79					opacity: 0.6
80				},
81				animation: {
82					show: {
83						duration: 400,
84						easing: "easeOutBack"
85					},
86					close: {
87						duration: 200,
88						easing: "easeOutBack"
89					},
90					move: {
91						duration: 800,
92						easing: "easeOutBack"
93					},
94					shake: {
95						duration: 100,
96						easing: "easeOutBack",
97						distance: 10,
98						loops: 2
99					}
100				},
101				flash: {
102					width: 800,
103					height: 490
104				},
105				iframe: {
106					width: 640,
107					height: 360
108				},
109				maxsize: {
110					width: -1,
111					height: -1
112				},
113				emergefrom: "top",
114				ajax: {
115					type: "GET",
116					cache: false,
117					dataType: "html"
118				}
119			},
120			options: {},
121			animations: {},
122			gallery: {},
123			image: {},
124			esqueleto: {
125				lightbox: [],
126				buttons: {
127					close: [],
128					prev: [],
129					max: [],
130					next: []
131				},
132				background: [],
133				image: [],
134				title: [],
135				html: []
136			},
137			matchedlnks: [],
138			visible: false,
139			maximized: false,
140			mode: "image",
141			videoregs: {
142				swf: {
143					reg: /[^\.]\.(swf)\s*$/i
144				},
145				youtube: {
146					reg: /youtube\.com\/watch/i,
147					split: '=',
148					index: 1,
149					iframe: 1,
150					url: "http://www.youtube.com/embed/%id%?autoplay=1&amp;fs=1&amp;rel=0&amp;enablejsapi=1"
151				},
152				youtu: {
153					reg: /youtu\.be\//i,
154					split: '/',
155					index: 3,
156					iframe: 1,
157					url: "http://www.youtube.com/embed/%id%?autoplay=1&amp;fs=1&amp;rel=0&amp;enablejsapi=1"
158				},
159				metacafe: {
160					reg: /metacafe\.com\/watch/i,
161					split: '/',
162					index: 4,
163					url: "http://www.metacafe.com/fplayer/%id%/.swf?playerVars=autoPlay=yes"
164				},
165				dailymotion: {
166					reg: /dailymotion\.com\/video/i,
167					split: '/',
168					index: 4,
169					url: "http://www.dailymotion.com/swf/video/%id%?additionalInfos=0&amp;autoStart=1"
170				},
171				google: {
172					reg: /google\.com\/videoplay/i,
173					split: '=',
174					index: 1,
175					url: "http://video.google.com/googleplayer.swf?autoplay=1&amp;hl=en&amp;docId=%id%"
176				},
177				vimeo: {
178					reg: /vimeo\.com/i,
179					split: '/',
180					index: 3,
181					iframe: 1,
182					url: "http://player.vimeo.com/video/%id%?hd=1&amp;autoplay=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1"
183				},
184				gametrailers: {
185					reg: /gametrailers\.com/i,
186					split: '/',
187					index: 5,
188					url: "http://www.gametrailers.com/remote_wrap.php?mid=%id%"
189				},
190				collegehumornew: {
191					reg: /collegehumor\.com\/video\//i,
192					split: 'video/',
193					index: 1,
194					url: "http://www.collegehumor.com/moogaloop/moogaloop.jukebox.swf?autostart=true&amp;fullscreen=1&amp;use_node_id=true&amp;clip_id=%id%"
195				},
196				collegehumor: {
197					reg: /collegehumor\.com\/video:/i,
198					split: 'video:',
199					index: 1,
200					url: "http://www.collegehumor.com/moogaloop/moogaloop.swf?autoplay=true&amp;fullscreen=1&amp;clip_id=%id%"
201				},
202				ustream: {
203					reg: /ustream\.tv/i,
204					split: '/',
205					index: 4,
206					url: "http://www.ustream.tv/flash/video/%id%?loc=%2F&amp;autoplay=true&amp;vid=%id%&amp;disabledComment=true&amp;beginPercent=0.5331&amp;endPercent=0.6292&amp;locale=en_US"
207				},
208				twitvid: {
209					reg: /twitvid\.com/i,
210					split: '/',
211					index: 3,
212					url: "http://www.twitvid.com/player/%id%"
213				},
214				wordpress: {
215					reg: /v\.wordpress\.com/i,
216					split: '/',
217					index: 3,
218					url: "http://s0.videopress.com/player.swf?guid=%id%&amp;v=1.01"
219				},
220				vzaar: {
221					reg: /vzaar\.com\/videos/i,
222					split: '/',
223					index: 4,
224					url: "http://view.vzaar.com/%id%.flashplayer?autoplay=true&amp;border=none"
225				}
226			},
227			mapsreg: {
228				bing: {
229					reg: /bing\.com\/maps/i,
230					split: '?',
231					index: 1,
232					url: "http://www.bing.com/maps/embed/?emid=3ede2bc8-227d-8fec-d84a-00b6ff19b1cb&amp;w=%width%&amp;h=%height%&amp;%id%"
233				},
234				streetview: {
235					reg: /maps\.google\.com(.*)layer=c/i,
236					split: '?',
237					index: 1,
238					url: "http://maps.google.com/?output=svembed&amp;%id%"
239				},
240				googlev2: {
241					reg: /maps\.google\.com\/maps\/ms/i,
242					split: '?',
243					index: 1,
244					url: "http://maps.google.com/maps/ms?output=embed&amp;%id%"
245				},
246				google: {
247					reg: /maps\.google\.com/i,
248					split: '?',
249					index: 1,
250					url: "http://maps.google.com/maps?%id%&amp;output=embed"
251				}
252			},
253			imgsreg: /\.(jpg|jpeg|gif|png|bmp|tiff)(.*)?$/i,
254			overlay: {
255				create: function(a) {
256					this.options = a;
257					this.element = $('<div id="' + new Date().getTime() + '" class="' + this.options.name + '-overlay"></div>');
258					this.element.css($.extend({}, {
259						'position': 'fixed',
260						'top': 0,
261						'left': 0,
262						'opacity': 0,
263						'display': 'none',
264						'z-index': this.options.zIndex
265					}, this.options.style));
266					this.element.click($.proxy(function(e) {
267						if (!this.options.modal) {
268							if ($.isFunction(this.options.callback)) {
269								this.options.callback()
270							} else {
271								this.hide()
272							}
273						}
274						e.preventDefault()
275					}, this));
276					this.hidden = true;
277					this.inject();
278					return this
279				},
280				inject: function() {
281					this.target = $(A.body);
282					this.target.append(this.element);
283					if (D) {
284						this.element.css('position', 'absolute');
285						var a = parseInt(this.element.css('zIndex'), 10);
286						if (!a) {
287							a = 1;
288							var b = this.element.css('position');
289							if (b === 'static' || !b) {
290								this.element.css('position', 'relative')
291							}
292							this.element.css('zIndex', a)
293						}
294						a = ( !! (this.options.zIndex || this.options.zIndex === 0) && a > this.options.zIndex) ? this.options.zIndex : a - 1;
295						if (a < 0) {
296							a = 1
297						}
298						this.shim = $('<iframe id="IF_' + new Date().getTime() + '" scrolling="no" frameborder=0 src=""></iframe>');
299						this.shim.css({
300							zIndex: a,
301							position: 'absolute',
302							top: 0,
303							left: 0,
304							border: 'none',
305							width: 0,
306							height: 0,
307							opacity: 0
308						});
309						this.shim.insertAfter(this.element);
310						$('html, body').css({
311							'height': '100%',
312							'width': '100%',
313							'margin-left': 0,
314							'margin-right': 0
315						})
316					}
317				},
318				resize: function(x, y) {
319					this.element.css({
320						'height': 0,
321						'width': 0
322					});
323					if (this.shim) {
324						this.shim.css({
325							'height': 0,
326							'width': 0
327						})
328					};
329					var a = {
330						x: $(A).width(),
331						y: $(A).height()
332					};
333					this.element.css({
334						'width': '100%',
335						'height': y || a.y
336					});
337					if (this.shim) {
338						this.shim.css({
339							'height': 0,
340							'width': 0
341						});
342						this.shim.css({
343							'position': 'absolute',
344							'left': 0,
345							'top': 0,
346							'width': this.element.width(),
347							'height': y || a.y
348						})
349					}
350					return this
351				},
352				show: function(a) {
353					if (!this.hidden) {
354						return this
355					};
356					if (this.transition) {
357						this.transition.stop()
358					};
359					if (this.shim) {
360						this.shim.css('display', 'block')
361					};
362					this.element.css({
363						'display': 'block',
364						'opacity': 0
365					});
366					this.target.bind('resize', $.proxy(this.resize, this));
367					this.resize();
368					this.hidden = false;
369					this.transition = this.element.fadeTo(this.options.showDuration, this.options.style.opacity, $.proxy(function() {
370						if (this.options.style.opacity) {
371							this.element.css(this.options.style)
372						};
373						this.element.trigger('show');
374						if ($.isFunction(a)) {
375							a()
376						}
377					}, this));
378					return this
379				},
380				hide: function(a) {
381					if (this.hidden) {
382						return this
383					};
384					if (this.transition) {
385						this.transition.stop()
386					};
387					if (this.shim) {
388						this.shim.css('display', 'none')
389					};
390					this.target.unbind('resize');
391					this.hidden = true;
392					this.transition = this.element.fadeTo(this.options.closeDuration, 0, $.proxy(function() {
393						this.element.trigger('hide');
394						if ($.isFunction(a)) {
395							a()
396						};
397						this.element.css({
398							'height': 0,
399							'width': 0,
400							'display': 'none'
401						})
402					}, this));
403					return this
404				}
405			},
406			create: function(a) {
407				this.options = $.extend(true, this.defaults, a);
408				var b = this.options.name;
409				//var c = $('<div class="' + b + ' ' + b + '-mode-image"><div class="' + b + '-border-top-left"></div><div class="' + b + '-border-top-middle"></div><div class="' + b + '-border-top-right"></div><a class="' + b + '-button-close" href="#close"><span>Close</span></a><div class="' + b + '-navigator"><a class="' + b + '-button-left" href="#"><span>Previous</span></a><a class="' + b + '-button-right" href="#"><span>Next</span></a></div><div class="' + b + '-buttons"><div class="' + b + '-buttons-init"></div><a class="' + b + '-button-left" href="#"><span>Previous</span></a><a class="' + b + '-button-max" href="#"><span>Maximize</span></a><div class="' + b + '-buttons-custom"></div><a class="' + b + '-button-right" href="#"><span>Next</span></a><div class="' + b + '-buttons-end"></div></div><div class="' + b + '-background"></div><div class="' + b + '-html"></div><div class="' + b + '-border-bottom-left"></div><div class="' + b + '-border-bottom-middle"></div><div class="' + b + '-border-bottom-right"></div></div>');
410				var c = $('<div class="' + b + ' ' + b + '-mode-image"><a class="' + b + '-button-close" href="#close"><span>Close</span></a><div class="' + b + '-navigator"><a class="' + b + '-button-left" href="#"><span>Previous</span></a><a class="' + b + '-button-right" href="#"><span>Next</span></a></div><div class="' + b + '-buttons"><div class="' + b + '-buttons-init"></div><a class="' + b + '-button-left" href="#"><span>Previous</span></a><a class="' + b + '-button-max" href="#"><span>Maximize</span></a><div class="' + b + '-buttons-custom"></div><a class="' + b + '-button-right" href="#"><span>Next</span></a><div class="' + b + '-buttons-end"></div></div><div class="' + b + '-background"></div><div class="' + b + '-html"></div></div>');
411				var e = this.esqueleto;
412				this.overlay.create({
413					name: b,
414					style: this.options.overlay,
415					modal: this.options.modal,
416					zIndex: this.options.style.zIndex - 1,
417					callback: this.proxy(this.close),
418					showDuration: (E ? 2 : this.options.animation.show.duration),
419					closeDuration: (E ? 2 : this.options.animation.close.duration)
420				});
421				e.lightbox = c;
422				e.navigator = $('.' + b + '-navigator', c);
423				e.buttons.div = $('.' + b + '-buttons', c);
424				e.buttons.close = $('.' + b + '-button-close', c);
425				e.buttons.prev = $('.' + b + '-button-left', c);
426				e.buttons.max = $('.' + b + '-button-max', c);
427				e.buttons.next = $('.' + b + '-button-right', c);
428				e.buttons.custom = $('.' + b + '-buttons-custom', c);
429				e.background = $('.' + b + '-background', c);
430				e.html = $('.' + b + '-html', c);
431				e.move = $('<div class="' + b + '-move"></div>').css({
432					'position': 'absolute',
433					'z-index': this.options.style.zIndex,
434					'top': -999
435				}).append(c);
436				$('body').append(e.move);
437				this.win = $(v);
438				this.addevents();
439				return c
440			},
441			addevents: function() {
442				var a = this.win;
443				a[0].onorientationchange = function() {
444					a.trigger('resize')
445				};
446				a.bind('resize', this.proxy(function() {
447					if (this.visible) {
448						this.overlay.resize();
449						if (!this.maximized) {
450							this.movebox()
451						}
452					}
453				}));
454				a.bind('scroll', this.proxy(function() {
455					if (this.visible && !this.maximized) {
456						this.movebox()
457					}
458				}));
459				$(A).bind('keydown', this.proxy(function(e) {
460					if (this.visible) {
461						if (e.keyCode === 27 && this.options.modal === false) {
462							this.close()
463						}
464						if (this.gallery.total > 1) {
465							if (e.keyCode === 37) {
466								this.esqueleto.buttons.prev.triggerHandler('click', e)
467							}
468							if (e.keyCode === 39) {
469								this.esqueleto.buttons.next.triggerHandler('click', e)
470							}
471						}
472					}
473				}));
474				this.esqueleto.buttons.close.bind('click touchend', {
475					"fn": "close"
476				}, this.proxy(this.fn));
477				this.esqueleto.buttons.max.bind('click touchend', {
478					"fn": "maximinimize"
479				}, this.proxy(this.fn));
480				this.overlay.element.bind('show', this.proxy(function() {
481					$(this).triggerHandler('show')
482				}));
483				this.overlay.element.bind('hide', this.proxy(function() {
484					$(this).triggerHandler('close')
485				}))
486			},
487			fn: function(e) {
488				this[e.data.fn].apply(this);
489				e.preventDefault()
490			},
491			proxy: function(a) {
492				return $.proxy(a, this)
493			},
494			ex: function(d, f, g) {
495				var h = {
496					type: "",
497					width: "",
498					height: "",
499					href: ""
500				};
501				$.each(d, this.proxy(function(b, c) {
502					$.each(c, this.proxy(function(i, e) {
503						if ((b == "flash" && f.split('?')[0].match(e.reg)) || (b == "iframe" && f.match(e.reg))) {
504							h.href = f;
505							if (e.split) {
506								var a = b == "flash" ? f.split(e.split)[e.index].split('?')[0].split('&')[0] : f.split(e.split)[e.index];
507								h.href = e.url.replace("%id%", a).replace("%width%", g.width).replace("%height%", g.height)
508							}
509							h.type = e.iframe ? "iframe" : b;
510							h.width = g.width || this.options[h.type].width;
511							h.height = g.height || this.options[h.type].height;
512							return false
513						}
514					}));
515					if ( !! h.type) return false
516				}));
517				return h
518			},
519			create_gallery: function(a, b) {
520				var c = this.esqueleto.buttons.prev;
521				var d = this.esqueleto.buttons.next;
522				this.gallery.total = a.length;
523				if (a.length > 1) {
524					c.unbind('.lightbox');
525					d.unbind('.lightbox');
526					c.bind('click.lightbox touchend.lightbox', this.proxy(function(e) {
527						e.preventDefault();
528						a.unshift(a.pop());
529						this.show(a)
530					}));
531					d.bind('click.lightbox touchend.lightbox', this.proxy(function(e) {
532						e.preventDefault();
533						a.push(a.shift());
534						this.show(a)
535					}));
536					if (this.esqueleto.navigator.css("display") === "none") {
537						this.esqueleto.buttons.div.show()
538					}
539					c.show();
540					d.show()
541				} else {
542					c.hide();
543					d.hide()
544				}
545			},
546			custombuttons: function(c, d) {
547				var f = this.esqueleto;
548				f.buttons.custom.empty();
549				$.each(c, this.proxy(function(i, a) {
550					var b = $('<a href="#" class="' + a['class'] + '">' + a['html'] + '</a>');
551					b.bind('click', this.proxy(function(e) {
552						if ($.isFunction(a.callback)) {
553							a.callback(this.esqueleto.image.src, this, d)
554						}
555						e.preventDefault()
556					}));
557					f.buttons.custom.append(b)
558				}));
559				f.buttons.div.show()
560			},
561			show: function(d, f, g) {
562				if (this.utils.isEmpty(d)) {
563					return false
564				}
565				var h = d[0];
566				var i = '';
567				var j = false;
568				var k = h.href;
569				var l = this.esqueleto;
570				var m = {
571					x: this.win.width(),
572					y: this.win.height()
573				};
574				var n, height;
575				if (d.length === 1 && h.type === "element") {
576					i = "element"
577				}
578				this.loading();
579				j = this.visible;
580				this.open();
581				if (j === false) {
582					this.movebox()
583				}
584				this.create_gallery(d, f);
585				f = $.extend(true, {
586					'width': 0,
587					'height': 0,
588					'modal': 0,
589					'force': '',
590					'autoresize': true,
591					'move': -1,
592					'iframe': false,
593					'flashvars': '',
594					'cufon': true,
595					'onOpen': function() {},
596					'onClose': function() {}
597				}, f || {}, h);
598				this.options.onOpen = f.onOpen;
599				this.options.onClose = f.onClose;
600				this.options.cufon = f.cufon;
601				var o = this.unserialize(k);
602				f = $.extend({}, f, o);
603				if (f.width && ("" + f.width).indexOf("p") > 0) {
604					f.width = (m.x ) * f.width.substring(0, f.width.indexOf("p")) / 100
605				}
606				if (f.height && ("" + f.height).indexOf("p") > 0) {
607					f.height = (m.y ) * f.height.substring(0, f.height.indexOf("p")) / 100
608				}
609				this.overlay.options.modal = f.modal;
610				l.buttons.max.removeClass(this.options.name + '-button-min').addClass(this.options.name + '-button-max');
611				this.maximized = !(f.move > 0 || (f.move == -1 && f.autoresize));
612				if ($.isArray(f.buttons)) {
613					this.custombuttons(f.buttons, h.element)
614				}
615				if (this.esqueleto.buttons.custom.is(":empty") === false) {
616					this.esqueleto.buttons.div.show()
617				}
618				l.buttons.max.hide();
619				if (this.utils.isEmpty(f.force) === false) {
620					i = f.force
621				} else if (f.iframe) {
622					i = 'iframe'
623				} else if (k.match(this.imgsreg)) {
624					i = 'image'
625				} else {
626					var p = this.ex({
627						"flash": this.videoregs,
628						"iframe": this.mapsreg
629					}, k, f);
630					if ( !! p.type === true) {
631						k = p.href;
632						i = p.type;
633						f.width = p.width;
634						f.height = p.height
635					}
636					if ( !! i === false) {
637						if (k.match(/#/)) {
638							var q = k.substr(k.indexOf("#"));
639							if ($(q).length > 0) {
640								i = 'inline';
641								k = q
642							} else {
643								i = 'ajax'
644							}
645						} else {
646							i = 'ajax'
647						}
648					}
649				}
650				if (i === 'image') {
651					l.image = new Image();
652					$(l.image).load(this.proxy(function() {
653						var a = this.esqueleto.image;
654						$(a).unbind('load');
655						if (this.visible === false) {
656							return false
657						}
658						if (f.width) {
659							n = parseInt(f.width, 10);
660							height = parseInt(f.height, 10)
661						} else {
662							if (f.autoresize) {
663								var b = this.calculate(a.width, a.height);
664								n = b.width;
665								height = b.height;
666								if (a.width != n || a.height != height) {
667									this.esqueleto.buttons.div.show();
668									this.esqueleto.buttons.max.show()
669								}
670							} else {
671								n = a.width;
672								height = a.height
673							}
674						}
675						this.esqueleto.title = (this.utils.isEmpty(f.title)) ? false : $('<div class="' + this.options.name + '-title"></div>').html(f.title);
676						this.loadimage();
677						this.resize(n, height)
678					}));
679					this.esqueleto.image.onerror = this.proxy(function() {
680						this.error("The requested image cannot be loaded. Please try again later.")
681					});
682					this.esqueleto.image.src = k
683				} else if (i == 'flash' || i == 'inline' || i == 'ajax' || i == 'element') {
684					if (i == 'inline') {
685						var r = $(k);
686						var s = r.clone(true).show();
687						n = f.width > 0 ? f.width : r.outerWidth(true);
688						height = f.height > 0 ? f.height : r.outerHeight(true);
689						this.appendhtml(s, n, height)
690					} else if (i == 'ajax') {
691						if (f.width) {
692							n = f.width;
693							height = f.height
694						} else {
695							this.error("You have to specify the size. Add ?lightbox[width]=600&lightbox[height]=400 at the end of the url.");
696							return false
697						}
698						if (this.animations.ajax) {
699							this.animations.ajax.abort()
700						}
701						this.animations.ajax = $.ajax($.extend({}, this.options.ajax, {
702							url: k,
703							error: this.proxy(function(a, b, c) {
704								this.error("AJAX Error " + a.status + " " + c)
705							}),
706							success: this.proxy(function(a) {
707								this.appendhtml($(a), n, height)
708							})
709						}))
710					} else if (i == 'flash') {
711						var t = this.swf2html(k, f.width, f.height, f.flashvars);
712						this.appendhtml($(t), f.width, f.height, 'flash')
713					} else if (i === 'element') {
714						n = f.width > 0 ? f.width : h.element.outerWidth(true);
715						height = f.height > 0 ? f.height : h.element.outerHeight(true);
716						this.appendhtml(h.element, n, height)
717					}
718				} else if (i == 'iframe') {
719					if (f.width) {
720						n = f.width;
721						height = f.height
722					} else {
723						this.error("You have to specify the size. Add ?lightbox[width]=600&lightbox[height]=400&lighbox[iframe]=true at the end of the url.");
724						return false
725					}
726					var u = '<iframe id="IF_' + (new Date().getTime()) + '" frameborder="0" src="' + k + '" style="margin:0; padding:0;"></iframe>';
727					this.appendhtml($(u).css({
728						width: f.width,
729						height: f.height
730					}), f.width, f.height)
731				}
732				this.callback = $.isFunction(g) ? g : function(e) {}
733			},
734			loadimage: function() {
735				var a = this.esqueleto;
736				var b = a.background;
737				var c = this.options.name + '-loading';
738				b.bind('complete', this.proxy(function() {
739					b.unbind('complete');
740					if (this.visible === false) {
741						return false
742					}
743					this.changemode('image');
744					b.empty();
745					a.html.empty();
746					if (a.title) {
747						b.append(a.title)
748					}
749					b.append(a.image);
750					if (D || E) {
751						b.removeClass(c)
752					} else {
753						$(a.image).css("background-color", "rgba(255, 255, 255, 0)");
754						$(a.image).stop().css("opacity", 0).animate({
755							"opacity": 1
756						}, 400, function() {
757							b.removeClass(c)
758						})
759					}
760					this.options.onOpen.apply(this)
761				}))
762			},
763			swf2html: function(a, b, c, d) {
764				if (typeof d == 'undefined' || d == '') d = 'autostart=1&autoplay=1&fullscreenbutton=1';
765				var e = '<object width="' + b + '" height="' + c + '" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="movie" value="' + a + '" style="margin:0; padding:0;"></param>';
766				e += '<param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><param name="wmode" value="transparent"></param>';
767				e += '<param name="autostart" value="true"></param><param name="autoplay" value="true"></param><param name="flashvars" value="' + d + '"></param>';
768				e += '<param name="width" value="' + b + '"></param><param name="height" value="' + c + '"></param>';
769				e += '<embed src="' + a + '" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" autostart="true" autoplay="true" flashvars="' + d + '" wmode="transparent" width="' + b + '" height="' + c + '" style="margin:0; padding:0;"></embed></object>';
770				return e
771			},
772			appendhtml: function(a, b, c, d) {
773				var e = this.esqueleto;
774				var f = e.background;
775				this.changemode("html");
776				this.resize(b , c );
777				f.bind('complete', this.proxy(function() {
778					f.removeClass(this.options.name + '-loading');
779					e.html.append(a);
780					if (d == "flash" && C("chrome") > -1) {
781						this.esqueleto.html.html(a)
782					}
783					f.unbind('complete');
784					if (this.options.cufon && typeof Cufon !== 'undefined') {
785						Cufon.refresh()
786					}
787					this.options.onOpen.apply(this)
788				}))
789			},
790			movebox: function(w, h) {
791				var a = {
792					x: $(this.win).width(),
793					y: $(this.win).height()
794				};
795				var b = {
796					x: $(this.win).scrollLeft(),
797					y: $(this.win).scrollTop()
798				};
799				var c = this.esqueleto;
800				var d = h != null ? h : c.lightbox.outerHeight();
801				var e = w != null ? w : c.lightbox.outerWidth();
802				var y = 0;
803				var x = 0;
804				x = b.x + ((a.x - e) / 2);
805				if (this.visible) {
806					y = b.y + (a.y - d) / 2
807				} else if (this.options.emergefrom == "bottom") {
808					y = (b.y + a.y )
809				} else if (this.options.emergefrom == "top") {
810					y = (b.y - d) 
811				}
812				if (this.visible) {
813					if (!this.animations.move) {
814						this.morph(c.move, {
815							'left': x
816						}, 'move')
817					}
818					this.morph(c.move, {
819						'top': y
820					}, 'move')
821				} else {
822					c.move.css({
823						'left': x,
824						'top': y
825					})
826				}
827			},
828			morph: function(d, f, g, h, i) {
829				var j = $.speed({
830					queue: i || false,
831					duration: (E ? 2 : this.options.animation[g].duration),
832					easing: this.options.animation[g].easing,
833					complete: ($.isFunction(h) ? this.proxy(h, this) : null)
834				});
835				return d[j.queue === false ? "each" : "queue"](function() {
836					if (parseFloat($.fn.jquery) > 1.5) {
837						if (j.queue === false) {
838							$._mark(this)
839						}
840					}
841					var c = $.extend({}, j),
842						self = this;
843					c.curAnim = $.extend({}, f);
844					c.animatedProperties = {};
845					for (var p in f) {
846						name = p;
847						c.animatedProperties[name] = c.specialEasing && c.specialEasing[n
847ame] || c.easing || 'swing'
848					}
849					$.each(f, function(a, b) {
850						var e = new $.fx(self, c, a);
851						e.custom(e.cur(true) || 0, b, "px")
852					});
853					return true
854				})
855			},
856			resize: function(x, y) {
857				var a = this.esqueleto;
858				if (this.visible) {
859					var b = {
860						x: $(this.win).width(),
861						y: $(this.win).height()
862					};
863					var c = {
864						x: $(this.win).scrollLeft(),
865						y: $(this.win).scrollTop()
866					};
867					var d = (c.x + (b.x - (x )) / 2);
868					var e = (c.y + (b.y - (y )) / 2);
869					if ($.browser.msie || ($.browser.mozilla && (parseFloat($.browser.version) < 1.9))) {
870						y += 4
871					}
872					this.animations.move = true;
873					this.morph(a.move.stop(), {
874						'left': (this.maximized && d < 0) ? 0 : d,
875						'top': (this.maximized && (y ) > b.y) ? c.y : e
876					}, 'move', $.proxy(function() {
877						this.move = false
878					}, this.animations));
879					this.morph(a.html, {
880						'height': y 
881					}, 'move');
882					this.morph(a.lightbox.stop(), {
883						'width': (x ),
884						'height': y 
885					}, 'move', {}, true);
886					this.morph(a.navigator, {
887						'width': x
888					}, 'move');
889					this.morph(a.navigator, {
890						'top': (y - 90) / 2
891					}, 'move');
892					this.morph(a.background.stop(), {
893						'width': x,
894						'height': y
895					}, 'move', function() {
896						$(a.background).trigger('complete')
897					})
898				} else {
899					a.html.css({
900						'height': y 
901					});
902					a.lightbox.css({
903						'width': x ,
904						'height': y 
905					});
906					a.background.css({
907						'width': x,
908						'height': y
909					});
910					a.navigator.css({
911						'width': x,
912						'height': 90
913					})
914				}
915			},
916			close: function(a) {
917				var b = this.esqueleto;
918				this.visible = false;
919				this.gallery = {};
920				this.options.onClose();
921				if ($.browser.msie || E) {
922					b.background.empty();
923					b.html.hide().empty().show();
924					b.buttons.custom.empty();
925					b.move.css("display", "none");
926					this.movebox()
927				} else {
928					b.move.animate({
929						"opacity": 0,
930						"top": "-=40"
931					}, {
932						queue: false,
933						complete: (this.proxy(function() {
934							b.background.empty();
935							b.html.empty();
936							b.buttons.custom.empty();
937							this.movebox();
938							b.move.css({
939								"display": "none",
940								"opacity": 1,
941								"overflow": "visible"
942							})
943						}))
944					})
945				}
946				this.overlay.hide(this.proxy(function() {
947					if ($.isFunction(this.callback)) {
948						this.callback.apply(this, $.makeArray(a))
949					}
950				}));
951				b.background.stop(true, false).unbind("complete")
952			},
953			open: function() {
954				this.visible = true;
955				if ($.browser.msie) {
956					this.esqueleto.move.get(0).style.removeAttribute("filter")
957				}
958				this.esqueleto.move.stop().css({
959					opacity: 1,
960					display: "block",
961					overflow: "visible"
962				}).show();
963				this.overlay.show()
964			},
965			shake: function() {
966				var z = this.options.animation.shake;
967				var x = z.distance;
968				var d = z.duration;
969				var t = z.transition;
970				var o = z.loops;
971				var l = this.esqueleto.move.position().left;
972				var e = this.esqueleto.move;
973				for (var i = 0; i < o; i++) {
974					e.animate({
975						left: l + x
976					}, d, t);
977					e.animate({
978						left: l - x
979					}, d, t)
980				};
981				e.animate({
982					left: l + x
983				}, d, t);
984				e.animate({
985					left: l
986				}, d, t)
987			},
988			changemode: function(a) {
989				if (a != this.mode) {
990					var b = this.options.name + "-mode-";
991					this.esqueleto.lightbox.removeClass(b + this.mode).addClass(b + a);
992					$('body').removeClass('lightbox-' + this.mode).addClass('lightbox-'+a)
993					this.mode = a
994				}
995				this.esqueleto.move.css("overflow", "visible")
996			},
997			error: function(a) {
998				alert(a);
999				this.close()
1000			},
1001			unserialize: function(d) {
1002				var e = /lightbox\[([^\]]*)?\]$/i;
1003				var f = {};
1004				if (d.match(/#/)) {
1005					d = d.slice(0, d.indexOf("#"))
1006				}
1007				d = d.slice(d.indexOf('?') + 1).split("&");
1008				$.each(d, function() {
1009					var a = this.split("=");
1010					var b = a[0];
1011					var c = a[1];
1012					if (b.match(e)) {
1013						if (isFinite(c)) {
1014							c = parseInt(c, 10)
1015						} else if (c.toLowerCase() == "true") {
1016							c = true
1017						} else if (c.toLowerCase() == "false") {
1018							c = false
1019						}
1020						f[b.match(e)[1]] = c
1021					}
1022				});
1023				return f
1024			},
1025			calculate: function(x, y) {
1026				var a = this.options.maxsize.width > 0 ? this.options.maxsize.width : this.win.width() - 50;
1027				var b = this.options.maxsize.height > 0 ? this.options.maxsize.height : this.win.height() - 50;
1028				if (x > a) {
1029					y = y * (a / x);
1030					x = a;
1031					if (y > b) {
1032						x = x * (b / y);
1033						y = b
1034					}
1035				} else if (y > b) {
1036					x = x * (b / y);
1037					y = b;
1038					if (x > a) {
1039						y = y * (a / x);
1040						x = a
1041					}
1042				}
1043				return {
1044					width: parseInt(x, 10),
1045					height: parseInt(y, 10)
1046				}
1047			},
1048			loading: function() {
1049				var a = this.options.style;
1050				var b = this.esqueleto.background;
1051				this.changemode('image');
1052				b.children().stop(true);
1053				b.empty();
1054				this.esqueleto.html.empty();
1055				b.addClass(this.options.name + '-loading');
1056				this.esqueleto.buttons.div.hide();
1057				if (this.visible == false) {
1058					this.movebox(a["width"], a["height"]);
1059					this.resize(a["width"], a["height"])
1060				}
1061			},
1062			maximinimize: function() {
1063				var a = this.esqueleto.buttons;
1064				var b = this.esqueleto.image;
1065				var c = this.options.name;
1066				if (this.maximized) {
1067					this.maximized = false;
1068					a.max.removeClass(c + '-button-min').addClass(c + '-button-max');
1069					this.loading();
1070					this.loadimage();
1071					a.div.show();
1072					var d = this.calculate(b.width, b.height);
1073					this.resize(d.width, d.height)
1074				} else {
1075					this.maximized = true;
1076					a.max.removeClass(c + '-button-max').addClass(c + '-button-min');
1077					this.loading();
1078					this.loadimage();
1079					a.div.show();
1080					this.resize(b.width, b.height)
1081				}
1082			},
1083			getOptions: function(a) {
1084				var a = $(a);
1085				return $.extend({}, {
1086					href: a.attr("href"),
1087					rel: ($.trim(a.attr("data-rel") || a.attr("rel"))),
1088					relent: a.attr("data-rel") ? "data-rel" : "rel",
1089					title: $.trim(a.attr("data-title") || a.attr("title")),
1090					element: a[0]
1091				}, $.parseJSON(a.attr("data-options")))
1092			},
1093			link: function(b, c) {
1094				var d = $(c.element);
1095				var e = this.getOptions(d);
1096				var f = e.rel;
1097				var g = e.relent;
1098				var h = c.options;
1099				var j = [];
1100				d.blur();
1101				if (c.gallery) {
1102					j = c.gallery
1103				} else if (this.utils.isEmpty(f) || f === 'nofollow') {
1104					j = [e]
1105				} else {
1106					var k = [];
1107					var l = [];
1108					var m = false;
1109					$("a[" + g + "], area[" + g + "]", this.ownerDocument).filter("[" + g + "=\"" + f + "\"]").each($.proxy(function(i, a) {
1110						if (d[0] === a) {
1111							k.unshift(this.getOptions(a));
1112							m = true
1113						} else if (m == false) {
1114							l.push(this.getOptions(a))
1115						} else {
1116							k.push(this.getOptions(a))
1117						}
1118					}, this));
1119					j = k.concat(l)
1120				}
1121				$.lightbox(j, h, c.callback, d);
1122				return false
1123			},
1124			utils: {
1125				isEmpty: function(a) {
1126					if (a == null) return true;
1127					if (Object.prototype.toString.call(a) === '[object String]' || $.type(a) === "array") return a.length === 0
1128				}
1129			}
1130		},
1131		lightbox: function(a, b, c) {
1132			var d = [];
1133			if ($.LightBoxObject.utils.isEmpty(a)) {
1134				return $.LightBoxObject
1135			}
1136			if ($.type(a) === "string") {
1137				d = [$.extend({}, {
1138					href: a
1139				}, b)]
1140			} else if ($.type(a) === "array") {
1141				var e = a[0];
1142				if ($.type(e) === "string") {
1143					for (var i = 0; i < a.length; i++) {
1144						d[i] = $.extend({}, {
1145							href: a[i]
1146						}, b)
1147					}
1148				} else if ($.type(e) === "object") {
1149					for (var i = 0; i < a.length; i++) {
1150						d[i] = $.extend({}, b, a[i])
1151					}
1152				}
1153			} else if ($.type(a) === "object" && a[0].nodeType) {
1154				d = [$.extend({}, {
1155					type: "element",
1156					href: "#",
1157					element: a
1158				}, b)]
1159			}
1160			return $.LightBoxObject.show(d, b, c)
1161		}
1162	});
1163	$.fn.lightbox = function(a, b) {
1164		var c = {
1165			"selector": this.selector,
1166			"options": a,
1167			"callback": b
1168		};
1169		return $(this).live('click', function(e) {
1170			return $.proxy($.LightBoxObject.link, $.LightBoxObject)(e, $.extend({}, c, {
1171				"element": this
1172			}))
1173		})
1174	};
1175	$(function() {
1176		if (parseFloat($.fn.jquery) > 1.2) {
1177			$.LightBoxObject.create()
1178		} else {
1179			throw "The jQuery version that was loaded is too old. Lightbox Evolution requires jQuery 1.3+";
1180		}
1181	})
1182})(jQuery, window, document);

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.