1( function ( $ ) { 2 3 $( document ).on( 'ready' + rlArgs.customEvents, function () { 4 5 // initialise event 6 $.event.trigger( { 7 type: 'doResponsiveLightbox', 8 script: rlArgs.script, 9 selector: rlArgs.selector, 10 args: rlArgs 11 } ); 12 } ); 13 14 // this is similar to the WP function add_action(); 15 $( document ).on( 'doResponsiveLightbox', function ( event ) { 16 17 var script = event.script, 18 selector = event.selector, 19 args = event.args; 20 21 if ( typeof script === 'undefined' || typeof selector === 'undefined' ) { 22 return false; 23 } 24 25 var observe_script_dom = ( function () { 26 var MutationObserver = window.MutationObserver || window.WebKitMutationObserver, 27 eventListenerSupported = window.addEventListener; 28 29 return function ( obj, only_added, callback ) { 30 if ( MutationObserver ) { 31 // define a new observer 32 var obs = new MutationObserver( function ( mutations, observer ) { 33 if ( only_added ) { 34 if ( mutations[0].addedNodes.length ) 35 callback(); 36 } else { 37 if ( mutations[0].addedNodes.length || mutations[0].removedNodes.length ) 38 callback(); 39 } 40 } ); 41 42 // have the observer observe for changes in children 43 obs.observe( obj, { childList: true, subtree: true } ); 44 } else if ( eventListenerSupported ) { 45 obj.addEventListener( 'DOMNodeInserted', callback, false ); 46 47 if ( !only_added ) { 48 obj.addEventListener( 'DOMNodeRemoved', callback, false ); 49 } 50 } 51 } 52 } )(); 53 54 rl_view_image = function ( script, url ) { 55 $.event.trigger( { 56 type: 'doLightboxViewImage', 57 script: script, 58 url: url 59 } ); 60 } 61 62 rl_hide_image = function ( script, url ) { 63 $.event.trigger( { 64 type: 'doLightboxHideImage', 65 script: script, 66 url: url 67 } ); 68 } 69 70 // WooCommerce 3.0+ compatibility 71 setTimeout( function () { 72 var flex = $( '.flex-viewport' ); 73 74 if ( rlArgs.woocommerce_gallery === '1' && flex.length ) { 75 $( '.zoomImg' ).css( 'cursor', 'pointer' ); 76 77 $( document ).on( 'click', '.flex-active-slide .zoomImg', function ( e ) { 78 e.preventDefault(); 79 e.stopPropagation(); 80 81 flex.find( '.flex-active-slide a[data-rel]' ).trigger( 'click' ); 82 } ); 83 } 84 }, 10 ); 85 86 switch ( script ) { 87 88 case 'swipebox': 89 90 var slide = $( '#swipebox-overlay' ).find( '.slide.current' ), 91 image_source = '', 92 allow_hide = false, 93 close_executed = false; 94 95 $( 'a[rel*="' + rlArgs.selector + '"], a[data-rel*="' + rlArgs.selector + '"]' ).swipebox( { 96 useCSS: ( rlArgs.animation === '1' ? true : false ), 97 useSVG: ( rlArgs.useSVG === '1' ? true : false ), 98 hideCloseButtonOnMobile: ( rlArgs.hideCloseButtonOnMobile === '1' ? true : false ), 99 removeBarsOnMobile: ( rlArgs.removeBarsOnMobile === '1' ? true : false ), 100 hideBarsDelay: ( rlArgs.hideBars === '1' ? parseInt( rlArgs.hideBarsDelay ) : 0 ), 101 videoMaxWidth: parseInt( rlArgs.videoMaxWidth ), 102 loopAtEnd: ( rlArgs.loopAtEnd === '1' ? true : false ), 103 afterOpen: function () { 104 close_executed = false; 105 106 // update current slide container 107 slide = $( '#swipebox-overlay' ).find( '.slide.current' ); 108 109 // get image source 110 var image = slide.find( 'img' ).attr( 'src' ); 111 112 // valid image source? 113 if ( typeof image !== 'undefined' ) { 114 image_source = image; 115 116 // trigger image view 117 rl_view_image( script, image_source ); 118 } else { 119 image_source = ''; 120 } 121 122 // add current slide observer 123 observe_script_dom( document.getElementById( 'swipebox-slider' ), false, function () { 124 if ( image_source === '' ) { 125 // get image source 126 var image = slide.find( 'img' ).attr( 'src' ); 127 128 // valid image source? 129 if ( typeof image !== 'undefined' ) { 130 image_source = image; 131 132 // trigger image view 133 rl_view_image( script, image_source ); 134 } else { 135 image_source = ''; 136 } 137 } 138 } ); 139 }, 140 nextSlide: function () { 141 // update current slide container 142 slide = $( '#swipebox-overlay' ).find( '.slide.current' ); 143 144 // get image source
145 var image = slide.find( 'img' ).attr( 'src' ); 146 147 // valid image source? 148 if ( typeof image !== 'undefined' ) { 149 image_source = image; 150 151 // trigger image view 152 rl_view_image( script, image_source ); 153 } else { 154 image_source = ''; 155 } 156 }, 157 prevSlide: function () { 158 // update current slide container 159 slide = $( '#swipebox-overlay' ).find( '.slide.current' ); 160 161 // get image source 162 var image = slide.find( 'img' ).attr( 'src' ); 163 164 // valid image source? 165 if ( typeof image !== 'undefined' ) { 166 image_source = image; 167 168 // trigger image view 169 rl_view_image( script, image_source ); 170 } else { 171 image_source = ''; 172 } 173 }, 174 afterClose: function () { 175 // afterClose event executed 176 close_executed = true; 177 178 // allow to hide image? 179 if ( allow_hide ) { 180 // trigger image hide 181 rl_hide_image( script, image_source ); 182 183 allow_hide = false; 184 } 185 } 186 } ); 187 188 // additional event to prevent rl_hide_image to execure while opening modal 189 $( window ).on( 'resize', function () { 190 if ( !close_executed ) { 191 allow_hide = true; 192 } 193 } ); 194 195 break; 196 197 case 'prettyphoto': 198 199 var view_disabled = false, 200 last_image = ''; 201 202 $( 'a[rel*="' + rlArgs.selector + '"], a[data-rel*="' + rlArgs.selector + '"]' ).prettyPhoto( { 203 hook: 'data-rel', 204 animation_speed: rlArgs.animationSpeed, 205 slideshow: ( rlArgs.slideshow === '1' ? parseInt( rlArgs.slideshowDelay ) : false ), 206 autoplay_slideshow: ( rlArgs.slideshowAutoplay === '1' ? true : false ), 207 opacity: rlArgs.opacity, 208 show_title: ( rlArgs.showTitle === '1' ? true : false ), 209 allow_resize: ( rlArgs.allowResize === '1' ? true : false ), 210 allow_expand: ( rlArgs.allowExpand === '1' ? true : false ), 211 default_width: parseInt( rlArgs.width ), 212 default_height: parseInt( rlArgs.height ), 213 counter_separator_label: rlArgs.separator, 214 theme: rlArgs.theme, 215 horizontal_padding: parseInt( rlArgs.horizontalPadding ), 216 hideflash: ( rlArgs.hideFlash === '1' ? true : false ), 217 wmode: rlArgs.wmode, 218 autoplay: ( rlArgs.videoAutoplay === '1' ? true : false ), 219 modal: ( rlArgs.modal === '1' ? true : false ), 220 deeplinking: ( rlArgs.deeplinking === '1' ? true : false ), 221 overlay_gallery: ( rlArgs.overlayGallery === '1' ? true : false ), 222 keyboard_shortcuts: ( rlArgs.keyboardShortcuts === '1' ? true : false ), 223 social_tools: ( rlArgs.social === '1' ? '<div class="pp_social"><div class="twitter"><a href="//twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script></div><div class="facebook"><iframe src="//www.facebook.com/plugins/like.php?locale=en_US&href=' + location.href + '&layout=button_count&show_faces=true&width=500&action=like&font&colorscheme=light&height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe></div></div>' : '' ), 224 ie6_fallback: true, 225 changepicturecallback: function () { 226 // is view disabled? 227 if ( view_disabled ) { 228 // enable view 229 view_disabled = false; 230 231 return; 232 } 233 234 last_image = $( '#pp_full_res' ).find( 'img' ).attr( 'src' ); 235 236 // trigger image view 237 rl_view_image( script, last_image ); 238 239 // is expanding allowed? 240 if ( rlArgs.allowExpand === '1' ) { 241 // disable changepicturecallback event after expanding 242 $( 'a.pp_expand' ).on( 'click', function () { 243 view_disabled = true; 244 } ); 245 } 246 }, 247 callback: function () { 248 // trigger image hide 249 rl_hide_image( script, last_image ); 250 } 251 } ); 252 253 break; 254 255 case 'fancybox': 256 257 var last_image = ''; 258 259 $( 'a[rel*="' + rlArgs.selector + '"], a[data-rel*="' + rlArgs.selector + '"]' ).fancybox( { 260 modal: ( rlArgs.modal === '1' ? true : false ), 261 overlayShow: ( rlArgs.showOverlay === '1' ? true : false ), 262 showCloseButton: ( rlArgs.showCloseButton === '1' ? true : false ), 263 enableEscapeButton: ( rlArgs.enableEscapeButton === '1' ? true : false ), 264 hideOnOverlayClick: ( rlArgs.hideOnOverlayClick === '1' ? true : false ), 265 hideOnContentClick: ( rlArgs.hideOnContentClick === '1' ? true : false ), 266 cyclic: ( rlArgs.cyclic === '1' ? true : false ), 267 showNavArrows: ( rlArgs.showNavArrows === '1' ? true : false ), 268 autoScale: ( rlArgs.autoScale === '1' ? true : false ), 269 scrolling: rlArgs.scrolling, 270 centerOnScroll: ( rlArgs.centerOnScroll === '1' ? true : false ), 271 opacity: ( rlArgs.opacity === '1' ? true : false ), 272 overlayOpacity: parseFloat( rlArgs.overlayOpacity / 100 ), 273 overlayColor: rlArgs.overlayColor, 274 titleShow: ( rlArgs.titleShow === '1' ? true : false ), 275 titlePosition: rlArgs.titlePosition, 276 transitionIn: rlArgs.transitions, 277 transitionOut: rlArgs.transitions, 278 easingIn: rlArgs.easings, 279 easingOut: rlArgs.easings, 280 speedIn: parseInt( rlArgs.speeds ), 281 speedOut: parseInt( rlArgs.speeds ), 282 changeSpeed: parseInt( rlArgs.changeSpeed ), 283 changeFade: parseInt( rlArgs.changeFade ), 284 padding: parseInt( rlArgs.padding ), 285 margin: parseInt( rlArgs.margin ), 286 width: parseInt( rlArgs.videoWidth ), 287 height: parseInt( rlArgs.videoHeight ), 288 onComplete: function () { 289 last_image = $( '#fancybox-content' ).find( 'img' ).attr( 'src' ); 290 291 // trigger image view 292 rl_view_image( script, last_image ); 293 }, 294 onClosed: function () { 295 // trigger image hide 296 rl_hide_image( script, last_image ); 297 } 298 } ); 299 300 break; 301 302 case 'nivo': 303 304 $.each( $( 'a[rel*="' + rlArgs.selector + '"], a[data-rel*="' + rlArgs.selector + '"]' ), function () { 305 var attr = $( this ).attr( 'data-rel' ); 306 307 // check data-rel attribute first 308 if ( typeof attr === 'undefined' || attr == false ) { 309 // if not found then try to check rel attribute for backward compatibility 310 attr = $( this ).attr( 'rel' ); 311 } 312 313 // for some browsers, `attr` is undefined; for others, `attr` is false. Check for both. 314 if ( typeof attr !== 'undefined' && attr !== false ) { 315 var match = attr.match( new RegExp( rlArgs.selector + '\\-(gallery\\-(?:[\\da-z]{1,4}))', 'ig' ) ); 316 317 if ( match !== null ) { 318 $( this ).attr( 'data-lightbox-gallery', match[0] ); 319 } 320 } 321 322 } ); 323 324 var observer_initialized = false, 325 change_allowed = true, 326 last_image = ''; 327 328 $( 'a[rel*="' + rlArgs.selector + '"], a[data-rel*="' + rlArgs.selector + '"]' ).nivoLightbox( { 329 effect: rlArgs.effect, 330 clickOverlayToClose: ( rlArgs.clickOverlayToClose === '1' ? true : false ), 331 keyboardNav: ( rlArgs.keyboardNav === '1' ? true : false ), 332 errorMessage: rlArgs.errorMessage, 333 afterShowLightbox: function ( lightbox ) { 334 var content = $( lightbox )[0].find( '.nivo-lightbox-content' ); 335 336 // is observer initialized? 337 if ( !observer_initialized ) { 338 // turn it off 339 observer_initialized = true; 340 341 // add content observer 342 observe_script_dom( document.getElementsByClassName( 'nivo-lightbox-content' )[0], true, function () { 343 if ( change_allowed ) { 344 last_image = content.find( '.nivo-lightbox-image img' ).attr( 'src' ); 345 346 // trigger image view 347 rl_view_image( script, last_image ); 348 349 // disallow observer changes 350 change_allowed = false;
351 } 352 } ); 353 } 354 }, 355 afterHideLightbox: function () { 356 // allow observer changes 357 change_allowed = true; 358 359 // trigger image hide 360 rl_hide_image( script, last_image ); 361 }, 362 onPrev: function ( element ) { 363 // disallow observer changes 364 change_allowed = false; 365 366 last_image = element[0].attr( 'href' ); 367 368 // trigger image view 369 rl_view_image( script, last_image ); 370 }, 371 onNext: function ( element ) { 372 // disallow observer changes 373 change_allowed = false; 374 375 last_image = element[0].attr( 'href' ); 376 377 // trigger image view 378 rl_view_image( script, last_image ); 379 } 380 } ); 381 382 break; 383 384 case 'imagelightbox': 385 386 var selectors = [ ], 387 last_image = ''; 388 389 $( 'a[rel*="' + rlArgs.selector + '"], a[data-rel*="' + rlArgs.selector + '"]' ).each( function ( i, item ) { 390 var attr = $( item ).attr( 'data-rel' ); 391 392 // check data-rel attribute first 393 if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' ) 394 selectors.push( attr ); 395 // if not found then try to check rel attribute for backward compatibility 396 else { 397 attr = $( item ).attr( 'rel' ); 398 399 if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' ) 400 selectors.push( attr ); 401 } 402 } ); 403 404 if ( selectors.length > 0 ) { 405 406 // make unique 407 selectors = $.unique( selectors ); 408 409 $( selectors ).each( function ( i, item ) { 410 $( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' ).imageLightbox( { 411 animationSpeed: parseInt( rlArgs.animationSpeed ), 412 preloadNext: ( rlArgs.preloadNext === '1' ? true : false ), 413 enableKeyboard: ( rlArgs.enableKeyboard === '1' ? true : false ), 414 quitOnEnd: ( rlArgs.quitOnEnd === '1' ? true : false ), 415 quitOnImgClick: ( rlArgs.quitOnImageClick === '1' ? true : false ), 416 quitOnDocClick: ( rlArgs.quitOnDocumentClick === '1' ? true : false ), 417 onLoadEnd: function () { 418 last_image = $( '#imagelightbox' ).attr( 'src' ); 419 420 // trigger image view 421 rl_view_image( script, last_image ); 422 }, 423 onEnd: function () { 424 // trigger image hide 425 rl_hide_image( script, last_image ); 426 } 427 } ); 428 } ); 429 } 430 431 break; 432 433 case 'tosrus': 434 435 var selectors = [ ], 436 last_image = ''; 437 438 $( 'a[rel*="' + rlArgs.selector + '"], a[data-rel*="' + rlArgs.selector + '"]' ).each( function ( i, item ) { 439 var attr = $( item ).attr( 'data-rel' ); 440 441 // check data-rel attribute first 442 if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' ) 443 selectors.push( attr ); 444 // if not found then try to check rel attribute for backward compatibility 445 else { 446 attr = $( item ).attr( 'rel' ); 447 448 if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' ) 449 selectors.push( attr ); 450 } 451 } ); 452 453 if ( selectors.length > 0 ) { 454 455 // make unique 456 selectors = $.unique( selectors ); 457 458 $( selectors ).each( function ( i, item ) { 459 var tos = $( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' ).tosrus( { 460 infinite: ( rlArgs.infinite === '1' ? true : false ), 461 autoplay: { 462 play: ( rlArgs.autoplay === '1' ? true : false ), 463 pauseOnHover: ( rlArgs.pauseOnHover === '1' ? true : false ), 464 timeout: rlArgs.timeout 465 }, 466 effect: rlArgs.effect, 467 keys: { 468 prev: ( rlArgs.keys === '1' ? true : false ), 469 next: ( rlArgs.keys === '1' ? true : false ), 470 close: ( rlArgs.keys === '1' ? true : false ) 471 }, 472 pagination: { 473 add: ( rlArgs.pagination === '1' ? true : false ), 474 type: rlArgs.paginationType 475 }, 476 // forced 477 show: false, 478 buttons: true, 479 caption: { 480 add: true, 481 attributes: [ "title" ] 482 }, 483 wrapper: { 484 onClick: rlArgs.closeOnClick === '1' ? 'close' : 'toggleUI' 485 } 486 } ); 487 488 tos.bind( 'sliding.tos', function ( event, number ) { 489 last_image = $( $( event.target ).find( '.tos-slider .tos-slide' )[number] ).find( 'img' ).attr( 'src' ); 490 491 // trigger image view 492 rl_view_image( script, last_image ); 493 } ); 494 495 tos.bind( 'closing.tos', function () { 496 // trigger image hide 497 rl_hide_image( script, last_image ); 498 } ); 499 500 } ); 501 } 502 503 break; 504 505 case 'featherlight': 506 507 var selectors = [ ], 508 last_image = ''; 509 510 $( 'a[rel*="' + rlArgs.selector + '"], a[data-rel*="' + rlArgs.selector + '"]' ).each( function ( i, item ) { 511 var attr = $( item ).attr( 'data-rel' ); 512 513 // check data-rel attribute first 514 if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' ) 515 selectors.push( attr ); 516 // if not found then try to check rel attribute for backward compatibility 517 else { 518 attr = $( item ).attr( 'rel' ); 519 520 if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' ) 521 selectors.push( attr ); 522 } 523 } ); 524 525 if ( selectors.length > 0 ) { 526 // make unique 527 selectors = $.unique( selectors ); 528 529 // set defaults 530 $.extend( $.featherlight.defaults, { 531 openSpeed: parseInt( rlArgs.openSpeed ), 532 closeSpeed: parseInt( rlArgs.closeSpeed ), 533 closeOnClick: rlArgs.closeOnClick, 534 closeOnEsc: ( rlArgs.closeOnEsc === '1' ? true : false ), 535 afterOpen: function ( event ) { 536 last_image = event.currentTarget.href; 537 538 // trigger image view 539 rl_view_image( script, last_image ); 540 }, 541 afterClose: function () { 542 // trigger image hide 543 rl_hide_image( script, last_image ); 544 } 545 } ); 546 547 $( selectors ).each( function ( i, item ) { 548 549 // gallery? 550 if ( /-gallery-/.test( item ) ) { 551 $( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' ).featherlightGallery( { 552 galleryFadeIn: parseInt( rlArgs.galleryFadeIn ), 553 galleryFadeOut: parseInt( rlArgs.galleryFadeOut ), 554 previousIcon: '❮', 555 nextIcon: '❯' 556 } ); 557 // video? 558 } else if ( /-video-/.test( item ) ) { 559 $( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' ).featherlight(); 560 // single image? 561 } else { 562 $( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' ).featherlight(); 563 } 564 } ); 565 566 } 567 568 break; 569 } 570 571 } ); 572 573} )( 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.