1 2var lxGalleryMain = { 3 defaults : { 4 autoplay : false 5 ,startImg : 0 6 ,startHeight : 350 7 ,zIndex : 100 8 ,headScrollArea : 100 9 ,autoheight : true 10 ,navigations : { 11 onlyShowOnFocus : true 12 }, 13 fitToContainer : false, 14 fitToContainerOptions : { enlarge:false,} 15 ,header : { 16 autoOpen : false 17 ,imgOpacity : 1 18 ,height : 90 19 } 20 ,timerThumbs : { 21 delay : 50 22 } 23 ,animation : { 24 duration : 1000 25 } 26 ,timer : { 27 delay : 3000 28 } 29 ,htmlOptions : { 30 backgroundColor : '' 31 ,textMode : 'outside' 32 ,timerDelay : -1 33 ,imgBorderColor : '' 34 ,nextButtons : true 35 ,thumbs : true 36 ,enlargeButton : true 37 ,keepPlayButton : true 38 } 39 } 40}; 41var lxGalleryDEF = { 42 mainObj : null, 43 imgs : null, 44 options : null, 45 imgsLoaded : false, 46 imgsToLoad : -1, 47 layout : null, 48 state : null, 49 init : function(mainObj,options) { 50 var me = this; 51 this.imgs = new Array(); 52 this.layout = {}; 53 this.state = {}; 54 this.state.currentImg = -1; 55 this.state.imgsAdded = false; 56 this.state.ready = false; 57 this.state.timer = null; 58 this.state.shouldNavVisible = false; 59 this.state.thumbs = {}; 60 this.state.thumbs.visible = false; 61 this.state.thumbs.timer = null; 62 this.state.thumbs.direction = null; 63 var htmlOptions = mainObj.attr('options'); 64 if (htmlOptions != '') { 65 htmlOptions = jQuery.parseJSON(htmlOptions); 66 } else { 67 htmlOptions = {}; 68 } 69 this.options = jQuery.extend({},lxGalleryMain.defaults,options); 70 this.options.htmlOptions = jQuery.extend({},lxGalleryMain.defaults.htmlOptions,htmlOptions); 71 if (this.options.htmlOptions.timerDelay != -1) { 72 this.options.timer.delay = this.options.htmlOptions.timerDelay; 73 } 74 if (this.options.startHeight == 0 || this.options.fitToContainer === true) { 75 this.options.startHeight = mainObj.height(); 76 } 77 this.mainObj = mainObj; 78 var imgs = this.mainObj.find('img'); 79 imgs.remove(); 80 this.initLayout(); 81 this.imgsToLoad = imgs.length; 82 this.mainObj.bind('lxGallery:imgsLoaded',jQuery.proxy(this.addGallery,this)); 83 imgs.each(function(imgIndex) { 84 var img = $('<img/>'); 85 var skip = false; 86 if ($(this).attr('gbwidth') && $(this).attr('gbheight')) { 87 img.attr('gbwidth',$(this).attr('gbwidth')); 88 img.attr('gbheight',$(this).attr('gbheight')); 89 } 90 if ($(this).attr('gwidth') && $(this).attr('gheight')) { 91 img.attr('gwidth',$(this).attr('gwidth')); 92 img.attr('gheight',$(this).attr('gheight')); 93 if (imgIndex != me.options.startImg) { 94 me.imgsToLoad--; 95 skip = true; 96 } 97 } 98 if (!skip) { 99 img.load(function() { 100 me.imgsToLoad--; 101 if (me.imgsToLoad == 0 && me.state.imgsAdded) { 102 me.mainObj.trigger('lxGallery:imgsLoaded'); 103 } 104 }); 105 img.error(function() { 106 me.imgsToLoad--; 107 if (me.imgsToLoad == 0 && me.state.imgsAdded) { 108 me.mainObj.trigger('lxGallery:imgsLoaded'); 109 } 110 }); 111 } 112 img.attr('src',$(this).attr('src')); 113 img.attr('alt',$(this).attr('alt')); 114 img.attr('big',$(this).attr('big')); 115 if ($(this).attr('class')) 116 img.attr('class',$(this).attr('class')); 117 if ($(this).attr('bigclass')) 118 img.attr('bigclass',$(this).attr('bigclass')); 119 if (me.options.htmlOptions.backgroundColor != '') { 120 img.css('background-color',me.options.htmlOptions.backgroundColor); 121 } 122 if (me.options.htmlOptions.imgBorderColor != '') { 123 img.css('border-color',me.options.htmlOptions.imgBorderColor); 124 } 125 if (img.attr('big') && img.attr('big') != '') { 126 img.addClass('big'); 127 } 128 me.imgs.push(img); 129 me.layout.inner.append(img); 130 }); 131 this.state.imgsAdded = true; 132 if (this.imgsToLoad == 0) { 133 this.mainObj.trigger('lxGallery:imgsLoaded'); 134 } 135 }, 136 initLayout : function() { 137 var me = this; 138 this.mainObj.height(this.options.startHeight); 139 this.mainObj.css('opacity',1); 140 //**apend loader and set it to center center
141 var loader = $('<div/>').addClass('lxGalleryLoader'); 142 loader.append($('<img/>').attr('src','/core/js/lxGallery/ajax-loader.gif')); 143 loader.css('left',(this.mainObj.width()-loader.width())/2+'px'); 144 loader.css('top',(this.mainObj.height()-loader.height())/2+'px'); 145 loader.css('zIndex',this.options.zIndex+2); 146 147 var gallery = $('<div/>').addClass('lxGallery').css('opacity',1);; 148 var inner = $('<div/>').addClass('lxGalleryInner').css('opacity',1);; 149 var text = $('<div class="lxGalleryText"/>').append($('<span/>')); 150 text.css('zIndex',this.options.zIndex+1).css('opacity',0.8); 151 if (this.options.htmlOptions.textMode == 'outside') { 152 text.addClass('lxGalleryTextOutside'); 153 text.css('opacity',1); 154 } 155 inner.append(text); 156 inner.css('zIndex',this.options.zIndex); 157 gallery.append(inner); 158 159 this.mainObj.append(loader); 160 this.mainObj.append(gallery); 161 this.mainObj.show(); 162 163 var navLeft = $('<div/>').addClass('navleft').css('zIndex',this.options.zIndex+1).css('opacity','0'); 164 navLeft.append($('<a href=""/>').append('<img src="/core/js/lxGallery/button-main-left.png"/>')); 165 gallery.append(navLeft); 166 var navRight = $('<div/>').addClass('navright').css('zIndex',this.options.zIndex+1).css('opacity','0'); 167 navRight.append($('<a href=""/>').append('<img src="/core/js/lxGallery/button-main-right.png"/>')); 168 gallery.append(navRight); 169 var navPP = $('<div/>').addClass('navpp').css('zIndex',this.options.zIndex+1).css('opacity','0'); 170 navPP.append($('<a href=""/>').append('<img src="/core/js/lxGallery/icon_play.png"/>')); 171 gallery.append(navPP); 172 var navZoom = $('<div/>').addClass('navzoom').css('zIndex',this.options.zIndex+1).css('opacity','0'); 173 navZoom.append($('<img src="/core/js/lxGallery/lupe.png"/>')); 174 gallery.append(navZoom); 175 176 //** head thumbs 177 var headC = $('<div class="lxGalleryHeaderC"/>').css('zIndex',this.options.zIndex+2); 178 var headC_thumbsC = $('<div class="lxGalleryThumbsC"/>');//.css('zIndex',this.options.zIndex+2); 179 headC.append(headC_thumbsC); 180 var headC_header = $('<div class="lxGalleryHeader"/>').html('Bilder').css('opacity','0'); 181 headC.append(headC_header); 182 var headC_thumbsC_left = $('<div class="lxGalleryThumbsCLeft"/>').append($('<img src="/core/js/lxGallery/button-left.png"/>')); 183 var galleryThumbs = $('<div class="lxGalleryThumbsW"/>'); 184 var headC_thumbsC_inner = $('<div class="lxGalleryThumbsCInner"/>').append(galleryThumbs); 185 var headC_thumbsC_right = $('<div class="lxGalleryThumbsCRight"/>').append($('<img src="/core/js/lxGallery/button-right.png"/>')); 186 headC_thumbsC.append(headC_thumbsC_left).append(headC_thumbsC_inner).append(headC_thumbsC_right); 187 headC.css({'top':-this.options.header.height}); 188 gallery.append(headC); 189 190 //** store elemnts in layout object to have faster access 191 this.layout.loader = loader; 192 this.layout.gallery = gallery; 193 this.layout.inner = inner; 194 this.layout.text = text; 195 this.layout.nav = {}; 196 this.layout.nav.left = navLeft; 197 this.layout.nav.right = navRight; 198 this.layout.nav.pp = navPP; 199 this.layout.nav.zoom = navZoom; 200 this.layout.thumbs = {}; 201 this.layout.thumbs.galleryThumbs = galleryThumbs; 202 this.layout.thumbs.header = headC_header; 203 this.layout.thumbs.thumbsC = headC_thumbsC; 204 this.layout.thumbs.thumbsCinner = headC_thumbsC_inner; 205 this.layout.thumbs.container = headC; 206 //** the events 207 if (this.options.navigations.onlyShowOnFocus) { 208 gallery.bind('mouseover',jQuery.proxy(this.mainMouseOver,this)); 209 gallery.bind('mouseout',jQuery.proxy(this.mainMouseOut,this)); 210 } 211 this.layout.nav.left.bind('click',{'add':-1},jQuery.proxy(this.movePic,this)); 212 this.layout.nav.right.bind('click',{'add':1},jQuery.proxy(this.movePic,this)); 213 this.layout.nav.pp.bind('click',jQuery.proxy(this.playPause,this)); 214 this.layout.nav.zoom.bind('click',jQuery.proxy(this.picClick,this)); 215 this.layout.thumbs.header.bind('click',jQuery.proxy(this.showTumbs,this)); 216 headC_thumbsC_left.bind('click',{'direction':1},jQuery.proxy(this.startScrollThumbs,this)); 217 headC_thumbsC_right.bind('click',{'direction':-1},jQuery.proxy(this.startScrollThumbs,this)); 218 }, 219 thumbClick : function(event) { 220 var picNbr = $(event.target).attr('imgnbr'); 221 this.timerStop(); 222 this.show(picNbr); 223 this.showTumbs(); 224 return false;
225 }, 226 startScrollThumbs : function(event) { 227 if (this.state.thumbs.timer != null && this.state.thumbs.direction == event.data.direction) { 228 window.clearInterval(this.state.thumbs.timer); 229 this.state.thumbs.timer = null; 230 this.state.thumbs.direction = 0; 231 } else if (this.state.thumbs.timer != null) { 232 this.state.thumbs.direction = event.data.direction; 233 } else { 234 this.state.thumbs.direction = event.data.direction; 235 this.state.thumbs.timer = window.setInterval(jQuery.proxy(this.scrollThumbs,this),this.options.timerThumbs.delay); 236 } 237 return false; 238 }, 239 scrollThumbs : function() { 240 var left = parseInt(this.layout.thumbs.galleryThumbs.css('left'),10); 241 left += this.state.thumbs.direction*10; 242 var widthC = this.layout.thumbs.thumbsC.width(); 243 var widthW = this.layout.thumbs.galleryThumbs.width(); 244 if (Math.abs(left) > (widthW-widthC)) { 245 left = -(widthW-widthC); 246 window.clearInterval(this.state.thumbs.timer); 247 this.state.thumbs.timer = null; 248 this.state.thumbs.direction = 0; 249 this.layout.thumbs.galleryThumbs.css('left',left+'px'); 250 } else if (left > 0) { 251 window.clearInterval(this.state.thumbs.timer); 252 this.state.thumbs.timer = null; 253 this.state.thumbs.direction = 0; 254 this.layout.thumbs.galleryThumbs.css('left','0px'); 255 } else { 256 this.layout.thumbs.galleryThumbs.hide().css('left',left+'px').show(); 257 } 258 }, 259 showTumbs : function(event) { 260 if (this.state.thumbs.visible) { 261 this.layout.thumbs.container.animate({'top':-this.options.header.height},{'queue':false}); 262 this.state.thumbs.visible = false; 263 window.clearInterval(this.state.thumbs.timer); 264 this.state.thumbs.timer = null; 265 this.state.thumbs.direction = 0; 266 } else { 267 this.layout.thumbs.container.animate({'top':0},{'queue':false}); 268 this.state.thumbs.visible = true; 269 } 270 return false; 271 }, 272 playPause : function(event) { 273 if (this.state.timer != null) { 274 this.timerStop(); 275 } else { 276 this.timerStart(); 277 } 278 return false; 279 }, 280 movePic : function(event) { 281 this.timerStop(); 282 var add = event.data.add; 283 var picNbr = this.state.currentImg+add; 284 this.show(picNbr); 285 return false; 286 }, 287 mainMouseOver : function(event) { 288 this.state.shouldNavVisible = true; 289 this.showNavs(); 290 }, 291 mainMouseOut : function(event) { 292 this.state.shouldNavVisible = false; 293 window.setTimeout(jQuery.proxy(this.hideNavs,this),400); 294 }, 295 showNavs : function() { 296 if (this.options.htmlOptions.nextButtons) { 297 this.layout.nav.left.animate({ 298 'left':'0px', 299 'opacity':'1' 300 },{'queue':false}); 301 this.layout.nav.right.animate({ 302 'right':'0px', 303 'opacity':'1' 304 },{'queue':false}); 305 } 306 this.layout.nav.pp.show().animate({ 307 'opacity':'1' 308 },{'queue':false}); 309 if (this.options.htmlOptions.enlargeButton) { 310 this.layout.nav.zoom.animate({ 311 'opacity':'1' 312 },{'queue':false}); 313 } 314 if (this.options.htmlOptions.thumbs) { 315 if (this.state.thumbs.visible) { 316 this.layout.thumbs.container.animate({'opacity':'1'},{'queue':false}); 317 } else { 318 this.layout.thumbs.header.animate({ 319 'opacity':'1' 320 },{'queue':false}); 321 } 322 } 323 }, 324 hideNavs : function() { 325 if (this.state.shouldNavVisible) { 326 return; 327 } 328 this.layout.nav.left.animate({ 329 'left':'-50px', 330 'opacity':'0' 331 },{'queue':false}); 332 this.layout.nav.right.animate({ 333 'right':'-50px', 334 'opacity':'0' 335 },{'queue':false}); 336 this.layout.nav.pp.animate({ 337 'opacity':'0' 338 },{'queue':false}); 339 this.layout.nav.zoom.animate({ 340 'opacity':'0' 341 },{'queue':false}); 342 if (this.state.thumbs.visible) { 343 this.layout.thumbs.container.animate({'opacity':0},{'queue':false}); 344 } else { 345 this.layout.thumbs.header.animate({ 346 'opacity':'0' 347 },{'queue':false}); 348 } 349 }, 350 picClick : function(event) { 351 this.timerStop(); 352 var options = {}; 353 options.content = "gallery dummy"; 354 options.onContentReady = jQuery.proxy(this.maxGallery,this); 355 options.tabText = "Gallerie"; 356 this.state.maxImg = this.state.currentImg; 357 $(window).itumaOverlay(options); 358 return false;
359 var index = this.state.currentImg; 360 var big = this.imgs[index].attr('big'); 361 if (!big) { 362 return; 363 } 364 this.timerStop(); 365 //baulinks.popup(big); 366 return false; 367 }, 368 maxGallery : function(overlay,overlayMain) { 369 var obj = overlay.container; 370 var maxDim = overlayMain.options.maxDimension; 371 var div = $('<div class="gallery" />').show(); 372 div.width(maxDim.width).height(maxDim.height); 373 374 obj.html(div); 375 $(this.imgs).each(function() { 376 if ($(this).attr('big')) { 377 var img = $('<img/>'); 378 img.attr('src',$(this).attr('big')); 379 img.attr('alt',$(this).attr('alt')); 380 if ($(this).attr('bigclass')) 381 img.attr('class',$(this).attr('bigclass')); 382 if ($(this).attr('gbwidth') && $(this).attr('gbheight')) { 383 img.attr('gwidth',$(this).attr('gbwidth')); 384 img.attr('gheight',$(this).attr('gbheight')); 385 } 386 div.append(img); 387 } 388 }); 389 var me = this; 390 div.lxGallery({fitToContainer:true,autoStart:false,autoheight:true,startImg:this.state.maxImg,zIndex:8100,onReady:function(gallery) { 391 div.width(gallery.state.maxWidth); 392 overlayMain.autoSize(0,0); 393 gallery.reArrangeLayout(); 394 }}); 395 //obj.html("max ready"); 396 }, 397 calcImgDimensions : function(imgs) { 398 var dim = { w:0,h:0,th:0 }; 399 var h; 400 var w; 401 var me = this; 402 imgs.each(function() { 403 if ($(this).attr('gheight')) { 404 h = parseInt($(this).attr('gheight')); 405 } else { 406 h = $(this).height(); 407 } 408 if (dim.h < h) { 409 dim.h = h; 410 } 411 if ($(this).attr('gwidth')) { 412 w = parseInt($(this).attr('gwidth')); 413 } else { 414 w = $(this).width(); 415 } 416 if (dim.w < w) { 417 dim.w = w; 418 } 419 }); 420 //** text outside the gallery 421 if (this.options.htmlOptions.textMode == 'outside') { 422 me.layout.text.width(dim.w); 423 imgs.each(function() { 424 var text = $(this).attr('alt'); 425 if (text != '') { 426 var html = '<span>'+text+'</span>'; 427 var tempHeight = me.layout.text.html(html).height(); 428 if (tempHeight > dim.th) { 429 dim.th = tempHeight; 430 } 431 } 432 }); 433 } 434 if (this.options.htmlOptions.backgroundColor != '') { 435 dim.h += 2; 436 } 437 return dim; 438 }, 439 setImgDimensions : function(imgs,toDim) { 440 var h; 441 var w; 442 var ph; 443 var pw; 444 var p; 445 imgs.each(function() { 446 if ($(this).attr('gheight')) { 447 h = parseInt($(this).attr('gheight')); 448 } else { 449 h = $(this).height(); 450 } 451 if ($(this).attr('gwidth')) { 452 w = parseInt($(this).attr('gwidth')); 453 } else { 454 w = $(this).width(); 455 } 456 if (w > toDim.w || h > toDim.h) { 457 ph = h/toDim.h; 458 pw = w/toDim.w; 459 if (pw > ph) 460 p = pw; 461 else 462 p = ph; 463 $(this).width(w / p).height(h / p); 464 $(this).attr('gheight',$(this).height()); 465 $(this).attr('gwidth',$(this).width()); 466 } 467 }); 468 }, 469 addGallery : function(event) { 470 var me= this; 471 var galleryThumb; 472 var img; 473 var height = 0; 474 var width = 0; 475 var twidth; 476 var dim; 477 478 this.imgsLoaded = true; 479 this.state.maxWidth = 0; 480 this.state.maxHeight = 0; 481 this.mainObj.unbind('lxGallery:imgsLoaded',jQuery.proxy(this.addGallery,this)); 482 $(this.imgs).each(function(index) { 483 if ($(this).attr('big')) { 484 $(this).bind('click',jQuery.proxy(me.picClick,me)); 485 }
486 galleryThumb = $('<div class="lxGalleryThumb"/>').attr('imgnbr',index); 487 img = $(this).clone(); 488 img.attr('imgnbr',index); 489 galleryThumb.append(img); 490 me.layout.thumbs.galleryThumbs.append(galleryThumb); 491 }); 492 this.layout.thumbs.galleryThumbs.find('div').bind('click',jQuery.proxy(this.thumbClick,this)); 493 this.layout.loader.hide(); 494 this.layout.gallery.show(); 495 496 $(me.layout.thumbs.galleryThumbs.find('div')).each(function() { 497 twidth = $(this).width(); 498 width += twidth + parseInt($(this).css('marginRight')) + 1; 499 }); 500 me.layout.thumbs.galleryThumbs.width(width); 501 502 //**calc now the dimensions 503 //** max height 504 dim = this.calcImgDimensions($(this.imgs)); 505 this.state.maxWidth = dim.w; 506 this.state.maxHeight = dim.h; 507 this.state.maxTextHeight = dim.th; 508 509 //**calcs made : are we bigger then the container and fitToContainer === true? 510 if (this.options.fitToContainer === true) { 511 var maxDim = {w:this.mainObj.width() - 40,h:this.mainObj.height()-this.state.maxTextHeight - 40}; 512 var resize = false; 513 if (this.state.maxHeight > maxDim.h) { 514 resize = true; 515 } 516 if (this.state.maxWidth > maxDim.w) { 517 resize = true; 518 } 519 if (resize === true) { 520 this.setImgDimensions($(this.imgs),maxDim); 521 dim = this.calcImgDimensions($(this.imgs)); 522 this.state.maxWidth = dim.w; 523 this.state.maxHeight = dim.h; 524 } 525 } 526 527 //** set height of gallery 528 if (this.options.autoheight) { 529 this.layout.inner.height(me.state.maxHeight); 530 this.layout.gallery.height(me.state.maxHeight); 531 this.mainObj.height(me.state.maxHeight); 532 } 533 if (this.state.maxTextHeight > 0) { 534 this.mainObj.height(this.mainObj.height()+this.state.maxTextHeight); 535 this.layout.gallery.after(this.layout.text); 536 if (me.options.htmlOptions.backgroundColor != '') 537 this.layout.text.css('top',this.layout.gallery.height()+2+'px'); 538 else 539 this.layout.text.css('top',this.layout.gallery.height()+'px'); 540 } 541 //** align nav buttons 542 this.reArrangeLayout(); 543 //** set img left to center it 544 $(this.imgs).each(function(index) { 545 if ($(this).attr('gwidth')) { 546 twidth = parseInt($(this).attr('gwidth')); 547 } else { 548 twidth = $(this).height(); 549 } 550 var left = (me.state.maxWidth - twidth) / 2; 551 $(this).css('left',left+'px'); 552 }); 553 554 this.state.ready = true; 555 if (this.options.onReady) { 556 this.options.onReady(this); 557 } 558 this.show(this.options.startImg); 559 if (this.options.autoplay) { 560 this.timerStart(); 561 } else { 562 if (this.options.htmlOptions.keepPlayButton) { 563 this.layout.nav.pp.animate({ 564 'opacity':'1' 565 },{'queue':false}); 566 } 567 } 568 }, 569 reArrangeLayout : function() { 570 var height = this.layout.gallery.height(); 571 //** align nav buttons 572 this.layout.nav.left.css('top',(height-this.layout.nav.left.height())/2+'px'); 573 this.layout.nav.pp.css('top',(height-this.layout.nav.pp.height())/2+'px'); 574 this.layout.nav.right.css('top',(height-this.layout.nav.right.height())/2+'px'); 575 this.layout.nav.pp.css('left',(this.mainObj.width()-this.layout.nav.pp.width())/2+'px'); 576 this.layout.thumbs.thumbsC.width(this.mainObj.width()-110); 577 this.layout.thumbs.thumbsCinner.width(this.mainObj.width()-110); 578 this.layout.thumbs.header.css('left',this.mainObj.width()-this.layout.thumbs.header.width()+'px'); 579 this.layout.text.width(this.layout.gallery.width()); 580 }, 581 timerStart : function() { 582 if (this.state.timer != null) { 583 return; 584 } 585 if (!this.state.shouldNavVisible) { 586 this.layout.nav.pp.hide().css('opacity','0'); 587 } 588 this.layout.nav.pp.find('img').attr('src','/core/js/lxGallery/icon_pause.png'); 589 this.state.timer = window.setTimeout(jQuery.proxy(this.timerEvent,this), this.options.timer.delay); 590 }, 591 timerStop : function() { 592 if (this.state.timer != null) { 593 clearTimeout(this.state.timer); 594 } 595 this.layout.nav.pp.find('img').attr('src','/core/js/lxGallery/icon_play.png'); 596 this.state.timer = null; 597 }, 598 timerEvent : function() { 599 clearTimeout(this.state.timer); 600 this.show(); 601 if (this.state.timer != null) { 602 this.state.timer = null; 603 this.timerStart(); 604 } 605 }, 606 show : function(picNbr) { 607 if (typeof picNbr === 'undefined') { 608 picNbr = this.state.currentImg+1; 609 } 610 if (picNbr >= this.imgs.length) { 611 picNbr = 0; 612 } 613 if (picNbr < 0) { 614 picNbr = this.imgs.length-1; 615 } 616 if (picNbr == this.state.currentImg) { 617 return; 618 } 619 if (this.imgs[this.state.currentImg]) { 620 this.imgs[this.state.currentImg].stop(true); 621 this.imgs[this.state.currentImg].animate( 622 {opacity:'0'} 623 ,{ 624 duration:this.options.animation.duration 625 ,'queue':false 626 ,complete : function() { 627 $(this).hide(); 628 } 629 }); 630 } 631 if (!this.imgs[picNbr]) { 632 return; 633 } 634 this.imgs[picNbr].stop(true); 635 this.imgs[picNbr].css('opacity',0).show().animate({opacity:'1'},{duration:this.options.animation.duration,'queue':false}); 636 this.state.currentImg = parseInt(picNbr); 637 638 if (this.imgs[picNbr].attr('big')) { 639 this.layout.nav.zoom.css('left',this.imgs[picNbr].width()-39-10+'px'); 640 this.layout.nav.zoom.css('top',this.imgs[picNbr].height()-39-10+'px'); 641 } else { 642 this.layout.nav.zoom.css('left',-39+'px'); 643 this.layout.nav.zoom.css('top',-39+'px'); 644 } 645 646 var html = ''; 647 //var top = gallery.containerInner.height()-gallery.containerInnerText.height(); 648 //gallery.containerInnerText.css('top',gallery.containerInner.height()-gallery.containerInnerText.height()+'px'); 649 var text = this.imgs[picNbr].attr('alt'); 650 if (text == '') { 651 this.layout.text.hide(); 652 } else { 653 html = '<span>'+text+'</span>'; 654 if (this.options.htmlOptions.backgroundColor != '') 655 this.layout.text.css('top',this.imgs[picNbr].height()+2).show().html(html); 656 else 657 this.layout.text.css('top',this.imgs[picNbr].height()).show().html(html); 658 } 659 } 660}; 661var lxGallery = Class.extend(lxGalleryDEF); 662 663(function($){ 664 665 var methods = { 666 init : function(options) { 667 return this.each(function() { 668 var gallery = $(this); 669 var data = gallery.data('lxGallery'); 670 if (!data) { 671 data = new lxGallery(gallery,options); 672 gallery.data('lxGallery',data); 673 } 674 }); 675 }, 676 start : function() { 677 if (this.length == 0) { 678 return; 679 } 680 var gallery = $(this); 681 var data = gallery.data('lxGallery'); 682 data.timerStart(); 683 } 684 }; 685 686 $.fn.lxGallery = function( method ) { 687 if ( methods[method] ) { 688 return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 )); 689 } else if ( typeof method === 'object' || ! method ) { 690 return methods.init.apply( this, arguments ); 691 } else { 692 $.error( 'Method ' + method + ' does not exist on jQuery.lxGallery' ); 693 } 694 }; 695}) (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.