unforassets 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
 - data/CHANGELOG.md +3 -0
 - data/LICENSE.md +21 -0
 - data/README.md +41 -0
 - data/lib/unforassets.rb +8 -0
 - data/lib/unforassets/engine.rb +4 -0
 - data/lib/unforassets/version.rb +3 -0
 - data/vendor/assets/javascripts/big.js +1 -0
 - data/vendor/assets/javascripts/fancybox.js +12 -0
 - data/vendor/assets/javascripts/jquery.blockui.js +620 -0
 - data/vendor/assets/javascripts/tooltipster-plugin-scrollable-tip.js +187 -0
 - data/vendor/assets/javascripts/tooltipster-plugin-svg.js +171 -0
 - data/vendor/assets/javascripts/tooltipster.bundle.js +4260 -0
 - data/vendor/assets/javascripts/vex.combined.js +1621 -0
 - data/vendor/assets/stylesheets/fancybox.css +1 -0
 - data/vendor/assets/stylesheets/tooltipster-sidetip-borderless.min.css +1 -0
 - data/vendor/assets/stylesheets/tooltipster-sidetip-light.min.css +1 -0
 - data/vendor/assets/stylesheets/tooltipster-sidetip-noir.min.css +1 -0
 - data/vendor/assets/stylesheets/tooltipster-sidetip-punk.min.css +1 -0
 - data/vendor/assets/stylesheets/tooltipster-sidetip-shadow.min.css +1 -0
 - data/vendor/assets/stylesheets/tooltipster.bundle.css +388 -0
 - data/vendor/assets/stylesheets/vex-theme-bottom-right-corner.css +437 -0
 - data/vendor/assets/stylesheets/vex-theme-default.css +368 -0
 - data/vendor/assets/stylesheets/vex-theme-flat-attack.css +325 -0
 - data/vendor/assets/stylesheets/vex-theme-os.css +373 -0
 - data/vendor/assets/stylesheets/vex-theme-plain.css +173 -0
 - data/vendor/assets/stylesheets/vex-theme-top.css +432 -0
 - data/vendor/assets/stylesheets/vex-theme-wireframe.css +174 -0
 - data/vendor/assets/stylesheets/vex.css +231 -0
 - metadata +100 -0
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA1:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: f1e7bda44cb3ab0590e47273f0cc3dc4b914e35e
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 64771de79a3c3ea6703e178f170a7eb3f916d58e
         
     | 
| 
      
 5 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 2db5b206ea9915417800031ccc93101d01484931e04647db5c42f0cebffb3f245e00d545e3c41b9004de8c43861409a30fa5efbcb7c0d85bf08a7ac9e2b8c37b
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 01bbb43de5ce62389fa71de8a8a7839bb22519a52abf488aee5737f1c030ff2051b2928e6e8640747772548863f92f40bb6452d7205f6cf7faf61c6f197043e4
         
     | 
    
        data/CHANGELOG.md
    ADDED
    
    
    
        data/LICENSE.md
    ADDED
    
    | 
         @@ -0,0 +1,21 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            The MIT License (MIT)
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Copyright (c) 2017 unformatt
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            Permission is hereby granted, free of charge, to any person obtaining a copy
         
     | 
| 
      
 6 
     | 
    
         
            +
            of this software and associated documentation files (the "Software"), to deal
         
     | 
| 
      
 7 
     | 
    
         
            +
            in the Software without restriction, including without limitation the rights
         
     | 
| 
      
 8 
     | 
    
         
            +
            to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
         
     | 
| 
      
 9 
     | 
    
         
            +
            copies of the Software, and to permit persons to whom the Software is
         
     | 
| 
      
 10 
     | 
    
         
            +
            furnished to do so, subject to the following conditions:
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            The above copyright notice and this permission notice shall be included in
         
     | 
| 
      
 13 
     | 
    
         
            +
            all copies or substantial portions of the Software.
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
         
     | 
| 
      
 16 
     | 
    
         
            +
            IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
         
     | 
| 
      
 17 
     | 
    
         
            +
            FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
         
     | 
| 
      
 18 
     | 
    
         
            +
            AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
         
     | 
| 
      
 19 
     | 
    
         
            +
            LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
         
     | 
| 
      
 20 
     | 
    
         
            +
            OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
         
     | 
| 
      
 21 
     | 
    
         
            +
            THE SOFTWARE.
         
     | 
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,41 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Unforassets
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/unforassets`. To experiment with that code, run `bin/console` for an interactive prompt.
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            TODO: Delete this and the text above, and describe your gem
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            ## Installation
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            Add this line to your application's Gemfile:
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 12 
     | 
    
         
            +
            gem 'unforassets'
         
     | 
| 
      
 13 
     | 
    
         
            +
            ```
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            And then execute:
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                $ bundle
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            Or install it yourself as:
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                $ gem install unforassets
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            ## Usage
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            TODO: Write usage instructions here
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            ## Development
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            ## Contributing
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/unforassets. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
            ## License
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
            The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
    
        data/lib/unforassets.rb
    ADDED
    
    
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            /* big.js v3.1.3 https://github.com/MikeMcl/big.js/LICENCE */(function(global){"use strict";var DP=20,RM=1,MAX_DP=1e6,MAX_POWER=1e6,E_NEG=-7,E_POS=21,P={},isValid=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Big;function bigFactory(){function Big(n){var x=this;if(!(x instanceof Big)){return n===void 0?bigFactory():new Big(n)}if(n instanceof Big){x.s=n.s;x.e=n.e;x.c=n.c.slice()}else{parse(x,n)}x.constructor=Big}Big.prototype=P;Big.DP=DP;Big.RM=RM;Big.E_NEG=E_NEG;Big.E_POS=E_POS;return Big}function format(x,dp,toE){var Big=x.constructor,i=dp-(x=new Big(x)).e,c=x.c;if(c.length>++dp){rnd(x,i,Big.RM)}if(!c[0]){++i}else if(toE){i=dp}else{c=x.c;i=x.e+i+1}for(;c.length<i;c.push(0)){}i=x.e;return toE===1||toE&&(dp<=i||i<=Big.E_NEG)?(x.s<0&&c[0]?"-":"")+(c.length>1?c[0]+"."+c.join("").slice(1):c[0])+(i<0?"e":"e+")+i:x.toString()}function parse(x,n){var e,i,nL;if(n===0&&1/n<0){n="-0"}else if(!isValid.test(n+="")){throwErr(NaN)}x.s=n.charAt(0)=="-"?(n=n.slice(1),-1):1;if((e=n.indexOf("."))>-1){n=n.replace(".","")}if((i=n.search(/e/i))>0){if(e<0){e=i}e+=+n.slice(i+1);n=n.substring(0,i)}else if(e<0){e=n.length}for(i=0;n.charAt(i)=="0";i++){}if(i==(nL=n.length)){x.c=[x.e=0]}else{for(;n.charAt(--nL)=="0";){}x.e=e-i-1;x.c=[];for(e=0;i<=nL;x.c[e++]=+n.charAt(i++)){}}return x}function rnd(x,dp,rm,more){var u,xc=x.c,i=x.e+dp+1;if(rm===1){more=xc[i]>=5}else if(rm===2){more=xc[i]>5||xc[i]==5&&(more||i<0||xc[i+1]!==u||xc[i-1]&1)}else if(rm===3){more=more||xc[i]!==u||i<0}else{more=false;if(rm!==0){throwErr("!Big.RM!")}}if(i<1||!xc[0]){if(more){x.e=-dp;x.c=[1]}else{x.c=[x.e=0]}}else{xc.length=i--;if(more){for(;++xc[i]>9;){xc[i]=0;if(!i--){++x.e;xc.unshift(1)}}}for(i=xc.length;!xc[--i];xc.pop()){}}return x}function throwErr(message){var err=new Error(message);err.name="BigError";throw err}P.abs=function(){var x=new this.constructor(this);x.s=1;return x};P.cmp=function(y){var xNeg,x=this,xc=x.c,yc=(y=new x.constructor(y)).c,i=x.s,j=y.s,k=x.e,l=y.e;if(!xc[0]||!yc[0]){return!xc[0]?!yc[0]?0:-j:i}if(i!=j){return i}xNeg=i<0;if(k!=l){return k>l^xNeg?1:-1}i=-1;j=(k=xc.length)<(l=yc.length)?k:l;for(;++i<j;){if(xc[i]!=yc[i]){return xc[i]>yc[i]^xNeg?1:-1}}return k==l?0:k>l^xNeg?1:-1};P.div=function(y){var x=this,Big=x.constructor,dvd=x.c,dvs=(y=new Big(y)).c,s=x.s==y.s?1:-1,dp=Big.DP;if(dp!==~~dp||dp<0||dp>MAX_DP){throwErr("!Big.DP!")}if(!dvd[0]||!dvs[0]){if(dvd[0]==dvs[0]){throwErr(NaN)}if(!dvs[0]){throwErr(s/0)}return new Big(s*0)}var dvsL,dvsT,next,cmp,remI,u,dvsZ=dvs.slice(),dvdI=dvsL=dvs.length,dvdL=dvd.length,rem=dvd.slice(0,dvsL),remL=rem.length,q=y,qc=q.c=[],qi=0,digits=dp+(q.e=x.e-y.e)+1;q.s=s;s=digits<0?0:digits;dvsZ.unshift(0);for(;remL++<dvsL;rem.push(0)){}do{for(next=0;next<10;next++){if(dvsL!=(remL=rem.length)){cmp=dvsL>remL?1:-1}else{for(remI=-1,cmp=0;++remI<dvsL;){if(dvs[remI]!=rem[remI]){cmp=dvs[remI]>rem[remI]?1:-1;break}}}if(cmp<0){for(dvsT=remL==dvsL?dvs:dvsZ;remL;){if(rem[--remL]<dvsT[remL]){remI=remL;for(;remI&&!rem[--remI];rem[remI]=9){}--rem[remI];rem[remL]+=10}rem[remL]-=dvsT[remL]}for(;!rem[0];rem.shift()){}}else{break}}qc[qi++]=cmp?next:++next;if(rem[0]&&cmp){rem[remL]=dvd[dvdI]||0}else{rem=[dvd[dvdI]]}}while((dvdI++<dvdL||rem[0]!==u)&&s--);if(!qc[0]&&qi!=1){qc.shift();q.e--}if(qi>digits){rnd(q,dp,Big.RM,rem[0]!==u)}return q};P.eq=function(y){return!this.cmp(y)};P.gt=function(y){return this.cmp(y)>0};P.gte=function(y){return this.cmp(y)>-1};P.lt=function(y){return this.cmp(y)<0};P.lte=function(y){return this.cmp(y)<1};P.sub=P.minus=function(y){var i,j,t,xLTy,x=this,Big=x.constructor,a=x.s,b=(y=new Big(y)).s;if(a!=b){y.s=-b;return x.plus(y)}var xc=x.c.slice(),xe=x.e,yc=y.c,ye=y.e;if(!xc[0]||!yc[0]){return yc[0]?(y.s=-b,y):new Big(xc[0]?x:0)}if(a=xe-ye){if(xLTy=a<0){a=-a;t=xc}else{ye=xe;t=yc}t.reverse();for(b=a;b--;t.push(0)){}t.reverse()}else{j=((xLTy=xc.length<yc.length)?xc:yc).length;for(a=b=0;b<j;b++){if(xc[b]!=yc[b]){xLTy=xc[b]<yc[b];break}}}if(xLTy){t=xc;xc=yc;yc=t;y.s=-y.s}if((b=(j=yc.length)-(i=xc.length))>0){for(;b--;xc[i++]=0){}}for(b=i;j>a;){if(xc[--j]<yc[j]){for(i=j;i&&!xc[--i];xc[i]=9){}--xc[i];xc[j]+=10}xc[j]-=yc[j]}for(;xc[--b]===0;xc.pop()){}for(;xc[0]===0;){xc.shift();--ye}if(!xc[0]){y.s=1;xc=[ye=0]}y.c=xc;y.e=ye;return y};P.mod=function(y){var yGTx,x=this,Big=x.constructor,a=x.s,b=(y=new Big(y)).s;if(!y.c[0]){throwErr(NaN)}x.s=y.s=1;yGTx=y.cmp(x)==1;x.s=a;y.s=b;if(yGTx){return new Big(x)}a=Big.DP;b=Big.RM;Big.DP=Big.RM=0;x=x.div(y);Big.DP=a;Big.RM=b;return this.minus(x.times(y))};P.add=P.plus=function(y){var t,x=this,Big=x.constructor,a=x.s,b=(y=new Big(y)).s;if(a!=b){y.s=-b;return x.minus(y)}var xe=x.e,xc=x.c,ye=y.e,yc=y.c;if(!xc[0]||!yc[0]){return yc[0]?y:new Big(xc[0]?x:a*0)}xc=xc.slice();if(a=xe-ye){if(a>0){ye=xe;t=yc}else{a=-a;t=xc}t.reverse();for(;a--;t.push(0)){}t.reverse()}if(xc.length-yc.length<0){t=yc;yc=xc;xc=t}a=yc.length;for(b=0;a;){b=(xc[--a]=xc[a]+yc[a]+b)/10|0;xc[a]%=10}if(b){xc.unshift(b);++ye}for(a=xc.length;xc[--a]===0;xc.pop()){}y.c=xc;y.e=ye;return y};P.pow=function(n){var x=this,one=new x.constructor(1),y=one,isNeg=n<0;if(n!==~~n||n<-MAX_POWER||n>MAX_POWER){throwErr("!pow!")}n=isNeg?-n:n;for(;;){if(n&1){y=y.times(x)}n>>=1;if(!n){break}x=x.times(x)}return isNeg?one.div(y):y};P.round=function(dp,rm){var x=this,Big=x.constructor;if(dp==null){dp=0}else if(dp!==~~dp||dp<0||dp>MAX_DP){throwErr("!round!")}rnd(x=new Big(x),dp,rm==null?Big.RM:rm);return x};P.sqrt=function(){var estimate,r,approx,x=this,Big=x.constructor,xc=x.c,i=x.s,e=x.e,half=new Big("0.5");if(!xc[0]){return new Big(x)}if(i<0){throwErr(NaN)}i=Math.sqrt(x.toString());if(i===0||i===1/0){estimate=xc.join("");if(!(estimate.length+e&1)){estimate+="0"}r=new Big(Math.sqrt(estimate).toString());r.e=((e+1)/2|0)-(e<0||e&1)}else{r=new Big(i.toString())}i=r.e+(Big.DP+=4);do{approx=r;r=half.times(approx.plus(x.div(approx)))}while(approx.c.slice(0,i).join("")!==r.c.slice(0,i).join(""));rnd(r,Big.DP-=4,Big.RM);return r};P.mul=P.times=function(y){var c,x=this,Big=x.constructor,xc=x.c,yc=(y=new Big(y)).c,a=xc.length,b=yc.length,i=x.e,j=y.e;y.s=x.s==y.s?1:-1;if(!xc[0]||!yc[0]){return new Big(y.s*0)}y.e=i+j;if(a<b){c=xc;xc=yc;yc=c;j=a;a=b;b=j}for(c=new Array(j=a+b);j--;c[j]=0){}for(i=b;i--;){b=0;for(j=a+i;j>i;){b=c[j]+yc[i]*xc[j-i-1]+b;c[j--]=b%10;b=b/10|0}c[j]=(c[j]+b)%10}if(b){++y.e}if(!c[0]){c.shift()}for(i=c.length;!c[--i];c.pop()){}y.c=c;return y};P.toString=P.valueOf=P.toJSON=function(){var x=this,Big=x.constructor,e=x.e,str=x.c.join(""),strL=str.length;if(e<=Big.E_NEG||e>=Big.E_POS){str=str.charAt(0)+(strL>1?"."+str.slice(1):"")+(e<0?"e":"e+")+e}else if(e<0){for(;++e;str="0"+str){}str="0."+str}else if(e>0){if(++e>strL){for(e-=strL;e--;str+="0"){}}else if(e<strL){str=str.slice(0,e)+"."+str.slice(e)}}else if(strL>1){str=str.charAt(0)+"."+str.slice(1)}return x.s<0&&x.c[0]?"-"+str:str};P.toExponential=function(dp){if(dp==null){dp=this.c.length-1}else if(dp!==~~dp||dp<0||dp>MAX_DP){throwErr("!toExp!")}return format(this,dp,1)};P.toFixed=function(dp){var str,x=this,Big=x.constructor,neg=Big.E_NEG,pos=Big.E_POS;Big.E_NEG=-(Big.E_POS=1/0);if(dp==null){str=x.toString()}else if(dp===~~dp&&dp>=0&&dp<=MAX_DP){str=format(x,x.e+dp);if(x.s<0&&x.c[0]&&str.indexOf("-")<0){str="-"+str}}Big.E_NEG=neg;Big.E_POS=pos;if(!str){throwErr("!toFix!")}return str};P.toPrecision=function(sd){if(sd==null){return this.toString()}else if(sd!==~~sd||sd<1||sd>MAX_DP){throwErr("!toPre!")}return format(this,sd-1,2)};Big=bigFactory();if(typeof define==="function"&&define.amd){define(function(){return Big})}else if(typeof module!=="undefined"&&module.exports){module.exports=Big}else{global.Big=Big}})(this);
         
     | 
| 
         @@ -0,0 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            // ==================================================
         
     | 
| 
      
 2 
     | 
    
         
            +
            // fancyBox v3.0.47
         
     | 
| 
      
 3 
     | 
    
         
            +
            //
         
     | 
| 
      
 4 
     | 
    
         
            +
            // Licensed GPLv3 for open source use
         
     | 
| 
      
 5 
     | 
    
         
            +
            // or fancyBox Commercial License for commercial use
         
     | 
| 
      
 6 
     | 
    
         
            +
            //
         
     | 
| 
      
 7 
     | 
    
         
            +
            // http://fancyapps.com/fancybox/
         
     | 
| 
      
 8 
     | 
    
         
            +
            // Copyright 2017 fancyApps
         
     | 
| 
      
 9 
     | 
    
         
            +
            //
         
     | 
| 
      
 10 
     | 
    
         
            +
            // ==================================================
         
     | 
| 
      
 11 
     | 
    
         
            +
            !function(t,e,n,o){"use strict";function s(t){var e=t.currentTarget,o=t.data?t.data.options:{},s=t.data?t.data.items:[],i="",a=0;t.preventDefault(),t.stopPropagation(),n(e).attr("data-fancybox")&&(i=n(e).data("fancybox")),i?(s=s.length?s.filter('[data-fancybox="'+i+'"]'):n("[data-fancybox="+i+"]"),a=s.index(e)):s=[e],n.fancybox.open(s,o,a)}if(!n)return o;var i={speed:330,loop:!0,opacity:"auto",margin:[44,0],gutter:30,infobar:!0,buttons:!0,slideShow:!0,fullScreen:!0,thumbs:!0,closeBtn:!0,smallBtn:"auto",image:{preload:"auto",protect:!1},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency="true" src=""></iframe>',preload:!0,scrolling:"no",css:{}},baseClass:"",slideClass:"",baseTpl:'<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-controls"><div class="fancybox-infobar"><button data-fancybox-previous class="fancybox-button fancybox-button--left" title="Previous"></button><div class="fancybox-infobar__body"><span class="js-fancybox-index"></span> / <span class="js-fancybox-count"></span></div><button data-fancybox-next class="fancybox-button fancybox-button--right" title="Next"></button></div><div class="fancybox-buttons"><button data-fancybox-close class="fancybox-button fancybox-button--close" title="Close (Esc)"></button></div></div><div class="fancybox-slider-wrap"><div class="fancybox-slider"></div></div><div class="fancybox-caption-wrap"><div class="fancybox-caption"></div></div></div>',spinnerTpl:'<div class="fancybox-loading"></div>',errorTpl:'<div class="fancybox-error"><p>The requested content cannot be loaded. <br /> Please try again later.<p></div>',closeTpl:'<button data-fancybox-close class="fancybox-close-small"></button>',parentEl:"body",touch:!0,keyboard:!0,focus:!0,closeClickOutside:!0,beforeLoad:n.noop,afterLoad:n.noop,beforeMove:n.noop,afterMove:n.noop,onComplete:n.noop,onInit:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop},a=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},u=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||function(e){t.setTimeout(e,1e3/60)}}(),d=function(o){var s;return"function"==typeof n&&o instanceof n&&(o=o[0]),s=o.getBoundingClientRect(),s.bottom>0&&s.right>0&&s.left<(t.innerWidth||e.documentElement.clientWidth)&&s.top<(t.innerHeight||e.documentElement.clientHeight)},p=function(t,o,s){var a=this;a.opts=n.extend(!0,{index:s},i,o||{}),a.id=a.opts.id||++c,a.group=[],a.currIndex=parseInt(a.opts.index,10)||0,a.prevIndex=null,a.prevPos=null,a.currPos=0,a.firstRun=null,a.createGroup(t),a.group.length&&(a.$lastFocus=n(e.activeElement).blur(),a.slides={},a.init(t))};n.extend(p.prototype,{init:function(){var t,e,o=this,s=!1;o.scrollTop=r.scrollTop(),o.scrollLeft=r.scrollLeft(),n.fancybox.getInstance()||(t=n("body").width(),n("html").addClass("fancybox-enabled"),n.fancybox.isTouch?(n.each(o.group,function(t,e){if("image"!==e.type&&"iframe"!==e.type)return s=!0,!1}),s&&n("body").css({position:"fixed",width:t,top:o.scrollTop*-1})):(t=n("body").width()-t,t>1&&n('<style id="fancybox-noscroll" type="text/css">').html(".compensate-for-scrollbar, .fancybox-enabled body { margin-right: "+t+"px; }").appendTo("head"))),e=n(o.opts.baseTpl).attr("id","fancybox-container-"+o.id).data("FancyBox",o).addClass(o.opts.baseClass).hide().prependTo(o.opts.parentEl),o.$refs={container:e,bg:e.find(".fancybox-bg"),controls:e.find(".fancybox-controls"),buttons:e.find(".fancybox-buttons"),slider_wrap:e.find(".fancybox-slider-wrap"),slider:e.find(".fancybox-slider"),caption:e.find(".fancybox-caption")},o.trigger("onInit"),o.activate(),o.current||o.jumpTo(o.currIndex)},createGroup:function(t){var e=this,s=n.makeArray(t);n.each(s,function(t,s){var i,a,r,c,l={},u={},d=[];n.isPlainObject(s)?(l=s,u=s.opts||{}):"object"===n.type(s)&&n(s).length?(i=n(s),d=i.data(),u="options"in d?d.options:{},u="object"===n.type(u)?u:{},l.type="type"in d?d.type:u.type,l.src="src"in d?d.src:u.src||i.attr("href"),u.width="width"in d?d.width:u.width,u.height="height"in d?d.height:u.height,u.thumb="thumb"in d?d.thumb:u.thumb,u.selector="selector"in d?d.selector:u.selector,"srcset"in d&&(u.image={srcset:d.srcset}),u.$orig=i):l={type:"html",content:s+""},l.opts=n.extend(!0,{},e.opts,u),a=l.type,r=l.src||"",a||(l.content?a="html":r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?a="image":r.match(/\.(pdf)((\?|#).*)?$/i)?a="pdf":"#"===r.charAt(0)&&(a="inline"),l.type=a),l.index=e.group.length,l.opts.$orig&&!l.opts.$orig.length&&delete l.opts.$orig,!l.opts.$thumb&&l.opts.$orig&&(l.opts.$thumb=l.opts.$orig.find("img:first")),l.opts.$thumb&&!l.opts.$thumb.length&&delete l.opts.$thumb,"function"===n.type(l.opts.caption)?l.opts.caption=l.opts.caption.apply(s,[e,l]):"caption"in d?l.opts.caption=d.caption:u.$orig&&(l.opts.caption=i.attr("title")),l.opts.caption=l.opts.caption===o?"":l.opts.caption+"","ajax"===a&&(c=r.split(/\s+/,2),c.length>1&&(l.src=c.shift(),l.opts.selector=c.shift())),"auto"==l.opts.smallBtn&&(n.inArray(a,["html","inline","ajax"])>-1?(l.opts.buttons=!1,l.opts.smallBtn=!0):l.opts.smallBtn=!1),"pdf"===a&&(l.type="iframe",l.opts.closeBtn=!0,l.opts.smallBtn=!1,l.opts.iframe.preload=!1),l.opts.modal&&n.extend(!0,l.opts,{infobar:0,buttons:0,keyboard:0,slideShow:0,fullScreen:0,closeClickOutside:0}),e.group.push(l)})},addEvents:function(){var e=this;e.removeEvents(),e.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),e.close(t)}).on("click.fb-previous","[data-fancybox-previous]",function(t){t.stopPropagation(),t.preventDefault(),e.previous()}).on("click.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),e.next()}),n(t).on("orientationchange.fb resize.fb",function(t){u(function(){t&&t.originalEvent&&"resize"===t.originalEvent.type?e.update():(e.$refs.slider_wrap.hide(),u(function(){e.$refs.slider_wrap.show(),e.update()}))})}),r.on("focusin.fb",function(t){var o=n.fancybox?n.fancybox.getInstance():null;!o||n(t.target).hasClass("fancybox-container")||n.contains(o.$refs.container[0],t.target)||(t.stopPropagation(),o.focus(),a.scrollTop(e.scrollTop).scrollLeft(e.scrollLeft))}),r.on("keydown.fb",function(t){var o=e.current,s=t.keyCode||t.which;if(o&&o.opts.keyboard&&!n(t.target).is("input")&&!n(t.target).is("textarea")){if(8===s||27===s)return t.preventDefault(),void e.close(t);switch(s){case 37:case 38:t.preventDefault(),e.previous();break;case 39:case 40:t.preventDefault(),e.next();break;case 80:case 32:t.preventDefault(),e.SlideShow&&(t.preventDefault(),e.SlideShow.toggle());break;case 70:e.FullScreen&&(t.preventDefault(),e.FullScreen.toggle());break;case 71:e.Thumbs&&(t.preventDefault(),e.Thumbs.toggle())}}})},removeEvents:function(){a.off("scroll.fb resize.fb orientationchange.fb"),r.off("keydown.fb focusin.fb click.fb-close"),this.$refs.container.off("click.fb-close click.fb-previous click.fb-next")},previous:function(t){this.jumpTo(this.currIndex-1,t)},next:function(t){this.jumpTo(this.currIndex+1,t)},jumpTo:function(t,e){var n,s,i,a,r=this;if(n=r.firstRun=null===r.firstRun,s=i=t=parseInt(t,10),a=!!r.current&&r.current.opts.loop,!r.isAnimating&&(s!=r.currIndex||n)){if(r.group.length>1&&a)s%=r.group.length,s=s<0?r.group.length+s:s,2==r.group.length?i=t-r.currIndex+r.currPos:(i=s-r.currIndex+r.currPos,Math.abs(r.currPos-(i+r.group.length))<Math.abs(r.currPos-i)?i+=r.group.length:Math.abs(r.currPos-(i-r.group.length))<Math.abs(r.currPos-i)&&(i-=r.group.length));else if(!r.group[s])return void r.update(!1,!1,e);r.current&&(r.current.$slide.removeClass("fancybox-slide--current fancybox-slide--complete"),r.updateSlide(r.current,!0)),r.prevIndex=r.currIndex,r.prevPos=r.currPos,r.currIndex=s,r.currPos=i,r.current=r.createSlide(i),r.group.length>1&&((r.opts.loop||i-1>=0)&&r.createSlide(i-1),(r.opts.loop||i+1<r.group.length)&&r.createSlide(i+1)),r.current.isMoved=!1,r.current.isComplete=!1,e=parseInt(e===o?1.5*r.current.opts.speed:e,10),r.trigger("beforeMove"),r.updateControls(),n&&(r.current.$slide.addClass("fancybox-slide--current"),r.$refs.container.show(),u(function(){r.$refs.bg.css("transition-duration",r.current.opts.speed+"ms"),r.$refs.container.addClass("fancybox-container--ready")})),r.update(!0,!1,n?0:e,function(){r.afterMove()}),r.loadSlide(r.current),n&&r.current.$ghost||r.preload()}},createSlide:function(t){var e,o,s,i=this;if(o=t%i.group.length,o=o<0?i.group.length+o:o,!i.slides[t]&&i.group[o]){if(i.opts.loop&&i.group.length>2)for(var a in i.slides)if(i.slides[a].index===o)return s=i.slides[a],s.pos=t,i.slides[t]=s,delete i.slides[a],i.updateSlide(s),s;e=n('<div class="fancybox-slide"></div>').appendTo(i.$refs.slider),i.slides[t]=n.extend(!0,{},i.group[o],{pos:t,$slide:e,isMoved:!1,isLoaded:!1})}return i.slides[t]},zoomInOut:function(t,e,o){var s,i,a,r=this,c=r.current,l=c.$placeholder,u=c.opts.opacity,p=c.opts.$thumb,h=p?p.offset():0,f=c.$slide.offset();return!!(l&&c.isMoved&&h&&d(p))&&(!("In"===t&&!r.firstRun)&&(n.fancybox.stop(l),r.isAnimating=!0,s={top:h.top-f.top+parseFloat(p.css("border-top-width")||0),left:h.left-f.left+parseFloat(p.css("border-left-width")||0),width:p.width(),height:p.height(),scaleX:1,scaleY:1},"auto"==u&&(u=Math.abs(c.width/c.height-s.width/s.height)>.1),"In"===t?(i=s,a=r.getFitPos(c),a.scaleX=a.width/i.width,a.scaleY=a.height/i.height,u&&(i.opacity=.1,a.opacity=1)):(i=n.fancybox.getTranslate(l),a=s,c.$ghost&&(c.$ghost.show(),c.$image&&c.$image.remove()),i.scaleX=i.width/a.width,i.scaleY=i.height/a.height,i.width=a.width,i.height=a.height,u&&(a.opacity=0)),r.updateCursor(a.width,a.height),delete a.width,delete a.height,n.fancybox.setTranslate(l,i),l.show(),r.trigger("beforeZoom"+t),l.css("transition","all "+e+"ms"),n.fancybox.setTranslate(l,a),setTimeout(function(){var e;l.css("transition","none"),e=n.fancybox.getTranslate(l),e.scaleX=1,e.scaleY=1,n.fancybox.setTranslate(l,e),r.trigger("afterZoom"+t),o.apply(r),r.isAnimating=!1},e),!0))},canPan:function(){var t=this,e=t.current,n=e.$placeholder,o=!1;return n&&(o=t.getFitPos(e),o=Math.abs(n.width()-o.width)>1||Math.abs(n.height()-o.height)>1),o},isScaledDown:function(){var t=this,e=t.current,o=e.$placeholder,s=!1;return o&&(s=n.fancybox.getTranslate(o),s=s.width<e.width||s.height<e.height),s},scaleToActual:function(t,e,s){var i,a,r,c,l,u=this,d=u.current,p=d.$placeholder,h=parseInt(d.$slide.width(),10),f=parseInt(d.$slide.height(),10),g=d.width,b=d.height;p&&(u.isAnimating=!0,t=t===o?.5*h:t,e=e===o?.5*f:e,i=n.fancybox.getTranslate(p),c=g/i.width,l=b/i.height,a=.5*h-.5*g,r=.5*f-.5*b,g>h&&(a=i.left*c-(t*c-t),a>0&&(a=0),a<h-g&&(a=h-g)),b>f&&(r=i.top*l-(e*l-e),r>0&&(r=0),r<f-b&&(r=f-b)),u.updateCursor(g,b),n.fancybox.animate(p,null,{top:r,left:a,scaleX:c,scaleY:l},s||d.opts.speed,function(){u.isAnimating=!1}))},scaleToFit:function(t){var e,o=this,s=o.current,i=s.$placeholder;i&&(o.isAnimating=!0,e=o.getFitPos(s),o.updateCursor(e.width,e.height),n.fancybox.animate(i,null,{top:e.top,left:e.left,scaleX:e.width/i.width(),scaleY:e.height/i.height()},t||s.opts.speed,function(){o.isAnimating=!1}))},getFitPos:function(t){var e,o,s,i,r,c,l,u=t.$placeholder||t.$content,d=t.width,p=t.height,h=t.opts.margin;return!(!u||!u.length||!d&&!p)&&("number"===n.type(h)&&(h=[h,h]),2==h.length&&(h=[h[0],h[1],h[0],h[1]]),a.width()<800&&(h=[0,0,0,0]),e=parseInt(t.$slide.width(),10)-(h[1]+h[3]),o=parseInt(t.$slide.height(),10)-(h[0]+h[2]),s=Math.min(1,e/d,o/p),c=Math.floor(s*d),l=Math.floor(s*p),i=Math.floor(.5*(o-l))+h[0],r=Math.floor(.5*(e-c))+h[3],{top:i,left:r,width:c,height:l})},update:function(t,e,o,s){var i,a=this;a.isAnimating!==!0&&a.current&&(i=a.current.pos*Math.floor(a.current.$slide.width())*-1-a.current.pos*a.current.opts.gutter,o=parseInt(o,10)||0,n.fancybox.stop(a.$refs.slider),t===!1?a.updateSlide(a.current,e):n.each(a.slides,function(t,n){a.updateSlide(n,e)}),o?n.fancybox.animate(a.$refs.slider,null,{top:0,left:i},o,function(){a.current.isMoved=!0,"function"===n.type(s)&&s.apply(a)}):(n.fancybox.setTranslate(a.$refs.slider,{top:0,left:i}),a.current.isMoved=!0,"function"===n.type(s)&&s.apply(a)))},updateSlide:function(t,e){var o,s=this,i=t.$placeholder;t=t||s.current,t&&!s.isClosing&&(o=t.pos*Math.floor(t.$slide.width())+t.pos*t.opts.gutter,o!==t.leftPos&&(n.fancybox.setTranslate(t.$slide,{top:0,left:o}),t.leftPos=o),e!==!1&&i&&(n.fancybox.setTranslate(i,s.getFitPos(t)),t.pos===s.currPos&&s.updateCursor()),t.$slide.trigger("refresh"),s.trigger("onUpdate",t))},updateCursor:function(t,e){var n,s=this,i=s.$refs.container.removeClass("fancybox-controls--canzoomIn fancybox-controls--canzoomOut fancybox-controls--canGrab");!s.isClosing&&s.opts.touch&&(n=t!==o&&e!==o?t<s.current.width&&e<s.current.height:s.isScaledDown(),n?i.addClass("fancybox-controls--canzoomIn"):s.group.length<2?i.addClass("fancybox-controls--canzoomOut"):i.addClass("fancybox-controls--canGrab"))},loadSlide:function(t){var e,o,s,i=this;if(t&&!t.isLoaded&&!t.isLoading){switch(t.isLoading=!0,i.trigger("beforeLoad",t),e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass("fancybox-slide--"+(e||"unknown")).addClass(t.opts.slideClass),e){case"image":i.setImage(t);break;case"iframe":i.setIframe(t);break;case"html":i.setContent(t,t.content);break;case"inline":n(t.src).length?i.setContent(t,n(t.src)):i.setError(t);break;case"ajax":i.showLoading(t),s=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&i.setContent(t,e)},error:function(e,n){e&&"abort"!==n&&i.setError(t)}})),o.one("onReset",function(){s.abort()});break;default:i.setError(t)}return!0}},setImage:function(e){var o,s,i,a,r=this,c=e.opts.image.srcset;if(e.isLoaded&&!e.hasError)return void r.afterLoad(e);if(c){i=t.devicePixelRatio||1,a=t.innerWidth*i,s=c.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);return 0===n?e.url=t:void(o&&(e.value=o,e.postfix=t[t.length-1]))}),e}),s.sort(function(t,e){return t.value-e.value});for(var l=0;l<s.length;l++){var u=s[l];if("w"===u.postfix&&u.value>=a||"x"===u.postfix&&u.value>=i){o=u;break}}!o&&s.length&&(o=s[s.length-1]),o&&(e.src=o.url,e.width&&e.height&&"w"==o.postfix&&(e.height=e.width/e.height*o.value,e.width=o.value))}e.$placeholder=n('<div class="fancybox-placeholder"></div>').hide().appendTo(e.$slide),e.opts.preload!==!1&&e.opts.width&&e.opts.height&&(e.opts.thumb||e.opts.$thumb)?(e.width=e.opts.width,e.height=e.opts.height,e.$ghost=n("<img />").one("load error",function(){r.isClosing||(n("<img/>")[0].src=e.src,r.revealImage(e,function(){r.setBigImage(e),r.firstRun&&e.index===r.currIndex&&r.preload()}))}).addClass("fancybox-image").appendTo(e.$placeholder).attr("src",e.opts.thumb||e.opts.$thumb.attr("src"))):r.setBigImage(e)},setBigImage:function(t){var e=this,o=n("<img />");t.$image=o.one("error",function(){e.setError(t)}).one("load",function(){clearTimeout(t.timouts),t.timouts=null,e.isClosing||(t.width=this.naturalWidth,t.height=this.naturalHeight,t.opts.image.srcset&&o.attr("sizes","100vw").attr("srcset",t.opts.image.srcset),e.afterLoad(t),t.$ghost&&(t.timouts=setTimeout(function(){t.$ghost.hide()},350)))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$placeholder),o[0].complete?o.trigger("load"):o[0].error?o.trigger("error"):t.timouts=setTimeout(function(){o[0].complete||t.hasError||e.showLoading(t)},150),t.opts.image.protect&&n('<div class="fancybox-spaceball"></div>').appendTo(t.$placeholder).on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0})},revealImage:function(t,e){var o=this;return e=e||n.noop,"image"!==t.type||t.hasError||t.isRevealed===!0?void e.apply(o):(t.isRevealed=!0,void(t.pos===o.currPos&&o.zoomInOut("In",t.opts.speed,e)||(t.$ghost&&!t.isLoaded&&o.updateSlide(t,!0),t.pos===o.currPos?n.fancybox.animate(t.$placeholder,{opacity:0},{opacity:1},300,e):t.$placeholder.show(),e.apply(o))))},setIframe:function(t){var e,s=this,i=t.opts.iframe,a=t.$slide;t.$content=n('<div class="fancybox-content"></div>').css(i.css).appendTo(a),e=n(i.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",n.fancybox.isTouch?"auto":i.scrolling).appendTo(t.$content),i.preload?(t.$content.addClass("fancybox-tmp"),s.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),s.afterLoad(t)}),a.on("refresh.fb",function(){var n,s,a,r,c,l=t.$content;if(1===e[0].isReady){try{n=e.contents(),s=n.find("body")}catch(t){}s&&s.length&&(i.css.width===o||i.css.height===o)&&(a=e[0].contentWindow.document.documentElement.scrollWidth,r=Math.ceil(s.outerWidth(!0)+(l.width()-a)),c=Math.ceil(s.outerHeight(!0)),l.css({width:i.css.width===o?r+(l.outerWidth()-l.innerWidth()):i.css.width,height:i.css.height===o?c+(l.outerHeight()-l.innerHeight()):i.css.height})),l.removeClass("fancybox-tmp")}})):this.afterLoad(t),e.attr("src",t.src),t.opts.smallBtn&&t.$content.prepend(t.opts.closeTpl),a.one("onReset",function(){try{n(this).find("iframe").hide().attr("src","//about:blank")}catch(t){}n(this).empty(),t.isLoaded=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$slide.empty(),l(e)&&e.parent().length?(e.data("placeholder")&&e.parents(".fancybox-slide").trigger("onReset"),e.data({placeholder:n("<div></div>").hide().insertAfter(e)}).css("display","inline-block")):("string"===n.type(e)&&(e=n("<div>").append(e).contents(),3===e[0].nodeType&&(e=n("<div>").html(e))),t.opts.selector&&(e=n("<div>").html(e).find(t.opts.selector))),t.$slide.one("onReset",function(){var o=l(e)?e.data("placeholder"):0;o&&(e.hide().replaceAll(o),e.data("placeholder",null)),t.hasError||(n(this).empty(),t.isLoaded=!1)}),t.$content=n(e).appendTo(t.$slide),t.opts.smallBtn===!0&&t.$content.find(".fancybox-close-small").remove().end().eq(0).append(t.opts.closeTpl),this.afterLoad(t))},setError:function(t){t.hasError=!0,this.setContent(t,t.opts.errorTpl)},showLoading:function(t){var e=this;t=t||e.current,t&&!t.$spinner&&(t.$spinner=n(e.opts.spinnerTpl).appendTo(t.$slide))},hideLoading:function(t){var e=this;t=t||e.current,t&&t.$spinner&&(t.$spinner.remove(),delete t.$spinner)},afterMove:function(){var t=this,e=t.current,o={};e&&(e.$slide.siblings().trigger("onReset"),n.each(t.slides,function(e,n){n.pos>=t.currPos-1&&n.pos<=t.currPos+1?o[n.pos]=n:n&&n.$slide.remove()}),t.slides=o,t.trigger("afterMove"),e.isLoaded&&t.complete())},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),t.$ghost||e.updateSlide(t,!0),t.index===e.currIndex&&t.isMoved?e.complete():t.$ghost||e.revealImage(t))},complete:function(){var t=this,e=t.current;t.revealImage(e,function(){e.isComplete=!0,e.$slide.addClass("fancybox-slide--complete"),t.updateCursor(),t.trigger("onComplete"),e.opts.focus&&"image"!==e.type&&"iframe"!==e.type&&t.focus()})},preload:function(){var t,e,n=this;n.group.length<2||(t=n.slides[n.currPos+1],e=n.slides[n.currPos-1],t&&"image"===t.type&&n.loadSlide(t),e&&"image"===e.type&&n.loadSlide(e))},focus:function(){var t,e=this.current;t=e&&e.isComplete?e.$slide.find('button,:input,[tabindex],a:not(".disabled")').filter(":visible:first"):null,t&&t.length||(t=this.$refs.container),t.focus(),this.$refs.slider_wrap.scrollLeft(0),e&&e.$slide.scrollTop(0)},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.uid!==t.uid&&!e.isClosing&&e.trigger("onDeactivate")}),t.current&&(t.$refs.container.index()>0&&t.$refs.container.prependTo(e.body),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t){var e=this,o=e.current,s=o.opts.speed,i=n.proxy(function(){e.cleanUp(t)},this);return!e.isAnimating&&!e.isClosing&&(e.trigger("beforeClose",t)===!1?(n.fancybox.stop(e.$refs.slider),void u(function(){e.update(!0,!0,150)})):(e.isClosing=!0,o.timouts&&clearTimeout(o.timouts),t!==!0&&n.fancybox.stop(e.$refs.slider),e.$refs.container.removeClass("fancybox-container--active").addClass("fancybox-container--closing"),o.$slide.removeClass("fancybox-slide--complete").siblings().remove(),o.isMoved||o.$slide.css("overflow","visible"),e.removeEvents(),e.hideLoading(o),e.hideControls(),e.updateCursor(),e.$refs.bg.css("transition-duration",s+"ms"),this.$refs.container.removeClass("fancybox-container--ready"),void(t===!0?setTimeout(i,s):e.zoomInOut("Out",s,i)||n.fancybox.animate(e.$refs.container,null,{opacity:0},s,"easeInSine",i))))},cleanUp:function(t){var e,o=this;o.$refs.slider.children().trigger("onReset"),o.$refs.container.empty().remove(),o.trigger("afterClose",t),o.current=null,e=n.fancybox.getInstance(),e?e.activate():(n("html").removeClass("fancybox-enabled"),n("body").removeAttr("style"),a.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft),n("#fancybox-noscroll").remove()),o.$lastFocus&&o.$lastFocus.focus()},trigger:function(t,o){var s,i=Array.prototype.slice.call(arguments,1),a=this,r=o&&o.opts?o:a.current;return r?i.unshift(r):r=a,i.unshift(a),n.isFunction(r.opts[t])&&(s=r.opts[t].apply(r,i)),s===!1?s:void("afterClose"===t?n(e).trigger(t+".fb",i):a.$refs.container.trigger(t+".fb",i))},toggleControls:function(t){this.isHiddenControls?this.updateControls(t):this.hideControls()},hideControls:function(){this.isHiddenControls=!0,this.$refs.container.removeClass("fancybox-show-controls"),this.$refs.container.removeClass("fancybox-show-caption")},updateControls:function(t){var e=this,o=e.$refs.container,s=e.$refs.caption,i=e.current,a=i.index,r=i.opts,c=r.caption;this.isHiddenControls&&t!==!0||(this.isHiddenControls=!1,o.addClass("fancybox-show-controls").toggleClass("fancybox-show-infobar",!!r.infobar&&e.group.length>1).toggleClass("fancybox-show-buttons",!!r.buttons).toggleClass("fancybox-is-modal",!!r.modal),n(".fancybox-button--left",o).toggleClass("fancybox-button--disabled",!r.loop&&a<=0),n(".fancybox-button--right",o).toggleClass("fancybox-button--disabled",!r.loop&&a>=e.group.length-1),n(".fancybox-button--play",o).toggle(!!(r.slideShow&&e.group.length>1)),n(".fancybox-button--close",o).toggle(!!r.closeBtn),n(".js-fancybox-count",o).html(e.group.length),n(".js-fancybox-index",o).html(a+1),i.$slide.trigger("refresh"),s&&s.empty(),c&&c.length?(s.html(c),this.$refs.container.addClass("fancybox-show-caption "),e.$caption=s):this.$refs.container.removeClass("fancybox-show-caption"))}}),n.fancybox={version:"3.0.47",defaults:i,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-container--closing"):first').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof p&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new p(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),t===!0&&this.close())},isTouch:e.createTouch!==o&&/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<=11)}(),getTranslate:function(t){var e,n;return!(!t||!t.length)&&(e=t.get(0).getBoundingClientRect(),n=t.eq(0).css("transform"),n&&n.indexOf("matrix")!==-1?(n=n.split("(")[1],n=n.split(")")[0],n=n.split(",")):n=[],n.length?(n=n.length>10?[n[13],n[12],n[0],n[5]]:[n[5],n[4],n[0],n[3]],n=n.map(parseFloat)):n=[0,0,1,1],{top:n[0],left:n[1],scaleX:n[2],scaleY:n[3],opacity:parseFloat(t.css("opacity")),width:e.width,height:e.height})},setTranslate:function(t,e){var n="",s={};if(t&&e)return e.left===o&&e.top===o||(n=(e.left===o?t.position().top:e.left)+"px, "+(e.top===o?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),e.scaleX!==o&&e.scaleY!==o&&(n=(n.length?n+" ":"")+"scale("+e.scaleX+", "+e.scaleY+")"),n.length&&(s.transform=n),e.opacity!==o&&(s.opacity=e.opacity),e.width!==o&&(s.width=e.width),e.height!==o&&(s.height=e.height),t.css(s)},easing:{easeOutCubic:function(t,e,n,o){return n*((t=t/o-1)*t*t+1)+e},easeInCubic:function(t,e,n,o){return n*(t/=o)*t*t+e},easeOutSine:function(t,e,n,o){return n*Math.sin(t/o*(Math.PI/2))+e},easeInSine:function(t,e,n,o){return-n*Math.cos(t/o*(Math.PI/2))+n+e}},stop:function(t){t.removeData("animateID")},animate:function(t,e,s,i,a,r){var c,l,d,p=this,h=null,f=0,g=function(){s.scaleX!==o&&s.scaleY!==o&&e&&e.width!==o&&e.height!==o&&(s.width=e.width*s.scaleX,s.height=e.height*s.scaleY,s.scaleX=1,s.scaleY=1),p.setTranslate(t,s),r()},b=function(n){if(c=[],l=0,t.length&&t.data("animateID")===d){if(n=n||Date.now(),h&&(l=n-h),h=n,f+=l,f>=i)return void g();for(var r in s)s.hasOwnProperty(r)&&e[r]!==o&&(e[r]==s[r]?c[r]=s[r]:c[r]=p.easing[a](f,e[r],s[r]-e[r],i));p.setTranslate(t,c),u(b)}};p.animateID=d=p.animateID===o?1:p.animateID+1,t.data("animateID",d),r===o&&"function"==n.type(a)&&(r=a,a=o),a||(a="easeOutCubic"),r=r||n.noop,e?this.setTranslate(t,e):e=this.getTranslate(t),i?(t.show(),u(b)):g()}},n.fn.fancybox=function(t){return this.off("click.fb-start").on("click.fb-start",{items:this,options:t||{}},s),this},n(e).on("click.fb-start","[data-fancybox]",s)}(window,document,window.jQuery),function(t){"use strict";var e=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e},n={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"//www.youtube.com/embed/$4",thumb:"//img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1,api:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},metacafe:{matcher:/metacafe.com\/watch\/(\d+)\/(.*)?/,type:"iframe",url:"//www.metacafe.com/embed/$1/?ap=1"},dailymotion:{matcher:/dailymotion.com\/video\/(.*)\/?(.*)/,params:{additionalInfos:0,autoStart:1},type:"iframe",url:"//www.dailymotion.com/embed/video/$1"},vine:{matcher:/vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/,type:"iframe",url:"//vine.co/v/$1/embed/simple"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},google_maps:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12])+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed")}}};t(document).on("onInit.fb",function(o,s){t.each(s.group,function(o,s){var i,a,r,c,l,u,d=s.src||"",p=!1;s.type||(t.each(n,function(n,o){if(a=d.match(o.matcher),l={},u=n,a){if(p=o.type,o.paramPlace&&a[o.paramPlace]){c=a[o.paramPlace],"?"==c[0]&&(c=c.substring(1)),c=c.split("&");for(var h=0;h<c.length;++h){var f=c[h].split("=",2);2==f.length&&(l[f[0]]=decodeURIComponent(f[1].replace(/\+/g," ")))}}return r=t.extend(!0,{},o.params,s.opts[n],l),d="function"===t.type(o.url)?o.url.call(this,a,r,s):e(o.url,a,r),i="function"===t.type(o.thumb)?o.thumb.call(this,a,r,s):e(o.thumb,a),"vimeo"===u&&(d=d.replace("&%23","#")),!1}}),p?(s.src=d,s.type=p,s.opts.thumb||s.opts.$thumb&&s.opts.$thumb.length||(s.opts.thumb=i),"iframe"===p&&(t.extend(!0,s.opts,{iframe:{preload:!1,scrolling:"no"},smallBtn:!1,closeBtn:!0,fullScreen:!1,slideShow:!1}),s.opts.slideClass+=" fancybox-slide--video")):s.type="iframe")})})}(window.jQuery),function(t,e,n){"use strict";var o=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||function(e){t.setTimeout(e,1e3/60)}}(),s=function(e){var n=[];e=e.originalEvent||e||t.e,e=e.touches&&e.touches.length?e.touches:e.changedTouches&&e.changedTouches.length?e.changedTouches:[e];for(var o in e)e[o].pageX?n.push({x:e[o].pageX,y:e[o].pageY}):e[o].clientX&&n.push({x:e[o].clientX,y:e[o].clientY});return n},i=function(t,e,n){return e&&t?"x"===n?t.x-e.x:"y"===n?t.y-e.y:Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0},a=function(t){return t.is("a")||t.is("button")||t.is("input")||t.is("select")||t.is("textarea")||n.isFunction(t.get(0).onclick)},r=function(e){var n=t.getComputedStyle(e)["overflow-y"],o=t.getComputedStyle(e)["overflow-x"],s=("scroll"===n||"auto"===n)&&e.scrollHeight>e.clientHeight,i=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return s||i},c=function(t){for(var e=!1;;){if(e=r(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-slider")||t.is("body"))break}return e},l=function(t){var e=this;e.instance=t,e.$wrap=t.$refs.slider_wrap,e.$slider=t.$refs.slider,e.$container=t.$refs.container,e.destroy(),e.$wrap.on("touchstart.fb mousedown.fb",n.proxy(e,"ontouchstart"))};l.prototype.destroy=function(){this.$wrap.off("touchstart.fb mousedown.fb touchmove.fb mousemove.fb touchend.fb touchcancel.fb mouseup.fb mouseleave.fb")},l.prototype.ontouchstart=function(e){var o=this,r=n(e.target),l=o.instance,u=l.current,d=u.$content||u.$placeholder;return o.startPoints=s(e),o.$target=r,o.$content=d,o.canvasWidth=Math.round(u.$slide[0].clientWidth),o.canvasHeight=Math.round(u.$slide[0].clientHeight),o.startEvent=e,e.originalEvent.clientX>o.canvasWidth+u.$slide.offset().left||(a(r)||a(r.parent())||c(r)?void 0:u.opts.touch?void(e.originalEvent&&2==e.originalEvent.button||(e.stopPropagation(),e.preventDefault(),!u||o.instance.isAnimating||o.instance.isClosing||!o.startPoints||o.startPoints.length>1&&!u.isMoved||(o.$wrap.off("touchmove.fb mousemove.fb",n.proxy(o,"ontouchmove")),o.$wrap.off("touchend.fb touchcancel.fb mouseup.fb mouseleave.fb",n.proxy(o,"ontouchend")),o.$wrap.on("touchend.fb touchcancel.fb mouseup.fb mouseleave.fb",n.proxy(o,"ontouchend")),o.$wrap.on("touchmove.fb mousemove.fb",n.proxy(o,"ontouchmove")),o.startTime=(new Date).getTime(),o.distanceX=o.distanceY=o.distance=0,o.canTap=!1,o.isPanning=!1,o.isSwiping=!1,o.isZooming=!1,o.sliderStartPos=n.fancybox.getTranslate(o.$slider),o.contentStartPos=n.fancybox.getTranslate(o.$content),o.contentLastPos=null,1!==o.startPoints.length||o.isZooming||(o.canTap=u.isMoved,"image"===u.type&&(o.contentStartPos.width>o.canvasWidth+1||o.contentStartPos.height>o.canvasHeight+1)?(n.fancybox.stop(o.$content),o.isPanning=!0):(n.fancybox.stop(o.$slider),o.isSwiping=!0),o.$container.addClass("fancybox-controls--isGrabbing")),2===o.startPoints.length&&u.isMoved&&!u.hasError&&"image"===u.type&&(u.isLoaded||u.$ghost)&&(o.isZooming=!0,o.isSwiping=!1,o.isPanning=!1,n.fancybox.stop(o.$content),o.centerPointStartX=.5*(o.startPoints[0].x+o.startPoints[1].x)-n(t).scrollLeft(),o.centerPointStartY=.5*(o.startPoints[0].y+o.startPoints[1].y)-n(t).scrollTop(),o.percentageOfImageAtPinchPointX=(o.centerPointStartX-o.contentStartPos.left)/o.contentStartPos.width,o.percentageOfImageAtPinchPointY=(o.centerPointStartY-o.contentStartPos.top)/o.contentStartPos.height,o.startDistanceBetweenFingers=i(o.startPoints[0],o.startPoints[1]))))):(o.endPoints=o.startPoints,o.ontap()))},l.prototype.ontouchmove=function(t){var e=this;t.preventDefault(),e.newPoints=s(t),e.newPoints&&e.newPoints.length&&(e.distanceX=i(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=i(e.newPoints[0],e.startPoints[0],"y"),e.distance=i(e.newPoints[0],e.startPoints[0]),e.distance>0&&(e.isSwiping?e.onSwipe():e.isPanning?e.onPan():e.isZooming&&e.onZoom()))},l.prototype.onSwipe=function(){var e,s=this,i=s.isSwiping,a=s.sliderStartPos.left;i===!0?Math.abs(s.distance)>10&&(s.instance.group.length<2?s.isSwiping="y":!s.instance.current.isMoved||s.instance.opts.touch.vertical===!1||"auto"===s.instance.opts.touch.vertical&&n(t).width()>800?s.isSwiping="x":(e=Math.abs(180*Math.atan2(s.distanceY,s.distanceX)/Math.PI),
         
     | 
| 
      
 12 
     | 
    
         
            +
            s.isSwiping=e>45&&e<135?"y":"x"),s.canTap=!1,s.instance.current.isMoved=!1,s.startPoints=s.newPoints):("x"==i&&(!s.instance.current.opts.loop&&0===s.instance.current.index&&s.distanceX>0?a+=Math.pow(s.distanceX,.8):!s.instance.current.opts.loop&&s.instance.current.index===s.instance.group.length-1&&s.distanceX<0?a-=Math.pow(-s.distanceX,.8):a+=s.distanceX),s.sliderLastPos={top:"x"==i?0:s.sliderStartPos.top+s.distanceY,left:a},o(function(){n.fancybox.setTranslate(s.$slider,s.sliderLastPos)}))},l.prototype.onPan=function(){var t,e,s,i=this;i.canTap=!1,t=i.contentStartPos.width>i.canvasWidth?i.contentStartPos.left+i.distanceX:i.contentStartPos.left,e=i.contentStartPos.top+i.distanceY,s=i.limitMovement(t,e,i.contentStartPos.width,i.contentStartPos.height),s.scaleX=i.contentStartPos.scaleX,s.scaleY=i.contentStartPos.scaleY,i.contentLastPos=s,o(function(){n.fancybox.setTranslate(i.$content,i.contentLastPos)})},l.prototype.limitMovement=function(t,e,n,o){var s,i,a,r,c=this,l=c.canvasWidth,u=c.canvasHeight,d=c.contentStartPos.left,p=c.contentStartPos.top,h=c.distanceX,f=c.distanceY;return s=Math.max(0,.5*l-.5*n),i=Math.max(0,.5*u-.5*o),a=Math.min(l-n,.5*l-.5*n),r=Math.min(u-o,.5*u-.5*o),n>l&&(h>0&&t>s&&(t=s-1+Math.pow(-s+d+h,.8)||0),h<0&&t<a&&(t=a+1-Math.pow(a-d-h,.8)||0)),o>u&&(f>0&&e>i&&(e=i-1+Math.pow(-i+p+f,.8)||0),f<0&&e<r&&(e=r+1-Math.pow(r-p-f,.8)||0)),{top:e,left:t}},l.prototype.limitPosition=function(t,e,n,o){var s=this,i=s.canvasWidth,a=s.canvasHeight;return n>i?(t=t>0?0:t,t=t<i-n?i-n:t):t=Math.max(0,i/2-n/2),o>a?(e=e>0?0:e,e=e<a-o?a-o:e):e=Math.max(0,a/2-o/2),{top:e,left:t}},l.prototype.onZoom=function(){var e=this,s=e.contentStartPos.width,a=e.contentStartPos.height,r=e.contentStartPos.left,c=e.contentStartPos.top,l=i(e.newPoints[0],e.newPoints[1]),u=l/e.startDistanceBetweenFingers,d=Math.floor(s*u),p=Math.floor(a*u),h=(s-d)*e.percentageOfImageAtPinchPointX,f=(a-p)*e.percentageOfImageAtPinchPointY,g=(e.newPoints[0].x+e.newPoints[1].x)/2-n(t).scrollLeft(),b=(e.newPoints[0].y+e.newPoints[1].y)/2-n(t).scrollTop(),m=g-e.centerPointStartX,y=b-e.centerPointStartY,v=r+(h+m),x=c+(f+y),w={top:x,left:v,scaleX:e.contentStartPos.scaleX*u,scaleY:e.contentStartPos.scaleY*u};e.canTap=!1,e.newWidth=d,e.newHeight=p,e.contentLastPos=w,o(function(){n.fancybox.setTranslate(e.$content,e.contentLastPos)})},l.prototype.ontouchend=function(t){var e=this,o=e.instance.current,i=Math.max((new Date).getTime()-e.startTime,1),a=e.isSwiping,r=e.isPanning,c=e.isZooming;return e.endPoints=s(t),e.$container.removeClass("fancybox-controls--isGrabbing"),e.$wrap.off("touchmove.fb mousemove.fb",n.proxy(this,"ontouchmove")),e.$wrap.off("touchend.fb touchcancel.fb mouseup.fb mouseleave.fb",n.proxy(this,"ontouchend")),e.isSwiping=!1,e.isPanning=!1,e.isZooming=!1,e.canTap?e.ontap():(e.velocityX=e.distanceX/i*.5,e.velocityY=e.distanceY/i*.5,e.speed=o.opts.speed||330,e.speedX=Math.max(.75*e.speed,Math.min(1.5*e.speed,1/Math.abs(e.velocityX)*e.speed)),e.speedY=Math.max(.75*e.speed,Math.min(1.5*e.speed,1/Math.abs(e.velocityY)*e.speed)),void(r?e.endPanning():c?e.endZooming():e.endSwiping(a)))},l.prototype.endSwiping=function(t){var e=this;"y"==t&&Math.abs(e.distanceY)>50?(n.fancybox.animate(e.$slider,null,{top:e.sliderStartPos.top+e.distanceY+150*e.velocityY,left:e.sliderStartPos.left,opacity:0},e.speedY),e.instance.close(!0)):"x"==t&&e.distanceX>50?e.instance.previous(e.speedX):"x"==t&&e.distanceX<-50?e.instance.next(e.speedX):e.instance.update(!1,!0,150)},l.prototype.endPanning=function(){var t,e,o,s=this;s.contentLastPos&&(t=s.contentLastPos.left+s.velocityX*s.speed*2,e=s.contentLastPos.top+s.velocityY*s.speed*2,o=s.limitPosition(t,e,s.contentStartPos.width,s.contentStartPos.height),o.width=s.contentStartPos.width,o.height=s.contentStartPos.height,n.fancybox.animate(s.$content,null,o,s.speed,"easeOutSine"))},l.prototype.endZooming=function(){var t,e,o,s,i=this,a=i.instance.current,r=i.newWidth,c=i.newHeight;i.contentLastPos&&(t=i.contentLastPos.left,e=i.contentLastPos.top,s={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(i.$content,s),r<i.canvasWidth&&c<i.canvasHeight?i.instance.scaleToFit(150):r>a.width||c>a.height?i.instance.scaleToActual(i.centerPointStartX,i.centerPointStartY,150):(o=i.limitPosition(t,e,r,c),n.fancybox.animate(i.$content,null,o,i.speed,"easeOutSine")))},l.prototype.ontap=function(){var t=this,e=t.instance,o=e.current,s=t.endPoints[0].x,i=t.endPoints[0].y;if(s-=t.$wrap.offset().left,i-=t.$wrap.offset().top,e.SlideShow&&e.SlideShow.isActive&&e.SlideShow.stop(),!n.fancybox.isTouch)return o.opts.closeClickOutside&&t.$target.is(".fancybox-slide")?void e.close(t.startEvent):void("image"==o.type&&o.isMoved&&(e.canPan()?e.scaleToFit():e.isScaledDown()?e.scaleToActual(s,i):e.group.length<2&&e.close(t.startEvent)));if(t.tapped){if(clearTimeout(t.tapped),t.tapped=null,Math.abs(s-t.x)>50||Math.abs(i-t.y)>50||!o.isMoved)return this;"image"==o.type&&(o.isLoaded||o.$ghost)&&(e.canPan()?e.scaleToFit():e.isScaledDown()&&e.scaleToActual(s,i))}else t.x=s,t.y=i,t.tapped=setTimeout(function(){t.tapped=null,e.toggleControls(!0)},300);return this},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new l(e))}),n(e).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,window.jQuery),function(t,e){"use strict";var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,speed:3e3,init:function(){var t=this;t.$button=e('<button data-fancybox-play class="fancybox-button fancybox-button--play" title="Slideshow (P)"></button>').appendTo(t.instance.$refs.buttons),t.instance.$refs.container.on("click","[data-fancybox-play]",function(){t.toggle()})},set:function(){var t=this;t.instance&&t.instance.current&&(t.instance.current.opts.loop||t.instance.currIndex<t.instance.group.length-1)?t.timer=setTimeout(function(){t.instance.next()},t.instance.current.opts.slideShow.speed||t.speed):t.stop()},clear:function(){var t=this;clearTimeout(t.timer),t.timer=null},start:function(){var t=this;t.stop(),t.instance&&t.instance.current&&(t.instance.current.opts.loop||t.instance.currIndex<t.instance.group.length-1)&&(t.instance.$refs.container.on({"beforeLoad.fb.player":e.proxy(t,"clear"),"onComplete.fb.player":e.proxy(t,"set")}),t.isActive=!0,t.instance.current.isComplete&&t.set(),t.instance.$refs.container.trigger("onPlayStart"),t.$button.addClass("fancybox-button--pause"))},stop:function(){var t=this;t.clear(),t.instance.$refs.container.trigger("onPlayEnd").off(".player"),t.$button.removeClass("fancybox-button--pause"),t.isActive=!1},toggle:function(){var t=this;t.isActive?t.stop():t.start()}}),e(t).on("onInit.fb",function(t,e){e&&e.group.length>1&&e.opts.slideShow&&!e.SlideShow&&(e.SlideShow=new n(e))}),e(t).on("beforeClose.fb onDeactivate.fb",function(t,e){e&&e.SlideShow&&e.SlideShow.stop()})}(document,window.jQuery),function(t,e){"use strict";var n=function(){var e,n,o,s=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],i={};for(n=0;n<s.length;n++)if(e=s[n],e&&e[1]in t){for(o=0;o<e.length;o++)i[s[0][o]]=e[o];return i}return!1}();if(n){var o={request:function(e){e=e||t.documentElement,e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT)},exit:function(){t[n.exitFullscreen]()},toggle:function(t){this.isFullscreen()?this.exit():this.request(t)},isFullscreen:function(){return Boolean(t[n.fullscreenElement])},enabled:function(){return Boolean(t[n.fullscreenEnabled])}};e(t).on({"onInit.fb":function(t,n){var s;n&&n.opts.fullScreen&&!n.FullScreen&&(s=n.$refs.container,n.$refs.button_fs=e('<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fullscreen" title="Full screen (F)"></button>').appendTo(n.$refs.buttons),s.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),o.toggle(s[0])}),n.opts.fullScreen.requestOnStart===!0&&o.request(s[0]))},"beforeMove.fb":function(t,e){e&&e.$refs.button_fs&&e.$refs.button_fs.toggle(!!e.current.opts.fullScreen)},"beforeClose.fb":function(){o.exit()}}),e(t).on(n.fullscreenchange,function(){var t=e.fancybox.getInstance(),n=t?t.current.$placeholder:null;n&&(n.css("transition","none"),t.isAnimating=!1,t.update(!0,!0,0))})}}(document,window.jQuery),function(t,e){"use strict";var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,init:function(){var t=this;t.$button=e('<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="Thumbnails (G)"></button>').appendTo(this.instance.$refs.buttons).on("touchend click",function(e){e.stopPropagation(),e.preventDefault(),t.toggle()})},create:function(){var t,n,o=this.instance;this.$grid=e('<div class="fancybox-thumbs"></div>').appendTo(o.$refs.container),t="<ul>",e.each(o.group,function(e,o){n=o.opts.thumb||(o.opts.$thumb?o.opts.$thumb.attr("src"):null),n||"image"!==o.type||(n=o.src),n&&n.length&&(t+='<li data-index="'+e+'"  tabindex="0" class="fancybox-thumbs-loading"><img data-src="'+n+'" /></li>')}),t+="</ul>",this.$list=e(t).appendTo(this.$grid).on("click touchstart","li",function(){o.jumpTo(e(this).data("index"))}),this.$list.find("img").hide().one("load",function(){var t,n,o,s,i=e(this).parent().removeClass("fancybox-thumbs-loading"),a=i.outerWidth(),r=i.outerHeight();t=this.naturalWidth||this.width,n=this.naturalHeight||this.height,o=t/a,s=n/r,o>=1&&s>=1&&(o>s?(t/=s,n=r):(t=a,n/=o)),e(this).css({width:Math.floor(t),height:Math.floor(n),"margin-top":Math.min(0,Math.floor(.3*r-.3*n)),"margin-left":Math.min(0,Math.floor(.5*a-.5*t))}).show()}).each(function(){this.src=e(this).data("src")})},focus:function(){this.instance.current&&this.$list.children().removeClass("fancybox-thumbs-active").filter('[data-index="'+this.instance.current.index+'"]').addClass("fancybox-thumbs-active").focus()},close:function(){this.$grid.hide()},update:function(){this.instance.$refs.container.toggleClass("fancybox-container--thumbs",this.isVisible),this.isVisible?(this.$grid||this.create(),this.$grid.show(),this.focus()):this.$grid&&this.$grid.hide(),this.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible?this.hide():this.show()}}),e(t).on("onInit.fb",function(t,e){var o=e.group[0],s=e.group[1];e.opts.thumbs&&!e.Thumbs&&e.group.length>1&&("image"==o.type||o.opts.thumb||o.opts.$thumb)&&("image"==s.type||s.opts.thumb||s.opts.$thumb)&&(e.Thumbs=new n(e))}),e(t).on("beforeMove.fb",function(t,e,n){var o=e&&e.Thumbs;o&&(n.modal?(o.$button.hide(),o.hide()):(e.opts.thumbs.showOnStart===!0&&e.firstRun&&o.show(),o.$button.show(),o.isVisible&&o.focus()))}),e(t).on("beforeClose.fb",function(t,e){e&&e.Thumbs&&(e.Thumbs.isVisible&&e.opts.thumbs.hideOnClosing!==!1&&e.Thumbs.close(),e.Thumbs=null)})}(document,window.jQuery),function(t,e,n){"use strict";function o(){var t=e.location.hash.substr(1),n=t.split("-"),o=n.length>1&&/^\+?\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,s=n.join("-");return o<1&&(o=1),{hash:t,index:o,gallery:s}}function s(t){var e;""!==t.gallery&&(e=n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1),e.length?e.trigger("click"):n("#"+n.escapeSelector(t.gallery)).trigger("click"))}function i(t){var e;return!!t&&(e=t.current?t.current.opts:t.opts,e.$orig?e.$orig.data("fancybox"):e.hash||"")}n.escapeSelector||(n.escapeSelector=function(t){var e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,n=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t};return(t+"").replace(e,n)});var a=null;n(function(){setTimeout(function(){n.fancybox.defaults.hash!==!1&&(n(e).on("hashchange.fb",function(){var t=o();n.fancybox.getInstance()?a&&a!==t.gallery+"-"+t.index&&(a=null,n.fancybox.close()):""!==t.gallery&&s(t)}),n(t).on({"onInit.fb":function(t,e){var n=o(),s=i(e);s&&n.gallery&&s==n.gallery&&(e.currIndex=n.index-1)},"beforeMove.fb":function(n,o,s){var r=i(o);r&&""!==r&&(e.location.hash.indexOf(r)<0&&(o.opts.origHash=e.location.hash),a=r+(o.group.length>1?"-"+(s.index+1):""),"pushState"in history?history.pushState("",t.title,e.location.pathname+e.location.search+"#"+a):e.location.hash=a)},"beforeClose.fb":function(n,o,s){var r=i(o),c=o&&o.opts.origHash?o.opts.origHash:"";r&&""!==r&&("pushState"in history?history.pushState("",t.title,e.location.pathname+e.location.search+c):e.location.hash=c),a=null}}),s(o()))},50)})}(document,window,window.jQuery);
         
     | 
| 
         @@ -0,0 +1,620 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            /*!
         
     | 
| 
      
 2 
     | 
    
         
            +
             * jQuery blockUI plugin
         
     | 
| 
      
 3 
     | 
    
         
            +
             * Version 2.70.0-2014.11.23
         
     | 
| 
      
 4 
     | 
    
         
            +
             * Requires jQuery v1.7 or later
         
     | 
| 
      
 5 
     | 
    
         
            +
             *
         
     | 
| 
      
 6 
     | 
    
         
            +
             * Examples at: http://malsup.com/jquery/block/
         
     | 
| 
      
 7 
     | 
    
         
            +
             * Copyright (c) 2007-2013 M. Alsup
         
     | 
| 
      
 8 
     | 
    
         
            +
             * Dual licensed under the MIT and GPL licenses:
         
     | 
| 
      
 9 
     | 
    
         
            +
             * http://www.opensource.org/licenses/mit-license.php
         
     | 
| 
      
 10 
     | 
    
         
            +
             * http://www.gnu.org/licenses/gpl.html
         
     | 
| 
      
 11 
     | 
    
         
            +
             *
         
     | 
| 
      
 12 
     | 
    
         
            +
             * Thanks to Amir-Hossein Sobhi for some excellent contributions!
         
     | 
| 
      
 13 
     | 
    
         
            +
             */
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            ;(function() {
         
     | 
| 
      
 16 
     | 
    
         
            +
            /*jshint eqeqeq:false curly:false latedef:false */
         
     | 
| 
      
 17 
     | 
    
         
            +
            "use strict";
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            	function setup($) {
         
     | 
| 
      
 20 
     | 
    
         
            +
            		$.fn._fadeIn = $.fn.fadeIn;
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            		var noOp = $.noop || function() {};
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            		// this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle
         
     | 
| 
      
 25 
     | 
    
         
            +
            		// confusing userAgent strings on Vista)
         
     | 
| 
      
 26 
     | 
    
         
            +
            		var msie = /MSIE/.test(navigator.userAgent);
         
     | 
| 
      
 27 
     | 
    
         
            +
            		var ie6  = /MSIE 6.0/.test(navigator.userAgent) && ! /MSIE 8.0/.test(navigator.userAgent);
         
     | 
| 
      
 28 
     | 
    
         
            +
            		var mode = document.documentMode || 0;
         
     | 
| 
      
 29 
     | 
    
         
            +
            		var setExpr = $.isFunction( document.createElement('div').style.setExpression );
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            		// global $ methods for blocking/unblocking the entire page
         
     | 
| 
      
 32 
     | 
    
         
            +
            		$.blockUI   = function(opts) { install(window, opts); };
         
     | 
| 
      
 33 
     | 
    
         
            +
            		$.unblockUI = function(opts) { remove(window, opts); };
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            		// convenience method for quick growl-like notifications  (http://www.google.com/search?q=growl)
         
     | 
| 
      
 36 
     | 
    
         
            +
            		$.growlUI = function(title, message, timeout, onClose) {
         
     | 
| 
      
 37 
     | 
    
         
            +
            			var $m = $('<div class="growlUI"></div>');
         
     | 
| 
      
 38 
     | 
    
         
            +
            			if (title) $m.append('<h1>'+title+'</h1>');
         
     | 
| 
      
 39 
     | 
    
         
            +
            			if (message) $m.append('<h2>'+message+'</h2>');
         
     | 
| 
      
 40 
     | 
    
         
            +
            			if (timeout === undefined) timeout = 3000;
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
            			// Added by konapun: Set timeout to 30 seconds if this growl is moused over, like normal toast notifications
         
     | 
| 
      
 43 
     | 
    
         
            +
            			var callBlock = function(opts) {
         
     | 
| 
      
 44 
     | 
    
         
            +
            				opts = opts || {};
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
            				$.blockUI({
         
     | 
| 
      
 47 
     | 
    
         
            +
            					message: $m,
         
     | 
| 
      
 48 
     | 
    
         
            +
            					fadeIn : typeof opts.fadeIn  !== 'undefined' ? opts.fadeIn  : 700,
         
     | 
| 
      
 49 
     | 
    
         
            +
            					fadeOut: typeof opts.fadeOut !== 'undefined' ? opts.fadeOut : 1000,
         
     | 
| 
      
 50 
     | 
    
         
            +
            					timeout: typeof opts.timeout !== 'undefined' ? opts.timeout : timeout,
         
     | 
| 
      
 51 
     | 
    
         
            +
            					centerY: false,
         
     | 
| 
      
 52 
     | 
    
         
            +
            					showOverlay: false,
         
     | 
| 
      
 53 
     | 
    
         
            +
            					onUnblock: onClose,
         
     | 
| 
      
 54 
     | 
    
         
            +
            					css: $.blockUI.defaults.growlCSS
         
     | 
| 
      
 55 
     | 
    
         
            +
            				});
         
     | 
| 
      
 56 
     | 
    
         
            +
            			};
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
            			callBlock();
         
     | 
| 
      
 59 
     | 
    
         
            +
            			var nonmousedOpacity = $m.css('opacity');
         
     | 
| 
      
 60 
     | 
    
         
            +
            			$m.mouseover(function() {
         
     | 
| 
      
 61 
     | 
    
         
            +
            				callBlock({
         
     | 
| 
      
 62 
     | 
    
         
            +
            					fadeIn: 0,
         
     | 
| 
      
 63 
     | 
    
         
            +
            					timeout: 30000
         
     | 
| 
      
 64 
     | 
    
         
            +
            				});
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
            				var displayBlock = $('.blockMsg');
         
     | 
| 
      
 67 
     | 
    
         
            +
            				displayBlock.stop(); // cancel fadeout if it has started
         
     | 
| 
      
 68 
     | 
    
         
            +
            				displayBlock.fadeTo(300, 1); // make it easier to read the message by removing transparency
         
     | 
| 
      
 69 
     | 
    
         
            +
            			}).mouseout(function() {
         
     | 
| 
      
 70 
     | 
    
         
            +
            				$('.blockMsg').fadeOut(1000);
         
     | 
| 
      
 71 
     | 
    
         
            +
            			});
         
     | 
| 
      
 72 
     | 
    
         
            +
            			// End konapun additions
         
     | 
| 
      
 73 
     | 
    
         
            +
            		};
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
            		// plugin method for blocking element content
         
     | 
| 
      
 76 
     | 
    
         
            +
            		$.fn.block = function(opts) {
         
     | 
| 
      
 77 
     | 
    
         
            +
            			if ( this[0] === window ) {
         
     | 
| 
      
 78 
     | 
    
         
            +
            				$.blockUI( opts );
         
     | 
| 
      
 79 
     | 
    
         
            +
            				return this;
         
     | 
| 
      
 80 
     | 
    
         
            +
            			}
         
     | 
| 
      
 81 
     | 
    
         
            +
            			var fullOpts = $.extend({}, $.blockUI.defaults, opts || {});
         
     | 
| 
      
 82 
     | 
    
         
            +
            			this.each(function() {
         
     | 
| 
      
 83 
     | 
    
         
            +
            				var $el = $(this);
         
     | 
| 
      
 84 
     | 
    
         
            +
            				if (fullOpts.ignoreIfBlocked && $el.data('blockUI.isBlocked'))
         
     | 
| 
      
 85 
     | 
    
         
            +
            					return;
         
     | 
| 
      
 86 
     | 
    
         
            +
            				$el.unblock({ fadeOut: 0 });
         
     | 
| 
      
 87 
     | 
    
         
            +
            			});
         
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
      
 89 
     | 
    
         
            +
            			return this.each(function() {
         
     | 
| 
      
 90 
     | 
    
         
            +
            				if ($.css(this,'position') == 'static') {
         
     | 
| 
      
 91 
     | 
    
         
            +
            					this.style.position = 'relative';
         
     | 
| 
      
 92 
     | 
    
         
            +
            					$(this).data('blockUI.static', true);
         
     | 
| 
      
 93 
     | 
    
         
            +
            				}
         
     | 
| 
      
 94 
     | 
    
         
            +
            				this.style.zoom = 1; // force 'hasLayout' in ie
         
     | 
| 
      
 95 
     | 
    
         
            +
            				install(this, opts);
         
     | 
| 
      
 96 
     | 
    
         
            +
            			});
         
     | 
| 
      
 97 
     | 
    
         
            +
            		};
         
     | 
| 
      
 98 
     | 
    
         
            +
             
     | 
| 
      
 99 
     | 
    
         
            +
            		// plugin method for unblocking element content
         
     | 
| 
      
 100 
     | 
    
         
            +
            		$.fn.unblock = function(opts) {
         
     | 
| 
      
 101 
     | 
    
         
            +
            			if ( this[0] === window ) {
         
     | 
| 
      
 102 
     | 
    
         
            +
            				$.unblockUI( opts );
         
     | 
| 
      
 103 
     | 
    
         
            +
            				return this;
         
     | 
| 
      
 104 
     | 
    
         
            +
            			}
         
     | 
| 
      
 105 
     | 
    
         
            +
            			return this.each(function() {
         
     | 
| 
      
 106 
     | 
    
         
            +
            				remove(this, opts);
         
     | 
| 
      
 107 
     | 
    
         
            +
            			});
         
     | 
| 
      
 108 
     | 
    
         
            +
            		};
         
     | 
| 
      
 109 
     | 
    
         
            +
             
     | 
| 
      
 110 
     | 
    
         
            +
            		$.blockUI.version = 2.70; // 2nd generation blocking at no extra cost!
         
     | 
| 
      
 111 
     | 
    
         
            +
             
     | 
| 
      
 112 
     | 
    
         
            +
            		// override these in your code to change the default behavior and style
         
     | 
| 
      
 113 
     | 
    
         
            +
            		$.blockUI.defaults = {
         
     | 
| 
      
 114 
     | 
    
         
            +
            			// message displayed when blocking (use null for no message)
         
     | 
| 
      
 115 
     | 
    
         
            +
            			message:  '<h1>Please wait...</h1>',
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
            			title: null,		// title string; only used when theme == true
         
     | 
| 
      
 118 
     | 
    
         
            +
            			draggable: true,	// only used when theme == true (requires jquery-ui.js to be loaded)
         
     | 
| 
      
 119 
     | 
    
         
            +
             
     | 
| 
      
 120 
     | 
    
         
            +
            			theme: false, // set to true to use with jQuery UI themes
         
     | 
| 
      
 121 
     | 
    
         
            +
             
     | 
| 
      
 122 
     | 
    
         
            +
            			// styles for the message when blocking; if you wish to disable
         
     | 
| 
      
 123 
     | 
    
         
            +
            			// these and use an external stylesheet then do this in your code:
         
     | 
| 
      
 124 
     | 
    
         
            +
            			// $.blockUI.defaults.css = {};
         
     | 
| 
      
 125 
     | 
    
         
            +
            			css: {
         
     | 
| 
      
 126 
     | 
    
         
            +
            				padding:	0,
         
     | 
| 
      
 127 
     | 
    
         
            +
            				margin:		0,
         
     | 
| 
      
 128 
     | 
    
         
            +
            				width:		'30%',
         
     | 
| 
      
 129 
     | 
    
         
            +
            				top:		'40%',
         
     | 
| 
      
 130 
     | 
    
         
            +
            				left:		'35%',
         
     | 
| 
      
 131 
     | 
    
         
            +
            				textAlign:	'center',
         
     | 
| 
      
 132 
     | 
    
         
            +
            				color:		'#000',
         
     | 
| 
      
 133 
     | 
    
         
            +
            				border:		'3px solid #aaa',
         
     | 
| 
      
 134 
     | 
    
         
            +
            				backgroundColor:'#fff',
         
     | 
| 
      
 135 
     | 
    
         
            +
            				cursor:		'wait'
         
     | 
| 
      
 136 
     | 
    
         
            +
            			},
         
     | 
| 
      
 137 
     | 
    
         
            +
             
     | 
| 
      
 138 
     | 
    
         
            +
            			// minimal style set used when themes are used
         
     | 
| 
      
 139 
     | 
    
         
            +
            			themedCSS: {
         
     | 
| 
      
 140 
     | 
    
         
            +
            				width:	'30%',
         
     | 
| 
      
 141 
     | 
    
         
            +
            				top:	'40%',
         
     | 
| 
      
 142 
     | 
    
         
            +
            				left:	'35%'
         
     | 
| 
      
 143 
     | 
    
         
            +
            			},
         
     | 
| 
      
 144 
     | 
    
         
            +
             
     | 
| 
      
 145 
     | 
    
         
            +
            			// styles for the overlay
         
     | 
| 
      
 146 
     | 
    
         
            +
            			overlayCSS:  {
         
     | 
| 
      
 147 
     | 
    
         
            +
            				backgroundColor:	'#000',
         
     | 
| 
      
 148 
     | 
    
         
            +
            				opacity:			0.6,
         
     | 
| 
      
 149 
     | 
    
         
            +
            				cursor:				'wait'
         
     | 
| 
      
 150 
     | 
    
         
            +
            			},
         
     | 
| 
      
 151 
     | 
    
         
            +
             
     | 
| 
      
 152 
     | 
    
         
            +
            			// style to replace wait cursor before unblocking to correct issue
         
     | 
| 
      
 153 
     | 
    
         
            +
            			// of lingering wait cursor
         
     | 
| 
      
 154 
     | 
    
         
            +
            			cursorReset: 'default',
         
     | 
| 
      
 155 
     | 
    
         
            +
             
     | 
| 
      
 156 
     | 
    
         
            +
            			// styles applied when using $.growlUI
         
     | 
| 
      
 157 
     | 
    
         
            +
            			growlCSS: {
         
     | 
| 
      
 158 
     | 
    
         
            +
            				width:		'350px',
         
     | 
| 
      
 159 
     | 
    
         
            +
            				top:		'10px',
         
     | 
| 
      
 160 
     | 
    
         
            +
            				left:		'',
         
     | 
| 
      
 161 
     | 
    
         
            +
            				right:		'10px',
         
     | 
| 
      
 162 
     | 
    
         
            +
            				border:		'none',
         
     | 
| 
      
 163 
     | 
    
         
            +
            				padding:	'5px',
         
     | 
| 
      
 164 
     | 
    
         
            +
            				opacity:	0.6,
         
     | 
| 
      
 165 
     | 
    
         
            +
            				cursor:		'default',
         
     | 
| 
      
 166 
     | 
    
         
            +
            				color:		'#fff',
         
     | 
| 
      
 167 
     | 
    
         
            +
            				backgroundColor: '#000',
         
     | 
| 
      
 168 
     | 
    
         
            +
            				'-webkit-border-radius':'10px',
         
     | 
| 
      
 169 
     | 
    
         
            +
            				'-moz-border-radius':	'10px',
         
     | 
| 
      
 170 
     | 
    
         
            +
            				'border-radius':		'10px'
         
     | 
| 
      
 171 
     | 
    
         
            +
            			},
         
     | 
| 
      
 172 
     | 
    
         
            +
             
     | 
| 
      
 173 
     | 
    
         
            +
            			// IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w
         
     | 
| 
      
 174 
     | 
    
         
            +
            			// (hat tip to Jorge H. N. de Vasconcelos)
         
     | 
| 
      
 175 
     | 
    
         
            +
            			/*jshint scripturl:true */
         
     | 
| 
      
 176 
     | 
    
         
            +
            			iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',
         
     | 
| 
      
 177 
     | 
    
         
            +
             
     | 
| 
      
 178 
     | 
    
         
            +
            			// force usage of iframe in non-IE browsers (handy for blocking applets)
         
     | 
| 
      
 179 
     | 
    
         
            +
            			forceIframe: false,
         
     | 
| 
      
 180 
     | 
    
         
            +
             
     | 
| 
      
 181 
     | 
    
         
            +
            			// z-index for the blocking overlay
         
     | 
| 
      
 182 
     | 
    
         
            +
            			baseZ: 1000,
         
     | 
| 
      
 183 
     | 
    
         
            +
             
     | 
| 
      
 184 
     | 
    
         
            +
            			// set these to true to have the message automatically centered
         
     | 
| 
      
 185 
     | 
    
         
            +
            			centerX: true, // <-- only effects element blocking (page block controlled via css above)
         
     | 
| 
      
 186 
     | 
    
         
            +
            			centerY: true,
         
     | 
| 
      
 187 
     | 
    
         
            +
             
     | 
| 
      
 188 
     | 
    
         
            +
            			// allow body element to be stetched in ie6; this makes blocking look better
         
     | 
| 
      
 189 
     | 
    
         
            +
            			// on "short" pages.  disable if you wish to prevent changes to the body height
         
     | 
| 
      
 190 
     | 
    
         
            +
            			allowBodyStretch: true,
         
     | 
| 
      
 191 
     | 
    
         
            +
             
     | 
| 
      
 192 
     | 
    
         
            +
            			// enable if you want key and mouse events to be disabled for content that is blocked
         
     | 
| 
      
 193 
     | 
    
         
            +
            			bindEvents: true,
         
     | 
| 
      
 194 
     | 
    
         
            +
             
     | 
| 
      
 195 
     | 
    
         
            +
            			// be default blockUI will supress tab navigation from leaving blocking content
         
     | 
| 
      
 196 
     | 
    
         
            +
            			// (if bindEvents is true)
         
     | 
| 
      
 197 
     | 
    
         
            +
            			constrainTabKey: true,
         
     | 
| 
      
 198 
     | 
    
         
            +
             
     | 
| 
      
 199 
     | 
    
         
            +
            			// fadeIn time in millis; set to 0 to disable fadeIn on block
         
     | 
| 
      
 200 
     | 
    
         
            +
            			fadeIn:  200,
         
     | 
| 
      
 201 
     | 
    
         
            +
             
     | 
| 
      
 202 
     | 
    
         
            +
            			// fadeOut time in millis; set to 0 to disable fadeOut on unblock
         
     | 
| 
      
 203 
     | 
    
         
            +
            			fadeOut:  400,
         
     | 
| 
      
 204 
     | 
    
         
            +
             
     | 
| 
      
 205 
     | 
    
         
            +
            			// time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock
         
     | 
| 
      
 206 
     | 
    
         
            +
            			timeout: 0,
         
     | 
| 
      
 207 
     | 
    
         
            +
             
     | 
| 
      
 208 
     | 
    
         
            +
            			// disable if you don't want to show the overlay
         
     | 
| 
      
 209 
     | 
    
         
            +
            			showOverlay: true,
         
     | 
| 
      
 210 
     | 
    
         
            +
             
     | 
| 
      
 211 
     | 
    
         
            +
            			// if true, focus will be placed in the first available input field when
         
     | 
| 
      
 212 
     | 
    
         
            +
            			// page blocking
         
     | 
| 
      
 213 
     | 
    
         
            +
            			focusInput: true,
         
     | 
| 
      
 214 
     | 
    
         
            +
             
     | 
| 
      
 215 
     | 
    
         
            +
                        // elements that can receive focus
         
     | 
| 
      
 216 
     | 
    
         
            +
                        focusableElements: ':input:enabled:visible',
         
     | 
| 
      
 217 
     | 
    
         
            +
             
     | 
| 
      
 218 
     | 
    
         
            +
            			// suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity)
         
     | 
| 
      
 219 
     | 
    
         
            +
            			// no longer needed in 2012
         
     | 
| 
      
 220 
     | 
    
         
            +
            			// applyPlatformOpacityRules: true,
         
     | 
| 
      
 221 
     | 
    
         
            +
             
     | 
| 
      
 222 
     | 
    
         
            +
            			// callback method invoked when fadeIn has completed and blocking message is visible
         
     | 
| 
      
 223 
     | 
    
         
            +
            			onBlock: null,
         
     | 
| 
      
 224 
     | 
    
         
            +
             
     | 
| 
      
 225 
     | 
    
         
            +
            			// callback method invoked when unblocking has completed; the callback is
         
     | 
| 
      
 226 
     | 
    
         
            +
            			// passed the element that has been unblocked (which is the window object for page
         
     | 
| 
      
 227 
     | 
    
         
            +
            			// blocks) and the options that were passed to the unblock call:
         
     | 
| 
      
 228 
     | 
    
         
            +
            			//	onUnblock(element, options)
         
     | 
| 
      
 229 
     | 
    
         
            +
            			onUnblock: null,
         
     | 
| 
      
 230 
     | 
    
         
            +
             
     | 
| 
      
 231 
     | 
    
         
            +
            			// callback method invoked when the overlay area is clicked.
         
     | 
| 
      
 232 
     | 
    
         
            +
            			// setting this will turn the cursor to a pointer, otherwise cursor defined in overlayCss will be used.
         
     | 
| 
      
 233 
     | 
    
         
            +
            			onOverlayClick: null,
         
     | 
| 
      
 234 
     | 
    
         
            +
             
     | 
| 
      
 235 
     | 
    
         
            +
            			// don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493
         
     | 
| 
      
 236 
     | 
    
         
            +
            			quirksmodeOffsetHack: 4,
         
     | 
| 
      
 237 
     | 
    
         
            +
             
     | 
| 
      
 238 
     | 
    
         
            +
            			// class name of the message block
         
     | 
| 
      
 239 
     | 
    
         
            +
            			blockMsgClass: 'blockMsg',
         
     | 
| 
      
 240 
     | 
    
         
            +
             
     | 
| 
      
 241 
     | 
    
         
            +
            			// if it is already blocked, then ignore it (don't unblock and reblock)
         
     | 
| 
      
 242 
     | 
    
         
            +
            			ignoreIfBlocked: false
         
     | 
| 
      
 243 
     | 
    
         
            +
            		};
         
     | 
| 
      
 244 
     | 
    
         
            +
             
     | 
| 
      
 245 
     | 
    
         
            +
            		// private data and functions follow...
         
     | 
| 
      
 246 
     | 
    
         
            +
             
     | 
| 
      
 247 
     | 
    
         
            +
            		var pageBlock = null;
         
     | 
| 
      
 248 
     | 
    
         
            +
            		var pageBlockEls = [];
         
     | 
| 
      
 249 
     | 
    
         
            +
             
     | 
| 
      
 250 
     | 
    
         
            +
            		function install(el, opts) {
         
     | 
| 
      
 251 
     | 
    
         
            +
            			var css, themedCSS;
         
     | 
| 
      
 252 
     | 
    
         
            +
            			var full = (el == window);
         
     | 
| 
      
 253 
     | 
    
         
            +
            			var msg = (opts && opts.message !== undefined ? opts.message : undefined);
         
     | 
| 
      
 254 
     | 
    
         
            +
            			opts = $.extend({}, $.blockUI.defaults, opts || {});
         
     | 
| 
      
 255 
     | 
    
         
            +
             
     | 
| 
      
 256 
     | 
    
         
            +
            			if (opts.ignoreIfBlocked && $(el).data('blockUI.isBlocked'))
         
     | 
| 
      
 257 
     | 
    
         
            +
            				return;
         
     | 
| 
      
 258 
     | 
    
         
            +
             
     | 
| 
      
 259 
     | 
    
         
            +
            			opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});
         
     | 
| 
      
 260 
     | 
    
         
            +
            			css = $.extend({}, $.blockUI.defaults.css, opts.css || {});
         
     | 
| 
      
 261 
     | 
    
         
            +
            			if (opts.onOverlayClick)
         
     | 
| 
      
 262 
     | 
    
         
            +
            				opts.overlayCSS.cursor = 'pointer';
         
     | 
| 
      
 263 
     | 
    
         
            +
             
     | 
| 
      
 264 
     | 
    
         
            +
            			themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});
         
     | 
| 
      
 265 
     | 
    
         
            +
            			msg = msg === undefined ? opts.message : msg;
         
     | 
| 
      
 266 
     | 
    
         
            +
             
     | 
| 
      
 267 
     | 
    
         
            +
            			// remove the current block (if there is one)
         
     | 
| 
      
 268 
     | 
    
         
            +
            			if (full && pageBlock)
         
     | 
| 
      
 269 
     | 
    
         
            +
            				remove(window, {fadeOut:0});
         
     | 
| 
      
 270 
     | 
    
         
            +
             
     | 
| 
      
 271 
     | 
    
         
            +
            			// if an existing element is being used as the blocking content then we capture
         
     | 
| 
      
 272 
     | 
    
         
            +
            			// its current place in the DOM (and current display style) so we can restore
         
     | 
| 
      
 273 
     | 
    
         
            +
            			// it when we unblock
         
     | 
| 
      
 274 
     | 
    
         
            +
            			if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {
         
     | 
| 
      
 275 
     | 
    
         
            +
            				var node = msg.jquery ? msg[0] : msg;
         
     | 
| 
      
 276 
     | 
    
         
            +
            				var data = {};
         
     | 
| 
      
 277 
     | 
    
         
            +
            				$(el).data('blockUI.history', data);
         
     | 
| 
      
 278 
     | 
    
         
            +
            				data.el = node;
         
     | 
| 
      
 279 
     | 
    
         
            +
            				data.parent = node.parentNode;
         
     | 
| 
      
 280 
     | 
    
         
            +
            				data.display = node.style.display;
         
     | 
| 
      
 281 
     | 
    
         
            +
            				data.position = node.style.position;
         
     | 
| 
      
 282 
     | 
    
         
            +
            				if (data.parent)
         
     | 
| 
      
 283 
     | 
    
         
            +
            					data.parent.removeChild(node);
         
     | 
| 
      
 284 
     | 
    
         
            +
            			}
         
     | 
| 
      
 285 
     | 
    
         
            +
             
     | 
| 
      
 286 
     | 
    
         
            +
            			$(el).data('blockUI.onUnblock', opts.onUnblock);
         
     | 
| 
      
 287 
     | 
    
         
            +
            			var z = opts.baseZ;
         
     | 
| 
      
 288 
     | 
    
         
            +
             
     | 
| 
      
 289 
     | 
    
         
            +
            			// blockUI uses 3 layers for blocking, for simplicity they are all used on every platform;
         
     | 
| 
      
 290 
     | 
    
         
            +
            			// layer1 is the iframe layer which is used to supress bleed through of underlying content
         
     | 
| 
      
 291 
     | 
    
         
            +
            			// layer2 is the overlay layer which has opacity and a wait cursor (by default)
         
     | 
| 
      
 292 
     | 
    
         
            +
            			// layer3 is the message content that is displayed while blocking
         
     | 
| 
      
 293 
     | 
    
         
            +
            			var lyr1, lyr2, lyr3, s;
         
     | 
| 
      
 294 
     | 
    
         
            +
            			if (msie || opts.forceIframe)
         
     | 
| 
      
 295 
     | 
    
         
            +
            				lyr1 = $('<iframe class="blockUI" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>');
         
     | 
| 
      
 296 
     | 
    
         
            +
            			else
         
     | 
| 
      
 297 
     | 
    
         
            +
            				lyr1 = $('<div class="blockUI" style="display:none"></div>');
         
     | 
| 
      
 298 
     | 
    
         
            +
             
     | 
| 
      
 299 
     | 
    
         
            +
            			if (opts.theme)
         
     | 
| 
      
 300 
     | 
    
         
            +
            				lyr2 = $('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+ (z++) +';display:none"></div>');
         
     | 
| 
      
 301 
     | 
    
         
            +
            			else
         
     | 
| 
      
 302 
     | 
    
         
            +
            				lyr2 = $('<div class="blockUI blockOverlay" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');
         
     | 
| 
      
 303 
     | 
    
         
            +
             
     | 
| 
      
 304 
     | 
    
         
            +
            			if (opts.theme && full) {
         
     | 
| 
      
 305 
     | 
    
         
            +
            				s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:fixed">';
         
     | 
| 
      
 306 
     | 
    
         
            +
            				if ( opts.title ) {
         
     | 
| 
      
 307 
     | 
    
         
            +
            					s += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || ' ')+'</div>';
         
     | 
| 
      
 308 
     | 
    
         
            +
            				}
         
     | 
| 
      
 309 
     | 
    
         
            +
            				s += '<div class="ui-widget-content ui-dialog-content"></div>';
         
     | 
| 
      
 310 
     | 
    
         
            +
            				s += '</div>';
         
     | 
| 
      
 311 
     | 
    
         
            +
            			}
         
     | 
| 
      
 312 
     | 
    
         
            +
            			else if (opts.theme) {
         
     | 
| 
      
 313 
     | 
    
         
            +
            				s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:absolute">';
         
     | 
| 
      
 314 
     | 
    
         
            +
            				if ( opts.title ) {
         
     | 
| 
      
 315 
     | 
    
         
            +
            					s += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || ' ')+'</div>';
         
     | 
| 
      
 316 
     | 
    
         
            +
            				}
         
     | 
| 
      
 317 
     | 
    
         
            +
            				s += '<div class="ui-widget-content ui-dialog-content"></div>';
         
     | 
| 
      
 318 
     | 
    
         
            +
            				s += '</div>';
         
     | 
| 
      
 319 
     | 
    
         
            +
            			}
         
     | 
| 
      
 320 
     | 
    
         
            +
            			else if (full) {
         
     | 
| 
      
 321 
     | 
    
         
            +
            				s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage" style="z-index:'+(z+10)+';display:none;position:fixed"></div>';
         
     | 
| 
      
 322 
     | 
    
         
            +
            			}
         
     | 
| 
      
 323 
     | 
    
         
            +
            			else {
         
     | 
| 
      
 324 
     | 
    
         
            +
            				s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement" style="z-index:'+(z+10)+';display:none;position:absolute"></div>';
         
     | 
| 
      
 325 
     | 
    
         
            +
            			}
         
     | 
| 
      
 326 
     | 
    
         
            +
            			lyr3 = $(s);
         
     | 
| 
      
 327 
     | 
    
         
            +
             
     | 
| 
      
 328 
     | 
    
         
            +
            			// if we have a message, style it
         
     | 
| 
      
 329 
     | 
    
         
            +
            			if (msg) {
         
     | 
| 
      
 330 
     | 
    
         
            +
            				if (opts.theme) {
         
     | 
| 
      
 331 
     | 
    
         
            +
            					lyr3.css(themedCSS);
         
     | 
| 
      
 332 
     | 
    
         
            +
            					lyr3.addClass('ui-widget-content');
         
     | 
| 
      
 333 
     | 
    
         
            +
            				}
         
     | 
| 
      
 334 
     | 
    
         
            +
            				else
         
     | 
| 
      
 335 
     | 
    
         
            +
            					lyr3.css(css);
         
     | 
| 
      
 336 
     | 
    
         
            +
            			}
         
     | 
| 
      
 337 
     | 
    
         
            +
             
     | 
| 
      
 338 
     | 
    
         
            +
            			// style the overlay
         
     | 
| 
      
 339 
     | 
    
         
            +
            			if (!opts.theme /*&& (!opts.applyPlatformOpacityRules)*/)
         
     | 
| 
      
 340 
     | 
    
         
            +
            				lyr2.css(opts.overlayCSS);
         
     | 
| 
      
 341 
     | 
    
         
            +
            			lyr2.css('position', full ? 'fixed' : 'absolute');
         
     | 
| 
      
 342 
     | 
    
         
            +
             
     | 
| 
      
 343 
     | 
    
         
            +
            			// make iframe layer transparent in IE
         
     | 
| 
      
 344 
     | 
    
         
            +
            			if (msie || opts.forceIframe)
         
     | 
| 
      
 345 
     | 
    
         
            +
            				lyr1.css('opacity',0.0);
         
     | 
| 
      
 346 
     | 
    
         
            +
             
     | 
| 
      
 347 
     | 
    
         
            +
            			//$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);
         
     | 
| 
      
 348 
     | 
    
         
            +
            			var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el);
         
     | 
| 
      
 349 
     | 
    
         
            +
            			$.each(layers, function() {
         
     | 
| 
      
 350 
     | 
    
         
            +
            				this.appendTo($par);
         
     | 
| 
      
 351 
     | 
    
         
            +
            			});
         
     | 
| 
      
 352 
     | 
    
         
            +
             
     | 
| 
      
 353 
     | 
    
         
            +
            			if (opts.theme && opts.draggable && $.fn.draggable) {
         
     | 
| 
      
 354 
     | 
    
         
            +
            				lyr3.draggable({
         
     | 
| 
      
 355 
     | 
    
         
            +
            					handle: '.ui-dialog-titlebar',
         
     | 
| 
      
 356 
     | 
    
         
            +
            					cancel: 'li'
         
     | 
| 
      
 357 
     | 
    
         
            +
            				});
         
     | 
| 
      
 358 
     | 
    
         
            +
            			}
         
     | 
| 
      
 359 
     | 
    
         
            +
             
     | 
| 
      
 360 
     | 
    
         
            +
            			// ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)
         
     | 
| 
      
 361 
     | 
    
         
            +
            			var expr = setExpr && (!$.support.boxModel || $('object,embed', full ? null : el).length > 0);
         
     | 
| 
      
 362 
     | 
    
         
            +
            			if (ie6 || expr) {
         
     | 
| 
      
 363 
     | 
    
         
            +
            				// give body 100% height
         
     | 
| 
      
 364 
     | 
    
         
            +
            				if (full && opts.allowBodyStretch && $.support.boxModel)
         
     | 
| 
      
 365 
     | 
    
         
            +
            					$('html,body').css('height','100%');
         
     | 
| 
      
 366 
     | 
    
         
            +
             
     | 
| 
      
 367 
     | 
    
         
            +
            				// fix ie6 issue when blocked element has a border width
         
     | 
| 
      
 368 
     | 
    
         
            +
            				if ((ie6 || !$.support.boxModel) && !full) {
         
     | 
| 
      
 369 
     | 
    
         
            +
            					var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth');
         
     | 
| 
      
 370 
     | 
    
         
            +
            					var fixT = t ? '(0 - '+t+')' : 0;
         
     | 
| 
      
 371 
     | 
    
         
            +
            					var fixL = l ? '(0 - '+l+')' : 0;
         
     | 
| 
      
 372 
     | 
    
         
            +
            				}
         
     | 
| 
      
 373 
     | 
    
         
            +
             
     | 
| 
      
 374 
     | 
    
         
            +
            				// simulate fixed position
         
     | 
| 
      
 375 
     | 
    
         
            +
            				$.each(layers, function(i,o) {
         
     | 
| 
      
 376 
     | 
    
         
            +
            					var s = o[0].style;
         
     | 
| 
      
 377 
     | 
    
         
            +
            					s.position = 'absolute';
         
     | 
| 
      
 378 
     | 
    
         
            +
            					if (i < 2) {
         
     | 
| 
      
 379 
     | 
    
         
            +
            						if (full)
         
     | 
| 
      
 380 
     | 
    
         
            +
            							s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"');
         
     | 
| 
      
 381 
     | 
    
         
            +
            						else
         
     | 
| 
      
 382 
     | 
    
         
            +
            							s.setExpression('height','this.parentNode.offsetHeight + "px"');
         
     | 
| 
      
 383 
     | 
    
         
            +
            						if (full)
         
     | 
| 
      
 384 
     | 
    
         
            +
            							s.setExpression('width','jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"');
         
     | 
| 
      
 385 
     | 
    
         
            +
            						else
         
     | 
| 
      
 386 
     | 
    
         
            +
            							s.setExpression('width','this.parentNode.offsetWidth + "px"');
         
     | 
| 
      
 387 
     | 
    
         
            +
            						if (fixL) s.setExpression('left', fixL);
         
     | 
| 
      
 388 
     | 
    
         
            +
            						if (fixT) s.setExpression('top', fixT);
         
     | 
| 
      
 389 
     | 
    
         
            +
            					}
         
     | 
| 
      
 390 
     | 
    
         
            +
            					else if (opts.centerY) {
         
     | 
| 
      
 391 
     | 
    
         
            +
            						if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');
         
     | 
| 
      
 392 
     | 
    
         
            +
            						s.marginTop = 0;
         
     | 
| 
      
 393 
     | 
    
         
            +
            					}
         
     | 
| 
      
 394 
     | 
    
         
            +
            					else if (!opts.centerY && full) {
         
     | 
| 
      
 395 
     | 
    
         
            +
            						var top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0;
         
     | 
| 
      
 396 
     | 
    
         
            +
            						var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"';
         
     | 
| 
      
 397 
     | 
    
         
            +
            						s.setExpression('top',expression);
         
     | 
| 
      
 398 
     | 
    
         
            +
            					}
         
     | 
| 
      
 399 
     | 
    
         
            +
            				});
         
     | 
| 
      
 400 
     | 
    
         
            +
            			}
         
     | 
| 
      
 401 
     | 
    
         
            +
             
     | 
| 
      
 402 
     | 
    
         
            +
            			// show the message
         
     | 
| 
      
 403 
     | 
    
         
            +
            			if (msg) {
         
     | 
| 
      
 404 
     | 
    
         
            +
            				if (opts.theme)
         
     | 
| 
      
 405 
     | 
    
         
            +
            					lyr3.find('.ui-widget-content').append(msg);
         
     | 
| 
      
 406 
     | 
    
         
            +
            				else
         
     | 
| 
      
 407 
     | 
    
         
            +
            					lyr3.append(msg);
         
     | 
| 
      
 408 
     | 
    
         
            +
            				if (msg.jquery || msg.nodeType)
         
     | 
| 
      
 409 
     | 
    
         
            +
            					$(msg).show();
         
     | 
| 
      
 410 
     | 
    
         
            +
            			}
         
     | 
| 
      
 411 
     | 
    
         
            +
             
     | 
| 
      
 412 
     | 
    
         
            +
            			if ((msie || opts.forceIframe) && opts.showOverlay)
         
     | 
| 
      
 413 
     | 
    
         
            +
            				lyr1.show(); // opacity is zero
         
     | 
| 
      
 414 
     | 
    
         
            +
            			if (opts.fadeIn) {
         
     | 
| 
      
 415 
     | 
    
         
            +
            				var cb = opts.onBlock ? opts.onBlock : noOp;
         
     | 
| 
      
 416 
     | 
    
         
            +
            				var cb1 = (opts.showOverlay && !msg) ? cb : noOp;
         
     | 
| 
      
 417 
     | 
    
         
            +
            				var cb2 = msg ? cb : noOp;
         
     | 
| 
      
 418 
     | 
    
         
            +
            				if (opts.showOverlay)
         
     | 
| 
      
 419 
     | 
    
         
            +
            					lyr2._fadeIn(opts.fadeIn, cb1);
         
     | 
| 
      
 420 
     | 
    
         
            +
            				if (msg)
         
     | 
| 
      
 421 
     | 
    
         
            +
            					lyr3._fadeIn(opts.fadeIn, cb2);
         
     | 
| 
      
 422 
     | 
    
         
            +
            			}
         
     | 
| 
      
 423 
     | 
    
         
            +
            			else {
         
     | 
| 
      
 424 
     | 
    
         
            +
            				if (opts.showOverlay)
         
     | 
| 
      
 425 
     | 
    
         
            +
            					lyr2.show();
         
     | 
| 
      
 426 
     | 
    
         
            +
            				if (msg)
         
     | 
| 
      
 427 
     | 
    
         
            +
            					lyr3.show();
         
     | 
| 
      
 428 
     | 
    
         
            +
            				if (opts.onBlock)
         
     | 
| 
      
 429 
     | 
    
         
            +
            					opts.onBlock.bind(lyr3)();
         
     | 
| 
      
 430 
     | 
    
         
            +
            			}
         
     | 
| 
      
 431 
     | 
    
         
            +
             
     | 
| 
      
 432 
     | 
    
         
            +
            			// bind key and mouse events
         
     | 
| 
      
 433 
     | 
    
         
            +
            			bind(1, el, opts);
         
     | 
| 
      
 434 
     | 
    
         
            +
             
     | 
| 
      
 435 
     | 
    
         
            +
            			if (full) {
         
     | 
| 
      
 436 
     | 
    
         
            +
            				pageBlock = lyr3[0];
         
     | 
| 
      
 437 
     | 
    
         
            +
            				pageBlockEls = $(opts.focusableElements,pageBlock);
         
     | 
| 
      
 438 
     | 
    
         
            +
            				if (opts.focusInput)
         
     | 
| 
      
 439 
     | 
    
         
            +
            					setTimeout(focus, 20);
         
     | 
| 
      
 440 
     | 
    
         
            +
            			}
         
     | 
| 
      
 441 
     | 
    
         
            +
            			else
         
     | 
| 
      
 442 
     | 
    
         
            +
            				center(lyr3[0], opts.centerX, opts.centerY);
         
     | 
| 
      
 443 
     | 
    
         
            +
             
     | 
| 
      
 444 
     | 
    
         
            +
            			if (opts.timeout) {
         
     | 
| 
      
 445 
     | 
    
         
            +
            				// auto-unblock
         
     | 
| 
      
 446 
     | 
    
         
            +
            				var to = setTimeout(function() {
         
     | 
| 
      
 447 
     | 
    
         
            +
            					if (full)
         
     | 
| 
      
 448 
     | 
    
         
            +
            						$.unblockUI(opts);
         
     | 
| 
      
 449 
     | 
    
         
            +
            					else
         
     | 
| 
      
 450 
     | 
    
         
            +
            						$(el).unblock(opts);
         
     | 
| 
      
 451 
     | 
    
         
            +
            				}, opts.timeout);
         
     | 
| 
      
 452 
     | 
    
         
            +
            				$(el).data('blockUI.timeout', to);
         
     | 
| 
      
 453 
     | 
    
         
            +
            			}
         
     | 
| 
      
 454 
     | 
    
         
            +
            		}
         
     | 
| 
      
 455 
     | 
    
         
            +
             
     | 
| 
      
 456 
     | 
    
         
            +
            		// remove the block
         
     | 
| 
      
 457 
     | 
    
         
            +
            		function remove(el, opts) {
         
     | 
| 
      
 458 
     | 
    
         
            +
            			var count;
         
     | 
| 
      
 459 
     | 
    
         
            +
            			var full = (el == window);
         
     | 
| 
      
 460 
     | 
    
         
            +
            			var $el = $(el);
         
     | 
| 
      
 461 
     | 
    
         
            +
            			var data = $el.data('blockUI.history');
         
     | 
| 
      
 462 
     | 
    
         
            +
            			var to = $el.data('blockUI.timeout');
         
     | 
| 
      
 463 
     | 
    
         
            +
            			if (to) {
         
     | 
| 
      
 464 
     | 
    
         
            +
            				clearTimeout(to);
         
     | 
| 
      
 465 
     | 
    
         
            +
            				$el.removeData('blockUI.timeout');
         
     | 
| 
      
 466 
     | 
    
         
            +
            			}
         
     | 
| 
      
 467 
     | 
    
         
            +
            			opts = $.extend({}, $.blockUI.defaults, opts || {});
         
     | 
| 
      
 468 
     | 
    
         
            +
            			bind(0, el, opts); // unbind events
         
     | 
| 
      
 469 
     | 
    
         
            +
             
     | 
| 
      
 470 
     | 
    
         
            +
            			if (opts.onUnblock === null) {
         
     | 
| 
      
 471 
     | 
    
         
            +
            				opts.onUnblock = $el.data('blockUI.onUnblock');
         
     | 
| 
      
 472 
     | 
    
         
            +
            				$el.removeData('blockUI.onUnblock');
         
     | 
| 
      
 473 
     | 
    
         
            +
            			}
         
     | 
| 
      
 474 
     | 
    
         
            +
             
     | 
| 
      
 475 
     | 
    
         
            +
            			var els;
         
     | 
| 
      
 476 
     | 
    
         
            +
            			if (full) // crazy selector to handle odd field errors in ie6/7
         
     | 
| 
      
 477 
     | 
    
         
            +
            				els = $('body').children().filter('.blockUI').add('body > .blockUI');
         
     | 
| 
      
 478 
     | 
    
         
            +
            			else
         
     | 
| 
      
 479 
     | 
    
         
            +
            				els = $el.find('>.blockUI');
         
     | 
| 
      
 480 
     | 
    
         
            +
             
     | 
| 
      
 481 
     | 
    
         
            +
            			// fix cursor issue
         
     | 
| 
      
 482 
     | 
    
         
            +
            			if ( opts.cursorReset ) {
         
     | 
| 
      
 483 
     | 
    
         
            +
            				if ( els.length > 1 )
         
     | 
| 
      
 484 
     | 
    
         
            +
            					els[1].style.cursor = opts.cursorReset;
         
     | 
| 
      
 485 
     | 
    
         
            +
            				if ( els.length > 2 )
         
     | 
| 
      
 486 
     | 
    
         
            +
            					els[2].style.cursor = opts.cursorReset;
         
     | 
| 
      
 487 
     | 
    
         
            +
            			}
         
     | 
| 
      
 488 
     | 
    
         
            +
             
     | 
| 
      
 489 
     | 
    
         
            +
            			if (full)
         
     | 
| 
      
 490 
     | 
    
         
            +
            				pageBlock = pageBlockEls = null;
         
     | 
| 
      
 491 
     | 
    
         
            +
             
     | 
| 
      
 492 
     | 
    
         
            +
            			if (opts.fadeOut) {
         
     | 
| 
      
 493 
     | 
    
         
            +
            				count = els.length;
         
     | 
| 
      
 494 
     | 
    
         
            +
            				els.stop().fadeOut(opts.fadeOut, function() {
         
     | 
| 
      
 495 
     | 
    
         
            +
            					if ( --count === 0)
         
     | 
| 
      
 496 
     | 
    
         
            +
            						reset(els,data,opts,el);
         
     | 
| 
      
 497 
     | 
    
         
            +
            				});
         
     | 
| 
      
 498 
     | 
    
         
            +
            			}
         
     | 
| 
      
 499 
     | 
    
         
            +
            			else
         
     | 
| 
      
 500 
     | 
    
         
            +
            				reset(els, data, opts, el);
         
     | 
| 
      
 501 
     | 
    
         
            +
            		}
         
     | 
| 
      
 502 
     | 
    
         
            +
             
     | 
| 
      
 503 
     | 
    
         
            +
            		// move blocking element back into the DOM where it started
         
     | 
| 
      
 504 
     | 
    
         
            +
            		function reset(els,data,opts,el) {
         
     | 
| 
      
 505 
     | 
    
         
            +
            			var $el = $(el);
         
     | 
| 
      
 506 
     | 
    
         
            +
            			if ( $el.data('blockUI.isBlocked') )
         
     | 
| 
      
 507 
     | 
    
         
            +
            				return;
         
     | 
| 
      
 508 
     | 
    
         
            +
             
     | 
| 
      
 509 
     | 
    
         
            +
            			els.each(function(i,o) {
         
     | 
| 
      
 510 
     | 
    
         
            +
            				// remove via DOM calls so we don't lose event handlers
         
     | 
| 
      
 511 
     | 
    
         
            +
            				if (this.parentNode)
         
     | 
| 
      
 512 
     | 
    
         
            +
            					this.parentNode.removeChild(this);
         
     | 
| 
      
 513 
     | 
    
         
            +
            			});
         
     | 
| 
      
 514 
     | 
    
         
            +
             
     | 
| 
      
 515 
     | 
    
         
            +
            			if (data && data.el) {
         
     | 
| 
      
 516 
     | 
    
         
            +
            				data.el.style.display = data.display;
         
     | 
| 
      
 517 
     | 
    
         
            +
            				data.el.style.position = data.position;
         
     | 
| 
      
 518 
     | 
    
         
            +
            				data.el.style.cursor = 'default'; // #59
         
     | 
| 
      
 519 
     | 
    
         
            +
            				if (data.parent)
         
     | 
| 
      
 520 
     | 
    
         
            +
            					data.parent.appendChild(data.el);
         
     | 
| 
      
 521 
     | 
    
         
            +
            				$el.removeData('blockUI.history');
         
     | 
| 
      
 522 
     | 
    
         
            +
            			}
         
     | 
| 
      
 523 
     | 
    
         
            +
             
     | 
| 
      
 524 
     | 
    
         
            +
            			if ($el.data('blockUI.static')) {
         
     | 
| 
      
 525 
     | 
    
         
            +
            				$el.css('position', 'static'); // #22
         
     | 
| 
      
 526 
     | 
    
         
            +
            			}
         
     | 
| 
      
 527 
     | 
    
         
            +
             
     | 
| 
      
 528 
     | 
    
         
            +
            			if (typeof opts.onUnblock == 'function')
         
     | 
| 
      
 529 
     | 
    
         
            +
            				opts.onUnblock(el,opts);
         
     | 
| 
      
 530 
     | 
    
         
            +
             
     | 
| 
      
 531 
     | 
    
         
            +
            			// fix issue in Safari 6 where block artifacts remain until reflow
         
     | 
| 
      
 532 
     | 
    
         
            +
            			var body = $(document.body), w = body.width(), cssW = body[0].style.width;
         
     | 
| 
      
 533 
     | 
    
         
            +
            			body.width(w-1).width(w);
         
     | 
| 
      
 534 
     | 
    
         
            +
            			body[0].style.width = cssW;
         
     | 
| 
      
 535 
     | 
    
         
            +
            		}
         
     | 
| 
      
 536 
     | 
    
         
            +
             
     | 
| 
      
 537 
     | 
    
         
            +
            		// bind/unbind the handler
         
     | 
| 
      
 538 
     | 
    
         
            +
            		function bind(b, el, opts) {
         
     | 
| 
      
 539 
     | 
    
         
            +
            			var full = el == window, $el = $(el);
         
     | 
| 
      
 540 
     | 
    
         
            +
             
     | 
| 
      
 541 
     | 
    
         
            +
            			// don't bother unbinding if there is nothing to unbind
         
     | 
| 
      
 542 
     | 
    
         
            +
            			if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))
         
     | 
| 
      
 543 
     | 
    
         
            +
            				return;
         
     | 
| 
      
 544 
     | 
    
         
            +
             
     | 
| 
      
 545 
     | 
    
         
            +
            			$el.data('blockUI.isBlocked', b);
         
     | 
| 
      
 546 
     | 
    
         
            +
             
     | 
| 
      
 547 
     | 
    
         
            +
            			// don't bind events when overlay is not in use or if bindEvents is false
         
     | 
| 
      
 548 
     | 
    
         
            +
            			if (!full || !opts.bindEvents || (b && !opts.showOverlay))
         
     | 
| 
      
 549 
     | 
    
         
            +
            				return;
         
     | 
| 
      
 550 
     | 
    
         
            +
             
     | 
| 
      
 551 
     | 
    
         
            +
            			// bind anchors and inputs for mouse and key events
         
     | 
| 
      
 552 
     | 
    
         
            +
            			var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove';
         
     | 
| 
      
 553 
     | 
    
         
            +
            			if (b)
         
     | 
| 
      
 554 
     | 
    
         
            +
            				$(document).bind(events, opts, handler);
         
     | 
| 
      
 555 
     | 
    
         
            +
            			else
         
     | 
| 
      
 556 
     | 
    
         
            +
            				$(document).unbind(events, handler);
         
     | 
| 
      
 557 
     | 
    
         
            +
             
     | 
| 
      
 558 
     | 
    
         
            +
            		// former impl...
         
     | 
| 
      
 559 
     | 
    
         
            +
            		//		var $e = $('a,:input');
         
     | 
| 
      
 560 
     | 
    
         
            +
            		//		b ? $e.bind(events, opts, handler) : $e.unbind(events, handler);
         
     | 
| 
      
 561 
     | 
    
         
            +
            		}
         
     | 
| 
      
 562 
     | 
    
         
            +
             
     | 
| 
      
 563 
     | 
    
         
            +
            		// event handler to suppress keyboard/mouse events when blocking
         
     | 
| 
      
 564 
     | 
    
         
            +
            		function handler(e) {
         
     | 
| 
      
 565 
     | 
    
         
            +
            			// allow tab navigation (conditionally)
         
     | 
| 
      
 566 
     | 
    
         
            +
            			if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) {
         
     | 
| 
      
 567 
     | 
    
         
            +
            				if (pageBlock && e.data.constrainTabKey) {
         
     | 
| 
      
 568 
     | 
    
         
            +
            					var els = pageBlockEls;
         
     | 
| 
      
 569 
     | 
    
         
            +
            					var fwd = !e.shiftKey && e.target === els[els.length-1];
         
     | 
| 
      
 570 
     | 
    
         
            +
            					var back = e.shiftKey && e.target === els[0];
         
     | 
| 
      
 571 
     | 
    
         
            +
            					if (fwd || back) {
         
     | 
| 
      
 572 
     | 
    
         
            +
            						setTimeout(function(){focus(back);},10);
         
     | 
| 
      
 573 
     | 
    
         
            +
            						return false;
         
     | 
| 
      
 574 
     | 
    
         
            +
            					}
         
     | 
| 
      
 575 
     | 
    
         
            +
            				}
         
     | 
| 
      
 576 
     | 
    
         
            +
            			}
         
     | 
| 
      
 577 
     | 
    
         
            +
            			var opts = e.data;
         
     | 
| 
      
 578 
     | 
    
         
            +
            			var target = $(e.target);
         
     | 
| 
      
 579 
     | 
    
         
            +
            			if (target.hasClass('blockOverlay') && opts.onOverlayClick)
         
     | 
| 
      
 580 
     | 
    
         
            +
            				opts.onOverlayClick(e);
         
     | 
| 
      
 581 
     | 
    
         
            +
             
     | 
| 
      
 582 
     | 
    
         
            +
            			// allow events within the message content
         
     | 
| 
      
 583 
     | 
    
         
            +
            			if (target.parents('div.' + opts.blockMsgClass).length > 0)
         
     | 
| 
      
 584 
     | 
    
         
            +
            				return true;
         
     | 
| 
      
 585 
     | 
    
         
            +
             
     | 
| 
      
 586 
     | 
    
         
            +
            			// allow events for content that is not being blocked
         
     | 
| 
      
 587 
     | 
    
         
            +
            			return target.parents().children().filter('div.blockUI').length === 0;
         
     | 
| 
      
 588 
     | 
    
         
            +
            		}
         
     | 
| 
      
 589 
     | 
    
         
            +
             
     | 
| 
      
 590 
     | 
    
         
            +
            		function focus(back) {
         
     | 
| 
      
 591 
     | 
    
         
            +
            			if (!pageBlockEls)
         
     | 
| 
      
 592 
     | 
    
         
            +
            				return;
         
     | 
| 
      
 593 
     | 
    
         
            +
            			var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0];
         
     | 
| 
      
 594 
     | 
    
         
            +
            			if (e)
         
     | 
| 
      
 595 
     | 
    
         
            +
            				e.focus();
         
     | 
| 
      
 596 
     | 
    
         
            +
            		}
         
     | 
| 
      
 597 
     | 
    
         
            +
             
     | 
| 
      
 598 
     | 
    
         
            +
            		function center(el, x, y) {
         
     | 
| 
      
 599 
     | 
    
         
            +
            			var p = el.parentNode, s = el.style;
         
     | 
| 
      
 600 
     | 
    
         
            +
            			var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth');
         
     | 
| 
      
 601 
     | 
    
         
            +
            			var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth');
         
     | 
| 
      
 602 
     | 
    
         
            +
            			if (x) s.left = l > 0 ? (l+'px') : '0';
         
     | 
| 
      
 603 
     | 
    
         
            +
            			if (y) s.top  = t > 0 ? (t+'px') : '0';
         
     | 
| 
      
 604 
     | 
    
         
            +
            		}
         
     | 
| 
      
 605 
     | 
    
         
            +
             
     | 
| 
      
 606 
     | 
    
         
            +
            		function sz(el, p) {
         
     | 
| 
      
 607 
     | 
    
         
            +
            			return parseInt($.css(el,p),10)||0;
         
     | 
| 
      
 608 
     | 
    
         
            +
            		}
         
     | 
| 
      
 609 
     | 
    
         
            +
             
     | 
| 
      
 610 
     | 
    
         
            +
            	}
         
     | 
| 
      
 611 
     | 
    
         
            +
             
     | 
| 
      
 612 
     | 
    
         
            +
             
     | 
| 
      
 613 
     | 
    
         
            +
            	/*global define:true */
         
     | 
| 
      
 614 
     | 
    
         
            +
            	if (typeof define === 'function' && define.amd && define.amd.jQuery) {
         
     | 
| 
      
 615 
     | 
    
         
            +
            		define(['jquery'], setup);
         
     | 
| 
      
 616 
     | 
    
         
            +
            	} else {
         
     | 
| 
      
 617 
     | 
    
         
            +
            		setup(jQuery);
         
     | 
| 
      
 618 
     | 
    
         
            +
            	}
         
     | 
| 
      
 619 
     | 
    
         
            +
             
     | 
| 
      
 620 
     | 
    
         
            +
            })();
         
     |