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&fs=1&rel=0&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&fs=1&rel=0&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&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&hl=en&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&autoplay=1&show_title=1&show_byline=1&show_portrait=0&color=&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&fullscreen=1&use_node_id=true&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&fullscreen=1&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&autoplay=true&vid=%id%&disabledComment=true&beginPercent=0.5331&endPercent=0.6292&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%&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&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&w=%width%&h=%height%&%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&%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&%id%" 245 }, 246 google: { 247 reg: /maps\.google\.com/i, 248 split: '?', 249 index: 1, 250 url: "http://maps.google.com/maps?%id%&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.