source: extensions/iPiwigo/www/extensions/jqt.photo.min.js @ 9188

Last change on this file since 9188 was 9188, checked in by Polly, 13 years ago

Adding the Phonegap www folder needed to compile.

  • Property svn:executable set to *
File size: 23.9 KB
Line 
1/**
2 *    Provides event handling for iPhone like photo gallery (without thumbnail portion)
3 *
4 *    @author Sam Shull <http://www.google.com/profiles/brickysam26>
5 *    @copyright 2010 Sam Shull <http://samshull.blogspot.com/>
6 *
7 *    Special Thanks to Steve Simitzis <http://saturn5.com>
8 *
9 *    @license <http://www.opensource.org/licenses/mit-license.html>
10 *
11 *    Permission is hereby granted, free of charge, to any person obtaining a copy
12 *    of this software and associated documentation files (the "Software"), to deal
13 *    in the Software without restriction, including without limitation the rights
14 *    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15 *    copies of the Software, and to permit persons to whom the Software is
16 *    furnished to do so, subject to the following conditions:
17 *   
18 *    The above copyright notice and this permission notice shall be included in
19 *    all copies or substantial portions of the Software.
20 *   
21 *    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22 *    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23 *    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24 *    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25 *    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26 *    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
27 *    THE SOFTWARE.
28 *
29 *    Custom Events handled by each gallery:
30 *
31 *        jqt-photo-slideto            - slide to a given index (e, [index = int [, options = Object [, slides = jQuery ] ] ] )
32 *        jqt-photo-goto            - jump to a given index (e, [index = int [, options = Object [, slides = jQuery ] ] ] )
33 *        jqt-photo-play                - start the slideshow from the given point
34 *        jqt-photo-pause                - stop the slideshow
35 *        jqt-photo-prev                - go to the previous slide
36 *        jqt-photo-next                - go to the next slide
37 *        jqt-photo-hide-toolbars        - hide the visibility of the toolbars
38 *        jqt-photo-show-toolbars        - show the visibility of the toolbars
39 *        jqt-photo-toggle-toolbars    - toggle the visibility of the toolbars
40 */
41(function(N){if(!"WebKitCSSMatrix" in this){return null}var q,x=[],s="Touch" in this,F=s?{start:"touchstart",move:"touchmove",end:"touchend"}:{start:"mousedown",move:"mousemove",end:"mouseup"},f,ac=false,V=this,k=V.document,A=V.Math,ab=A.min,l=A.floor,R=A.sqrt,J=A.pow,M=A.abs,C=M(V.orientation)==90?"landscape":"portrait",P={data:[],galleryName:"{0} of {1}",defaultIndex:0,transitionProperty:"-webkit-transform",timingFunction:"cubic-bezier(0,0,.25,1)",transform:"translate3d({0}px,0,0)",imageTransform:"scale({0}) translate3d({1}px, {2}px, 0)",maxSlidesBefore:2,maxSlidesAfter:2,slideDelay:5000,scrollSpeed:500,scaleSpeed:500,useDynamicStyleSheet:true,repeatSlideShow:false,appendTo:"#jqt",dataAttribute:"data-index",tagNames:"A,INPUT,SELECT,TEXTAREA",backLink:'<a class="back">Back</a>',blankImage:'<img class="jqt-photo-img"/>',slideTemplate:'<td class="jqt-photo-image-slide">                                <div class="jqt-photo-not-loaded">                                    <img class="jqt-photo-img"/>                                    <div class="jqt-photo-caption"></div>                                </div>                            </td>',parsedClassTemplate:"#jqt .jqt-photo .jqt-photo-image-slide > .{0}{max-width:auto;max-height:auto;}",galleryTemplate:'<div class="jqt-photo">                                    <div class="toolbar toolbar-top"></div>                                    <table class="jqt-photo-table">                                        <tr class="jqt-photo-slide-list"></tr>                                    </table>                                    <div class="toolbar toolbar-bottom">                                        <div class="jqt-photo-prev"></div>                                        <div class="jqt-photo-pause"></div>                                        <div class="jqt-photo-play"></div>                                        <div class="jqt-photo-next"></div>                                    </div>                                </div>',pageAnimationEnd:i,pageAnimationStart:d,slideTo:h,play:I,pause:c,next:g,prev:L,goTo:X,showToolbars:u,hideToolbars:W,toggleToolbars:H,touchStart:S,dragStart:n,drag:j,dragEnd:Y,scaleStart:r,scale:O,scaleEnd:p,loader:B,createSlide:Q,rearrange:U,presizedClass:"jqt-photo-presized",parsedClass:"jqt-photo-parsed",currentClass:"jqt-photo-current",playingClass:"jqt-photo-playing",notLoadedClass:"jqt-photo-not-loaded",toolbarAnimationInClass:"jqt-photo-toolbar-animation-in",toolbarAnimationOutClass:"jqt-photo-toolbar-animation-out",toolbarHideClass:"jqt-photo-toolbar-hidden",tableSelector:".jqt-photo-table",captionSelector:".jqt-photo-caption",slideSelector:".jqt-photo-image-slide",imageSelector:"img.jqt-photo-img",titleSelector:".toolbar-top h1",listSelector:".jqt-photo-slide-list",playSelector:".jqt-photo-play",pauseSelector:".jqt-photo-pause",nextSelector:".jqt-photo-next",prevSelector:".jqt-photo-prev",gallerySelector:".jqt-photo"},T=function(ad){return(V.innerHeight-ad.caption)+"px"},e=function(){return V.innerHeight+"px"},a=function(){return V.innerWidth+"px"},y=function(ad){return(V.innerHeight-ad.toolbar)+"px"},w={variables:{caption:90,toolbar:45},defaults:{"#jqt .jqt-photo .toolbar-bottom":{top:y},"#jqt .jqt-photo .jqt-photo-image-slide > div":{width:a,height:e,"line-height":e},"#jqt .jqt-photo .jqt-photo-image-slide .jqt-photo-caption":{top:T,}},portrait:{"#jqt.portrait .jqt-photo":{height:e,width:a,},"#jqt.portrait .jqt-photo .toolbar-bottom":{top:y},"#jqt.portrait .jqt-photo .jqt-photo-image-slide > div":{width:a,height:e,"line-height":e,},"#jqt .jqt-photo .jqt-photo-image-slide .jqt-photo-caption":{top:T,}},landscape:{"#jqt.landscape .jqt-photo":{height:e,width:a,},"#jqt.landscape .jqt-photo .toolbar-bottom":{top:y,},"#jqt.landscape .jqt-photo .jqt-photo-table":{height:e,},"#jqt.landscape .jqt-photo .jqt-photo-image-slide > div":{height:e,width:a,"line-height":e,},"#jqt.landscape .jqt-photo .jqt-photo-image-slide .jqt-photo-caption":{top:T,}}};if(N.jQTouch){N.jQTouch.addExtension(function(ad){return{generateGallery:t,goToSlide:function(ae,ah,ak,ag){var aj=N(ae),af=aj.data("jqt-photo-options"),ai=aj.find(af.slideSelector);if(ai.index("."+af.currentClass)!=ah){ai.removeClass(af.currentClass).eq(ah).addClass(af.currentClass)}if(!aj.hasClass("current")){ad.goTo(aj,ak||"slide",ag)}aj.triggerHandler("jqt-photo-show-toolbars");return aj}}})}function t(ak,ad,af){af=N.extend({},P,af);af.data=ad;if(!ac){ac=true;var ag=k.styleSheets[k.styleSheets.length-1];ag.insertRule(K(af.parsedClassTemplate,af.parsedClass),ag.cssRules.length)}af.gallery=N(af.galleryTemplate).appendTo(af.appendTo);var aj=af.list=af.gallery.find(af.listSelector),ae=af.defaultIndex-af.maxSlidesBefore,ah=af.defaultIndex+af.maxSlidesAfter,ai=af.gallery.attr("id",ak).find(".toolbar-top").append(N("<h1></h1>").html(K(af.galleryName,af.defaultIndex+1,ad.length)));if(af.backLink){ai.append(af.backLink)}N.each(ad,function(al,am){aj.append(af.createSlide(am,al,af,al>=ae&&al<=ah))});return z(af.gallery[0],af)}N.fn.jqtPhoto=function(ad){ad=N.extend({},P,ad||{});return this.each(function(){z(this,ad)})};N.jqtPhoto={generateGallery:t,defaults:function(ad){if(ad){P=N.extend(P,ad)}return N.extend({},P)},defaultCSS:function(ad){if(ad!==q){w=N.extend(true,w,ad)}return N.extend({},w)}};function z(ag,af){var ae=N(ag),ah=v(ae,af).find(af.slideSelector),ad=ah.find(af.imageSelector);af.list=ae.find(af.listSelector);af.table=o(ae.data("jqt-photo-options",af),af);af.blankImage=G(ae,N(af.blankImage).load(af.loader),af);if(!ah.filter("."+af.currentClass).length){if(!ah.filter(K("[{0}={1}]",af.dataAttribute,af.defaultIndex)).addClass(af.currentClass).length){ah.eq(0).addClass(af.currentClass)}}ae.find(af.tableSelector).css({webkitTransitionProperty:af.transitionProperty,webkitTransitionTimingFunction:af.timingFunction,webkitTransitionDuration:af.defaultDuration+"s",webkitTransform:K(af.transform,-ah.filter("."+af.currentClass).attr("offsetLeft")||0)});G(ae,ad,af);x=x.concat(N.makeArray(ae));return ae}function o(ah,af){var ag=ah.find(af.tableSelector),ae=V.getComputedStyle(ag[0]).webkitTransform,ad=new WebKitCSSMatrix(ae);return ag.data("jqt-photo-position",{x:Number(ad.m41||0),gallery:ah})}function v(ae,ad){return ae.each(function(){this.addEventListener(F.start,ad.touchStart,false)}).bind("jqt-photo-slideto",ad.slideTo).bind("jqt-photo-goto",ad.goTo).bind("jqt-photo-play",ad.play).bind("jqt-photo-pause",ad.pause).bind("jqt-photo-prev",ad.prev).bind("jqt-photo-next",ad.next).bind("jqt-photo-hide-toolbars",ad.hideToolbars).bind("jqt-photo-show-toolbars",ad.showToolbars).bind("jqt-photo-toggle-toolbars",ad.toggleToolbars).bind("pageAnimationEnd",ad.pageAnimationEnd).bind("pageAnimationStart",ad.pageAnimationStart)}function G(af,ad,ae){return ad.each(function(){var ah=N(this).addClass(ae.parsedClass),ag=new WebKitCSSMatrix(V.getComputedStyle(this).webkitTransform),aj=Number(ag.m11),ai=ah.data("jqt-photo-info")||{},ak={scale:aj,top:Number(ag.m42),left:Number(ag.m41),width:ah.width()*aj,height:ah.height()*aj,parent:ah.parent()};ai.galleryOptions=ae;ai.gallery=ai.gallery||af;ai[C]={current:ak,original:N.extend({},ak)};ah.data("jqt-photo-info",ai)})}function S(af){var ah=N(af.target.nodeType==3?af.target.parentNode:af.target),ag=N(this),ad=ag.data("jqt-photo-options"),ae=s?af.targetTouches:{length:!af.ctrlKey?1:2};if(ah.is(ad.tagNames)){return null}if(ah.is(ad.playSelector)){if(!ag.hasClass(ad.playingClass)&&ad.play){return ad.play.call(this,af)}return true}else{if(ah.is(ad.pauseSelector)){if(ag.hasClass(ad.playingClass)&&ad.pause){return ad.pause.call(this,af)}return true}else{if(ah.is(ad.nextSelector)&&ad.next){return ad.next.call(this,af)}else{if(ah.is(ad.prevSelector)&&ad.prev){return ad.prev.call(this,af)}else{if(ae.length==2&&ah.closest(ad.imageSelector).length&&ad.scaleStart){if(ag.hasClass(ad.playingClass)&&ad.pause){ad.pause.call(this)}return ad.scaleStart.call(this,af)}else{if(ae.length==1&&ad.dragStart){if(ag.hasClass(ad.playingClass)&&ad.pause){ad.pause.call(this,af)}return ad.dragStart.call(this,af)}}}}}}return true}function n(ad){ad.preventDefault();V.scrollTo(0,0);var ak=N(this),am=ak.data("jqt-photo-options"),al=ak.find(am.tableSelector).css("webkitTransitionDuration","0s"),ag=al.data("jqt-photo-position"),aj=N(ad.target).closest(am.imageSelector),af=aj.data("jqt-photo-info")||false,ae=!!af&&af[C]||false,ai=!!ae&&ae.current||{},ah=s?ad.targetTouches[0]:ad;this.addEventListener(F.move,am.drag,false);this.addEventListener(F.end,am.dragEnd,false);ak.data("jqt-photo-event",{table:al,position:{current:ag.x,original:ag.x},target:aj.css("webkitTransitionDuration","0s"),options:am,slides:al.find(am.slideSelector),moved:false,x:ah.pageX,y:ah.pageY,left:ai.left||0,top:ai.top||0,timeStamp:+new Date});return true}function j(an){an.preventDefault();var ae=N(this),am=ae.data("jqt-photo-event"),aq=am.table,aw=am.position,av=am.target,at=av.data("jqt-photo-info"),ax=!!at&&at[C]||false,ak=ax.current||false,ad=s?an.targetTouches[0]:an,ar=am.x-ad.pageX,ap=am.y-ad.pageY,ah,ao,ag,af,al,ai,au,aj=ak.scale;am.moved=true;if(ax){ae.triggerHandler("jqt-photo-hide-toolbars",[am.options]);if(ar){ag=av.width()*aj;ah=ak.parent.width();al=am.left;if(ag>ah){al-=ar/aj;ar=0;au=((ag-ah)/aj)/2;if(al>au){ar=au-al;al=au}else{if(al<-au){ar=-(al+au);al=-au}}}ak.left=l(al)}if(ap){af=av.height()*aj;ao=ak.parent.height(),ai=am.top;if(af>ao){ai-=ap/aj}ak.top=l(ai)}av.css({webkitTransitionDuration:"0s",webkitTransform:K(am.options.imageTransform,aj,ak.left,ak.top)})}aw.current=aw.original-ar;aq.css({webkitTransitionDuration:"0s",webkitTransform:K(am.options.transform,aw.current)});return true}function Y(ao){var ad=N(this),an=ad.data("jqt-photo-event"),aq=an.table,ah=aq.data("jqt-photo-position"),av=an.position,au=an.target,ar=au.data("jqt-photo-info"),aw=!!ar&&ar[C]||false,ak=aw.current||false,am=an.slides,ap,af,ae,ai,at,al,ag,aj=ak.scale;this.removeEventListener(F.move,an.options.drag,false);this.removeEventListener(F.end,an.options.dragEnd,false);if(!an.moved){ad.trigger("jqt-photo-toggle-toolbars");return Z(ao.target)}ao.preventDefault();if(aw){ae=au.height()*aj;ap=ak.parent.height(),ai=ak.top;if(ae>ap){at=((ae-ap)/aj)/2;if(ai>at){ai=at}else{if(ai<-at){ai=-at}}}ak.top=l(ai);au.css({webkitTransitionDuration:an.options.scaleSpeed+"ms",webkitTransform:K(an.options.imageTransform,aj,ak.left,ak.top)})}at=(+new Date()-an.timeStamp);if(av.current>0){ah.x=0}else{if(av.current<(am.eq(am.length-1).width()-aq.outerWidth())){ah.x=(am.eq(am.length-1).width()-aq.outerWidth())}else{al=ah.x<av.current?-1:1;af=am.filter("."+an.options.currentClass);ai=M(af.attr("offsetLeft")+av.current);ag=af.width()/3;if(ai>ag){ad.triggerHandler("jqt-photo-slideto",[am.index(af[0])+al,(at>1000?1000:at),an.options,am]);return true}}}aq.css({webkitTransitionDuration:(at>1000?1000:at)+"ms",webkitTransform:K(an.options.transform,ah.x)});return true}function r(af){af.preventDefault();V.scrollTo(0,0);var ah=N(this),ad=ah.data("jqt-photo-options"),ae=s?af.targetTouches:[{pageX:f.x-af.pageX,pageY:f.y-af.pageY},af];this.addEventListener(F.move,ad.scale,false);this.addEventListener(F.end,ad.scaleEnd,false);try{this.removeEventListener(F.move,ad.drag,false);this.removeEventListener(F.end,ad.dragEnd,false)}catch(ag){}ah.data("jqt-photo-event",{target:N(af.target).closest(ad.imageSelector).css("webkitTransitionDuration","0s"),options:ad,distance:R(J((ae[1].pageX-ae[0].pageX),2)+J((ae[1].pageY-ae[0].pageY),2))}).find(".image-list").css("webkitTransitionDuration","0s");return true}function O(ae){if(ae.targetTouches.length!=2){return true}ae.preventDefault();var ao=N(this),ah=ao.data("jqt-photo-event"),am=ah.target,ag=am.data("jqt-photo-info"),aj=!!ag&&ag[C]||false,an=ae.targetTouches,ad=R(J((an[1].pageX-an[0].pageX),2)+J((an[1].pageY-an[0].pageY),2)),ai=ad-ah.distance,ak=(ai/ah.distance)/2,al=aj.current,af;if(!al){G(ao,am,ah.options);ag=am.data("jqt-photo-info");aj=!!ag&&ag[C]||false;al=aj.current}ao.triggerHandler("jqt-photo-hide-toolbars",[ah.options]);af=K(ah.options.imageTransform,(al.scale=(al.scale+(al.scale*ak))),al.left,al.top);ah.distance=ad;am.css({webkitTransitionDuration:"0s",webkitTransform:af});return true}function p(ae){ae.preventDefault();var ai=N(this),ad=ai.data("jqt-photo-event"),ah=ad.target.data("jqt-photo-info"),af=!!ah&&ah[C]||false,ag=af.current;this.removeEventListener(F.move,ad.options.scale,false);this.removeEventListener(F.end,ad.options.scaleEnd,false);if(!ag){G(ai,ad.target,ad.options);ah=ad.target.data("jqt-photo-info");af=!!ah&&ah[C]||false;ag=af.current}if(ag.scale<af.original.scale){ag.scale=af.original.scale;ag.left=af.original.left;ag.top=af.original.top}ad.target.css({webkitTransitionDuration:ad.options.scaleSpeed+"ms",webkitTransform:K(ad.options.imageTransform,ag.scale,ag.left,ag.top)});return true}function Z(ad){var ae=ad.ownerDocument.createEvent("MouseEvents");ae.initEvent("click",true,true);ad.dispatchEvent(ae);return true}function I(ag,ae){ag.preventDefault&&ag.preventDefault();var ah=N(this),ad=ah.data("jqt-photo-options"),af=ah.find(ad.slideSelector),ai=ae===q||ae<0?Number(af.filter("."+ad.currentClass).attr(ad.dataAttribute)):M(ae);E(ah.addClass(ad.playingClass),ah.find(ad.pauseSelector)[0]);if(ai!=ae){ah.triggerHandler("jqt-photo-goto",[ai,0,ad,af])}ah.data("jqt-photo-slide-timer",setInterval(function(){b(ah,af,ad)},ad.slideDelay));return true}function b(ah,af,ae){var ad=Number(ah.find(ae.slideSelector).filter("."+ae.currentClass).attr(ae.dataAttribute))+1,ag="jqt-photo-slideto";if(ad===ae.data.length){if(!ae.repeatSlideShow){ah.triggerHandler("jqt-photo-pause");return null}ad=0;ag="jqt-photo-goto"}ah.triggerHandler(ag,[ad,ae.scrollSpeed,ae,af]);ah.triggerHandler("jqt-photo-hide-toolbars",[ae]);return null}function c(ae){ae.preventDefault&&ae.preventDefault();var af=N(this),ag=af.data("jqt-photo-slide-timer"),ad=af.data("jqt-photo-options");E(af,af.find(ad.playSelector)[0]);clearInterval(ag);af.removeClass(ad.playingClass).data("jqt-photo-slide-timer",null).triggerHandler("jqt-photoshow-toolbars");return true}function h(ad,ah,af,an,ae){ad.preventDefault&&ad.preventDefault();var aj=N(this),am,ai,ak,al,ag;an=an||aj.data("jqt-photo-options");ae=ae||aj.find(an.slideSelector);am=an.table;ah=Number(ah||0);af=af===q||af<0?an.scrollSpeed:(Number(af)||0);if(ah>=an.data.length){aj.triggerHandler("jqt-photo-goto",[0,af,an,ae]);return true}if(ah<0){ah=an.data.length+ah}al=ae.filter("."+an.currentClass);ai=ae.removeClass(an.currentClass).filter(K("[{0}={1}]",an.dataAttribute,ah));ag=ai.find(an.imageSelector);if(ag.attr("src")!=an.data[ah].src){ag.parent().addClass(an.notLoadedClass);ag.attr("src",an.data[ah].src)}position=-ai.addClass(an.currentClass).attr("offsetLeft");if(position>0){position=0}else{if(position<-(am.width()-ai.width())){position=-(am.width()-ai.width())}}aj.trigger("jqt-photo-slide-change",[ah,af,position]);am.data("jqt-photo-position").x=position;am.one("webkitTransitionEnd",function(){an.rearrange(ai,al,an)}).css({webkitTransitionDuration:af+"ms",webkitTransform:K(an.transform,position)});ak=aj.find(an.titleSelector);ak.html(K(an.galleryName||ak.html(),Number(ah)+1,an.data.length));return true}function X(ad,ah,af,an,ae){ad.preventDefault&&ad.preventDefault();var aj=N(this),am,ai,ak,al,ag;an=an||aj.data("jqt-photo-options");ae=ae||aj.find(an.slideSelector);am=an.table;ah=Number(ah||0);af=af===q||af<0?an.scrollSpeed:(Number(af)||0);if(ah>=an.data.length){ah=0}if(ah<0){ah=an.data.length+ah}al=ae.filter("."+an.currentClass);ai=ae.removeClass(an.currentClass).filter(K("[{0}={1}]",an.dataAttribute,ah));ag=ai.find(an.imageSelector);if(ag.attr("src")!=an.data[ah].src){ag.parent().addClass(an.notLoadedClass);ag.attr("src",an.data[ah].src)}position=-ai.addClass(an.currentClass).attr("offsetLeft");if(position>0){position=0}else{if(position<-(am.width()-ai.width())){position=-(am.width()-ai.width())}}am.data("jqt-photo-position").x=position;am.css({webkitTransitionDuration:"0s",webkitTransform:K(an.transform,position)});ak=aj.find(an.titleSelector);ak.html(K(an.galleryName||ak.html(),Number(ah)+1,an.data.length));an.rearrange(ai,al,an);return true}function U(ag,af,ad){var ae=ag.next();L=ag.prev();ae.length&&ae.find(ad.imageSelector).attr("src",ad.data[ae.attr(ad.dataAttribute)].src);L.length&&L.find(ad.imageSelector).attr("src",ad.data[L.attr(ad.dataAttribute)].src);ag.prevAll().slice(ad.maxSlidesBefore).find(ad.imageSelector).filter("[src]").each(function(){var ai=ad.blankImage.clone(true),ah=N(this);ah.parent().addClass(ad.notLoadedClass);ah.replaceWith(ai);G(ah,ai,ad)});ag.nextAll().slice(ad.maxSlidesAfter).find(ad.imageSelector).filter("[src]").each(function(){var ai=ad.blankImage.clone(true),ah=N(this);ah.parent().addClass(ad.notLoadedClass);ah.replaceWith(ai);G(ah,ai,ad)});if(af[0]!==ag[0]){m(af.find(ad.imageSelector))}return true}function L(ag){ag.preventDefault&&ag.preventDefault();var ah=N(this),ae=ah.data("jqt-photo-options"),af=ah.find(ae.slideSelector),ad=Number(af.filter("."+ae.currentClass).attr(ae.dataAttribute));E(ah,ag.target);ah.triggerHandler("jqt-photo-goto",[ad-1,0,ae,af]);return true}function g(ag){ag.preventDefault&&ag.preventDefault();var ah=N(this),ae=ah.data("jqt-photo-options"),af=ah.find(ae.slideSelector),ad=Number(af.filter("."+ae.currentClass).attr(ae.dataAttribute));E(ah,ag.target);ah.triggerHandler("jqt-photo-goto",[ad+1,0,ae,af]);return true}function H(af,ae){if(af&&af.target&&af.target.tagName==="A"){return null}var ad=N(this);ae=ae||ad.data("jqt-photo-options");if(ad.hasClass(ae.toolbarHideClass)){ad.triggerHandler("jqt-photo-show-toolbars",[ae])}else{ad.triggerHandler("jqt-photo-hide-toolbars",[ae])}return null}function W(af,ae){var ad=N(this);ae=ae||ad.data("jqt-photo-options");if(!ad.hasClass(ae.toolbarHideClass)){ad.one("webkitTransitionEnd",function(){ad.addClass(ae.toolbarHideClass).removeClass(ae.toolbarAnimationOutClass)}).addClass(ae.toolbarAnimationOutClass)}return null}function u(af,ae){var ad=N(this);ae=ae||ad.data("jqt-photo-options");if(ad.hasClass(ae.toolbarHideClass)){ad.one("webkitTransitionEnd",function(){ad.removeClass(ae.toolbarAnimationInClass)}).addClass(ae.toolbarAnimationInClass).removeClass(ae.toolbarHideClass)}return null}function d(ag,ai){if(ai&&ai.direction=="in"){var ah=N(this),ae=ah.data("jqt-photo-options"),af=ah.find(ae.slideSelector),ad=Number(af.filter("."+ae.currentClass).attr(ae.dataAttribute)),aj=ad>-1?ad:(ae.defaultIndex>-1?ae.defaultIndex:0);if(af.index("."+ae.currentClass)!=aj){ah.triggerHandler("jqt-photo-goto",[aj,0,ae,af]);ah.triggerHandler("jqt-photo-show-toolbars")}}return null}function i(ag,ai){var ah=N(this),ae=ah.data("jqt-photo-options"),af=ah.find(ae.slideSelector),ad,aj;if(ai&&ai.direction=="out"){ah.triggerHandler("jqt-photo-goto",[ae.defaultIndex,0,ae,af]);ah.triggerHandler("jqt-photo-show-toolbars")}else{ad=Number(af.filter("."+ae.currentClass).attr(ae.dataAttribute));aj=ad>-1?ad:(ae.defaultIndex>-1?ae.defaultIndex:0);ah.triggerHandler("jqt-photo-goto",[aj,0,ae,af])}return null}function Q(ai,ah,ag,ae){var ad=N(ai.template||ag.slideTemplate).attr(ag.dataAttribute,ah),af=ad.find(ag.imageSelector);G(ag.gallery,af.load(ag.loader),ag);if(ae){af.attr("src",ai.src)}if(ai.caption){ad.find(ag.captionSelector).html(ai.caption)}return ad}function m(ad){return ad.each(function(af){var ae=N(this),ag=ae.data("jqt-photo-info"),ah=ag[C];if(ah&&ah.current.scale!=1&&ah.current.scale!=ah.original.scale){ae.css({webkitTransitionDuration:"0s",webkitTransform:K(ag.galleryOptions.imageTransform,ah.current.scale=ah.original.scale,ah.current.left=ah.original.left,ah.current.top=ah.original.top)});ah.current.width=ah.original.width;ah.current.height=ah.original.height}return null})}function E(ad,ae){N(ae).addClass("hover");ad.one("touchend",function(){N(ae).removeClass("hover")});return null}function K(ae){var ad=arguments;return ae.replace(/\{(\d+)\}/g,function(ag,af){return ad[Number(af)+1]+""})}function aa(){C=M(V.orientation)==90?"landscape":"portrait";N("#jqt").removeClass("portrait landscape").addClass(C);setTimeout(function(){var ae=[],ad=function(){var ai=N(this),ag=ai.data("jqt-photo-options"),ah=ai.find(ag.slideSelector),af=ah.find(ag.imageSelector);D(ai,ah,ag);if(ai.hasClass(ag.playingClass)){ae.push(this);ai.triggerHandler("jqt-photo-pause")}m(af.filter("[src]"))};N(x).filter(":visible").each(ad).end().filter(":not(:visible)").each(ad);N(ae).triggerHandler("jqt-photo-play")},10);f={x:V.innerWidth/2,y:V.innerHeight/2};return null}function D(af,ae,ad){table=af.find(ad.tableSelector),position=-ae.filter("."+ad.currentClass).attr("offsetLeft");table.data("jqt-photo-position").x=position;table.css({webkitTransitionDuration:"0s",webkitTransform:K(ad.transform,position)});return null}function B(){var ak=V.innerWidth,ad=V.innerHeight,aj=N(this),am=aj.width(),ai=aj.height(),al,af,ag=ab(ab(am,ak)/am,ab(ai,ad)/ai),ae=am*ag,an=ai*ag,ah=aj.data("jqt-photo-info"),ao=ah.galleryOptions;aj.parent().removeClass(ao.notLoadedClass);if(!aj.is(":visible")){ah.gallery.one("pageAnimationEnd",function(){G(ah.gallery,aj,ah.galleryOptions)})}else{if(ae>ak||an>ad){af=-l(((ae-ak)/ag)/2);al=-l(((an-ad)/ag)/2);aj.css({webkitTransitionDuration:"0s",webkitTransform:K(ao.imageTransform,ag,af,al)}).addClass(ao.presizedClass);ah=ah[C];ah.current.scale=ah.original.scale=ag;ah.current.left=ah.original.left=af;ah.current.top=ah.original.top=al;ah.current.width=ah.original.width=ae*ag;ah.current.height=ah.original.height=an*ag}}return null}N(function(){V.scrollTo(0,0);f={x:V.innerWidth/2,y:V.innerHeight/2};if(P.useDynamicStyleSheet){var ad="",ag=w,af=V.innerHeight>V.innerWidth?"portrait":"landscape",ah=function(ai,aj){ad+=ai+":"+(N.isFunction(aj)?aj(ag.variables):aj)+";"},ae=function(ai,aj){ad+=ai+"{";N.each(aj,ah);ad+="}"};N.each(ag.defaults,ae);N.each(ag[af],ae);N(k.createElement("style")).attr({type:"text/css",media:"screen"}).html(ad).appendTo("head");N(V).one("orientationchange",function(){V.scrollTo(0,0);C=M(V.orientation)==90?"landscape":"portrait";N("#jqt").removeClass("portrait landscape").addClass(C);ad="";N.each(ag[C],ae);N(k.createElement("style")).attr({type:"text/css",media:"screen"}).html(ad).appendTo("head")})}N(V).bind("orientationchange",aa)})})(jQuery);
Note: See TracBrowser for help on using the repository browser.