(function(h){h.tools=h.tools||{};h.tools.overlay={version:"1.1.2",addEffect:function(c,b,a){e[c]=[b,a]},conf:{top:"10%",left:"center",absolute:false,speed:"normal",closeSpeed:"fast",effect:"default",close:null,oneInstance:true,closeOnClick:true,closeOnEsc:true,api:false,expose:null,target:null}};var e={};h.tools.overlay.addEffect("default",function(a){this.getOverlay().fadeIn(this.getConf().speed,a)},function(a){this.getOverlay().fadeOut(this.getConf().closeSpeed,a)});var g=[];function f(t,p){var a=this,c=h(this),b=h(window),q,r,s,v=p.expose&&h.tools.expose.version;var u=p.target||t.attr("rel");r=u?h(u):null||t;if(!r.length){throw"Could not find Overlay: "+u}if(t&&t.index(r)==-1){t.click(function(j){a.load(j);return j.preventDefault()})}h.each(p,function(k,j){if(h.isFunction(j)){c.bind(k,j)}});h.extend(a,{load:function(j){if(a.isOpened()){return a}var m=e[p.effect];if(!m){throw'Overlay: cannot find effect : "'+p.effect+'"'}if(p.oneInstance){h.each(g,function(){this.close(j)})}j=j||h.Event();j.type="onBeforeLoad";c.trigger(j);if(j.isDefaultPrevented()){return a}s=true;if(v){r.expose().load(j)}var k=p.top;var l=p.left;var o=r.outerWidth({margin:true});var n=r.outerHeight({margin:true});if(typeof k=="string"){k=k=="center"?Math.max((b.height()-n)/2,0):parseInt(k,10)/100*b.height()}if(l=="center"){l=Math.max((b.width()-o)/2,0)}if(!p.absolute){k+=b.scrollTop();l+=b.scrollLeft()}r.css({top:k,left:l,position:"absolute"});j.type="onStart";c.trigger(j);m[0].call(a,function(){if(s){j.type="onLoad";c.trigger(j)}});if(p.closeOnClick){h(document).bind("click.overlay",function(x){if(!a.isOpened()){return}var y=h(x.target);if(y.parents(r).length>1){return}h.each(g,function(){this.close(x)})})}if(p.closeOnEsc){h(document).unbind("keydown.overlay").bind("keydown.overlay",function(w){if(w.keyCode==27){h.each(g,function(){this.close(w)})}})}return a},close:function(j){if(!a.isOpened()){return a}j=j||h.Event();j.type="onBeforeClose";c.trigger(j);if(j.isDefaultPrevented()){return}s=false;e[p.effect][1].call(a,function(){j.type="onClose";c.trigger(j)});var k=true;h.each(g,function(){if(this.isOpened()){k=false}});if(k){h(document).unbind("click.overlay").unbind("keydown.overlay")}return a},getContent:function(){return r},getOverlay:function(){return r},getTrigger:function(){return t},getClosers:function(){return q},isOpened:function(){return s},getConf:function(){return p},bind:function(k,j){c.bind(k,j);return a},unbind:function(j){c.unbind(j);return a}});h.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","),function(k,j){a[j]=function(l){return a.bind(j,l)}});if(v){if(typeof p.expose=="string"){p.expose={color:p.expose}}h.extend(p.expose,{api:true,closeOnClick:p.closeOnClick,closeOnEsc:false});var d=r.expose(p.expose);d.onBeforeClose(function(j){a.close(j)});a.onClose(function(j){d.close(j)})}q=r.find(p.close||".close");if(!q.length&&!p.close){q=h('<div class="close"></div>');r.prepend(q)}q.click(function(j){a.close(j)})}h.fn.overlay=function(c){var b=this.eq(typeof c=="number"?c:0).data("overlay");if(b){return b}if(h.isFunction(c)){c={onBeforeLoad:c}}var a=h.extend({},h.tools.overlay.conf);c=h.extend(true,a,c);this.each(function(){b=new f(h(this),c);g.push(b);h(this).data("overlay",b)});return c.api?b:this}})(jQuery);(function(c){var d=c.tools.overlay;d.plugins=d.plugins||{};d.plugins.gallery={version:"1.0.0",conf:{imgId:"img",next:".next",prev:".prev",info:".info",progress:".progress",disabledClass:"disabled",activeClass:"active",opacity:0.8,speed:"slow",template:"<strong>${title}</strong> <span>Image ${index} of ${total}</span>",autohide:true,preload:true,api:false}};c.fn.gallery=function(E){var u=c.extend({},d.plugins.gallery.conf),w;c.extend(u,E);w=this.overlay();var a=this,z=w.getOverlay(),y=z.find(u.next),B=z.find(u.prev),D=z.find(u.info),F=z.find(u.progress),A=B.add(y).add(D).css({opacity:u.opacity}),G=w.getClosers(),x;function t(f){F.fadeIn();A.hide();G.hide();var g=f.attr("href");var e=new Image();e.onload=function(){F.fadeOut();var n=c("#"+u.imgId,z);if(!n.length){n=c("<img/>").attr("id",u.imgId).css("visibility","hidden");z.prepend(n)}n.attr("src",g).css("visibility","hidden");var l=e.width;var j=(c(window).width()-l)/2;x=a.index(a.filter("[href="+g+"]"));a.removeClass(u.activeClass).eq(x).addClass(u.activeClass);var k=u.disabledClass;A.removeClass(k);if(x===0){B.addClass(k)}if(x==a.length-1){y.addClass(k)}var m=u.template.replace("${title}",f.attr("title")||f.data("title")).replace("${index}",x+1).replace("${total}",a.length);var h=parseInt(D.css("paddingLeft"),10)+parseInt(D.css("paddingRight"),10);D.html(m).css({width:l-h});z.animate({width:l,height:e.height,left:j},u.speed,function(){n.hide().css("visibility","visible").fadeIn(function(){if(!u.autohide){A.fadeIn();G.show()}})})};e.onerror=function(){z.fadeIn().html("Cannot find image "+g)};e.src=g;if(u.preload){a.filter(":eq("+(x-1)+"), :eq("+(x+1)+")").each(function(){var h=new Image();h.src=c(this).attr("href")})}}function C(f,e){f.click(function(){if(f.hasClass(u.disabledClass)){return}var g=a.eq(i=x+(e?1:-1));if(g.length){t(g)}})}C(y,true);C(B);c(document).keydown(function(f){if(!z.is(":visible")||f.altKey||f.ctrlKey){return}if(f.keyCode==37||f.keyCode==39){var e=f.keyCode==37?B:y;e.click();return f.preventDefault()}return true});function b(){if(!z.is(":animated")){A.show();G.show()}}if(u.autohide){z.hover(b,function(){A.fadeOut();G.hide()}).mousemove(b)}var v;this.each(function(){var e=c(this),f=c(this).overlay(),g=f;f.onBeforeLoad(function(){t(e)});f.onClose(function(){a.removeClass(u.activeClass)})});return u.api?v:this}})(jQuery);
