;(function(b){function p(a,c){var d=this,h=a.add(d),q=b(window),e,f,m,g=b.tools.expose&&(c.mask||c.expose),n=Math.random().toString().slice(10);g&&("string"==typeof g&&(g={color:g}),g.closeOnClick=g.closeOnEsc=!1);var k=c.target||a.attr("rel");f=k?b(k):a;if(!f.length)throw"Could not find Overlay: "+k;a&&-1==a.index(f)&&a.click(function(b){d.load(b);return b.preventDefault()});b.extend(d,{load:function(a){if(d.isOpened())return d;var s=r[c.effect];if(!s)throw'Overlay: cannot find effect : "'+c.effect+'"';c.oneInstance&&b.each(t,function(){this.close(a)});a=a||b.Event();a.type="onBeforeLoad";h.trigger(a);if(a.isDefaultPrevented())return d;m=!0;g&&b(f).expose(g);var l=c.top,e=c.left,k=f.outerWidth({margin:!0}),p=f.outerHeight({margin:!0});"string"==typeof l&&(l="center"==l?Math.max((q.height()-p)/2,0):parseInt(l,10)/100*q.height());"center"==e&&(e=Math.max((q.width()-k)/2,0));s[0].call(d,{top:l,left:e},function(){m&&(a.type="onLoad",h.trigger(a))});if(g&&c.closeOnClick)b.mask.getMask().one("click",d.close);if(c.closeOnClick)b(document).on("click."+n,function(a){b(a.target).parents(f).length||d.close(a)});if(c.closeOnEsc)b(document).on("keydown."+n,function(a){27==a.keyCode&&d.close(a)});return d},close:function(a){if(!d.isOpened())return d;a=a||b.Event();a.type="onBeforeClose";h.trigger(a);if(!a.isDefaultPrevented())return m=!1,r[c.effect][1].call(d,function(){a.type="onClose";h.trigger(a)}),b(document).off("click."+n+" keydown."+n),g&&b.mask.close(),d},getOverlay:function(){return f},getTrigger:function(){return a},getClosers:function(){return e},isOpened:function(){return m},getConf:function(){return c}});b.each(["onBeforeLoad","onStart","onLoad","onBeforeClose","onClose"],function(a,e){if(b.isFunction(c[e]))b(d).on(e,c[e]);d[e]=function(a){if(a)b(d).on(e,a);return d}});e=f.find(c.close||".close");e.length||c.close||(e=b('\x3ca class\x3d"close"\x3e\x3c/a\x3e'),f.prepend(e));e.click(function(a){d.close(a)});c.load&&d.load()}b.tools=b.tools||{version:"@VERSION"};b.tools.overlay={addEffect:function(a,b,d){r[a]=[b,d]},conf:{close:null,closeOnClick:!0,closeOnEsc:!0,closeSpeed:"fast",effect:"default",fixed:!b.browser.msie||6