(function($){$.tools=$.tools||{version:'@VERSION'};$.tools.overlay={addEffect:function(name,loadFn,closeFn){effects[name]=[loadFn,closeFn];},conf:{close:null,closeOnClick:true,closeOnEsc:true,closeSpeed:'fast',effect:'default',fixed:'fixed',left:'center',load:false,mask:null,oneInstance:true,speed:'normal',target:null,top:'10%',noscroll:false,keepMask:false}};var instances=[],effects={};$.tools.overlay.addEffect('default',function(pos,onLoad){var conf=this.getConf(),w=$(window);if(!conf.fixed&&!conf.noscroll){pos.top+=w.scrollTop();pos.left+=w.scrollLeft();} pos.position=conf.fixed?'fixed':'absolute';this.getOverlay().css(pos).fadeIn(conf.speed,onLoad);},function(onClose){this.getOverlay().fadeOut(this.getConf().closeSpeed,onClose);});function Overlay(trigger,conf){var self=this,fire=trigger.add(self),w=$(window),closers,overlay,opened,initConf=$.extend({},conf),maskConf=$.tools.expose&&(conf.mask||conf.expose),uid=Math.random().toString().slice(10);if(maskConf){if(typeof maskConf=='string'){maskConf={color:maskConf};} maskConf.closeOnClick=maskConf.closeOnEsc=false;} var jq=conf.target||trigger.attr("rel");overlay=jq?$(jq):null||trigger;if(!overlay.length){throw"Could not find Overlay: "+jq;} if(trigger&&trigger.index(overlay)==-1){trigger.click(function(e){self.load(e);return e.preventDefault();});} $.extend(self,{load:function(e){var $overlastWrap;if(self.isOpened()){return self;} var eff=effects[conf.effect];if(!eff){throw"Overlay: cannot find effect : \""+conf.effect+"\"";} if(conf.oneInstance){$.each(instances,function(){this.close(e);});} e=e||$.Event();e.type="onBeforeLoad";fire.trigger(e);if(e.isDefaultPrevented()){return self;} opened=true;if(maskConf){$(overlay).expose(maskConf);if(conf.noscroll){$('body').addClass('body__noscroll');var $overlayMask=$('
');$(overlay).wrap($overlayMask);$overlastWrap=$('#overlay-wrap');$overlastWrap.css({position:'fixed',left:0,top:0,width:'100%',height:'100%',overflow:'auto','z-index':'9999'});$(overlay).css({'margin-bottom':'50px'});w=$overlastWrap;if(conf.closeOnClick){$overlastWrap.on('click',function(e){if(!$(e.target).closest(overlay).length){conf.keepMask=false;self.close(e);}});}}} var top=conf.top,left=conf.left,oWidth=overlay.outerWidth({margin:true}),oHeight=overlay.outerHeight({margin:true});if(typeof top=='string'){top=top=='center'?Math.max((w.height()-oHeight)/2,0):parseInt(top,10)/100*w.height();} if(left=='center'){left=Math.max((w.width()-oWidth)/2,0);} eff[0].call(self,{top:top,left:left},function(){if(opened){e.type="onLoad";fire.trigger(e);}});if(maskConf&&conf.closeOnClick){$.mask.getMask().one("click",self.close);} if(conf.closeOnClick){$(document).on("click."+uid,function(e){if(!$(e.target).parents(overlay).length){conf.keepMask=false;self.close(e);}});} if(conf.closeOnEsc){$(document).on("keydown."+uid,function(e){if(e.keyCode==27){conf.keepMask=false;self.close(e);}});} return self;},close:function(e){if(!self.isOpened()){return self;} e=e||$.Event();e.type="onBeforeClose";fire.trigger(e);if(e.isDefaultPrevented()){return;} opened=false;effects[conf.effect][1].call(self,function(){e.type="onClose";fire.trigger(e);});$(document).off("click."+uid+" keydown."+uid);if(maskConf){if(!conf.keepMask){$.mask.close();} if(conf.noscroll){$('body').removeClass('body__noscroll');$(overlay).unwrap();}} conf=$.extend({},initConf);return self;},getOverlay:function(){return overlay;},getTrigger:function(){return trigger;},getClosers:function(){return closers;},isOpened:function(){return opened;},getConf:function(){return conf;}});$.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","),function(i,name){if($.isFunction(conf[name])){$(self).on(name,conf[name]);} self[name]=function(fn){if(fn){$(self).on(name,fn);} return self;};});closers=overlay.find(conf.close||".close");if(!closers.length&&!conf.close){closers=$('');overlay.prepend(closers);} closers.click(function(e){conf.keepMask=false;self.close(e);});if(conf.load){self.load();}} $.fn.overlay=function(conf){var el=this.data("overlay");if(el){return el;} if($.isFunction(conf)){conf={onBeforeLoad:conf};} conf=$.extend(true,{},$.tools.overlay.conf,conf);this.each(function(){el=new Overlay($(this),conf);instances.push(el);$(this).data("overlay",el);});return conf.api?el:this;};})(jQuery);(function(h){function k(d){var e=d.offset();return{top:e.top+d.height()/2,left:e.left+d.width()/2}}var l=h.tools.overlay,f=h(window);h.extend(l.conf,{start:{top:null,left:null},fadeInSpeed:"fast",zIndex:9999});function o(d,e){var a=this.getOverlay(),c=this.getConf(),g=this.getTrigger(),p=this,m=a.outerWidth({margin:true}),b=a.data("img"),n=c.fixed?"fixed":"absolute";if(!b){b=a.css("backgroundImage");if(!b)throw"background-image CSS property not set for overlay";b=b.slice(b.indexOf("(")+1,b.indexOf(")")).replace(/\"/g,"");a.css("backgroundImage","none");b=h('');b.css({border:0,display:"none"}).width(m);h("body").append(b);a.data("img",b)}var i=c.start.top||Math.round(f.height()/2),j=c.start.left||Math.round(f.width()/2);if(g){g=k(g);i=g.top;j=g.left}if(c.fixed){i-=f.scrollTop();j-=f.scrollLeft()}else{d.top+=f.scrollTop();d.left+=f.scrollLeft()}b.css({position:"absolute",top:i,left:j,width:0,zIndex:c.zIndex}).show();d.position=n;a.css(d);b.animate({top:a.css("top"),left:a.css("left"),width:m},c.speed,function(){a.css("zIndex",c.zIndex+1).fadeIn(c.fadeInSpeed,function(){p.isOpened()&&!h(this).index(a)?e.call():a.hide()})}).css("position",n)}function q(d){var e=this.getOverlay().hide(),a=this.getConf(),c=this.getTrigger();e=e.data("img");var g={top:a.start.top,left:a.start.left,width:0};c&&h.extend(g,k(c));a.fixed&&e.css({position:"absolute"}).animate({top:"+="+f.scrollTop(),left:"+="+f.scrollLeft()},0);e.animate(g,a.closeSpeed,d)}l.addEffect("apple",o,q)})(jQuery);(function(b){function k(){return[b(document).width(),b(document).height()]}function h(a){if(a)return a.call(b.mask)}b.tools=b.tools||{version:"1.2.5"};var l;l=b.tools.expose={conf:{maskId:"exposeMask",loadSpeed:"slow",closeSpeed:"fast",closeOnClick:true,closeOnEsc:true,zIndex:9998,opacity:0.8,startOpacity:0,color:"#fff",onLoad:null,onClose:null}};var c,i,e,g,j;b.mask={load:function(a,d){if(e)return this;if(typeof a=="string")a={color:a};a=a||g;g=a=b.extend(b.extend({},l.conf),a);c=b("#"+a.maskId);if(!c.length){c=b("").attr("id",a.maskId);b("body").append(c)}var m=k();c.css({position:"absolute",top:0,left:0,width:m[0],height:m[1],display:"none",opacity:a.startOpacity,zIndex:a.zIndex});a.color&&c.css("backgroundColor",a.color);if(h(a.onBeforeLoad)===false)return this;a.closeOnEsc&&b(document).bind("keydown.mask",function(f){f.keyCode==27&&b.mask.close(f)});a.closeOnClick&&c.bind("click.mask",function(f){b.mask.close(f)});b(window).bind("resize.mask",function(){b.mask.fit()});if(d&&d.length){j=d.eq(0).css("zIndex");b.each(d,function(){var f=b(this);/relative|absolute|fixed/i.test(f.css("position"))||f.css("position","relative")});i=d.css({zIndex:Math.max(a.zIndex+1,j=="auto"?0:j)})}c.css({display:"block"}).fadeTo(a.loadSpeed,a.opacity,function(){b.mask.fit();h(a.onLoad);e="full"});e=true;return this},close:function(){if(e){if(h(g.onBeforeClose)===false)return this;c.fadeOut(g.closeSpeed,function(){h(g.onClose);i&&i.css({zIndex:j});e=false});b(document).unbind("keydown.mask");c.unbind("click.mask");b(window).unbind("resize.mask")}return this},fit:function(){if(e){var a=k();c.css({width:a[0],height:a[1]})}},getMask:function(){return c},isLoaded:function(a){return a?e=="full":e},getConf:function(){return g},getExposed:function(){return i}};b.fn.mask=function(a){b.mask.load(a);return this};b.fn.expose=function(a){b.mask.load(a,this);return this}})(jQuery);