(function(){/*
 boxplus: a versatile lightweight pop-up window engine for MooTools
 @author  Levente Hunyadi
 @version 0.9.2
 @remarks Copyright (C) 2009-2011 Levente Hunyadi
 @remarks Licensed under GNU/GPLv3, see http://www.gnu.org/licenses/gpl-3.0.html
 @see     http://hunyadi.info.hu/projects/boxplus
*/
var l=null;
(function(n){function q(a){var b={};a.length>1&&a.substr(1).split("&").each(function(a){var c=a.indexOf("=");b[unescape(c>=0?a.substr(0,c):a)]=unescape(c>=0?a.substr(c+1):"")});return b}function p(a){a.retrieve("boxplus-href")||(a.store("boxplus-href",a.get("href")),a.set("href","javascript:void(0);"))}function r(a){var b=a.retrieve("boxplus-href");b&&(a.set("href",b),a.eliminate("boxplus-href"))}var s=new Class({Implements:[Events,Options],options:{theme:!1,autocenter:!0,autofit:!0,duration:"long",transition:"sine",
contextmenu:!0,scrollspeed:200,scrollfactor:5,width:800,height:600},M:"",i:l,u:l,v:l,K:0,initialize:function(a){function b(a,b){var c=new Element("div",{"class":typeof a=="string"?"boxplus-"+a:a.map(function(a){return"boxplus-"+a}).join(" ")});b&&c.set(b);for(var d=2;d<arguments.length;d++)c.adopt(arguments[d]);return c}function e(a){return new Element("span",{"class":"boxplus-"+a})}function c(a,b,c){c||(c="click");d.g(a).addEvent(c,b.bind(d))}this.setOptions(a);var d=this;d.w();a=b("thumbs",{},new Element("ul"),
b("rewind"),b("forward"));var g=b("caption",{},b("title"),b("text")),f=b("controls",{},b("prev"),b("next"),b("start"),b(["stop","unavailable"]),b("close"),b("download"),b("metadata"));d.oa=b([],{id:"boxplus"},d.A=b(["background","hidden"]).addEvent("click",function(){d.close()}),d.c=b(["dialog","hidden"],{},b("progress"),b("sideways",{},a.clone(),f.clone(),g.clone()),b("title"),b("main",{},d.Z=b("center",{},d.B=b(["viewer","hidden"],{},d.t=new Element("img"),b("prev"),b("next"),b("resizer",{},b("enlarge").addEvent("click",
function(){d.P()}),b(["shrink","unavailable"]).addEvent("click",function(){d.P()})),d.Ea=a.clone(),d.q=new Element("iframe",{frameborder:0}),d.m=new Element("video",{autoplay:!0,controls:!0}),d.l=b("object"),d.d=b("content"),b("progress"))),b("bottom",{},a.clone(),f.clone(),g.clone())),b("lt"),b("t"),b("rt"),b("l"),b(["m","hidden"]),b("r"),b("lb"),b("b"),b("rb")),d.p=b(["dialog","hidden"],{},d.ha=b("sideways",{},a.clone(),g.clone(),f.clone()),b("title"),b("main",{},d.Ga=b("center",{},d.C=b(["viewer",
"hidden"],{},d.ka=new Element("div"))),d.ma=b("bottom",{},a.clone(),g.clone(),f.clone()))),e("unknown-type"),e("not-found")).inject(document.body);d.T=function(a){return d.options.Ha||!d.B.getElements("*").contains(a.target)};d.U=function(a){if(!["input","textarea"].contains(n(a.target).get("tag"))&&(a=[27,37,39,36,35,13].indexOf(a.code),a>=0))return[d.close,d.ca,d.next,d.qa,d.ta,d.P][a].bind(d)(),!1};var h;d.V=function(){window.clearTimeout(h);d.da||(h=window.setTimeout(function(){d.z.bind(d)()},
10))};c("prev",d.ca);c("next",d.next);c("start",d.start);c("stop",d.stop);c("close",d.close);c("download",d.pa);c("metadata",d.Fa);c("rewind",d.Da,"mouseover");c("rewind",d.ia,"mouseout");c("rewind",d.Y,"mousedown");c("rewind",d.w,"mouseup");c("forward",d.Ca,"mouseover");c("forward",d.ia,"mouseout");c("forward",d.Y,"mousedown");c("forward",d.w,"mouseup");d.k()},D:function(a){return typeof a=="string"?".boxplus-"+a:a.map(function(a){return".boxplus-"+a}).join(" ")},S:function(a){return this.c.getElement(this.D(a))},
g:function(a){return this.c.getElements(this.D(a))},F:function(a){return this.p.getElements(this.D(a))},o:function(a,b,e){this.g(a)[e?"addClass":"removeClass"](b)},L:function(a,b,e){this.F(a)[e?"addClass":"removeClass"](b)},b:function(a,b){this.o(a,"boxplus-unavailable",!b)},s:function(a,b){this.o(a,"boxplus-unavailable",!b);this.L(a,"boxplus-unavailable",!b)},xa:function(a,b){this.o(a,"boxplus-disabled",!b)},j:function(a,b){this.o(a,"boxplus-disabled",!b);this.L(a,"boxplus-disabled",!b)},a:function(a,
b){this.o(a,"boxplus-hidden",!b)},Ia:function(a,b){this.o(a,"boxplus-hidden",!b);this.L(a,"boxplus-hidden",!b)},R:function(a,b){for(var e in a)window[b?"addEvent":"removeEvent"](e,a[e])},h:function(a,b){this.fireEvent(a,b)},aa:function(a){return this.oa.getElement(".boxplus-"+a).get("html")},show:function(a){this.setOptions(a);(a=this.options.theme)&&$$("link[rel=stylesheet][title^=boxplus]").set("disabled",!0).filter('[title="boxplus-'+a+'"]').set("disabled",!1);this.a("bottom",!1);this.a("sideways",
!1);this.N(this.c);$$([this.A,this.c]).removeClass("boxplus-hidden");this.A.fade("hide").fade("in");this.R({contextmenu:this.T,keydown:this.U,resize:this.V},!0)},O:function(){this.R({contextmenu:this.T,keydown:this.U,resize:this.V},!1);this.A.fade("out");$$([this.A,this.c]).addClass("boxplus-hidden")},close:function(){var a=this;a.k();a.z(function(){a.h("close")})},qa:function(){this.h("first")},ca:function(){this.h("previous")},next:function(){this.h("next")},ta:function(){this.h("last")},start:function(){this.h("start")},
stop:function(){this.h("stop")},P:function(){this.g("shrink").toggleClass("boxplus-unavailable");this.g("enlarge").toggleClass("boxplus-unavailable");this.X();this.z()},Da:function(){this.Q(-1)},Ca:function(){this.Q(1)},Q:function(a){function b(){var b=!0,d=!0;g-=a*e.K;g<=f&&(g=f,b=!1);g>=0&&(g=0,d=!1);h===b||e.a("forward",h=b);j===d||e.a("rewind",j=d);c.setStyle("left",g+"px")}var e=this,c=e.g("thumbs > ul"),d=e.Ea.getElement("ul"),g=d.getStyle("left").toInt();g=isNaN(g)?0:g;var f=e.B.getSize().x-
d.getSize().x,h,j;e.a("forward",!0);e.a("rewind",!0);b();if(a)e.v=window.setInterval(b,10)},ia:function(){this.w();if(this.v)window.clearInterval(this.v),this.v=l},Y:function(){this.K=this.options.scrollspeed*10*this.options.scrollfactor/1E3},w:function(){this.K=this.options.scrollspeed*10/1E3},pa:function(){window.location.href=this.M},ga:function(a){a=!a;this.a("resizer",a);this.a("thumbs",a);this.a(["viewer","prev"],a);this.a(["viewer","next"],a);var b=$$([this.t,this.m,this.l,this.q]);a?(b.removeClass("boxplus-hidden"),
this.d.addClass("boxplus-hidden")):(b.addClass("boxplus-hidden"),this.d.removeClass("boxplus-hidden"))},Fa:function(){this.ga(!this.sa())},sa:function(){return!this.d.hasClass("boxplus-hidden")},za:function(a,b,e){this.k();if(a){this.i={width:a.width,height:a.height};this.t.set("src",n(a).get("src")).removeClass("boxplus-unavailable");this.M=b;this.b("download",b);if(e){switch(typeof e){case "string":this.d.set("html",e);break;default:(e=n(e))&&this.d.adopt(e.clone())}this.d.removeClass("boxplus-unavailable")}this.b("metadata",
e)}},wa:function(a){this.k();this.a("resizer",!1);this.a("thumbs",!1);this.a(["viewer","prev"],!1);this.a(["viewer","next"],!1);this.d.adopt(a.clone()).removeClass("boxplus-unavailable").removeClass("boxplus-hidden");this.i={width:this.options.width,height:this.options.height}},fa:function(a){a=q(a.search);this.i=a={width:a.width?a.width.toInt():this.options.width,height:a.height?a.height.toInt():this.options.height}},Aa:function(a){this.k();this.fa(a);var b=this.i,e=a.href,c=a.pathname;if(/\.(ogg|webM)$/i.test(c))this.m.set(b).set("src",
e).setStyles(b).removeClass("boxplus-unavailable");else if(this.l.setStyles(b).removeClass("boxplus-unavailable"),/\.(pdf|mov)$/i.test(c)){var d,g;a={src:e};/\.pdf$/i.test(c)?(d="CA8A9780-280D-11CF-A24D-444553540000",g="application/pdf"):/\.mov$/i.test(c)?(d="02BF25D5-8C17-4B23-BC80-D3488ABDDC6B",g="video/quicktime"):/\.mpe?g/i.test(c)&&(d="22d6f312-b0f6-11d0-94ab-0080c74c7e95",g="video/mpeg");c=function(a){var b="",c;for(c in a)b+=" "+c+'="'+a[c]+'"';return b};this.l.set("html","<object"+c($merge({classid:"clsid:"+
d},b))+">"+function(a){var b="",c;for(c in a)b+='<param name="'+c+'" value="'+a[c]+'" />';return b}(a)+"<\!--[if lt IE 9]><\!--\><object"+c($merge({type:g,data:e},b))+">"+f.aa("unknown-type").replace("%s",g)+"</object><\!--<![endif]--\></object>")}else new Swiff(e,$merge({container:this.l,params:{allowFullScreen:!0}},b))},ya:function(a){this.k();this.fa(a);this.q.set("src",a.href).setStyles(this.i).removeClass("boxplus-unavailable")},k:function(){$$([this.d,this.t,this.m,this.l,this.q]).addClass("boxplus-unavailable");
this.d.empty();this.t.erase("src");!this.m.pause||this.m.pause();this.m.erase("src");this.l.empty();this.q.set("src","about:blank").erase("src");this.B.setStyles(this.i={width:150,height:150});this.M="";this.b("download",!1);this.b("metadata",!1);this.ea()},ea:function(a,b){this.g("title").set("html",a);this.g("text").set("html",b);this.F("title").set("html",a);this.F("text").set("html",b);this.s("title",a);this.s("text",b);this.s("caption",a||b)},va:function(a){this.j("bottom",!1);this.j("sideways",
!1);switch(a){case "bottom":this.j("bottom",!0);break;case "sideways":this.j("sideways",!0)}},Ba:function(a){this.j("thumbs",!1);switch(a){case "inside":this.j(["viewer","thumbs"],!0);break;case "outside":this.j(["bottom","thumbs"],!0),this.j(["sideways","thumbs"],!0)}},la:function(a){var b=this;b.g("thumbs").each(function(e){a.each(function(a){(new Element("li")).adopt(a.clone().addEvent("click",function(){var a=n(this).getParent();b.h("change",a.getParent().getChildren().indexOf(a))})).inject(e.getElement("ul"))})});
b.b("thumbs",a.length>1)},na:function(){this.g("thumbs").each(function(a){a.getElement("ul").empty()})},ba:function(){return this.m.get("src")||this.l.getChildren().length?!1:this.S("shrink").hasClass("boxplus-unavailable")},ra:function(a){var b=window.getSize(),e=a.getSize();a=(0).max((b.x-e.x)/2);b=(0).max((b.y-e.y)/2);this.c.getStyle("position")!="fixed"&&(e=window.getScroll(),a+=e.x,b+=e.y);return{x:a,y:b}},N:function(a){a.setPosition(this.ra(a))},ua:function(){this.N(this.p);this.c.set("morph",
{duration:this.options.duration,link:"cancel"}).morph(this.p.getStyles(["left","top"]))},X:function(){var a=this.options.autocenter&&this.ba(),b=a?"fixed":"absolute",e=this.c.getStyle("position"),c=this.c.getPosition(),d=c.x;c=c.y;e!=b&&(e=window.getScroll(),a?(d-=e.x,c-=e.y):(d+=e.x,c+=e.y));this.c.setStyle("position",b);this.c.setPosition({x:d,y:c})},z:function(a){function b(a,b){c.C.setStyles({width:a,height:b});return c.p.getSize()}function e(){return c.p.getStyles(["left","top","width","height"])}
var c=this;c.da=!0;c.a("bottom",!1);c.a("sideways",!1);c.a("viewer",!1);var d=!c.t.get("src")&&!c.m.get("src")&&!c.l.getChildren().length&&!c.q.get("src");c.ga(d);c.a("thumbs",c.S("thumbs").getChildren().length>1);var g=c.i.width,f=c.i.height;c.C.setStyle("margin-right",c.ha.getSize().x);var h=window.getSize();if(d){d=b(g,"auto");c.ka.empty();var j=c.d.getChildren();j.length&&c.ka.adopt(j);f=c.C.getSize().y;d=b(g,f);d=b(Math.min(h.x,d.x)-(d.x-g),Math.min(h.y,d.y)-(d.y-f));j.length&&c.d.adopt(j)}else{d=
b(g,f);if((j=c.options.autofit&&(h.x<d.x||h.y<d.y))&&c.ba()){var k;if((k=h.x/d.x)<1)g*=k,f*=k,d=b(g,f);for(;(k=h.y/d.y)<1;)g*=k,f*=k,d=b(g,f)}c.b("resizer",j)}c.X();c.N(c.p);c.s("bottom",!1);c.s("sideways",!1);c.Z.setStyle("height","100%");g=e();var i={duration:c.options.duration,link:"cancel",transition:c.options.transition};(new Fx.Morph(c.c,$merge(i,{onComplete:function(){c.Z.setStyle("height","auto");var b=c.C.getStyles(["width","height"]);c.q.setStyles(b);c.B.setStyles(b);c.d.scrollTo(0,0);c.a("viewer",
!0);c.Q(0);a&&a();(new Fx.Morph(c.c,$merge(i,{onComplete:function(){c.b("bottom",!0);c.b("sideways",!0);c.a("bottom",!0);c.a("sideways",!0);c.da=!1;c.ua()}}))).start(e())}}))).start(g);c.ma.removeClass("boxplus-unavailable");c.ha.removeClass("boxplus-unavailable")},ja:function(a){var b=this.g("progress");this.u&&window.clearInterval(this.u);if(b.length&&a){var e=b[0].getStyle("background-position"),c=e?e.toInt():0;this.u=window.setInterval(function(){b.setStyle("background-position",(c=(c-32)%384)+
"px 0")},150)}else this.u=l;this.a("progress",a)}}),f;window.addEvent("domready",function(){f=new s});var m=new Class({Implements:[Events,Options],e:-1,f:$$([]),n:l,J:function(a){return(a=a.getElement("img"))?a.getProperty("alt"):""},I:function(a){return a.getProperty("title")},G:function(){},H:function(){},options:{theme:!1,autocenter:!0,autofit:!0,slideshow:0,duration:"short",transition:"sine",loop:!1,contextmenu:!0,captions:"bottom",thumbs:"inside",cloak:!1},initialize:function(a,b){var e=this;
e.setOptions(b);if(b)e.J=$pick(b.getTitle,e.J),e.I=$pick(b.getText,e.I),e.G=$pick(b.getDownloadUrl,e.G),e.H=$pick(b.getMetadata,e.H);var c;if(a.length)if(a.get("tag").every(function(a){return a=="a"}))c=a,e.e=0;else return;else switch(a.get("tag")){case "a":m.extenders.each(function(b){c=b.bind(e)(a)});if(!c){var d=a.get("rel");c=$$(d&&d.test(/^boxplus\b(?!$)/)?'a[rel="'+d+'"]':a);e.e=c.indexOf(a)}break;case "ol":case "ul":c=$$(a.getChildren("li").map(function(a){return a.getElement("a")}).filter(function(a){return a}));
e.e=c.length>0?0:-1;break;default:return}c.addEvent("click",function(a){a.preventDefault();e.show(this)});e.options.cloak&&c.each(p);e.f=c},show:function(a){var b=this;if(a)b.e=(0).max(b.f.indexOf(a));f.O();f.ja(!0);f.va(b.options.captions);f.Ba(b.options.thumbs);f.la($$(b.f.map(function(a){if(a=a.getElement("img")){var b=a.get("data-thumb");return new Element("img",{src:b?b:a.get("src")})}else return l})));f.xa("start",b.options.slideshow&&b.f.length>1);a=["previous","next","first","last","start",
"stop","change","close"];var e=a.map(function(a){return b[a].bind(b)});b.$=e.associate(a);f.addEvents(b.$);f.show(b.options);b.W(b.e)},close:function(){f.k();f.removeEvents(this.$);f.O();f.na()},previous:function(){this.r(this.e-1)},next:function(){this.r(this.e+1)},first:function(){this.r(0)},last:function(){this.r(this.f.length-1)},change:function(a){this.r(a)},start:function(){if(!this.n)this.n=setTimeout(this.next.bind(this),this.options.slideshow);f.b("start",!1);f.b("stop",!0)},stop:function(){if(this.n)clearTimeout(this.n),
this.n=l;f.b("stop",!1);f.b("start",!0)},r:function(a){if(a!=this.e&&(this.options.loop||a>=0&&a<this.f.length))this.W(a),this.fireEvent("change")},W:function(a){function b(){f.z(function(){f.ja(!1);m||j||g.start()})}function e(a){f.ea(g.J(a),g.I(a))}function c(a,c){f.za(c,g.G(a),g.H(a));e(a);b()}function d(a){f.wa(o);e(a);b()}var g=this,m=!g.n;g.stop();f.k();var h=g.f.length,j=a>=h-1;f.a("viewer",!1);f.b("start",!j);var k=g.options.loop;f.b("prev",k&&h>1||a>0);f.b("next",k&&h>1||!j);if(h>0){g.e=
(a+h)%h;var i=g.f[g.e];r(i);a=i.get("href");h=i.href;k=i.pathname;if(/^#/.test(a)){var o=n(a.substr(1));switch(o.get("tag")){case "img":c(i,o);break;default:d(o)}}else/\.(txt|html?)$/i.test(k)?(new Request.HTML({url:h,onSuccess:function(a){d($$(a))},onFailure:function(){alert(f.aa("not-found"));f.O()}})).get():/\.(gif|jpe?g|png)$/i.test(k)?n(new Image).addEvent("load",function(){c(i,this)}).set("src",h):/\.(pdf|mov|mpe?g|ogg|swf|webM|wmv)$/i.test(k)||/(viddler|vimeo|youtube)\.com$/.test(i.hostname)?
(f.Aa(i),e(i),b()):i.protocol!="javascript:"&&(f.ya(i),e(i),b());g.options.cloak&&p(i)}}});$extend(window.boxplus=m,{extenders:[function(a){var b=this,e;if(Request.JSONP&&(e=a.href.match(/https?:\/\/picasaweb.google.com\/data\/feed\/(?:api|base)\/user\/([^\/?#]+)\/albumid\/([^\/?#]+)/)))return(new Request.JSONP({url:"http://picasaweb.google.com/data/feed/api/user/"+e[1]+"/albumid/"+e[2],data:{alt:"json",imgmax:800,kind:"photo",thumbsize:"64u"},onComplete:function(a){b.f=$$([]);a.feed.entry.each(function(a){var c=
a.media$group.media$thumbnail[0];b.f.include((new Element("a",{href:a.content.src,title:a.summary.$t})).adopt(new Element("img",{width:c.width,height:c.height,alt:a.title.$t,src:c.url})))});b.e=0}})).send(),$$(a)}],autodiscover:function(a,b){window.addEvent("domready",function(){var e=[];$$("a[rel^=boxplus]:not([rel=boxplus])").each(function(a){e.include(a.get("rel"))});e.each(function(a){new m($$('a[rel="'+a+'"]'),b)});$$("a[rel=boxplus]").each(function(a){new m(a,b)});a||$$("a[href]:not([rel^=boxplus])").filter(function(a){return/\.(gif|jpe?g|png|swf)$/i.test(a.pathname)&&
!/_(blank|parent|self|top)/.test(a.get("target"))}).each(function(a){new m(a,b)})})}})})(document.id);})();

