13 lines
23 KiB
JavaScript
13 lines
23 KiB
JavaScript
/*!
|
|
* fancyBox - jQuery Plugin
|
|
* version: 2.1.5 (Fri, 14 Jun 2013)
|
|
* @requires jQuery v1.6 or later
|
|
*
|
|
* Examples at http://fancyapps.com/fancybox/
|
|
* License: www.fancyapps.com/fancybox/#license
|
|
*
|
|
* Copyright 2012 Janis Skarnelis - janis@fancyapps.com
|
|
*
|
|
*/
|
|
|
|
!function(o,i,H,h){"use strict";var a=H("html"),r=H(o),c=H(i),M=H.fancyboxPopup=function(){M.open.apply(this,arguments)},s=navigator.userAgent.match(/msie/i),l=null,d=i.createTouch!==h,f=function(e){return e&&e.hasOwnProperty&&e instanceof H},u=function(e){return e&&"string"===H.type(e)},A=function(e){return u(e)&&0<e.indexOf("%")},I=function(e,t){var i=parseInt(e,10)||0;return t&&A(e)&&(i=M.getViewport()[t]/100*i),Math.ceil(i)},D=function(e,t){return I(e,t)+"px"};H.extend(M,{version:"2.1.5",defaults:{padding:15,margin:20,width:800,height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,pixelRatio:1,autoSize:!0,autoHeight:!1,autoWidth:!1,autoResize:!0,autoCenter:!d,fitToView:!0,aspectRatio:!1,topRatio:.5,leftRatio:.5,scrolling:"auto",wrapCSS:"",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,playSpeed:3e3,preload:3,modal:!1,loop:!0,ajax:{dataType:"html",headers:{"X-fancyBox":!0}},iframe:{scrolling:"auto",preload:!0},swf:{wmode:"transparent",allowfullscreen:"true",allowscriptaccess:"always"},keys:{next:{13:"left",34:"up",39:"left",40:"up"},prev:{8:"right",33:"down",37:"right",38:"down"},close:[27],play:[32],toggle:[70]},direction:{next:"left",prev:"right"},scrollOutside:!0,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+(s?' allowtransparency="true"':"")+"></iframe>",error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0,openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:H.noop,beforeLoad:H.noop,afterLoad:H.noop,beforeShow:H.noop,afterShow:H.noop,beforeChange:H.noop,beforeClose:H.noop,afterClose:H.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1,isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(d,p){if(d&&(H.isPlainObject(p)||(p={}),!1!==M.close(!0)))return H.isArray(d)||(d=f(d)?H(d).get():[d]),H.each(d,function(e,t){var i,n,o,a,r,s,l,c={};"object"===H.type(t)&&(t.nodeType&&(t=H(t)),f(t)?(c={href:t.data("fancybox-href")||t.attr("href"),title:t.data("fancybox-title")||t.attr("title"),isDom:!0,element:t},H.metadata&&H.extend(!0,c,t.metadata())):c=t),i=p.href||c.href||(u(t)?t:null),n=p.title!==h?p.title:c.title||"",!(a=(o=p.content||c.content)?"html":p.type||c.type)&&c.isDom&&((a=t.data("fancybox-type"))||(a=(r=t.prop("class").match(/fancybox\.(\w+)/))?r[1]:null)),u(i)&&(a||(M.isImage(i)?a="image":M.isSWF(i)?a="swf":"#"===i.charAt(0)?a="inline":u(t)&&(a="html",o=t)),"ajax"===a&&(i=(s=i.split(/\s+/,2)).shift(),l=s.shift())),o||("inline"===a?i?o=H(u(i)?i.replace(/.*(?=#[^\s]+$)/,""):i):c.isDom&&(o=t):"html"===a?o=i:a||i||!c.isDom||(a="inline",o=t)),H.extend(c,{href:i,type:a,content:o,title:n,selector:l}),d[e]=c}),M.opts=H.extend(!0,{},M.defaults,p),p.keys!==h&&(M.opts.keys=!!p.keys&&H.extend({},M.defaults.keys,p.keys)),M.group=d,M._start(M.opts.index)},cancel:function(){var e=M.coming;e&&!1!==M.trigger("onCancel")&&(M.hideLoading(),M.ajaxLoad&&M.ajaxLoad.abort(),M.ajaxLoad=null,M.imgPreload&&(M.imgPreload.onload=M.imgPreload.onerror=null),e.wrap&&e.wrap.stop(!0,!0).trigger("onReset").remove(),M.coming=null,M.current||M._afterZoomOut(e))},close:function(e){M.cancel(),!1!==M.trigger("beforeClose")&&(M.unbindEvents(),M.isActive&&(M.isOpen&&!0!==e?(M.isOpen=M.isOpened=!1,M.isClosing=!0,H(".fancybox-item, .fancybox-nav").remove(),M.wrap.stop(!0,!0).removeClass("fancybox-opened"),M.transitions[M.current.closeMethod]()):(H(".fancybox-wrap").stop(!0).trigger("onReset").remove(),M._afterZoomOut())))},play:function(e){var t=function(){clearTimeout(M.player.timer)},i=function(){t(),M.current&&M.player.isActive&&(M.player.timer=setTimeout(M.next,M.current.playSpeed))},n=function(){t(),c.unbind(".player"),M.player.isActive=!1,M.trigger("onPlayEnd")};!0===e||!M.player.isActive&&!1!==e?M.current&&(M.current.loop||M.current.index<M.group.length-1)&&(M.player.isActive=!0,c.bind({"onCancel.player beforeClose.player":n,"onUpdate.player":i,"beforeLoad.player":t}),i(),M.trigger("onPlayStart")):n()},next:function(e){var t=M.current;t&&(u(e)||(e=t.direction.next),M.jumpto(t.index+1,e,"next"))},prev:function(e){var t=M.current;t&&(u(e)||(e=t.direction.prev),M.jumpto(t.index-1,e,"prev"))},jumpto:function(e,t,i){var n=M.current;n&&(e=I(e),M.direction=t||n.direction[e>=n.index?"next":"prev"],M.router=i||"jumpto",n.loop&&(e<0&&(e=n.group.length+e%n.group.length),e%=n.group.length),n.group[e]!==h&&(M.cancel(),M._start(e)))},reposition:function(e,t){var i,n=M.current,o=n?n.wrap:null;o&&(i=M._getPosition(t),e&&"scroll"===e.type?(delete i.position,o.stop(!0,!0).animate(i,200)):(o.css(i),n.pos=H.extend({},n.dim,i)))},update:function(t){var i=t&&t.type,n=!i||"orientationchange"===i;n&&(clearTimeout(l),l=null),M.isOpen&&!l&&(l=setTimeout(function(){var e=M.current;e&&!M.isClosing&&(M.wrap.removeClass("fancybox-tmp"),(n||"load"===i||"resize"===i&&e.autoResize)&&M._setDimension(),"scroll"===i&&e.canShrink||M.reposition(t),M.trigger("onUpdate"),l=null)},n&&!d?0:300))},toggle:function(e){M.isOpen&&(M.current.fitToView="boolean"===H.type(e)?e:!M.current.fitToView,d&&(M.wrap.removeAttr("style").addClass("fancybox-tmp"),M.trigger("onUpdate")),M.update())},hideLoading:function(){c.unbind(".loading"),H("#fancybox-loading").remove()},showLoading:function(){var e,t;M.hideLoading(),e=H('<div id="fancybox-loading"><div></div></div>').click(M.cancel).appendTo("body"),c.bind("keydown.loading",function(e){27===(e.which||e.keyCode)&&(e.preventDefault(),M.cancel())}),M.defaults.fixed||(t=M.getViewport(),e.css({position:"absolute",top:.5*t.h+t.y,left:.5*t.w+t.x}))},getViewport:function(){var e=M.current&&M.current.locked||!1,t={x:r.scrollLeft(),y:r.scrollTop()};return e?(t.w=e[0].clientWidth,t.h=e[0].clientHeight):(t.w=d&&o.innerWidth?o.innerWidth:r.width(),t.h=d&&o.innerHeight?o.innerHeight:r.height()),t},unbindEvents:function(){M.wrap&&f(M.wrap)&&M.wrap.unbind(".fb"),c.unbind(".fb"),r.unbind(".fb")},bindEvents:function(){var t,l=M.current;l&&(r.bind("orientationchange.fb"+(d?"":" resize.fb")+(l.autoCenter&&!l.locked?" scroll.fb":""),M.update),(t=l.keys)&&c.bind("keydown.fb",function(i){var n=i.which||i.keyCode,e=i.target||i.srcElement;if(27===n&&M.coming)return!1;i.ctrlKey||i.altKey||i.shiftKey||i.metaKey||e&&(e.type||H(e).is("[contenteditable]"))||H.each(t,function(e,t){return 1<l.group.length&&t[n]!==h?(M[e](t[n]),i.preventDefault(),!1):-1<H.inArray(n,t)?(M[e](),i.preventDefault(),!1):void 0})}),H.fn.mousewheel&&l.mouseWheel&&M.wrap.bind("mousewheel.fb",function(e,t,i,n){for(var o,a=e.target||null,r=H(a),s=!1;r.length&&!(s||r.is(".fancybox-skin")||r.is(".fancybox-wrap"));)s=(o=r[0])&&!(o.style.overflow&&"hidden"===o.style.overflow)&&(o.clientWidth&&o.scrollWidth>o.clientWidth||o.clientHeight&&o.scrollHeight>o.clientHeight),r=H(r).parent();0===t||s||1<M.group.length&&!l.canShrink&&(0<n||0<i?M.prev(0<n?"down":"left"):(n<0||i<0)&&M.next(n<0?"up":"right"),e.preventDefault())}))},trigger:function(i,e){var t,n=e||M.coming||M.current;if(n){if(H.isFunction(n[i])&&(t=n[i].apply(n,Array.prototype.slice.call(arguments,1))),!1===t)return!1;n.helpers&&H.each(n.helpers,function(e,t){t&&M.helpers[e]&&H.isFunction(M.helpers[e][i])&&M.helpers[e][i](H.extend(!0,{},M.helpers[e].defaults,t),n)}),c.trigger(i)}},isImage:function(e){return u(e)&&e.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(e){return u(e)&&e.match(/\.(swf)((\?|#).*)?$/i)},_start:function(e){var t,i,n,o,a,r={};if(e=I(e),!(t=M.group[e]||null))return!1;if(o=(r=H.extend(!0,{},M.opts,t)).margin,a=r.padding,"number"===H.type(o)&&(r.margin=[o,o,o,o]),"number"===H.type(a)&&(r.padding=[a,a,a,a]),r.modal&&H.extend(!0,r,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}}),r.autoSize&&(r.autoWidth=r.autoHeight=!0),"auto"===r.width&&(r.autoWidth=!0),"auto"===r.height&&(r.autoHeight=!0),r.group=M.group,r.index=e,M.coming=r,!1!==M.trigger("beforeLoad")){if(n=r.type,i=r.href,!n)return M.coming=null,!(!M.current||!M.router||"jumpto"===M.router)&&(M.current.index=e,M[M.router](M.direction));if(M.isActive=!0,"image"!==n&&"swf"!==n||(r.autoHeight=r.autoWidth=!1,r.scrolling="visible"),"image"===n&&(r.aspectRatio=!0),"iframe"===n&&d&&(r.scrolling="scroll"),r.wrap=H(r.tpl.wrap).addClass("fancybox-"+(d?"mobile":"desktop")+" fancybox-type-"+n+" fancybox-tmp "+r.wrapCSS).appendTo(r.parent||"body"),H.extend(r,{skin:H(".fancybox-skin",r.wrap),outer:H(".fancybox-outer",r.wrap),inner:H(".fancybox-inner",r.wrap)}),H.each(["Top","Right","Bottom","Left"],function(e,t){r.skin.css("padding"+t,D(r.padding[e]))}),M.trigger("onReady"),"inline"===n||"html"===n){if(!r.content||!r.content.length)return M._error("content")}else if(!i)return M._error("href");"image"===n?M._loadImage():"ajax"===n?M._loadAjax():"iframe"===n?M._loadIframe():M._afterLoad()}else M.coming=null},_error:function(e){H.extend(M.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:e,content:M.coming.tpl.error}),M._afterLoad()},_loadImage:function(){var e=M.imgPreload=new Image;e.onload=function(){this.onload=this.onerror=null,M.coming.width=this.width/M.opts.pixelRatio,M.coming.height=this.height/M.opts.pixelRatio,M._afterLoad()},e.onerror=function(){this.onload=this.onerror=null,M._error("image")},e.src=M.coming.href,!0!==e.complete&&M.showLoading()},_loadAjax:function(){var i=M.coming;M.showLoading(),M.ajaxLoad=H.ajax(H.extend({},i.ajax,{url:i.href,error:function(e,t){M.coming&&"abort"!==t?M._error("ajax",e):M.hideLoading()},success:function(e,t){"success"===t&&(i.content=e,M._afterLoad())}}))},_loadIframe:function(){var e=M.coming,t=H(e.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",d?"auto":e.iframe.scrolling).attr("src",e.href);H(e.wrap).bind("onReset",function(){try{H(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(e){}}),e.iframe.preload&&(M.showLoading(),t.one("load",function(){H(this).data("ready",1),d||H(this).bind("load.fb",M.update),H(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show(),M._afterLoad()})),e.content=t.appendTo(e.inner),e.iframe.preload||M._afterLoad()},_preloadImages:function(){var e,t,i=M.group,n=M.current,o=i.length,a=n.preload?Math.min(n.preload,o-1):0;for(t=1;t<=a;t+=1)"image"===(e=i[(n.index+t)%o]).type&&e.href&&((new Image).src=e.href)},_afterLoad:function(){var e,i,t,n,o,a,r=M.coming,s=M.current,l="fancybox-placeholder";if(M.hideLoading(),r&&!1!==M.isActive){if(!1===M.trigger("afterLoad",r,s))return r.wrap.stop(!0).trigger("onReset").remove(),void(M.coming=null);switch(s&&(M.trigger("beforeChange",s),s.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove()),M.unbindEvents(),i=(e=r).content,t=r.type,n=r.scrolling,H.extend(M,{wrap:e.wrap,skin:e.skin,outer:e.outer,inner:e.inner,current:e,previous:s}),o=e.href,t){case"inline":case"ajax":case"html":e.selector?i=H("<div>").html(i).find(e.selector):f(i)&&(i.data(l)||i.data(l,H('<div class="'+l+'"></div>').insertAfter(i).hide()),i=i.show().detach(),e.wrap.bind("onReset",function(){H(this).find(i).length&&i.hide().replaceAll(i.data(l)).data(l,!1)}));break;case"image":i=e.tpl.image.replace("{href}",o);break;case"swf":i='<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+o+'"></param>',a="",H.each(e.swf,function(e,t){i+='<param name="'+e+'" value="'+t+'"></param>',a+=" "+e+'="'+t+'"'}),i+='<embed src="'+o+'" type="application/x-shockwave-flash" width="100%" height="100%"'+a+"></embed></object>"}f(i)&&i.parent().is(e.inner)||e.inner.append(i),M.trigger("beforeShow"),e.inner.css("overflow","yes"===n?"scroll":"no"===n?"hidden":n),M._setDimension(),M.reposition(),M.isOpen=!1,M.coming=null,M.bindEvents(),M.isOpened?s.prevMethod&&M.transitions[s.prevMethod]():H(".fancybox-wrap").not(e.wrap).stop(!0).trigger("onReset").remove(),M.transitions[M.isOpened?e.nextMethod:e.openMethod](),M._preloadImages()}},_setDimension:function(){var e,t,i,n,o,a,r,s,l,c,d,p,h,f,u,g,m,y=M.getViewport(),x=0,v=M.wrap,w=M.skin,b=M.inner,k=M.current,C=k.width,O=k.height,W=k.minWidth,_=k.minHeight,S=k.maxWidth,T=k.maxHeight,L=k.scrolling,E=k.scrollOutside?k.scrollbarWidth:0,P=k.margin,R=I(P[1]+P[3]),j=I(P[0]+P[2]);if(v.add(w).add(b).width("auto").height("auto").removeClass("fancybox-tmp"),o=R+(i=I(w.outerWidth(!0)-w.width())),a=j+(n=I(w.outerHeight(!0)-w.height())),r=A(C)?(y.w-o)*I(C)/100:C,s=A(O)?(y.h-a)*I(O)/100:O,"iframe"===k.type){if(g=k.content,k.autoHeight&&1===g.data("ready"))try{g[0].contentWindow.document.location&&(b.width(r).height(9999),m=g.contents().find("body"),E&&m.css("overflow-x","hidden"),s=m.outerHeight(!0))}catch(e){}}else(k.autoWidth||k.autoHeight)&&(b.addClass("fancybox-tmp"),k.autoWidth||b.width(r),k.autoHeight||b.height(s),k.autoWidth&&(r=b.width()),k.autoHeight&&(s=b.height()),b.removeClass("fancybox-tmp"));if(C=I(r),O=I(s),d=r/s,W=I(A(W)?I(W,"w")-o:W),S=I(A(S)?I(S,"w")-o:S),_=I(A(_)?I(_,"h")-a:_),l=S,c=T=I(A(T)?I(T,"h")-a:T),k.fitToView&&(S=Math.min(y.w-o,S),T=Math.min(y.h-a,T)),f=y.w-R,u=y.h-j,k.aspectRatio?(S<C&&(O=I((C=S)/d)),T<O&&(C=I((O=T)*d)),C<W&&(O=I((C=W)/d)),O<_&&(C=I((O=_)*d))):(C=Math.max(W,Math.min(C,S)),k.autoHeight&&"iframe"!==k.type&&(b.width(C),O=b.height()),O=Math.max(_,Math.min(O,T))),k.fitToView)if(b.width(C).height(O),v.width(C+i),p=v.width(),h=v.height(),k.aspectRatio)for(;(f<p||u<h)&&W<C&&_<O&&!(19<x++);)O=Math.max(_,Math.min(T,O-10)),(C=I(O*d))<W&&(O=I((C=W)/d)),S<C&&(O=I((C=S)/d)),b.width(C).height(O),v.width(C+i),p=v.width(),h=v.height();else C=Math.max(W,Math.min(C,C-(p-f))),O=Math.max(_,Math.min(O,O-(h-u)));E&&"auto"===L&&O<s&&C+i+E<f&&(C+=E),b.width(C).height(O),v.width(C+i),p=v.width(),h=v.height(),e=(f<p||u<h)&&W<C&&_<O,t=k.aspectRatio?C<l&&O<c&&C<r&&O<s:(C<l||O<c)&&(C<r||O<s),H.extend(k,{dim:{width:D(p),height:D(h)},origWidth:r,origHeight:s,canShrink:e,canExpand:t,wPadding:i,hPadding:n,wrapSpace:h-w.outerHeight(!0),skinSpace:w.height()-O}),!g&&k.autoHeight&&_<O&&O<T&&!t&&b.height("auto")},_getPosition:function(e){var t=M.current,i=M.getViewport(),n=t.margin,o=M.wrap.width()+n[1]+n[3],a=M.wrap.height()+n[0]+n[2],r={position:"absolute",top:n[0],left:n[3]};return t.autoCenter&&t.fixed&&!e&&a<=i.h&&o<=i.w?r.position="fixed":t.locked||(r.top+=i.y,r.left+=i.x),r.top=D(Math.max(r.top,r.top+(i.h-a)*t.topRatio)),r.left=D(Math.max(r.left,r.left+(i.w-o)*t.leftRatio)),r},_afterZoomIn:function(){var t=M.current;t&&(M.isOpen=M.isOpened=!0,M.wrap.css("overflow","visible").addClass("fancybox-opened"),M.update(),(t.closeClick||t.nextClick&&1<M.group.length)&&M.inner.css("cursor","pointer").bind("click.fb",function(e){H(e.target).is("a")||H(e.target).parent().is("a")||(e.preventDefault(),M[t.closeClick?"close":"next"]())}),t.closeBtn&&H(t.tpl.closeBtn).appendTo(M.skin).bind("click.fb",function(e){e.preventDefault(),M.close()}),t.arrows&&1<M.group.length&&((t.loop||0<t.index)&&H(t.tpl.prev).appendTo(M.outer).bind("click.fb",M.prev),(t.loop||t.index<M.group.length-1)&&H(t.tpl.next).appendTo(M.outer).bind("click.fb",M.next)),M.trigger("afterShow"),t.loop||t.index!==t.group.length-1?M.opts.autoPlay&&!M.player.isActive&&(M.opts.autoPlay=!1,M.play()):M.play(!1))},_afterZoomOut:function(e){e=e||M.current,H(".fancybox-wrap").trigger("onReset").remove(),H.extend(M,{group:{},opts:{},router:!1,current:null,isActive:!1,isOpened:!1,isOpen:!1,isClosing:!1,wrap:null,skin:null,outer:null,inner:null}),M.trigger("afterClose",e)}}),M.transitions={getOrigPosition:function(){var e=M.current,t=e.element,i=e.orig,n={},o=50,a=50,r=e.hPadding,s=e.wPadding,l=M.getViewport();return!i&&e.isDom&&t.is(":visible")&&((i=t.find("img:first")).length||(i=t)),f(i)?(n=i.offset(),i.is("img")&&(o=i.outerWidth(),a=i.outerHeight())):(n.top=l.y+(l.h-a)*e.topRatio,n.left=l.x+(l.w-o)*e.leftRatio),("fixed"===M.wrap.css("position")||e.locked)&&(n.top-=l.y,n.left-=l.x),n={top:D(n.top-r*e.topRatio),left:D(n.left-s*e.leftRatio),width:D(o+s),height:D(a+r)}},step:function(e,t){var i,n,o=t.prop,a=M.current,r=a.wrapSpace,s=a.skinSpace;"width"!==o&&"height"!==o||(i=t.end===t.start?1:(e-t.start)/(t.end-t.start),M.isClosing&&(i=1-i),n=e-("width"===o?a.wPadding:a.hPadding),M.skin[o](I("width"===o?n:n-r*i)),M.inner[o](I("width"===o?n:n-r*i-s*i)))},zoomIn:function(){var e=M.current,t=e.pos,i=e.openEffect,n="elastic"===i,o=H.extend({opacity:1},t);delete o.position,n?(t=this.getOrigPosition(),e.openOpacity&&(t.opacity=.1)):"fade"===i&&(t.opacity=.1),M.wrap.css(t).animate(o,{duration:"none"===i?0:e.openSpeed,easing:e.openEasing,step:n?this.step:null,complete:M._afterZoomIn})},zoomOut:function(){var e=M.current,t=e.closeEffect,i="elastic"===t,n={opacity:.1};i&&(n=this.getOrigPosition(),e.closeOpacity&&(n.opacity=.1)),M.wrap.animate(n,{duration:"none"===t?0:e.closeSpeed,easing:e.closeEasing,step:i?this.step:null,complete:M._afterZoomOut})},changeIn:function(){var e,t=M.current,i=t.nextEffect,n=t.pos,o={opacity:1},a=M.direction;n.opacity=.1,"elastic"===i&&(e="down"===a||"up"===a?"top":"left","down"===a||"right"===a?(n[e]=D(I(n[e])-200),o[e]="+=200px"):(n[e]=D(I(n[e])+200),o[e]="-=200px")),"none"===i?M._afterZoomIn():M.wrap.css(n).animate(o,{duration:t.nextSpeed,easing:t.nextEasing,complete:M._afterZoomIn})},changeOut:function(){var e=M.previous,t=e.prevEffect,i={opacity:.1},n=M.direction;"elastic"===t&&(i["down"===n||"up"===n?"top":"left"]=("up"===n||"left"===n?"-":"+")+"=200px"),e.wrap.animate(i,{duration:"none"===t?0:e.prevSpeed,easing:e.prevEasing,complete:function(){H(this).trigger("onReset").remove()}})}},M.helpers.overlay={defaults:{closeClick:!0,speedOut:200,showEarly:!0,css:{},locked:!d,fixed:!0},overlay:null,fixed:!1,el:H("html"),create:function(e){e=H.extend({},this.defaults,e),this.overlay&&this.close(),this.overlay=H('<div class="fancybox-overlay"></div>').appendTo(M.coming?M.coming.parent:e.parent),this.fixed=!1,e.fixed&&M.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(e){var t=this;e=H.extend({},this.defaults,e),this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(e),this.fixed||(r.bind("resize.overlay",H.proxy(this.update,this)),this.update()),e.closeClick&&this.overlay.bind("click.overlay",function(e){if(H(e.target).hasClass("fancybox-overlay"))return M.isActive?M.close():t.close(),!1}),this.overlay.css(e.css).show()},close:function(){var e,t;r.unbind("resize.overlay"),this.el.hasClass("fancybox-lock")&&(H(".fancybox-margin").removeClass("fancybox-margin"),e=r.scrollTop(),t=r.scrollLeft(),this.el.removeClass("fancybox-lock"),r.scrollTop(e).scrollLeft(t)),H(".fancybox-overlay").remove().hide(),H.extend(this,{overlay:null,fixed:!1})},update:function(){var e,t="100%";this.overlay.width(t).height("100%"),s?(e=Math.max(i.documentElement.offsetWidth,i.body.offsetWidth),c.width()>e&&(t=c.width())):c.width()>r.width()&&(t=c.width()),this.overlay.width(t).height(c.height())},onReady:function(e,t){var i=this.overlay;H(".fancybox-overlay").stop(!0,!0),i||this.create(e),e.locked&&this.fixed&&t.fixed&&(i||(this.margin=c.height()>r.height()&&H("html").css("margin-right").replace("px","")),t.locked=this.overlay.append(t.wrap),t.fixed=!1),!0===e.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(e,t){var i,n;t.locked&&(!1!==this.margin&&(H("*").filter(function(){return"fixed"===H(this).css("position")&&!H(this).hasClass("fancybox-overlay")&&!H(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin")),i=r.scrollTop(),n=r.scrollLeft(),this.el.addClass("fancybox-lock"),r.scrollTop(i).scrollLeft(n)),this.open(e)},onUpdate:function(){this.fixed||this.update()},afterClose:function(e){this.overlay&&!M.coming&&this.overlay.fadeOut(e.speedOut,H.proxy(this.close,this))}},M.helpers.title={defaults:{type:"float",position:"bottom"},beforeShow:function(e){var t,i,n=M.current,o=n.title,a=e.type;if(H.isFunction(o)&&(o=o.call(n.element,n)),u(o)&&""!==H.trim(o)){switch(t=H('<div class="fancybox-title fancybox-title-'+a+'-wrap">'+o+"</div>"),a){case"inside":i=M.skin;break;case"outside":i=M.wrap;break;case"over":i=M.inner;break;default:i=M.skin,t.appendTo("body"),s&&t.width(t.width()),t.wrapInner('<span class="child"></span>'),M.current.margin[2]+=Math.abs(I(t.css("margin-bottom")))}t["top"===e.position?"prependTo":"appendTo"](i)}}},H.fn.fancybox=function(a){var r,s=H(this),l=this.selector||"",e=function(e){var t,i,n=H(this).blur(),o=r;e.ctrlKey||e.altKey||e.shiftKey||e.metaKey||n.is(".fancybox-wrap")||(t=a.groupAttr||"data-fancybox-group",(i=n.attr(t))||(t="rel",i=n.get(0)[t]),i&&""!==i&&"nofollow"!==i&&(o=(n=(n=l.length?H(l):s).filter("["+t+'="'+i+'"]')).index(this)),a.index=o,!1!==M.open(n,a)&&e.preventDefault())};return r=(a=a||{}).index||0,l&&!1!==a.live?c.undelegate(l,"click.fb-start").delegate(l+":not('.fancybox-item, .fancybox-nav')","click.fb-start",e):s.unbind("click.fb-start").bind("click.fb-start",e),this.filter("[data-fancybox-start=1]").trigger("click"),this},c.ready(function(){var e,t,i,n;H.scrollbarWidth===h&&(H.scrollbarWidth=function(){var e=H('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),t=e.children(),i=t.innerWidth()-t.height(99).innerWidth();return e.remove(),i}),H.support.fixedPosition===h&&(H.support.fixedPosition=(i=H('<div style="position:fixed;top:20px;"></div>').appendTo("body"),n=20===i[0].offsetTop||15===i[0].offsetTop,i.remove(),n)),H.extend(M.defaults,{scrollbarWidth:H.scrollbarWidth(),fixed:H.support.fixedPosition,parent:H("body")}),e=H(o).width(),a.addClass("fancybox-lock-test"),t=H(o).width(),a.removeClass("fancybox-lock-test"),H("<style type='text/css'>.fancybox-margin{margin-right:"+(t-e)+"px;}</style>").appendTo("head")})}(window,document,jQuery); |