1window.lazySizesConfig = window.lazySizesConfig || {}; 2lazySizesConfig.expand = 1000; 3 4jQuery(document).ready(function($) 5{ 6 $('.ig-main-scope-wrapper').each(function(index,el) 7 { 8 var lastVisible = $(el).is(':visible'); 9 if(!lastVisible) 10 { 11 $(el).css('visibility','hidden'); 12 } 13 14 function checkIfVisibleChanged() 15 { 16 var visibleNow = $(el).is(':visible'); 17 18 if(visibleNow != lastVisible) 19 { 20 if(visibleNow) 21 { 22 $(el).resize(); 23 iguiUIkit.update($(el)); 24 setTimeout(function(){$(el).css('visibility','visible');$(el).find('.ig-thumbs-grid').css('visibility','visible');}, 70); 25 } 26 else 27 { 28 $(el).css('visibility','hidden'); 29 $(el).find('.ig-thumbs-grid').css('visibility','hidden'); 30 } 31 32 lastVisible = visibleNow; 33 } 34 } 35 36 setInterval(checkIfVisibleChanged, 50); 37 38 }); 39 40 //menu grid 41 $('.ig-menu-grid').each(function(index,el) 42 { 43 var menuGrid = $(el); 44 menuGrid.data('init',0); 45 var menuGridType = menuGrid.attr('data-ig-menugridtype'); 46 var maxColumnWidth = parseInt(menuGrid.attr('data-ig-maxmenuwidth')); 47 var maxColumnHeight = parseInt(menuGrid.attr('data-ig-maxmenuheight')); 48 var menuGridPadding = parseInt(menuGrid.attr('data-ig-menugridmargin')); 49 50 //masonry grid 51 function masonryGrid() 52 { 53 var containerWidth = parseInt(menuGrid.parent().width()); 54 var columns = Math.ceil(containerWidth/(maxColumnWidth + (menuGridPadding * 2))); 55 56 var gutterTotalSpace = menuGridPadding * (columns -1); 57 var columnsTotalSpace = containerWidth - (gutterTotalSpace); 58 var oneColumnSpace = columnsTotalSpace/columns; 59 60 menuGrid.find('.ig-menu-grid-item').each(function(index,el) 61 { 62 $(el).css('width',oneColumnSpace+'px'); 63 $(el).css('margin-bottom',(menuGridPadding -1)+'px'); 64 65 if($(el).find('img').length) 66 { 67 var imgWidth = $(el).find('img').attr('width'); 68 var imgHeight = $(el).find('img').attr('height'); 69 70 var newHeight = Math.ceil(((oneColumnSpace/imgWidth) * imgHeight)) + 1; 71 if(newHeight > imgHeight) 72 { 73 newHeight = imgHeight; 74 } 75 76 if($(el).find('.ig-menu-grid-text').length && $(el).find('.ig-menu-grid-text').hasClass('igui-overlay') == false) 77 { 78 newHeight = parseInt(newHeight) + parseInt($(el).find('.ig-menu-grid-text').outerHeight()) + 10; 79 } 80 81 $(el).css('height',newHeight+'px'); 82 } 83 }); 84 85 menuGrid.isotopeIG({ 86 layoutMode: 'masonry', 87 itemSelector: '.ig-menu-grid-item', 88 masonry: { 89 columnWidth: oneColumnSpace, 90 gutter: menuGridPadding, 91 resize: false, 92 fitWidth: true, 93 transitionDuration: 0 94 } 95 }); 96 97 98 if(menuGrid.data('init') == 0) 99 { 100 document.addEventListener('lazyloaded', function(e) 101 { 102 menuGrid.isotopeIG('layout'); 103 }); 104 } 105 menuGrid.data('init',1); 106 } 107 108 if(menuGridType == 'by_columns') 109 { 110 masonryGrid(); 111 setTimeout(function(){masonryGrid();}, 200); 112 setTimeout(function(){masonryGrid();}, 500); 113 114 $(window).resize(function() 115 { 116 if(menuGrid.data('resizing') == 0) 117 { 118 masonryGrid(); 119 setTimeout(function(){masonryGrid();}, 100); 120 setTimeout(function(){masonryGrid();}, 200); 121 setTimeout(function(){masonryGrid();}, 500); 122 menuGrid.data('resizing',1); 123 } 124 setTimeout(function(){menuGrid.data('resizing',0);}, 50); 125 }); 126 } 127 128 function metroMenuGrid() 129 { 130 var containerWidth = parseInt(menuGrid.parent().width()); 131 132 var columns = Math.ceil(containerWidth/(maxColumnWidth + (menuGridPadding * 1.5))); 133 var gutterTotalSpace = menuGridPadding * (columns -1); 134 var columnsTotalSpace = containerWidth - (gutterTotalSpace); 135 var oneColumnSpace = columnsTotalSpace/columns; 136 var twoColumnSpace = (oneColumnSpace*2) + menuGridPadding; 137 138 139 var lastContainerWidth = menuGrid.data('last-grid-width'); 140 if(typeof lastContainerWidth === 'undefined'){lastContainerWidth = 0} 141 142 if(containerWidth != lastContainerWidth) 143 { 144 menuGrid.find('.ig-menu-grid-item').each(function(index,el) 145 { 146 if( $(el).attr('data-widthdouble') == 1 ) 147 { 148 $(el).css('width',twoColumnSpace+'px'); 149 } 150 else 151 { 152 $(el).css('width',oneColumnSpace+'px'); 153 } 154 155 if( $(el).attr('data-heightdouble') == 1 ) 156 { 157 $(el).css('height',twoColumnSpace+'px'); 158 } 159 else 160 { 161 $(el).css('height',oneColumnSpace+'px'); 162 } 163 164 }); 165 166 menuGrid.isotopeIG({ 167 layoutMode: 'packery', 168 itemSelector: '.ig-menu-grid-item', 169 packery: { 170 gutter: menuGridPadding, 171 resize: false, 172 rowHeight: oneColumnSpace 173 } 174 }); 175 } 176 177 menuGrid.data('last-grid-width',containerWidth);
178 179 if(menuGrid.data('init') == 0) 180 { 181 document.addEventListener('lazyloaded', function(e) 182 { 183 menuGrid.isotopeIG('layout') 184 }); 185 } 186 menuGrid.data('init',1); 187 } 188 189 if(menuGridType == 'metro') 190 { 191 metroMenuGrid(); 192 setTimeout(function(){metroMenuGrid();}, 200); 193 setTimeout(function(){metroMenuGrid();}, 500); 194 195 $(window).resize(function() 196 { 197 if(menuGrid.data('resizing') == 0) 198 { 199 metroMenuGrid(); 200 setTimeout(function(){metroMenuGrid();}, 100); 201 setTimeout(function(){metroMenuGrid();}, 200); 202 setTimeout(function(){metroMenuGrid();}, 500); 203 menuGrid.data('resizing',1); 204 } 205 206 setTimeout(function(){menuGrid.data('resizing',0);}, 50); 207 }); 208 } 209 210 //rows grid 211 function rowsGrid() 212 { 213 var containerWidth = parseInt(menuGrid.parent().width()); 214 var columns = Math.ceil(containerWidth/(maxColumnWidth + (menuGridPadding * 2))); 215 216 var gutterTotalSpace = menuGridPadding * (columns -1); 217 var columnsTotalSpace = containerWidth - (gutterTotalSpace); 218 var oneColumnSpace = columnsTotalSpace/columns; 219 220 menuGrid.find('.ig-menu-grid-item').each(function(index,el) 221 { 222 $(el).css('width',oneColumnSpace+'px'); 223 $(el).css('margin-bottom',(menuGridPadding -1)+'px'); 224 225 if($(el).find('img').length) 226 { 227 var imgWidth = $(el).find('img').attr('width'); 228 var imgHeight = $(el).find('img').attr('height'); 229 230 var newHeight = Math.ceil(((oneColumnSpace/imgWidth) * imgHeight)) + 1; 231 if(newHeight > imgHeight) 232 { 233 newHeight = imgHeight; 234 } 235 236 if($(el).find('.ig-menu-grid-text').length && $(el).find('.ig-menu-grid-text').hasClass('igui-overlay') == false) 237 { 238 newHeight = parseInt(newHeight) + parseInt($(el).find('.ig-menu-grid-text').outerHeight()) + 10; 239 } 240 241 $(el).css('height',newHeight+'px'); 242 } 243 }); 244 245 menuGrid.isotopeIG({ 246 layoutMode: 'fitRows', 247 itemSelector: '.ig-menu-grid-item', 248 fitRows: { 249 gutter: (menuGridPadding -1), 250 } 251 }); 252 253 254 if(menuGrid.data('init') == 0) 255 { 256 document.addEventListener('lazyloaded', function(e) 257 { 258 menuGrid.isotopeIG('layout'); 259 }); 260 } 261 menuGrid.data('init',1); 262 } 263 264 if(menuGridType == 'by_rows') 265 { 266 rowsGrid(); 267 setTimeout(function(){rowsGrid();}, 200); 268 setTimeout(function(){rowsGrid();}, 500); 269 270 $(window).resize(function() 271 { 272 if(menuGrid.data('resizing') == 0) 273 { 274 rowsGrid(); 275 setTimeout(function(){rowsGrid();}, 100); 276 setTimeout(function(){rowsGrid();}, 200); 277 setTimeout(function(){rowsGrid();}, 500); 278 menuGrid.data('resizing',1); 279 } 280 setTimeout(function(){menuGrid.data('resizing',0);}, 50); 281 }); 282 } 283 284 //justified grid 285 var thumbSizes = []; 286 var largestHeight = 0; 287 var sumHeights = 0; 288 var smallestHeight = 5000; 289 var spacing = parseInt(menuGrid.attr('data-ig-menugridmargin')); 290 menuGrid.find('.ig-menu-grid-item').each(function(index,el) 291 { 292 if($(el).find('.ig-menu-grid-image').length) 293 { 294 var width = $(el).find('.ig-menu-grid-image').attr('width'); 295 var height = $(el).find('.ig-menu-grid-image').attr('height'); 296 if( !$(el).find('.ig-menu-grid-text').hasClass('igui-overlay') ) 297 { 298 height = parseInt(height) + (parseInt($(el).find('.ig-menu-grid-text').height()) * 1.2); 299 } 300 } 301 else 302 { 303 width = maxColumnWidth; 304 height = maxColumnHeight; 305 } 306 307 thumbSizes.push({width: width,height: height}); 308 largestHeight = height > largestHeight ? height : largestHeight; 309 sumHeights = sumHeights + parseInt(height); 310 smallestHeight = height < smallestHeight ? height : smallestHeight; 311 }); 312 313 var averageHeight = Math.round(sumHeights/(menuGrid.find('.ig-menu-grid-item').length)); 314 var targetHeight = $(window).width() > 1000 ? smallestHeight*0.8 : smallestHeight*0.6; 315 316 function menuJustifiedGrid() 317 {
318 if(menuGrid.width() < 300) 319 { 320 menuGrid.css('height','auto'); 321 menuGrid.find('.ig-menu-grid-item').css({'width':'auto', 'height':'auto', 'top':'auto', 'left':'auto','position':'static'}); 322 rowsGrid(); 323 } 324 else 325 { 326 menuGrid.removeClass('igui-child-width-1-1 igui-child-width-1-2 igui-child-width-1-3 igui-child-width-1-4 igui-child-width-1-5 igui-child-width-1-6 igui-child-width-1-7 igui-child-width-1-8 igui-child-width-1-9 igui-child-width-1-10 igui-child-width-1-11 igui-child-width-1-12 igui-child-width-1-13 igui-child-width-1-14 igui-child-width-1-15 igui-grid-small igui-grid-medium igui-grid-collapse'); 327 328 var justifiedData = require('justified-layout')(thumbSizes, 329 { 330 containerWidth:menuGrid.width(), 331 targetRowHeight: targetHeight, 332 boxSpacing:spacing, 333 targetRowHeightTolerance: 0.15 334 }); 335 336 $.each(justifiedData.boxes,function(index,box) 337 { 338 menuGrid.find('.ig-menu-grid-item').eq(index).css({'width':box.width, 'height':box.height, 'top':box.top, 'left':box.left,'position':'absolute'}); 339 }); 340 menuGrid.css('height',justifiedData.containerHeight+'px'); 341 342 if(menuGrid.data('init') == 0) 343 { 344 document.addEventListener('lazyloaded', function(e) 345 { 346 menuJustifiedGrid(); 347 }); 348 } 349 menuGrid.data('init',1); 350 } 351 } 352 353 if(menuGridType == 'justified') 354 { 355 menuJustifiedGrid(); 356 357 $(window).resize(function() 358 { 359 menuJustifiedGrid(); 360 }); 361 } 362 363 364 $('.ig-menu-grid-link').each(function(index,el) 365 { 366 $(el).imagesLoaded( function() 367 { 368 $(el).find('.ig-menu-grid-text').css('display','block'); 369 }); 370 }); 371 372 setTimeout(function(){menuGrid.css('visibility','visible');}, 700); 373 374 if(menuGrid.attr('data-ig-menuclick') == 'lightbox') 375 { 376 $('.ig-menu-grid-link').on('click', function(e) 377 { 378 e.preventDefault(); 379 $('body, html').css('overflow','hidden'); 380 var galleryId = $(this).attr('data-gallery-id'); 381 var htmlId = 'ig-menu-to-lbox-'+galleryId; 382 var link = menuGrid.attr('data-ig-basehref') + '/index.php?option=com_igallery&view=category&tmpl=component&lboxview=1&igid=' + galleryId + '&shareurl=' + encodeURIComponent(window.location.href); 383 var iframe = $('<iframe src=' + link + ' style="display:none; width:100vw; height:100vh; background-color:#000; position:fixed; top:0px; left:0px; z-index:10000000000;" id="' + htmlId + '" class="ig-menu-to-lbox" frameborder="0" scrolling="no"></iframe>'); 384 385 $(document.body).append(iframe); 386 $('#'+htmlId).css('display','block'); 387 388 if(menuGrid.attr('data-ig-lightbox-fullscreen') == 'open-fullscreen') 389 { 390 $('#'+htmlId).fullScreen(true); 391 } 392 393 394 window.igCloseModal = function() 395 { 396 if($(document).fullScreen()) 397 { 398 $(document).fullScreen(false); 399 } 400 $('.ig-menu-to-lbox').remove(); 401 $('body, html').css('overflow','auto'); 402 }; 403 404 }); 405 } 406 407 }); 408 409 410 411 $('.ig-gallery-wrapper').each(function(index,el) 412 { 413 var panel = null; 414 var panelIds = Array(); 415 var isIOS = (navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false); 416 var isAndroid = (navigator.userAgent.toLowerCase().indexOf("android") > -1); 417 418 var galleryWrapper = $(el); 419 var lboxWrapper = $('#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid') ); 420 galleryWrapper.data('hits-pause',0); 421 galleryWrapper.data('swipe-active',0); 422 galleryWrapper.data('firstShown', false); 423 galleryWrapper.data('lboxPlaying', false); 424 425 var imgsToPreload = []; 426
427 galleryWrapper.find(".ig-description-overlay a").click(function(e) 428 { 429 e.stopPropagation(); 430 }); 431 432 if(window.location.href.search('thumb_limitstart') != -1 && getUrlParamater('i') == 'unset') 433 { 434 //window.location.hash = 'ig-gallery-wrapper-' + galleryWrapper.attr('data-ig-uniqueid'); 435 } 436 437 if(galleryWrapper.attr('data-ig-disable-rightclick') == 1) 438 { 439 galleryWrapper.find('.ig-slideshow-image, .ig-thumbs-grid-image, .ig-thumbs-grid-hover').on('contextmenu',function(){ 440 alert(galleryWrapper.attr('data-ig-rightclick-msg')); 441 return false; 442 }); 443 444 galleryWrapper.find('.ig-thumbs-grid-image').on('dragstart', function(event){ 445 event.preventDefault(); 446 }); 447 } 448 449 //slideshow 450 if(galleryWrapper.attr('data-ig-show-main-image') == 1) 451 { 452 var imgHash = getUrlParamater('i'); 453 454 var slideShowInitIndex = 0; 455 if(imgHash.length > 0) 456 { 457 var elementToFind = galleryWrapper.find(".ig-slideshow-item[data-ig-imagehash='" + imgHash + "']"); 458 if (elementToFind.length) 459 { 460 slideShowInitIndex = elementToFind.index(); 461 loadImageNow(slideShowInitIndex); 462 addToPreload(slideShowInitIndex + 1); 463 addToPreload(slideShowInitIndex + 2); 464 addToPreload(slideShowInitIndex + 3); 465 addToPreload(slideShowInitIndex + 4); 466 addToPreload(slideShowInitIndex + 5); 467 addToPreload(slideShowInitIndex + 6); 468 addToPreload(slideShowInitIndex - 1); 469 addToPreload(slideShowInitIndex - 2); 470 } 471 } 472 473 if (slideShowInitIndex == 0) 474 { 475 for (var i = 0; i < 20; i++) { 476 addToPreload(i); 477 } 478 } 479 480 var velocity = parseFloat( galleryWrapper.find('.ig-slideshow').attr('data-ig-transition-duration') ); 481 velocity = velocity == 0 ? 200 : velocity; 482 483 var autoplay = Boolean(Number(galleryWrapper.find('.ig-slideshow').attr('data-ig-autoplay'))); 484 var finite = galleryWrapper.find('.ig-slideshow').attr('data-ig-infinite') == 1 ? false : true; 485 486 var slideshow = iguiUIkit.slideshow(galleryWrapper.find('.ig-slideshow'), 487 { 488 animation: galleryWrapper.find('.ig-slideshow').attr('data-ig-fade'), 489 index: slideShowInitIndex, 490 finite: finite, 491 velocity: (400/velocity), 492 ratio: galleryWrapper.find('.ig-slideshow').attr('data-ig-ratio'), 493 autoplay: autoplay, 494 autoplayInterval: parseInt(galleryWrapper.find('.ig-slideshow').attr('data-ig-interval')), 495 maxHeight: parseInt(galleryWrapper.find('.ig-slideshow').attr('data-ig-max-height')) 496 }); 497 498 //allow creation of custom links that load a slideshow image 499 $('.ig-slideshow-custom-link').on('click', function(e) 500 { 501 e.preventDefault(); 502 var galleryId = $(this).attr('data-gallery-id'); 503 var imageIndex = $(this).attr('data-image-index') > 0 ? $(this).attr('data-image-index') -1 : 0; 504 if(galleryId == galleryWrapper.attr('data-ig-uniqueid')) 505 { 506 slideshow.show(imageIndex); 507 } 508 }); 509 510 galleryWrapper.find('.ig-slideshow').find('iframe').each(function (index, el) 511 { 512 iguiUIkit.video(el, {automute: false,autoplay:false}); 513 }); 514 515 if(galleryWrapper.find('.ig-slideshow .ig-description-overlay').length && galleryWrapper.find('.ig-slideshow .ig-dotnav').length ) 516 { 517 galleryWrapper.find('.ig-slideshow .ig-dotnav').css('margin-bottom','8px'); 518 galleryWrapper.find('.ig-slideshow .ig-description-overlay').css('padding-bottom','28px'); 519 } 520 521 galleryWrapper.find('.ig-slideshow-notlazy').parent().each(function (index, el) 522 { 523 $(el).imagesLoaded( function() 524 { 525 $(el).find('.ig-description-overlay').css('visibility','visible'); 526 }); 527 }); 528 529 galleryWrapper.find('.ig-slideshow-image').on('load', function() 530 { 531 $(this).parent().find('.ig-description-overlay').css('visibility','visible'); 532 }); 533 534 if(galleryWrapper.find('.ig-play-icon').length) 535 { 536 if(autoplay) 537 { 538 galleryWrapper.find('.ig-pause-icon').css('display','inline-block'); 539 galleryWrapper.find('.ig-play-icon').css('display','none'); 540 } 541 542 galleryWrapper.find('.ig-play-icon').on('click', function(event) 543 { 544 slideshow.autoplay = true; 545 slideshow.startAutoplay(); 546 galleryWrapper.find('.ig-play-icon').css('display','none'); 547 galleryWrapper.find('.ig-pause-icon').css('display','inline-block'); 548 galleryWrapper.data('lboxPlaying', true); 549 }); 550 551 galleryWrapper.find('.ig-pause-icon').on('click', function(event) 552 { 553 slideshow.stopAutoplay(); 554 slideshow.autoplay = false; 555 galleryWrapper.find('.ig-pause-icon').css('display','none'); 556 galleryWrapper.find('.ig-play-icon').css('display','inline-block'); 557 galleryWrapper.data('lboxPlaying', false); 558 }); 559 560 galleryWrapper.find('.ig-slideshow-button, .ig-slideshow-image').on('click', function(event) 561 { 562 galleryWrapper.find('.ig-pause-icon').css('display','none'); 563 galleryWrapper.find('.ig-play-icon').css('display','inline-block'); 564 }); 565 } 566 567 galleryWrapper.find('.ig-slideshow').on('beforeitemshow', function () 568 { 569 loadImageNow(slideshow.index); 570 addToPreload(slideshow.index + 1); 571 addToPreload(slideshow.index + 2); 572 addToPreload(slideshow.index + 3); 573 addToPreload(slideshow.index + 4); 574 addToPreload(slideshow.index - 1); 575 addToPreload(slideshow.index - 2); 576 577 setTimeout(checkImageHeight, 20); 578 setTimeout(checkImageHeight, 50); 579 setTimeout(checkImageHeight, 80); 580 setTimeout(checkImageHeight, 100) 581 setTimeout(checkImageHeight, 150); 582 583 iframeWidth(); 584 setTimeout(iframeWidth, 100); 585 setTimeout(iframeWidth, 400); 586 587 588 }); 589 590 function iframeWidth() 591 { 592 var iframe = galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).find('iframe'); 593 if(iframe.length == 0){return;} 594 595 var ssWidth = galleryWrapper.find('.ig-slideshow').width(); 596 var ssHeight = galleryWrapper.find('.ig-slideshow').height(); 597 var ssRatio = ssWidth/ssHeight; 598 599 var ifrWidth = $(iframe).width(); 600 var ifrHeight = $(iframe).height(); 601 var iframeRatio = ifrWidth/ifrHeight; 602
603 if(ifrWidth < 50 || ifrHeight < 50 || ssWidth < 50 || ssHeight < 50){return;} 604 605 if(iframeRatio >= ssRatio) 606 { 607 var newWidth = ssWidth; 608 var newHeight = Math.round( (newWidth/ifrWidth) * ifrHeight ); 609 } 610 else 611 { 612 var newHeight = ssHeight; 613 var newWidth = Math.round( (newHeight/ifrHeight) * ifrWidth ); 614 } 615 616 $(iframe).css('width',newWidth+'px'); 617 $(iframe).css('height',newHeight+'px'); 618 } 619 620 function checkImageHeight() 621 { 622 var wrapperHeight = galleryWrapper.find('.igui-slideshow-items').height(); 623 624 if(wrapperHeight > 100) 625 { 626 var currentImg = galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).find('.ig-slideshow-image'); 627 var imageHeight = currentImg.height(); 628 629 if(imageHeight > wrapperHeight) 630 { 631 galleryWrapper.find('.ig-slideshow-item.igui-active .ig-slideshow-item-inner-lboxon, .ig-slideshow-item.igui-active ig-slideshow-item-inner').css('height',wrapperHeight+'px'); 632 } 633 634 if(wrapperHeight > (imageHeight + 10)) 635 { 636 var naturalImgHeight = parseInt( currentImg.prop('naturalHeight') ); 637 if(naturalImgHeight > (wrapperHeight + 3)) 638 { 639 galleryWrapper.find('.ig-slideshow-item.igui-active .ig-slideshow-item-inner-lboxon').css('height','auto'); 640 } 641 } 642 } 643 } 644 645 setInterval(checkImageHeight, 300); 646 } 647 648 function addToPreload(index) 649 { 650 if(galleryWrapper.attr('data-ig-show-main-image') == 0 || galleryWrapper.find('.ig-slideshow').attr('data-ig-preload-main') == 0) 651 { 652 return; 653 } 654 655 if(index < galleryWrapper.find('.ig-slideshow-item').length && index >= 0) 656 { 657 if( imgsToPreload.indexOf(index) == -1 ) 658 { 659 imgsToPreload.push(index); 660 } 661 } 662 } 663 664 function preloadImage() 665 { 666 if(imgsToPreload.length) 667 { 668 index = imgsToPreload.shift(); 669 imgObj = galleryWrapper.find('.ig-slideshow-item').eq(index).find('img.ig-slideshow-image'); 670 671 if(imgObj.length) 672 { 673 if(imgObj.data('preloaded') != 1) 674 { 675 var lazySrc = imgObj.attr('data-ig-lazy-src'); 676 if(typeof lazySrc === 'undefined'){lazySrc = imgObj.attr('data-ig-lazy-data-src');} 677 if(typeof lazySrc !== 'undefined') 678 { 679 imgObj.attr('src',lazySrc); 680 imgObj.data('preloaded',1); 681 } 682 } 683 } 684 685 iframeObj = galleryWrapper.find('.ig-slideshow-item').eq(index).find('iframe, video'); 686 if(iframeObj.length) 687 { 688 if(iframeObj.data('preloaded') != 1) 689 { 690 iframeObj.attr('src',iframeObj.attr('data-ig-lazy-src')); 691 iframeObj.data('preloaded',1); 692 } 693 } 694 695 } 696 } 697 698 function loadImageNow(index) 699 { 700 var imgObj = galleryWrapper.find('.ig-slideshow-item').eq(index).find('img.ig-slideshow-image'); 701 if(imgObj.length) 702 { 703 704 if(imgObj.data('preloaded') != 1) 705 { 706 var lazySrc = imgObj.attr('data-ig-lazy-src'); 707 if(typeof lazySrc !== 'undefined') 708 { 709 imgObj.attr('src',lazySrc); 710 imgObj.data('preloaded',1); 711 } 712 } 713 } 714 715 iframeObj = galleryWrapper.find('.ig-slideshow-item').eq(index).find('iframe, video'); 716 if(iframeObj.length) 717 { 718 if(iframeObj.data('preloaded') != 1) 719 { 720 iframeObj.attr('src',iframeObj.attr('data-ig-lazy-src')); 721 iframeObj.data('preloaded',1); 722 } 723 } 724 } 725 726 if(galleryWrapper.attr('data-ig-show-main-image') == 1) 727 { 728 setInterval(preloadImage ,750); 729 } 730 731 var lastItemshowIndex = -1; 732 733 galleryWrapper.find('.ig-slideshow').on('itemshow', function() 734 { 735 if(lastItemshowIndex == slideshow.index) 736 { 737 return; 738 } 739 740 loadImageNow(slideshow.index); 741 742 //swap descriptions 743 galleryWrapper.find('.ig-image-description').css('display','none'); 744 galleryWrapper.find('.ig-image-description').eq(slideshow.index).css('display','block'); 745 746 //swap active thumb 747 galleryWrapper.find('.ig-scroller-img-wrapper').removeClass('ig-active-thumb'); 748 galleryWrapper.find('.ig-scroller-img-wrapper').eq(slideshow.index).addClass('ig-active-thumb'); 749 750 //swap comments 751 if(galleryWrapper.find('.ig-comments').length) 752 { 753 var commentContent = galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).find('.ig-comments-content').html(); 754 galleryWrapper.find('.ig-comments').find('.ig-comments-list').html(commentContent); 755 galleryWrapper.find('.ig-comment-count').html(galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).find('.ig-comments-content .ig-comment').length); 756 757 galleryWrapper.find('.ig-comments-textarea-wrapper').css('display','none'); 758 } 759 760 //swap rating 761 if(galleryWrapper.find('.ig-rating').length) 762 { 763 var rating = galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).attr('data-ig-rating').toString(); 764 var ratingWidth = rating.length < 2 ? 23 : 28; 765 var ratingWidth = rating.length > 2 ? 33 : ratingWidth; 766 galleryWrapper.find('.ig-rating').css('width',ratingWidth+'px'); 767 galleryWrapper.find('.ig-rating-number').html(rating); 768 } 769 770 771 //add hit 772 if(galleryWrapper.attr('data-ig-collecthits') == 1) 773 { 774 if(galleryWrapper.data('hits-pause') == 0) 775 { 776 var imageid = galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).attr('data-ig-imageid'); 777 var hitUrl = galleryWrapper.attr('data-ig-basehref') + '/index.php?option=com_igallery&task=imagefront.addHit&format=raw&id=' + imageid; 778 $.ajax({url: hitUrl, success: function(result){}}); 779 780 galleryWrapper.data('hits-pause',1); 781 setTimeout(function(){galleryWrapper.data('hits-pause',0)}, 500); 782 } 783 } 784 785 //swap hit 786 var hitCount = galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).attr('data-ig-hits'); 787 galleryWrapper.find('.ig-hits-number').html(hitCount); 788 789 //swap image number 790 galleryWrapper.find('.ig-image-number').html(slideshow.index + 1); 791 792 //swap hash 793 if(galleryWrapper.attr('data-ig-showhash') == 'hash' && $(this).data('firstShown') == true && !lboxWrapper.hasClass('igui-open') && galleryWrapper.attr('data-ig-show-main-image') == 1) 794 { 795 imageUrl(slideshow.index,true); 796 } 797 798 $(this).data('firstShown', true); 799 lastItemshowIndex = slideshow.index; 800 801 //check thumb position 802 var currentThumb = galleryWrapper.find('.ig-scroller-img-wrapper').eq(slideshow.index); 803 804 if(galleryWrapper.find('.ig-thumb-scroller-horizontal').length) 805 { 806 var thumbPosition = currentThumb.position().left; 807 var containerWidth = galleryWrapper.find('.ig-thumb-scroller').width(); 808 809 if(slideshow.index == 0) 810 { 811 galleryWrapper.find('.ig-thumb-scroller-inner').scrollTo(0,400); 812 } 813 else if(thumbPosition > (containerWidth + galleryWrapper.find('.ig-thumb-scroller-inner').scrollLeft())) 814 { 815 galleryWrapper.find('.ig-thumb-scroller-inner').scrollTo(currentThumb,400); 816 } 817 else if(thumbPosition < galleryWrapper.find('.ig-thumb-scroller-inner').scrollLeft() ) 818 { 819 var position = thumbPosition - (containerWidth - currentThumb.width()); 820 var position = position < 0 ? 0 : position; 821 galleryWrapper.find('.ig-thumb-scroller-inner').scrollTo(position,400); 822 } 823 824 } 825 else if(galleryWrapper.find('.ig-thumb-scroller-vertical').length) 826 { 827 var thumbPosition = currentThumb.position().top; 828 var containerHeight = galleryWrapper.find('.ig-thumb-scroller').height(); 829 830 if(slideshow.index == 0) 831 { 832 galleryWrapper.find('.ig-thumb-scroller-inner').scrollTo(0,400); 833 } 834 else if(thumbPosition > (containerHeight + galleryWrapper.find('.ig-thumb-scroller-inner').scrollTop())) 835 { 836 galleryWrapper.find('.ig-thumb-scroller-inner').scrollTo(currentThumb,400); 837 } 838 else if(thumbPosition < galleryWrapper.find('.ig-thumb-scroller-inner').scrollTop() ) 839 { 840 var position = thumbPosition - (containerHeight - currentThumb.height()); 841 var position = position < 0 ? 0 : position; 842 843 galleryWrapper.find('.ig-thumb-scroller-inner').scrollTo(position,400); 844 } 845 } 846 }); 847 848 galleryWrapper.find('.ig-slideshow-matchheight').matchHeightx({byRow: false,target: galleryWrapper.find('.igui-slideshow-items')}); 849 setTimeout(function(){galleryWrapper.find('.ig-slideshow-matchheight').matchHeightx({byRow: false,target: galleryWrapper.find('.igui-slideshow-items')});}, 300); 850 851 //thumbnail scroller main 852 var thumbScrollerWrapper = galleryWrapper.find('.ig-thumb-scroller-main'); 853 var vertical = thumbScrollerWrapper.hasClass('ig-thumb-scroller-vertical'); 854 var hoverRightThumbArrow = false; 855 var hoverLeftThumbArrow = false; 856 var hoverDownThumbArrow = false; 857 var hoverUpThumbArrow = false; 858 859 galleryWrapper.find('.ig-thumb-scroller-down').on('click', function(e) 860 { 861 e.preventDefault(); 862 e.stopPropagation(); 863 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 864 var pixels = thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTop() + 350; 865 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo(pixels, 500,{easing:'linear',onAfter: function() 866 { 867 if(hoverDownThumbArrow) 868 { 869 thumbScrollerWrapper.find('.ig-thumb-scroller-down').trigger('mouseenter'); 870 } 871 }}); 872 }); 873 874 galleryWrapper.find('.ig-thumb-scroller-up').on('click', function(e) 875 { 876 e.preventDefault(); 877 e.stopPropagation(); 878 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 879 var pixels = thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTop() - 350; 880 881 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo(pixels, 500,{easing:'linear',onAfter: function() 882 { 883 if(hoverUpThumbArrow) 884 { 885 thumbScrollerWrapper.find('.ig-thumb-scroller-up').trigger('mouseenter'); 886 } 887 }}); 888 }); 889 890 thumbScrollerWrapper.find('.ig-thumb-scroller-left').on('click', function(e) 891 { 892 e.preventDefault(); 893 e.stopPropagation(); 894 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 895 var pixels = thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollLeft() - 600; 896 897 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo(pixels, 700,{easing:'linear',onAfter: function() 898 { 899 if(hoverLeftThumbArrow) 900 { 901 thumbScrollerWrapper.find('.igui-slidenav-previous').trigger('mouseenter'); 902 } 903 }}); 904 }); 905 906 thumbScrollerWrapper.find('.ig-thumb-scroller-right').on('click', function(e) 907 { 908 e.preventDefault(); 909 e.stopPropagation(); 910 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 911 var pixels = thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollLeft() + 600; 912 913 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo(pixels, 700,{easing:'linear',onAfter: function() 914 { 915 if(hoverRightThumbArrow) 916 { 917 thumbScrollerWrapper.find('.igui-slidenav-next').trigger('mouseenter'); 918 } 919 }}); 920 }); 921 922 setTimeout(function() 923 { 924 if(thumbScrollerWrapper.find('.ig-slider-items').height() < galleryWrapper.height() && vertical) 925 { 926 galleryWrapper.find('.ig-thumb-scroller-down').css('visibility','hidden'); 927 galleryWrapper.find('.ig-thumb-scroller-up').css('visibility','hidden'); 928 } 929 930 if(thumbScrollerWrapper.width() < galleryWrapper.width() && !vertical) 931 { 932 thumbScrollerWrapper.find('.igui-slidenav-previous').css('visibility','hidden'); 933 thumbScrollerWrapper.find('.igui-slidenav-next').css('visibility','hidden'); 934 } 935 936 }, 300); 937 938 if( getComputedStyle(document.documentElement).direction != 'rtl' && !isIOS && !isAndroid) 939 { 940 941 //right arrow hover 942 thumbScrollerWrapper.find('.ig-thumb-scroller-right').on('mouseenter', function() 943 { 944 hoverRightThumbArrow = true; 945 var duration = (thumbScrollerWrapper.find('.ig-slider-items')[0].scrollWidth - (thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollLeft() + thumbScrollerWrapper.width())) * 3; 946 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo('max', duration, {easing: 'linear'}); 947 }); 948 949 thumbScrollerWrapper.find('.ig-thumb-scroller-right').on('mouseleave', function() 950 { 951 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 952 hoverRightThumbArrow = false; 953 }); 954 955 //left arrow hover 956 thumbScrollerWrapper.find('.ig-thumb-scroller-left').on('mouseenter', function() 957 { 958 hoverLeftThumbArrow = true; 959 var duration = thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollLeft() * 3; 960 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo(0, duration,{easing:'linear'}); 961 }); 962 963 thumbScrollerWrapper.find('.ig-thumb-scroller-left').on('mouseleave', function() 964 { 965 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 966 hoverLeftThumbArrow = false; 967 }); 968 969 //down arrow hover 970 thumbScrollerWrapper.find('.ig-thumb-scroller-down').on(
970'mouseenter', function() 971 { 972 hoverDownThumbArrow = true; 973 var duration = (thumbScrollerWrapper.find('.ig-slider-items')[0].scrollHeight - (thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTop() + thumbScrollerWrapper.height())) * 3; 974 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo('max', duration, {easing: 'linear'}); 975 }); 976 977 thumbScrollerWrapper.find('.ig-thumb-scroller-down').on('mouseleave', function() 978 { 979 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 980 hoverDownThumbArrow = false; 981 }); 982 983 //up arrow hover 984 thumbScrollerWrapper.find('.ig-thumb-scroller-up').on('mouseenter', function() 985 { 986 hoverUpThumbArrow = true; 987 var duration = thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTop() * 3; 988 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo(0, duration,{easing:'linear'}); 989 }); 990 991 thumbScrollerWrapper.find('.ig-thumb-scroller-up').on('mouseleave', function() 992 { 993 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 994 hoverUpThumbArrow = false; 995 }); 996 } 997 998 //overlay buttons 999 galleryWrapper.find('.ig-slideshow-overlay').find('.ig-download-button').on('click', function(event) 1000 { 1001 var imageid = galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).attr('data-ig-imageid'); 1002 window.location.href = galleryWrapper.attr('data-ig-basehref') + '/index.php?option=com_igallery&task=imagefront.download&format=raw&type=main&id=' + imageid; 1003 }); 1004 1005 galleryWrapper.find('.ig-slideshow-overlay').find('.ig-facebook-share').on('click', function(event) 1006 { 1007 var urlToShare = 'http://www.facebook.com/sharer.php?u=' + encodeURIComponent( imageUrl(slideshow.index,false) ); 1008 window.open(urlToShare, '_blank', 'height=450, width=550, top=' + ($(window).height() / 2 - 275) + ', left=' + ($(window).width() / 2 - 225) + ', toolbar=0, location=0, menubar=0, directories=0, scrollbars=0').focus(); 1009 }); 1010 1011 galleryWrapper.find('.ig-slideshow-overlay').find('.ig-twitter-share').on('click', function(event) 1012 { 1013 var urlToShare = 'http://twitter.com/share?url=' + encodeURIComponent( imageUrl(slideshow.index,false) ); 1014 window.open(urlToShare, '_blank', 'height=450, width=550, top=' + ($(window).height() / 2 - 275) + ', left=' + ($(window).width() / 2 - 225) + ', toolbar=0, location=0, menubar=0, directories=0, scrollbars=0').focus(); 1015 1016 }); 1017 1018 galleryWrapper.find('.ig-slideshow-overlay').find('.ig-pinterest-share').on('click', function(event) 1019 { 1020 var imagePathLong = galleryWrapper.find('.ig-slideshow-image').eq(slideshow.index).attr('src'); 1021 var imgPathShort = imagePathLong.slice(imagePathLong.indexOf('images/igallery')); 1022 var imgUrl = galleryWrapper.attr('data-ig-basehref-long') + imgPathShort; 1023 1024 var description = galleryWrapper.find('.ig-image-description').eq(slideshow.index).text(); 1025 description = description.length > 0 ? description : galleryWrapper.find('.ig-slideshow-image').eq(slideshow.index).attr('alt'); 1026 1027 var href = 'https://pinterest.com/pin/create/button/?url=' + encodeURIComponent( imageUrl(slideshow.index,false) ) + '&media=' + encodeURIComponent(imgUrl) + '&description=' + description; 1028 window.open(href, '_blank', 'height=450, width=550, top=' + ($(window).height() / 2 - 275) + ', left=' + ($(window).width() / 2 - 225) + ', toolbar=0, location=0, menubar=0, directories=0, scrollbars=0').focus(); 1029 }); 1030 1031 galleryWrapper.find('.ig-slideshow-overlay').find('.ig-rating').on('click', function(event) 1032 { 1033 var imageid = galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).attr('data-ig-imageid'); 1034 var ratingUrl = galleryWrapper.attr('data-ig-basehref') + '/index.php?option=com_igallery&task=imagefront.addRating&format=raw&rating=5&imageid=' + imageid; 1035 1036 $.ajax 1037 ({ 1038 url: ratingUrl, 1039 error: function(response){console.log(response);}, 1040 success: function(response) 1041 { 1042 console.log(response); 1043 responseObj = $.parseJSON(response); 1044 1045 if(responseObj.success == 1) 1046 { 1047 var currentRating = galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).attr('data-ig-rating'); 1048 galleryWrapper.find('.ig-rating-number').html(parseInt(currentRating) + 1); 1049 galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).attr('data-ig-rating',(parseInt(currentRating) + 1)); 1050 } 1051 1052 } 1053 }); 1054 }); 1055 1056 galleryWrapper.find('.ig-add-comment-text').click(function(event) 1057 { 1058 galleryWrapper.find('.ig-comments-textarea-wrapper').css('display','block'); 1059 if(typeof slideshow != 'undefined') 1060 { 1061 slideshow.stopAutoplay(); 1062 slideshow.autoplay = false; 1063 galleryWrapper.data('lboxPlaying', false); 1064 galleryWrapper.find('.ig-pause-icon').css('display','none'); 1065 galleryWrapper.find('.ig-play-icon').css('display','inline-block'); 1066 } 1067 }); 1068 1069 if(typeof slideshow == 'undefined' && galleryWrapper.find('.ig-comments').length) 1070 { 1071 var slideshow = {index:0}; 1072 var commentContent = galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).find('.ig-comments-content').html(); 1073 galleryWrapper.find('.ig-comments').find('.ig-comments-list').html(commentContent); 1074 galleryWrapper.find('.ig-comment-count').html(galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).find('.ig-comments-content .ig-comment').length); 1075 } 1076 1077 galleryWrapper.find('.ig-comments-form').submit(function(event) 1078 { 1079 event.preventDefault(); 1080 var imageid = galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).attr('data-ig-imageid'); 1081 var commentUrl = galleryWrapper.attr('data-ig-basehref') + '/index.php?option=com_igallery&task=imagefront.addComment&format=raw&imageid=' + imageid; 1082 var postData = galleryWrapper.find('.ig-comments-form').serialize(); 1083 var commentText = galleryWrapper.find('.igui-textarea').val(); 1084 1085 if(galleryWrapper.find('.ig-comments-form').find('#dynamic_recaptcha_1').length) 1086 { 1087 //postData = postData +'&g-recaptcha-response='+grecaptcha.getResponse(); 1088 } 1089 1090 $.ajax 1091 ({ 1092 type: "POST", 1093 url: commentUrl, 1094 data: postData, 1095 error: function(response){console.log(response);}, 1096 success: function(response) 1097 { 1098 console.log(response); 1099 responseObj = $.parseJSON(response); 1100 1101 if(responseObj.success == 1) 1102 { 1103 var commentsContentWrapper = galleryWrapper.find('.ig-slideshow-item').eq(slideshow.index).find('.ig-comments-content'); 1104 var usersName = galleryWrapper.find('.ig-comments-text-summary').attr('data-ig-current-user-name'); 1105 commentsContentWrapper.append('<div class="ig-comment-data">'+usersName+'</div><div>'+commentText+'</div>'); 1106 galleryWrapper.find('.ig-comments-list').html(commentsContentWrapper.html()); 1107 galleryWrapper.find('.igui-textarea').val(''); 1108 } 1109 1110 } 1111 }); 1112 }); 1113 1114 //thumbs grid functions 1115 var thumbGridWrapper = galleryWrapper.find('.ig-thumbs-grid'); 1116 var thumbGridType = thumbGridWrapper.attr('data-ig-grid-type'); 1117 thumbGridWrapper.data('resizing',0); 1118 1119 if(thumbGridWrapper.length) 1120 { 1121 thumbGridWrapper.data('init',0); 1122 1123 function justifiedGrid() 1124 { 1125 var thumbSizes = []; 1126 var largestHeight = 0; 1127 var smallestHeight = 5000; 1128 var sumHeights = 0; 1129 var spacing = parseInt(galleryWrapper.find('.ig-thumbs-grid').attr('data-ig-thumb-spacing'));
1130 1131 galleryWrapper.find('.ig-thumbs-grid').find('.ig-thumbs-grid-image:visible').each(function(index,el) 1132 { 1133 thumbSizes.push({width: $(el).attr('width'),height: $(el).attr('height')}); 1134 largestHeight = $(el).attr('height') > largestHeight ? $(el).attr('height') : largestHeight; 1135 smallestHeight = $(el).attr('height') < smallestHeight ? $(el).attr('height') : smallestHeight; 1136 sumHeights = sumHeights + parseInt($(el).attr('height')); 1137 }); 1138 1139 var averageHeight = Math.round(sumHeights/(galleryWrapper.find('.ig-thumbs-grid-image').length)); 1140 var targetHeight = $(window).width() > 1000 ? smallestHeight*0.8 : smallestHeight*0.6; 1141 1142 if(thumbGridWrapper.width() < 300) 1143 { 1144 thumbGridWrapper.css('height','auto'); 1145 thumbGridWrapper.find('.ig-thumbs-grid-block').css({'width':'auto', 'height':'auto', 'top':'auto', 'left':'auto','position':'static'}); 1146 thumbRowsGrid(); 1147 } 1148 else 1149 { 1150 var justifiedData = require('justified-layout')(thumbSizes, 1151 { 1152 containerWidth:galleryWrapper.find('.ig-thumbs-grid').width(), 1153 targetRowHeight:targetHeight, 1154 boxSpacing:spacing, 1155 targetRowHeightTolerance: 0.15 1156 }); 1157 1158 $.each(justifiedData.boxes,function(index,box) 1159 { 1160 galleryWrapper.find('.ig-thumbs-grid-block:visible').eq(index).css({'width':box.width, 'height':box.height, 'top':box.top, 'left':box.left,'position':'absolute'}); 1161 }); 1162 1163 galleryWrapper.find('.ig-thumbs-grid').css('height',justifiedData.containerHeight+'px'); 1164 1165 if(thumbGridWrapper.data('init') == 0) 1166 { 1167 document.addEventListener('lazyloaded', function(e) 1168 { 1169 justifiedGrid(); 1170 }); 1171 } 1172 thumbGridWrapper.data('init',1); 1173 } 1174 } 1175 1176 1177 if(thumbGridType == 'justified') 1178 { 1179 justifiedGrid(); 1180 $(window).resize(function() 1181 { 1182 justifiedGrid(); 1183 }); 1184 } 1185 1186 if(galleryWrapper.find('.ig-tags-button-wrapper').length && thumbGridType == 'justified') 1187 { 1188 $('.ig-tags-button').on('click', function(event) 1189 { 1190 var filterValue = $(this).attr('data-filter'); 1191 thumbGridWrapper.find('.ig-thumbs-grid-block').css({'width':'auto', 'height':'auto', 'top':'auto', 'left':'auto','position':'static'}); 1192 thumbGridWrapper.find('.ig-thumbs-grid-block:not('+filterValue+')').css('display','none'); 1193 thumbGridWrapper.find(filterValue).css('display','block'); 1194 justifiedGrid(); 1195 1196 galleryWrapper.find('.ig-tags-button').removeClass('ig-tags-button-active'); 1197 $(this).addClass('ig-tags-button-active'); 1198 1199 var panelWrapper = $('#ig-lightbox-'+galleryWrapper.attr('data-ig-uniqueid')); 1200 $(document).off('show shown beforeitemshow itemshown beforehide hidden', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid')); 1201 panelWrapper.remove(); 1202 galleryWrapper.data('lightboxInit',0); 1203 1204 panel = createPanel(filterValue); 1205 1206 var panelWrapper = $('#ig-lightbox-'+galleryWrapper.attr('data-ig-uniqueid')); 1207 }); 1208 1209 if(galleryWrapper.find('.ig-tags-button-wrapper').attr('data-show-all') == 0) 1210 { 1211 setTimeout(function(){galleryWrapper.find('.ig-tags-button').eq(0).click();}, 200); 1212 } 1213 } 1214 1215 function masonryThumbsGrid() 1216 { 1217 var maxColumnWidth = parseInt(thumbGridWrapper.attr('data-ig-max-width')); 1218 var gridPadding = parseInt(thumbGridWrapper.attr('data-ig-thumb-spacing'));
1219 var containerWidth = parseInt(galleryWrapper.width()); 1220 1221 var columns = Math.ceil(containerWidth/(maxColumnWidth + (gridPadding * 1.5))); 1222 var gutterTotalSpace = gridPadding * (columns -1); 1223 var columnsTotalSpace = containerWidth - (gutterTotalSpace); 1224 var oneColumnSpace = columnsTotalSpace/columns; 1225 1226 var lastContainerWidth = thumbGridWrapper.data('last-grid-width'); 1227 if(typeof lastContainerWidth === 'undefined'){lastContainerWidth = 0} 1228 1229 if(containerWidth != lastContainerWidth) 1230 { 1231 thumbGridWrapper.find('.ig-thumbs-grid-block').each(function(index,el) 1232 { 1233 $(el).css('width',oneColumnSpace+'px'); 1234 $(el).css('margin-bottom',gridPadding+'px'); 1235 1236 var imgWidth = $(el).find('img').attr('width'); 1237 var imgHeight = $(el).find('img').attr('height'); 1238 1239 var newHeight = Math.ceil(((oneColumnSpace/imgWidth) * imgHeight)) + 1; 1240 if(newHeight > imgHeight) 1241 { 1242 newHeight = imgHeight; 1243 } 1244 1245 if($(el).find('.ig-thumb-text_below').length > 0) 1246 { 1247 newHeight = parseInt(newHeight) + parseInt($(el).find('.ig-thumb-text_below').outerHeight()); 1248 } 1249 1250 $(el).css('height',newHeight+'px'); 1251 }); 1252 1253 thumbGridWrapper.isotopeIG({ 1254 layoutMode: 'masonry', 1255 itemSelector: '.ig-thumbs-grid-block', 1256 masonry: { 1257 columnWidth: oneColumnSpace, 1258 gutter: gridPadding, 1259 resize: false, 1260 fitWidth: true, 1261 transitionDuration: 0 1262 } 1263 }); 1264 } 1265 1266 thumbGridWrapper.data('last-grid-width',containerWidth); 1267 1268 if(thumbGridWrapper.data('init') == 0) 1269 { 1270 document.addEventListener('lazyloaded', function(e) 1271 { 1272 thumbGridWrapper.isotopeIG('layout'); 1273 }); 1274 } 1275 thumbGridWrapper.data('init',1); 1276 1277 } 1278 1279 1280 if(thumbGridType == 'by_columns') 1281 { 1282 masonryThumbsGrid(); 1283 setTimeout(function(){masonryThumbsGrid();}, 250); 1284 setTimeout(function(){masonryThumbsGrid();}, 500); 1285 setTimeout(function(){masonryThumbsGrid();}, 700); 1286 setTimeout(function(){masonryThumbsGrid();}, 1000); 1287 setTimeout(function(){masonryThumbsGrid();}, 1600); 1288 1289 $(window).resize(function() 1290 { 1291 if(thumbGridWrapper.data('resizing') == 0) 1292 { 1293 masonryThumbsGrid(); 1294 thumbGridWrapper.data('resizing',1); 1295 setTimeout(function(){masonryThumbsGrid();}, 100); 1296 setTimeout(function(){masonryThumbsGrid();}, 250); 1297 setTimeout(function(){masonryThumbsGrid();}, 500); 1298 } 1299 1300 setTimeout(function(){thumbGridWrapper.data('resizing',0);}, 50); 1301 1302 }); 1303 } 1304 1305 function metroThumbsGrid() 1306 { 1307 var maxColumnWidth = parseInt(thumbGridWrapper.attr('data-ig-max-width')); 1308 var gridPadding = parseInt(thumbGridWrapper.attr('data-ig-thumb-spacing')); 1309 var containerWidth = parseInt(galleryWrapper.width()); 1310 1311 var columns = Math.ceil(containerWidth/(maxColumnWidth + (gridPadding * 1.5))); 1312 var gutterTotalSpace = gridPadding * (columns -1); 1313 var columnsTotalSpace = containerWidth - (gutterTotalSpace); 1314 var oneColumnSpace = columnsTotalSpace/columns; 1315 var twoColumnSpace = (oneColumnSpace*2) + gridPadding; 1316 1317 if(columns == 1) 1318 {
1319 thumbRowsGrid(); 1320 return; 1321 } 1322 1323 var lastContainerWidth = thumbGridWrapper.data('last-grid-width'); 1324 if(typeof lastContainerWidth === 'undefined'){lastContainerWidth = 0} 1325 1326 if(containerWidth != lastContainerWidth) 1327 { 1328 thumbGridWrapper.find('.ig-thumbs-grid-block').each(function(index,el) 1329 { 1330 if( $(el).attr('data-widthdouble') == 1 ) 1331 { 1332 $(el).css('width',twoColumnSpace+'px'); 1333 } 1334 else 1335 { 1336 $(el).css('width',oneColumnSpace+'px'); 1337 } 1338 1339 if( $(el).attr('data-heightdouble') == 1 ) 1340 { 1341 $(el).css('height',twoColumnSpace+'px'); 1342 } 1343 else 1344 { 1345 $(el).css('height',oneColumnSpace+'px'); 1346 } 1347 1348 }); 1349 1350 thumbGridWrapper.isotopeIG({ 1351 layoutMode: 'packery', 1352 itemSelector: '.ig-thumbs-grid-block', 1353 packery: { 1354 gutter: gridPadding, 1355 resize: false, 1356 rowHeight: oneColumnSpace 1357 } 1358 }); 1359 } 1360 1361 thumbGridWrapper.data('last-grid-width',containerWidth); 1362 1363 if(thumbGridWrapper.data('init') == 0) 1364 { 1365 document.addEventListener('lazyloaded', function(e) 1366 { 1367 thumbGridWrapper.isotopeIG('layout') 1368 }); 1369 } 1370 thumbGridWrapper.data('init',1); 1371 } 1372 1373 if(thumbGridType == 'metro') 1374 { 1375 metroThumbsGrid(); 1376 setTimeout(function(){metroThumbsGrid();}, 200); 1377 setTimeout(function(){metroThumbsGrid();}, 500); 1378 1379 $(window).resize(function() 1380 { 1381 if(thumbGridWrapper.data('resizing') == 0) 1382 { 1383 metroThumbsGrid(); 1384 setTimeout(function(){metroThumbsGrid();}, 100); 1385 setTimeout(function(){metroThumbsGrid();}, 200); 1386 setTimeout(function(){metroThumbsGrid();}, 500); 1387 thumbGridWrapper.data('resizing',1); 1388 } 1389 1390 setTimeout(function(){thumbGridWrapper.data('resizing',0);}, 50); 1391 }); 1392 } 1393 1394 function thumbRowsGrid() 1395 { 1396 var maxColumnWidth = parseInt(thumbGridWrapper.attr('data-ig-max-width')); 1397 var gridPadding = parseInt(thumbGridWrapper.attr('data-ig-thumb-spacing')); 1398 var containerWidth = parseInt(galleryWrapper.width()); 1399 1400 var columns = Math.ceil(containerWidth/(maxColumnWidth + (gridPadding * 1.5))); 1401 var gutterTotalSpace = gridPadding * (columns -1); 1402 var columnsTotalSpace = containerWidth - (gutterTotalSpace); 1403 var oneColumnSpace = columnsTotalSpace/columns; 1404 1405 var lastContainerWidth = thumbGridWrapper.data('last-grid-width'); 1406 if(typeof lastContainerWidth === 'undefined'){lastContainerWidth = 0} 1407 1408 if(containerWidth != lastContainerWidth) 1409 { 1410 thumbGridWrapper.find('.ig-thumbs-grid-block').each(function(index,el) 1411 { 1412 $(el).css('width',oneColumnSpace+'px'); 1413 $(el).css('margin-bottom',gridPadding+'px'); 1414 1415 var imgWidth = $(el).find('img').attr('width'); 1416 var imgHeight = $(el).find('img').attr('height'); 1417
1418 var newHeight = Math.ceil(((oneColumnSpace/imgWidth) * imgHeight)) + 1; 1419 if(newHeight > imgHeight) 1420 { 1421 newHeight = imgHeight; 1422 } 1423 1424 if($(el).find('.ig-thumb-text_below').length > 0) 1425 { 1426 newHeight = parseInt(newHeight) + parseInt($(el).find('.ig-thumb-text_below').outerHeight()); 1427 } 1428 1429 $(el).css('height',newHeight+'px'); 1430 1431 }); 1432 1433 thumbGridWrapper.isotopeIG({ 1434 layoutMode: 'fitRows', 1435 itemSelector: '.ig-thumbs-grid-block', 1436 fitRows: { 1437 gutter: (gridPadding-1), 1438 } 1439 }); 1440 } 1441 1442 thumbGridWrapper.data('last-grid-width',containerWidth); 1443 1444 if(thumbGridWrapper.data('init') == 0) 1445 { 1446 document.addEventListener('lazyloaded', function(e) 1447 { 1448 thumbGridWrapper.isotopeIG('layout') 1449 }); 1450 } 1451 thumbGridWrapper.data('init',1); 1452 1453 } 1454 1455 if(thumbGridType == 'by_rows') 1456 { 1457 thumbRowsGrid(); 1458 setTimeout(function(){thumbRowsGrid();}, 200); 1459 setTimeout(function(){thumbRowsGrid();}, 500); 1460 1461 $(window).resize(function() 1462 { 1463 if(thumbGridWrapper.data('resizing') == 0) 1464 { 1465 thumbRowsGrid(); 1466 setTimeout(function(){thumbRowsGrid();}, 100); 1467 setTimeout(function(){thumbRowsGrid();}, 200); 1468 setTimeout(function(){thumbRowsGrid();}, 500); 1469 thumbGridWrapper.data('resizing',1); 1470 } 1471 1472 setTimeout(function(){thumbGridWrapper.data('resizing',0);}, 50); 1473 1474 }); 1475 } 1476 1477 $('.ig-grid-img-link').each(function(index,el) 1478 { 1479 $(el).imagesLoaded( function() 1480 { 1481 $(el).find('.ig-thumb-text').css('display','inline'); 1482 }); 1483 }); 1484 1485 if(galleryWrapper.find('.ig-tags-button-wrapper').length && thumbGridType != 'justified') 1486 { 1487 galleryWrapper.find('.ig-tags-button').on('click', function(event) 1488 { 1489 var filterValue = $(this).attr('data-filter'); 1490 thumbGridWrapper.isotopeIG({ filter: filterValue }); 1491 1492 galleryWrapper.find('.ig-tags-button').removeClass('ig-tags-button-active'); 1493 $(this).addClass('ig-tags-button-active'); 1494 1495 var panelWrapper = $('#ig-lightbox-'+galleryWrapper.attr('data-ig-uniqueid')); 1496 $(document).off('show', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid')); 1497 panelWrapper.remove(); 1498 galleryWrapper.data('lightboxInit',0); 1499 1500 panel = createPanel(filterValue); 1501 1502 var panelWrapper = $('#ig-lightbox-'+galleryWrapper.attr('data-ig-uniqueid')); 1503 1504 }); 1505 1506 if(galleryWrapper.find('.ig-tags-button-wrapper').attr('data-show-all') == 0) 1507 { 1508 setTimeout(function(){galleryWrapper.find('.ig-tags-button').eq(0).click();}, 200); 1509 } 1510 } 1511 1512 setTimeout(function(){thumbGridWrapper.css('visibility','visible');}, 600); 1513 } 1514 1515 //lightbox 1516 if( galleryWrapper.find('.igui-slideshow-items').attr('data-ig-lightbox') == 1 || galleryWrapper.attr('data-ig-lbox-view') == 1) 1517 { 1518 galleryWrapper.data('lightboxInit',0); 1519 var templateHtmlWrapper = galleryWrapper.find('#ig-lightbox-template-' + galleryWrapper.attr('data-ig-uniqueid')); 1520 var templateHtml = templateHtmlWrapper.html(); 1521 galleryWrapper.data('templateHtml',templateHtml); 1522 templateHtmlWrapper.empty(); 1523 1524 function createPanel(filterValue) 1525 { 1526 if(filterValue == '*') 1527 { 1528 var thumbClassSelector = 'ig-scroller-img-wrapper'; 1529 var lboxImgClassSelector = 'ig-lightbox-link'; 1530 } 1531 else 1532 { 1533 var thumbClassSelector = filterValue.substr(1); 1534 var lboxImgClassSelector = filterValue.substr(1); 1535 } 1536 1537 templateHtml = $(galleryWrapper.data('templateHtml'));
1538 1539 1540 if( templateHtml.find('.ig-slider-items').length) 1541 { 1542 templateHtml.find('.ig-scroller-img-wrapper').each(function(index,el) 1543 { 1544 var tagsArray = $(el).attr('class').split(' '); 1545 1546 if(tagsArray.indexOf(thumbClassSelector) != -1) 1547 { 1548 1549 } 1550 else 1551 { 1552 $(el).remove(); 1553 } 1554 }); 1555 } 1556 1557 templateHtml = templateHtml.prop('outerHTML'); 1558 1559 var items = []; 1560 panelIds = Array(); 1561 var slideshowElms = Array(); 1562 var slideshowIndxs = Array(); 1563 var panelIndex = 0; 1564 galleryWrapper.find('.ig-lightbox-link').each(function(index,el) 1565 { 1566 if($(el).hasClass(lboxImgClassSelector)) 1567 { 1568 var item = 1569 { 1570 source:$(el).attr('href'), 1571 caption:$(el).parent().find('.ig-lightbox-description-content').html(), 1572 alt:$(el).parent().find('.ig-slideshow-image').attr('alt') 1573 }; 1574 1575 items.push(item); 1576 panelIds.push($(el).attr('data-ig-imageid')); 1577 1578 slideshowElms[panelIndex] = galleryWrapper.find('.ig-slideshow-item').eq(index); 1579 slideshowIndxs[panelIndex] = index; 1580 panelIndex++ 1581 } 1582 1583 }); 1584 1585 var velocity = parseFloat( galleryWrapper.find('.igui-slideshow-items').attr('data-ig-lightbox-transition-duration') ); 1586 velocity = velocity == 0 ? 200 : velocity; 1587 1588 var finite = galleryWrapper.find('.igui-slideshow-items').attr('data-ig-lightbox-infinite') == 1 ? false : true; 1589 var lboxAutoplay = galleryWrapper.attr('data-ig-lbox-autoplay') == 1 ? true : false; 1590 1591 panel = iguiUIkit.lightboxPanel( 1592 { 1593 items: items, 1594 delayControls: 6000, 1595 template:templateHtml, 1596 videoAutoplay: lboxAutoplay, 1597 velocity: (800/velocity), 1598 autoplayInterval: galleryWrapper.find('.igui-slideshow-items').attr('data-ig-lightbox-interval'), 1599 autoplay: false, 1600 preload: 2, 1601 finite:finite, 1602 animation: galleryWrapper.find('.igui-slideshow-items').attr('data-ig-lightbox-fade') 1603 }); 1604 1605 var lboxWrapper = $('#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid') ); 1606 1607 $(document).off('shown', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid')); 1608 $(document).on('shown', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid'), function() 1609 { 1610 1611 $('.igui-lightbox li').on('click', function(event) 1612 { 1613 event.stopPropagation(); 1614 }); 1615 }); 1616 1617 $(document).off('show', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid')); 1618 $(document).on('show', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid'), function() 1619 { 1620 var openLboxFullscreen = galleryWrapper.find('.igui-slideshow-items').attr('data-ig-lightbox-fullscreen') == 'open-fullscreen' ? 1 : 0; 1621 1622 if(openLboxFullscreen) 1623 { 1624 lboxWrapper.fullScreen(true); 1625 } 1626 1627 var thumbGridWrapper = galleryWrapper.find('.ig-thumbs-grid'); 1628 if(thumbGridWrapper.length) 1629 { 1630 thumbGridWrapper.css('width', thumbGridWrapper.width() + 'px'); 1631 } 1632 1633 if(galleryWrapper.data('lightboxInit') == 0) 1634 { 1635 1636 lboxWrapper.find('.ig-close-modal').on('click', function(event) 1637 { 1638 window.parent.igCloseModal(); 1639 }); 1640 1641 lboxWrapper.find('.ig-fullscreen-on').on('click', function(event) 1642 { 1643 event.preventDefault(); 1644 event.stopPropagation(); 1645 lboxWrapper.fullScreen(true); 1646 lboxWrapper.find('.ig-fullscreen-on').css('display','none'); 1647 lboxWrapper.find('.ig-fullscreen-off').css('display','inline-block'); 1648 }); 1649 1650 lboxWrapper.find('.ig-fullscreen-off').on('click', function(event) 1651 { 1652 event.preventDefault(); 1653 event.stopPropagation(); 1654 lboxWrapper.fullScreen(false); 1655 lboxWrapper.find('.ig-fullscreen-off').css('display','none'); 1656 lboxWrapper.find('.ig-fullscreen-on').css('display','inline-block'); 1657 }); 1658 1659 $(document).bind('fullscreenchange', function() 1660 { 1661 if(!$(document).fullScreen()) 1662 { 1663 lboxWrapper.find('.ig-fullscreen-off').css('display','none'); 1664 lboxWrapper.find('.ig-fullscreen-on').css('display','inline-block'); 1665 } 1666 1667 if(openLboxFullscreen && !$(document).fullScreen()) 1668 { 1669 panel.hide(); 1670 } 1671 1672 if(galleryWrapper.data('lboxPlaying') == true) 1673 { 1674 panel.stopAutoplay(); 1675 panel.startAutoplay(); 1676 } 1677 }); 1678 1679 //init rating 1680 lboxWrapper.find('.ig-rating').on('click', function(event) 1681 { 1682 event.stopPropagation(); 1683 var imageid = panelIds[panel.index]; 1684 var ratingUrl = galleryWrapper.attr('data-ig-basehref') + '/index.php?option=com_igallery&task=imagefront.addRating&format=raw&rating=5&imageid=' + imageid; 1685 1686 $.ajax 1687 ({ 1688 url: ratingUrl, 1689 error: function(response){console.log(response);}, 1690 success: function(response) 1691 { 1692 console.log(response); 1693 responseObj = $.parseJSON(response); 1694 1695 if(responseObj.success == 1) 1696 { 1697 var currentRating = galleryWrapper.find('.ig-slideshow-item').eq(panel.index).attr('data-ig-rating'); 1698 lboxWrapper.find('.ig-rating-number').html(parseInt(currentRating) + 1); 1699 galleryWrapper.find('.ig-slideshow-item').eq(panel.index).attr('data-ig-rating',(parseInt(currentRating) + 1)); 1700 1701 } 1702 1703 } 1704 }); 1705 }); 1706 1707 lboxWrapper.find('.ig-add-comment-text').click(function(event) 1708 { 1709 lboxWrapper.find('.ig-comments-textarea-wrapper').css('display','block'); 1710 }); 1711 1712 lboxWrapper.find('.ig-comments-form').submit(function(event) 1713 { 1714 event.preventDefault(); 1715 1716 var imageid = panelIds[panel.index] 1717 var commentUrl = galleryWrapper.attr('data-ig-basehref') + '/index.php?option=com_igallery&task=imagefront.addComment&format=raw&imageid=' + imageid; 1718 var postData = lboxWrapper.find('.ig-comments-form').serialize(); 1719 var commentText = lboxWrapper.find('.igui-textarea').val(); 1720 1721 if(lboxWrapper.find('.ig-comments-form').find('#dynamic_recaptcha_1').length) 1722 { 1723 //postData = postData +'&g-recaptcha-response='+grecaptcha.getResponse(); 1724 } 1725 1726 $.ajax 1727 ({ 1728 type: "POST", 1729 url: commentUrl, 1730 data: postData, 1731 error: function(response){console.log(response);}, 1732 success: function(response) 1733 { 1734 console.log(response); 1735 responseObj = $.parseJSON(response); 1736 1737 if(responseObj.success == 1) 1738 { 1739 galleryWrapper.find('.ig-comments-content').each(function(index,el) 1740 { 1741 if( $(this).attr('data-img-id') == panelIds[panel.index]) 1742 { 1743 var commentsContentWrapper = $(this); 1744 var usersName = lboxWrapper.find('.ig-comments-text-summary').attr('data-ig-current-user-name'); 1745 commentsContentWrapper.append('<div class="ig-comment-data">'+usersName+'</div><div>'+commentText+'</div>'); 1746 lboxWrapper.find('.ig-comments-list').html(commentsContentWrapper.html()); 1747 lboxWrapper.find('.igui-textarea').val(''); 1748 } 1749 }); 1750 1751 } 1752 1753 } 1754 }); 1755 1756 grecaptcha.reset(); 1757 }); 1758 1759 //init thumbnail scroller 1760 var thumbScrollerWrapper = lboxWrapper.find('.ig-thumb-scroller-lbox'); 1761 var vertical = thumbScrollerWrapper.hasClass('ig-thumb-scroller-vertical'); 1762 1763 thumbScrollerWrapper.find('.ig-scroller-img-wrapper').each(function(index,el) 1764 { 1765 $(el).off('click'); 1766 $(el).on('click', function(e) 1767 { 1768 e.stopPropagation(); 1769 e.preventDefault(); 1770 panel.show(index); 1771 }); 1772 }); 1773 1774 var hoverRightThumbArrow = false; 1775 var hoverLeftThumbArrow = false; 1776 var hoverDownThumbArrow = false; 1777 var hoverUpThumbArrow = false; 1778 1779 thumbScrollerWrapper.find('.ig-thumb-scroller-down').on('click', function(e) 1780 { 1781 e.preventDefault(); 1782 e.stopPropagation(); 1783 var pixels = thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTop() + 350; 1784 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 1785 1786 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo(pixels, 500,{easing:'linear',onAfter: function() 1787 { 1788 if(hoverDownThumbArrow) 1789 { 1790 thumbScrollerWrapper.find('.ig-thumb-scroller-down').trigger('mouseenter'); 1791 } 1792 }}); 1793 }); 1794 1795 thumbScrollerWrapper.find('.ig-thumb-scroller-up').on('click', function(e) 1796 { 1797 e.preventDefault(); 1798 e.stopPropagation(); 1799 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 1800 var pixels = thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTop() - 350; 1801 1802 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo(pixels, 500,{easing:'linear',onAfter: function() 1803 { 1804 if(hoverUpThumbArrow) 1805 { 1806 thumbScrollerWrapper.find('.ig-thumb-scroller-up').trigger('mouseenter'); 1807 } 1808 }}); 1809 }); 1810 1811 thumbScrollerWrapper.find('.ig-thumb-scroller-left').on('click', function(e) 1812 { 1813 e.preventDefault(); 1814 e.stopPropagation(); 1815 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 1816 var pixels = thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollLeft() - 700; 1817 1818 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo(pixels, 700,{easing:'linear',onAfter: function() 1819 { 1820 if(hoverLeftThumbArrow) 1821 { 1822 thumbScrollerWrapper.find('.ig-thumb-scroller-left').trigger('mouseenter'); 1823 } 1824 }}); 1825 }); 1826 1827 thumbScrollerWrapper.find('.ig-thumb-scroller-right').on('click', function(e) 1828 { 1829 e.preventDefault(); 1830 e.stopPropagation(); 1831 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 1832 var pixels = thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollLeft() + 700; 1833 1834 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo(pixels, 700,{easing:'linear',onAfter: function() 1835 { 1836 if(hoverRightThumbArrow) 1837 { 1838 thumbScrollerWrapper.find('.ig-thumb-scroller-right').trigger('mouseenter'); 1839 } 1840 }}); 1841 }); 1842 1843 if( getComputedStyle(document.documentElement).direction != 'rtl' && !isIOS && !isAndroid) 1844 { 1845 1846 //right arrow hover 1847 thumbScrollerWrapper.find('.ig-thumb-scroller-right').on('mouseenter', function() 1848 { 1849 hoverRightThumbArrow = true; 1850 var duration = (thumbScrollerWrapper.find('.ig-slider-items')[0].scrollWidth - (thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollLeft() + thumbScrollerWrapper.width())) * 3; 1851 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo('max', duration, {easing: 'linear'}); 1852 }); 1853 1854
1854 thumbScrollerWrapper.find('.ig-thumb-scroller-right').on('mouseleave', function() 1855 { 1856 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 1857 hoverRightThumbArrow = false; 1858 }); 1859 1860 //left arrow hover 1861 thumbScrollerWrapper.find('.ig-thumb-scroller-left').on('mouseenter', function() 1862 { 1863 hoverLeftThumbArrow = true; 1864 var duration = thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollLeft() * 3; 1865 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo(0, duration,{easing:'linear'}); 1866 }); 1867 1868 thumbScrollerWrapper.find('.ig-thumb-scroller-left').on('mouseleave', function() 1869 { 1870 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 1871 hoverLeftThumbArrow = false; 1872 }); 1873 1874 //down arrow hover 1875 thumbScrollerWrapper.find('.ig-thumb-scroller-down').on('mouseenter', function() 1876 { 1877 hoverDownThumbArrow = true; 1878 var duration = (thumbScrollerWrapper.find('.ig-slider-items')[0].scrollHeight - (thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTop() + thumbScrollerWrapper.height())) * 3; 1879 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo('max', duration, {easing: 'linear'}); 1880 }); 1881 1882 thumbScrollerWrapper.find('.ig-thumb-scroller-down').on('mouseleave', function() 1883 { 1884 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 1885 hoverDownThumbArrow = false; 1886 }); 1887 1888 //up arrow hover 1889 thumbScrollerWrapper.find('.ig-thumb-scroller-up').on('mouseenter', function() 1890 { 1891 hoverUpThumbArrow = true; 1892 var duration = thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTop() * 3; 1893 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').scrollTo(0, duration,{easing:'linear'}); 1894 }); 1895 1896 thumbScrollerWrapper.find('.ig-thumb-scroller-up').on('mouseleave', function() 1897 { 1898 thumbScrollerWrapper.find('.ig-thumb-scroller-inner').stop(); 1899 hoverUpThumbArrow = false; 1900 }); 1901 } 1902 1903 setTimeout(function() 1904 { 1905 var innerWrapper = thumbScrollerWrapper.find('.ig-thumb-scroller-inner'); 1906 1907 if(thumbScrollerWrapper.find('.ig-slider-items').height() < $(window).height() && vertical) 1908 { 1909 thumbScrollerWrapper.find('.ig-thumb-scroller-down').css('visibility','hidden'); 1910 thumbScrollerWrapper.find('.ig-thumb-scroller-up').css('visibility','hidden'); 1911 } 1912 1913 1914 if(innerWrapper.prop('scrollWidth') <= innerWrapper.width() && !vertical) 1915 { 1916 thumbScrollerWrapper.find('.igui-slidenav-previous').css('visibility','hidden'); 1917 thumbScrollerWrapper.find('.igui-slidenav-next').css('visibility','hidden'); 1918 } 1919 1920 }, 200); 1921 1922 //lightbox zoom 1923 lboxWrapper.find('.ig-zoomin-button').on('click', function(event) 1924 { 1925 alignZoomWrapper(lboxWrapper); 1926 lboxWrapper.find('.ig-zoomout-button').css('display','inline-block'); 1927 }); 1928 1929 lboxWrapper.find('.ig-zoomout-button').on('click', function(event) 1930 { 1931 removeZoom(lboxWrapper); 1932 }); 1933 1934 $(window).resize(function() 1935 { 1936 removeZoom(lboxWrapper); 1937 }); 1938 1939 galleryWrapper.data('lightboxInit',1); 1940 } 1941 1942 lboxWrapper.find('.ig-thumb-scroller-inner').scrollTo(lboxWra
1942pper.find('.ig-scroller-img-wrapper').eq(panel.index)); 1943 1944 1945 if(lboxWrapper.find('.ig-lbox-play-icon').length) 1946 { 1947 lboxWrapper.find('.ig-lbox-play-icon').css('display','inline-block'); 1948 lboxWrapper.find('.ig-lbox-pause-icon').css('display','none'); 1949 1950 lboxWrapper.find('.ig-lbox-play-icon').on('click', function(event) 1951 { 1952 panel.autoplay = true; 1953 panel.startAutoplay(); 1954 lboxWrapper.find('.ig-lbox-play-icon').css('display','none'); 1955 lboxWrapper.find('.ig-lbox-pause-icon').css('display','inline-block'); 1956 galleryWrapper.data('lboxPlaying', true); 1957 }); 1958 1959 lboxWrapper.find('.ig-lbox-pause-icon').on('click', function(event) 1960 { 1961 panel.stopAutoplay(); 1962 panel.autoplay = false; 1963 lboxWrapper.find('.ig-lbox-pause-icon').css('display','none'); 1964 lboxWrapper.find('.ig-lbox-play-icon').css('display','inline-block'); 1965 galleryWrapper.data('lboxPlaying', false); 1966 }); 1967 1968 lboxWrapper.find('.ig-lightbox-button, .igui-lightbox-items li').on('click', function(event) 1969 { 1970 lboxWrapper.find('.ig-lbox-pause-icon').css('display','none'); 1971 lboxWrapper.find('.ig-lbox-play-icon').css('display','inline-block'); 1972 }); 1973 } 1974 1975 if(lboxWrapper.find('.ig-image-total').length) 1976 { 1977 lboxWrapper.find('.ig-image-total').html(items.length); 1978 } 1979 }); 1980 1981 $(document).off('beforeitemshow', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid')); 1982 $(document).on('beforeitemshow', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid'), function() 1983 { 1984 var lboxWrapper = $('#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid') ); 1985 1986 //swap rating 1987 if(lboxWrapper.find('.ig-rating').length) 1988 { 1989 var rating = slideshowElms[panel.index].attr('data-ig-rating').toString(); 1990 var ratingWidth = rating.length < 2 ? 24 : 29; 1991 var ratingWidth = rating.length > 2 ? 34 : ratingWidth; 1992 lboxWrapper.find('.ig-rating').css('width',ratingWidth+'px'); 1993 lboxWrapper.find('.ig-rating-number').html(rating); 1994 } 1995 1996 if(lboxWrapper.find('.ig-zoomin-button').length) 1997 { 1998 removeZoom(lboxWrapper); 1999 } 2000 2001 //swap hit 2002 var hitCount = slideshowElms[panel.index].attr('data-ig-hits'); 2003 lboxWrapper.find('.ig-hits-number').html(hitCount); 2004 2005 //swap image number 2006 lboxWrapper.find('.ig-image-number').html(panel.index + 1); 2007 2008 //swap hash 2009 if(galleryWrapper.attr('data-ig-showhash') == 'hash') 2010 { 2011 imageUrl(slideshowIndxs[panel.index],true); 2012 } 2013 2014 //position bottom wrapper 2015 var bottomWrapper = lboxWrapper.find('.ig-lightbox-bottom-wrapper'); 2016 var leftWrapper = lboxWrapper.find('.ig-lightbox-left-wrapper'); 2017 var rightWrapper = lboxWrapper.find('.ig-lightbox-right-wrapper'); 2018 var desOverlayWrapper = lboxWrapper.find('.ig-lightbox-descriptions-overlay'); 2019 2020 if(bottomWrapper.length) 2021 { 2022 var bottomHeight = bottomWrapper.height() + 10; 2023 2024 if(leftWrapper.length) 2025 { 2026 if(leftWrapper.find('.ig-thumb-scroller').length > 0) 2027 { 2028 bottomWrapper.css('margin-left',leftWrapper.width()+'px'); 2029 } 2030 } 2031 2032 if(desOverlayWrapper.length > 0) 2033 { 2034 desOverlayWrapper.css('margin-bottom',bottomHeight+'px'); 2035 } 2036 2037 if(rightWrapper.length) 2038 { 2039 if(rightWrapper.find('.ig-thumb-scroller').length > 0) 2040 { 2041 bottomWrapper.css('margin-right',rightWrapper.width()+'px'); 2042 } 2043 } 2044 2045 lboxWrapper.find('.igui-lightbox-items').find('li').css('bottom',bottomHeight+'px'); 2046 2047 var imageHeight = ( ( $(window).height() - bottomHeight ) / $(window).height() ) * 100; 2048 lboxWrapper.find('.igui-lightbox-items').find('li').css('max-height',imageHeight+'vh'); 2049 } 2050 2051 //position left wrapper 2052 if(leftWrapper.length) 2053 { 2054 if(bottomWrapper.find('.ig-thumb-scroller').length) 2055 { 2056 var wrapperHeight = (typeof bottomHeight) !== 'undefined' ? $(window).height() - (bottomHeight + 10) : $(window).height(); 2057 leftWrapper.css('height',wrapperHeight+'px'); 2058 } 2059 else 2060 { 2061 var wrapperHeight = $(window).height(); 2062 leftWrapper.css('height',wrapperHeight+'px'); 2063 } 2064
2065 var leftWidth = leftWrapper.width(); 2066 2067 if(desOverlayWrapper.length > 0) 2068 { 2069 desOverlayWrapper.css('margin-left',leftWidth+'px'); 2070 } 2071 2072 lboxWrapper.find('.igui-lightbox-items').find('li').css('left',leftWidth+'px'); 2073 2074 var imageWidth = ( ( $(window).width() - leftWidth ) / $(window).width() ) * 100; 2075 lboxWrapper.find('.igui-lightbox-items').find('li').css('max-width',imageWidth+'vw'); 2076 2077 lboxWrapper.children('.ig-lightbox-button-left').css('left',leftWidth+'px'); 2078 2079 } 2080 2081 //position right wrapper 2082 if(rightWrapper.length) 2083 { 2084 if(bottomWrapper.find('.ig-thumb-scroller').length) 2085 { 2086 var wrapperHeight = typeof bottomHeight !== 'undefined' ? $(window).height() - (bottomHeight + 10) - 48 : ($(window).height() - 48); 2087 rightWrapper.css('height',wrapperHeight+'px'); 2088 } 2089 else 2090 { 2091 var wrapperHeight = ($(window).height() - 48); 2092 rightWrapper.css('height',wrapperHeight+'px'); 2093 } 2094 2095 2096 if(rightWrapper.find('.ig-thumb-scroller').length) 2097 { 2098 lboxWrapper.find('.ig-thumb-scroller, .ig-thumb-scroller-vert-inner, .ig-thumb-scroller-inner').css('height',wrapperHeight+'px'); 2099 } 2100 2101 var rightWidth = rightWrapper.width(); 2102 2103 if(desOverlayWrapper.length > 0) 2104 { 2105 desOverlayWrapper.css('margin-right',rightWidth+'px'); 2106 } 2107 2108 lboxWrapper.find('.igui-lightbox-items').find('li').css('right',rightWidth+'px'); 2109 2110 var imageWidth = ( ( $(window).width() - rightWidth ) / $(window).width() ) * 100; 2111 lboxWrapper.find('.igui-lightbox-items').find('li').css('max-width',rightWidth+'vw'); 2112 2113 lboxWrapper.find('.ig-lightbox-button-right').css('right',rightWidth+'px'); 2114 } 2115 2116 //swap comments 2117 if(lboxWrapper.find('.ig-comments').length) 2118 { 2119 galleryWrapper.find('.ig-comments-content').each(function(index,el) 2120 { 2121 if( $(this).attr('data-img-id') == panelIds[panel.index]) 2122 { 2123 var commentContent = $(this).html(); 2124 lboxWrapper.find('.ig-comments-list').html(commentContent); 2125 2126 var commentCount = $(this).find('.ig-comment').length; 2127 lboxWrapper.find('.ig-comment-count').html(commentCount); 2128 2129 lboxWrapper.find('.ig-comments-textarea-wrapper').css('display','none'); 2130 } 2131 }); 2132 } 2133 2134 //check thumb position 2135 var currentThumb = lboxWrapper.find('.ig-scroller-img-wrapper').eq(panel.index); 2136 2137 if(lboxWrapper.find('.ig-thumb-scroller-horizontal').length) 2138 { 2139 var thumbPosition = currentThumb.position().left; 2140 var containerWidth = lboxWrapper.find('.ig-thumb-scroller').width(); 2141 2142 if(panel.index == 0) 2143 { 2144 lboxWrapper.find('.ig-thumb-scroller-inner').scrollTo(0,400); 2145 } 2146 else if(thumbPosition > (containerWidth + lboxWrapper.find('.ig-thumb-scroller-inner').scrollLeft())) 2147 { 2148 lboxWrapper.find('.ig-thumb-scroller-inner').scrollTo(currentThumb,400); 2149 } 2150 else if(thumbPosition < lboxWrapper.find('.ig-thumb-scroller-inner').scrollLeft() ) 2151 { 2152 var position = thumbPosition - (containerWidth - currentThumb.width()); 2153 var position = position < 0 ? 0 : position; 2154 lboxWrapper.find('.ig-thumb-scroller-inner').scrollTo(position,400); 2155 } 2156 2157 } 2158 else if(lboxWrapper.find('.ig-thumb-scroller-vertical').length) 2159 { 2160 var thumbPosition = currentThumb.position().top; 2161 var containerHeight = lboxWrapper.find('.ig-thumb-scroller').height(); 2162 2163 if(panel.index == 0) 2164 { 2165 lboxWrapper.find('.ig-thumb-scroller-inner').scrollTo(0,400); 2166 } 2167 else if(thumbPosition > (containerHeight + lboxWrapper.find('.ig-thumb-scroller-inner').scrollTop())) 2168 { 2169 lboxWrapper.find('.ig-thumb-scroller-inner').scrollTo(currentThumb,400); 2170 } 2171 else if(thumbPosition < lboxWrapper.find('.ig-thumb-scroller-inner').scrollTop() ) 2172 { 2173 var position = thumbPosition - (containerHeight - currentThumb.height()); 2174 var position = position < 0 ? 0 : position; 2175 lboxWrapper.find('.ig-thumb-scroller-inner').scrollTo(position,400); 2176 } 2177 } 2178 2179 lboxWrapper.find('.igui-lightbox-items').find('li').css('visibility','visible'); 2180 }); 2181 2182 $(document).off('itemshown', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid')); 2183 $(document).on('itemshown', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid'), function() 2184 { 2185 var lboxWrapper = $('#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid') ); 2186 lboxWrapper.off('click'); 2187 2188 lboxWrapper.find('.ig-download-button').off('click'); 2189 lboxWrapper.find('.ig-download-button').on('click', function(event) 2190 { 2191 event.stopPropagation(); 2192 var imageid = panelIds[panel.index]; 2193 window.location.href = galleryWrapper.attr('data-ig-basehref') + '/index.php?option=com_igallery&task=imagefront.download&format=raw&type=lbox&id='
2193+ imageid; 2194 }); 2195 2196 lboxWrapper.find('.ig-facebook-share').off('click'); 2197 lboxWrapper.find('.ig-facebook-share').on('click', function(event) 2198 { 2199 event.stopPropagation(); 2200 var urlToShare = 'http://www.facebook.com/sharer.php?u=' + encodeURIComponent( imageUrl(slideshowIndxs[panel.index],false) ); 2201 window.open(urlToShare, '_blank', 'height=450, width=550, top=' + ($(window).height() / 2 - 275) + ', left=' + ($(window).width() / 2 - 225) + ', toolbar=0, location=0, menubar=0, directories=0, scrollbars=0').focus(); 2202 }); 2203 2204 lboxWrapper.find('.ig-twitter-share').off('click'); 2205 lboxWrapper.find('.ig-twitter-share').on('click', function(event) 2206 { 2207 event.stopPropagation(); 2208 var urlToShare = 'http://twitter.com/share?url=' + encodeURIComponent( imageUrl(slideshowIndxs[panel.index],false) ); 2209 window.open(urlToShare, '_blank', 'height=450, width=550, top=' + ($(window).height() / 2 - 275) + ', left=' + ($(window).width() / 2 - 225) + ', toolbar=0, location=0, menubar=0, directories=0, scrollbars=0').focus(); 2210 2211 }); 2212 2213 lboxWrapper.find('.ig-pinterest-share').off('click'); 2214 lboxWrapper.find('.ig-pinterest-share').on('click', function(event) 2215 { 2216 event.stopPropagation(); 2217 2218 var imagePathLong = lboxWrapper.find('.igui-lightbox-items li').eq(panel.index).find('img').attr('src'); 2219 var imgPathShort = imagePathLong.slice(imagePathLong.indexOf('images/igallery')); 2220 var imgUrl = galleryWrapper.attr('data-ig-basehref-long') + imgPathShort; 2221 var description = galleryWrapper.find('.ig-image-description').eq(slideshowIndxs[panel.index]).text(); 2222 description = description.length > 0 ? description : galleryWrapper.find('.ig-slideshow-image').eq(slideshowIndxs[panel.index]).attr('alt'); 2223 2224 var href = 'https://pinterest.com/pin/create/button/?url=' + encodeURIComponent( imageUrl(slideshowIndxs[panel.index],false) ) + '&media=' + encodeURIComponent(imgUrl) + '&description=' + description; 2225 window.open(href, '_blank', 'height=450, width=550, top=' + ($(window).height() / 2 - 275) + ', left=' + ($(window).width() / 2 - 225) + ', toolbar=0, location=0, menubar=0, directories=0, scrollbars=0').focus(); 2226 }); 2227 2228 //swap active thumb 2229 lboxWrapper.find('.ig-scroller-img-wrapper').removeClass('ig-active-thumb'); 2230 lboxWrapper.find('.ig-scroller-img-wrapper').eq(panel.index).addClass('ig-active-thumb'); 2231 2232 2233 //add hit 2234 if(galleryWrapper.attr('data-ig-collecthits') == 1) 2235 { 2236 var imageid = panelIds[panel.index]; 2237 var hitUrl = galleryWrapper.attr('data-ig-basehref') + '/index.php?option=com_igallery&task=imagefront.addHit&format=raw&id=' + imageid; 2238 $.ajax({url: hitUrl, success: function(result){}}); 2239 } 2240 2241 //disable right click 2242 if(galleryWrapper.attr('data-ig-disable-rightclick') == 1) 2243 { 2244 lboxWrapper.find('.igui-lightbox-items').find('li').eq(panel.index).off('contextmenu'); 2245 lboxWrapper.find('.igui-lightbox-items').find('li').eq(panel.index).on('contextmenu',function(){ 2246 alert(galleryWrapper.attr('data-ig-rightclick-msg')); 2247 return false; 2248 }); 2249 } 2250 2251 if(lboxWrapper.find('.igui-lightbox-items').find('iframe').length) 2252 { 2253 lboxWrapper.find('.igui-lightbox-button').removeClass('igui-transition-fade'); 2254 } 2255 }); 2256 2257 $(document).off('beforehide', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid')); 2258 $(document).on('beforehide', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid'), function() 2259 { 2260 if(galleryWrapper.attr('data-ig-show-main-image') == 1) 2261 { 2262 slideshow.show(slideshowIndxs[panel.index]); 2263 } 2264 2265 if($(document).fullScreen()) 2266 { 2267 $(document).fullScreen(false); 2268 } 2269 2270 var lboxWrapper = $('#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid') ); 2271 var thumbPosition = lboxWrapper.find('.ig-thumb-scroller').attr('data-ig-lbox-thumbs-position'); 2272 if(thumbPosition == 'below') 2273 { 2274 //galleryWrapper.data('lboxThumbScroller', lboxWrapper.find('.ig-thumb-scroller').detach() ); 2275 } 2276 2277 }); 2278 2279 $(document).off('hidden', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid')); 2280 $(document).on('hidden', '#ig-lightbox-' + galleryWrapper.attr('data-ig-uniqueid'), function() 2281 { 2282 var thumbGridWrapper = galleryWrapper.find('.ig-thumbs-grid'); 2283 if(thumbGridWrapper.length) 2284 { 2285 thumbGridWrapper.css('width', '100%'); 2286 } 2287 2288 panel.stopAutoplay(); 2289 panel.autoplay = false; 2290 2291 if(galleryWrapper.attr('data-ig-show-main-image') == 0) 2292 { 2293 var currentUrlParam = getUrlParamater('i'); 2294 if(currentUrlParam != 'unset') 2295 { 2296 var url = window.location.href; 2297 if(url.indexOf('?i='+currentUrlParam) !== -1) 2298 { 2299 newUrl = url.replace('?i='+currentUrlParam,''); 2300 } 2301 else if(url.indexOf('&i='+currentUrlParam) !== -1) 2302 { 2303 newUrl = url.replace('&i='+currentUrlParam,''); 2304 } 2305 2306 history.replaceState({imgId:0}, document.title, newUrl); 2307 } 2308 } 2309 2310 if( typeof(window.parent.igCloseModal) == 'function') 2311 { 2312 window.parent.igCloseModal(); 2313 } 2314 2315 }); 2316 2317 galleryWrapper.find('.ig-grid-img-link').each(function(index,el) 2318 { 2319 2320 var linkEl = galleryWrapper.find('.ig-slideshow-item').eq($(this).parent().index()); 2321 var link = linkEl.attr('data-ig-image-link'); 2322 2323 if( link.length < 2 && galleryWrapper.attr('data-ig-show-main-image') == 0) 2324 { 2325 2326 $(this).off('click'); 2327 var gridImgId = $(this).attr('data-img-id'); 2328 2329 var gridIndex = 0; 2330 $.each(panelIds, function(index,value) 2331 { 2332 if(gridImgId == value) 2333 { 2334 gridIndex = index; 2335 } 2336 }); 2337 2338 $(this).on('click', function(e) 2339 { 2340 panel.show(gridIndex); 2341 }); 2342 2343 $(this).find('a').on('click', function(e) 2344 { 2345 e.stopPropagation(); 2346 }); 2347 } 2348 2349 }); 2350 2351 return panel; 2352 } 2353 2354 panel = createPanel('*'); 2355 2356 if(galleryWrapper.attr('data-ig-lbox-view') == 1) 2357 { 2358 panel.show(0); 2359 } 2360 2361 function alignZoomWrapper(lboxWrapperEl) 2362 { 2363 var zoomWrapper = lboxWrapperEl.find('.zoom-image-holder'); 2364 var imgElement = lboxWrapperEl.find('.igui-lightbox-items li').eq(panel.index).find('img'); 2365 var currentImgPosition = imgElement.position(); 2366 var imgParentLeft = parseInt( lboxWrapperEl.find('.igui-lightbox-items li').eq(panel.index).css('left') ); 2367 2368 var isEmpty = zoomWrapper.find('img').length == 1 ? false : true; 2369 2370 if(isEmpty) 2371 { 2372 zoomWrapper.css('visibility','hidden'); 2373 var imgClone = imgElement.clone(); 2374 zoomWrapper.empty(); 2375 zoomWrapper.append(imgClone); 2376 zoomWrapper.find('img').css({height:'auto',position:'relative','max-width':'100%'});
2377 } 2378 2379 zoomWrapper.css( 2380 { 2381 'top':currentImgPosition.top, 2382 left:(currentImgPosition.left + imgParentLeft), 2383 display:'block', 2384 padding:'0px', 2385 width:imgElement.width(), 2386 height:imgElement.height(), 2387 overflow:'hidden', 2388 cursor: 'grab' 2389 }); 2390 2391 setTimeout(alignZoom, 80,true,lboxWrapperEl); 2392 } 2393 2394 function alignZoom(doZoom,lboxWrapperEl) 2395 { 2396 var zoomWrapper = lboxWrapperEl.find('.zoom-image-holder'); 2397 var zoomContainment = lboxWrapperEl.find('.zoom-image-containment'); 2398 2399 if(doZoom) 2400 { 2401 var newWidth = zoomWrapper.find('img').width() * 1.3; 2402 var newHeight = zoomWrapper.find('img').height() * 1.3; 2403 var newLeft = (newWidth - zoomWrapper.width())/2; 2404 var newTop = (newHeight - zoomWrapper.height())/2; 2405 2406 zoomWrapper.find('img').css( 2407 { 2408 width: newWidth+'px', 2409 height: newHeight+'px', 2410 left: -newLeft+'px', 2411 top: -newTop+'px', 2412 'max-width': 'none' 2413 }); 2414 } 2415 2416 var horzExtra = zoomWrapper.find('img').width() - zoomWrapper.width(); 2417 var vertExtra = zoomWrapper.find('img').height() - zoomWrapper.height(); 2418 2419 var newWidth = (horzExtra * 2) + zoomWrapper.width(); 2420 var newHeight = (vertExtra * 2) + zoomWrapper.height(); 2421 2422 var xPos = zoomWrapper.offset().left - horzExtra; 2423 var yPos = zoomWrapper.position().top - vertExtra; 2424 2425 zoomContainment.css( 2426 { 2427 display:'block', 2428 width:newWidth+'px', 2429 height:newHeight+'px', 2430 top: yPos+'px', 2431 left: xPos+'px' 2432 }); 2433 2434 zoomWrapper.css('visibility','visible'); 2435 2436 if(draggable !== undefined) 2437 { 2438 draggable.draggabilly('destroy'); 2439 } 2440 2441 var draggable = zoomWrapper.find('img').draggabilly( 2442 { 2443 containment: '#zoom-image-containment-' + galleryWrapper.attr('data-ig-uniqueid') 2444 }); 2445 } 2446 2447 function removeZoom(lboxWrapperEl) 2448 { 2449 var zoomWrapper = lboxWrapperEl.find('.zoom-image-holder'); 2450 var isEmpty = zoomWrapper.find('img').length == 1 ? false : true; 2451 2452 if(!isEmpty) 2453 { 2454 var zoomContainment = lboxWrapperEl.find('.zoom-image-containment'); 2455 zoomWrapper.empty(); 2456 zoomWrapper.css('display','none'); 2457 zoomContainment.css('display','none'); 2458 lboxWrapperEl.find('.ig-zoomout-button').css('display','none'); 2459 } 2460 } 2461 2462 2463 2464 //allow creation of custom links to open the lightbox 2465 $('.ig-lightbox-custom-link').on('click', function(e) 2466 { 2467 e.preventDefault(); 2468 var galleryId = $(this).attr('data-gallery-id'); 2469 var imageIndex = $(this).attr('data-image-index') > 0 ? $(this).attr('data-image-index') -1 : 0; 2470 if(galleryId == galleryWrapper.attr('data-ig-uniqueid')) 2471 { 2472 panel.show(imageIndex); 2473 } 2474 }); 2475 2476 //if grid and hash then show lbox on page load 2477 var imgHash = getUrlParamater('i'); 2478 imgHash = imgHash.replace(/_/g,'-'); 2479 if(imgHash != 'unset' && galleryWrapper.attr('data-ig-show-main-image') == 0) 2480 {
2481 var elementToFind = galleryWrapper.find(".ig-slideshow-item[data-ig-imagehash='" + imgHash + "']"); 2482 if(elementToFind.length) 2483 { 2484 panel.show(elementToFind.index()); 2485 } 2486 } 2487 2488 } 2489 2490 galleryWrapper.find('.ig-slideshow-item-inner').each(function(index,el) 2491 { 2492 if($(this).parent().attr('data-ig-image-link').length > 0) 2493 { 2494 $(this).css('cursor','pointer'); 2495 } 2496 }); 2497 2498 galleryWrapper.find('.ig-slideshow-item-inner-lboxon, .ig-slideshow-item-inner').on('click', function(e) 2499 { 2500 e.preventDefault(); 2501 2502 var link = $(this).parent().attr('data-ig-image-link'); 2503 if( link.length > 2) 2504 { 2505 if($(this).parent().attr('data-ig-link-new') == 1) 2506 { 2507 window.open(link); 2508 } 2509 else 2510 { 2511 window.location = link; 2512 } 2513 } 2514 else if( galleryWrapper.find('.igui-slideshow-items').attr('data-ig-lightbox') == 1 ) 2515 { 2516 panel.show(slideshow.index); 2517 } 2518 }); 2519 2520 2521 galleryWrapper.find('.ig-grid-img-link').off('click'); 2522 galleryWrapper.find('.ig-grid-img-link').on('click', function(e) 2523 { 2524 e.preventDefault(); 2525 var linkEl = galleryWrapper.find('.ig-slideshow-item').eq($(this).parent().index()); 2526 var link = linkEl.attr('data-ig-image-link'); 2527 2528 if( link.length > 2) 2529 { 2530 if(linkEl.attr('data-ig-link-new') == 1) 2531 { 2532 window.open(link); 2533 } 2534 else 2535 { 2536 window.location = link; 2537 } 2538 } 2539 else 2540 { 2541 if(galleryWrapper.attr('data-ig-show-main-image') == 1) 2542 { 2543 e.preventDefault(); 2544 slideshow.show($(this).parent().index()); 2545 } 2546 else if( galleryWrapper.find('.igui-slideshow-items').attr('data-ig-lightbox') == 1 ) 2547 { 2548 panel.show($(this).parent().index()); 2549 } 2550 2551 } 2552 2553 }); 2554 2555 thumbScrollerWrapper.find('.ig-img-link').each(function(index,el) 2556 { 2557 $(el).on('click', function(e) 2558 { 2559 e.preventDefault(); 2560 var linkEl = galleryWrapper.find('.ig-slideshow-item').eq($(this).parent().index()); 2561 var link = linkEl.attr('data-ig-image-link'); 2562 2563 if(galleryWrapper.find('.ig-slideshow').attr('data-ig-show-main') == 1) 2564 { 2565 slideshow.show(index); 2566 } 2567 else if( link.length > 2) 2568 { 2569 if(linkEl.attr('data-ig-link-new') == 1) 2570 { 2571 window.open(link); 2572 } 2573 else 2574 { 2575 window.location = link; 2576 } 2577 } 2578 else if(galleryWrapper.find('.igui-slideshow-items').attr('data-ig-lightbox') == 1) 2579 { 2580 panel.show($(this).parent().index()); 2581 } 2582 }); 2583 }); 2584 2585 function imageUrl(index,replace) 2586 { 2587 var newUrl = ''; 2588 var shareUrl = getUrlParamater('shareurl'); 2589 if(shareUrl != 'unset') 2590 { 2591 var imageid = galleryWrapper.find('.ig-slideshow-item').eq(index).attr('data-ig-imageid'); 2592 2593 var url = shareUrl.indexOf('?') !== -1 ? decodeURIComponent(shareUrl)+'&img='+imageid : decodeURIComponent(shareUrl)+'?img='+imageid; 2594 return url; 2595 } 2596 2597 var imgName = galleryWrapper.find('.ig-slideshow-item').eq(index).attr('data-ig-imagehash'); 2598 var url = window.location.href; 2599 2600 var currentUrlParam = getUrlParamater('i'); 2601 2602 if(currentUrlParam != 'unset') 2603 { 2604 if(url.indexOf('?i='+currentUrlParam+'&') !== -1) 2605 { 2606 newUrl = url.replace('i='+currentUrlParam+'&',''); 2607 newUrl = newUrl+'&i='+imgName; 2608 } 2609 else if(url.indexOf('?i='+currentUrlParam) !== -1) 2610 { 2611 newUrl = url.replace('?i='+currentUrlParam,''); 2612 newUrl = newUrl+'?i='+imgName; 2613 } 2614 else if(url.indexOf('&i='+currentUrlParam) !== -1) 2615 { 2616 newUrl = url.replace('&i='+currentUrlParam,''); 2617 newUrl = newUrl+'&i='+imgName; 2618 } 2619 } 2620 else if(url.indexOf('?') !== -1) 2621 { 2622 newUrl = url+'&i='+imgName; 2623 } 2624 else 2625 { 2626 newUrl = url+'?i='+imgName; 2627 } 2628 2629 if(replace) 2630 { 2631 if(newUrl != url) 2632 { 2633 history.replaceState({imgId:index}, document.title, newUrl); 2634 } 2635 } 2636 else 2637 { 2638 return newUrl; 2639 } 2640 } 2641 2642 function getUrlParamater(paramName) 2643 { 2644 var urlValue = 'unset'; 2645 var url = window.location.href; 2646 2647 if(url.indexOf("?") > -1) 2648 { 2649 var queryParams = url.substr(url.indexOf("?")); 2650 var queryParamsArray = queryParams.split("&"); 2651 2652 for(var i=0; i< queryParamsArray.length; i++ ) 2653 { 2654 if( queryParamsArray[i].indexOf(paramName + "=") > -1 ) 2655 { 2656 var paramMatch = queryParamsArray[i].split("="); 2657 urlValue = paramMatch[1]; 2658 break; 2659 } 2660 } 2661 } 2662 return unescape(urlValue); 2663 } 2664 2665 });
2666 2667 $('.ig-slideshow-image, .ig-scroller-img, .ig-menu-grid-image, .ig-thumbs-grid-image').hover(function() 2668 { 2669 $(this).data('originalTitle',$(this).attr('title')); 2670 $(this).removeAttr('title'); 2671 }, 2672 function() 2673 { 2674 $(this).attr('title',$(this).data('originalTitle')); 2675 }); 2676 2677 2678 2679});
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.