/*
 boxplus: a lightweight pop-up window engine shipped with sigplus
 @author  Levente Hunyadi
 @version 1.4.2
 @remarks Copyright (C) 2009-2010 Levente Hunyadi
 @remarks Licensed under GNU/GPLv3, see http://www.gnu.org/licenses/gpl-3.0.html
 @see     http://hunyadi.info.hu/projects/boxplus
*/
if(typeof __jQuery__=="undefined")var __jQuery__=jQuery;
(function(c){function y(a,b){var d=parseInt(a.css(b));return isNaN(d)?a[b]():d}function o(a){return y(a,"width")}function D(a,b){return parseInt(a.css("margin-"+b))||0}function E(a){var b=a.charAt(0).toUpperCase()+a.slice(1),d="client"+b,e=s[d];d=document.documentElement[d];b=window["inner"+b];return Math.min(e?e:Infinity,d?d:Infinity,b?b:Infinity,c(window)[a]())}function va(a){var b=a.attr("src"),d=a.attr("longdesc");a=a.attr("data-thumb");return{src:a?a:b&&b!="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=="?
b:/\.(gif|jpe?g|png)$/i.test(d)?d:!1}}function f(a,b){return c(".boxplus-"+a,b)}function U(a){a=c(a);i=c.extend({},V,a.data("boxplus"));var b=i.theme;b&&c("link[rel=stylesheet][title^=boxplus]").attr("disabled","disabled").filter('[title="boxplus-'+b+'"]').removeAttr("disabled");K.removeClass("boxplus-hidden");f("m",e).addClass("boxplus-hidden");f("title",e).addClass("boxplus-unavailable");e.removeClass("boxplus-disabled").css({width:L,height:M}).css(W(L,M)).removeClass("boxplus-hidden");z(e,!0);
N.bind("keydown",X);i.contextmenu||N.bind("contextmenu",Y);g=(b=a.attr("rel"))?c('a[rel="'+b+'"]'):a;a=a.attr("href");var d=g.map(function(){return c(this).attr("href")}).get();g=g.filter(function(a){return c.inArray(c(this).attr("href"),d)>=a});t=(Z=i.rtl)?"right":"left";j.empty().css({left:"auto",right:"auto"}).css(t,0);g.each(function(a){var b=c("img:first",this);c("<li />").append((b.size()?c("<img />").attr(va(b)):c()).click(function(){h();q(a)})).appendTo(j)});u.removeClass("boxplus-disabled").each(function(){var a=
c("ul",this);c(this).toggleClass("boxplus-unavailable",a.children().size()<2)});b=i.thumbs=="outside";u.toggleClass("boxplus-disabled",!b).filter(l.children()).toggleClass("boxplus-disabled",b);F.toggleClass("boxplus-unavailable",g.length<2||!i.slideshow);q(c.inArray(a,d))}function O(){h();N.unbind("keydown",X).unbind("contextmenu",Y);e.stop(!0,!0);k=-1;e.addClass("boxplus-disabled").add(A).add(l).add(K).addClass("boxplus-hidden")}function wa(){h();q(0)}function P(){h();q(k-1)}function Q(){h();q(k+
1)}function xa(){h();q(g.length-1)}function q(a){var b=g.length;if(a!=k&&(i.loop||a>=0&&a<b))k=(a+b)%b,$(!0),aa()}function h(){v&&(clearTimeout(v),v=0);G.addClass("boxplus-disabled");F.removeClass("boxplus-disabled")}function ya(){ba();F.addClass("boxplus-disabled");G.removeClass("boxplus-disabled")}function za(){h();$(!B.hasClass("boxplus-hidden"));aa()}function H(){l.addClass("boxplus-hidden");z(l,!1);z(e,!0);A.addClass("boxplus-hidden");var a=i.autofit,b={},d={},T={};Aa(a&&B.hasClass("boxplus-hidden"),
b,d,T);l.css(b);C.attr("src",g.eq(k).attr("href"));I.toggleClass("boxplus-unavailable",!a||!p||b.width==p.width&&B.hasClass("boxplus-hidden"));j.each(function(){c(this).children().removeClass("boxplus-active").eq(k).addClass("boxplus-active")});f("m",e).addClass("boxplus-hidden");e.animate(c.extend(T,d),i.duration,i.easing,Ba)}function Ca(){h();window.location.href=i.download(g.eq(k))}function ca(){h();l.children().slice(0,-1).toggleClass("boxplus-hidden")}function da(a){var b=a.attr("id");b=b?"boxplus-"+
b:"boxplus";c("li",a).each(function(){c("a:first",this).attr("rel",b)});return c("a[rel="+b+"]",a)}function aa(){v&&(clearTimeout(v),v=0);e.stop(!0,!0);j.stop();A.addClass("boxplus-hidden");z(l,!0);r.empty();ea.addClass("boxplus-unavailable");var a=g.eq(k),b=a[0],d=a.attr("href"),f=b.pathname;c.boxplus.onchange(d,k);/^#/.test(d)?(r.append(c(d).clone().contents()),J()):/\.(txt|html?)$/i.test(f)?r.load(d,{},J):/\.(gif|jpe?g|png)$/i.test(f)?fa(a):/\.(mov|mpe?g|ogg|swf|webM|wmv)$/i.test(f)||/youtube\.com$/.test(b.hostname)?
ga(a):c.ajax({url:d,success:function(b,c,e){b=e.getResponseHeader("Content-Type");/^text\/(plain|html)/.test(b)?r.load(d,{},J):/^image\/(gif|jpeg|png)/.test(b)?fa(a):/^application\/x-shockwave-flash/.test(b)&&ga(a)},type:"head"})}function fa(a){var b=i.metadata(a);b&&r.append(c.inArray(c.type(b),["boolean","number","string"])>=0?b:b.clone());C.removeClass("boxplus-unavailable");c(p=new Image).load(H).error(J).attr("src",a.attr("href"))}function ga(a){for(var b=a.attr("href"),d={},e=a[0].search.replace(/^\?/,
"").split("&"),f=0;f<e.length;f++)if(e[f]){var j=e[f].split("=");d[j[0]]=j[1]}e=parseInt(d.width)||640;d=parseInt(d.height)||480;d={width:e,height:d};a=a[0].pathname;/\.(ogg|webM)$/i.test(a)?R.attr(c.extend({src:b},d)).removeClass("boxplus-unavailable"):(e="application/x-shockwave-flash",f="D27CDB6E-AE6D-11cf-96B8-444553540000",/\.mov$/i.test(a)&&(e="video/quicktime",f="02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"),S.empty().append("<object"+ha(c.extend({classid:"clsid:"+f},d))+">"+Da({movie:b})+"<\!--[if lt IE 9]><\!--\><object"+
ha(c.extend({type:e,data:b},d))+"></object><\!--<![endif]--\></object>").removeClass("boxplus-unavailable"));p=c.extend({},d);H()}function ha(a){var b="",d;for(d in a)b+=" "+d+'="'+a[d]+'"';return b}function Da(a){var b="",d;for(d in a)b+='<param name="'+d+'" value="'+a[d]+'" />';return b}function J(){p=null;H()}function Ba(){f("m",e).removeClass("boxplus-hidden");var a=w(j.children().eq(k));if(n<0){var b=o(u),d=o(j);j.css(t,-(d<b?w(j.children().eq(0)):Math.min(a,d-b)))}else n=k,j.css(t,-a);x();l.removeClass("boxplus-hidden");
a=i.loop;ia.toggleClass("boxplus-unavailable",!a&&k==0);ja.toggleClass("boxplus-unavailable",!a&&k>=g.length-1);l.children().removeClass("boxplus-hidden");a=p&&p.src;b=!r.is(":empty");ka.toggleClass("boxplus-unavailable",!i.download(g.eq(k)));la.toggleClass("boxplus-unavailable",!a||!b);r.addClass("boxplus-hidden");a||!b||ca();z(e,!1);ma(e,!1);a={width:o(e)+f("sideways",e).trueWidth(),height:y(e,"height")+na(e)};e.animate(a,i.duration,i.easing,function(){A.removeClass("boxplus-hidden");!i.loop&&k>=
g.length-1&&h();!G.hasClass("boxplus-disabled")&&ba()})}function ba(){v=setTimeout(function(){q(k+1)},i.slideshow)}function w(a){var b=a.position().left;return Z?a.offsetParent().width()-a.width()-b:b}function x(){var a=o(j.parent())-o(j),b=w(j);oa.toggleClass("boxplus-hidden",b>=0);pa.toggleClass("boxplus-hidden",a>0||b<=a)}function qa(){h();var a={};a[t]=-w(j.children().eq(n));j.animate(a,"fast","linear",x);return!1}function Ea(){n>0&&(n--,qa())}function Fa(){n>=0&&n+1<g.size()&&(n++,qa())}function Ga(){if(n<
0){h();var a={};a[t]=0;j.animate(a,-4*w(j),"linear",x)}}function Ha(){if(n<0){h();var a=o(u),b=o(j),d=w(j),c=a-b;b+d<a?x():(a={},a[t]=c,j.animate(a,-4*(c-d),"linear",x))}}function ra(){j.stop();x()}function $(a){f("enlarge",I).toggleClass("boxplus-hidden",!a);B.toggleClass("boxplus-hidden",a)}function ma(a,b){var d=g.eq(k),c=i.title(d);d=i.description(d,b);f("title",a).toggleClass("boxplus-unavailable",!c).html(c);f("text",a).toggleClass("boxplus-unavailable",!d||d==c).empty().append(d)}function z(a,
b){var c=f("progress",a).toggleClass("boxplus-hidden",!b);window.clearInterval(c.data("boxplus"));b&&c.data("boxplus",window.setInterval(function(){c.css("background-position",sa=(sa-32)%384)},150))}function na(a){return f("caption",a).trueHeight()+f("controls",a).trueHeight()}function W(a,b){var d=E("width")/2,e=E("height")/2,f=Math.max;return{left:f(0,c(window).scrollLeft()+d-a/2),top:f(0,c(window).scrollTop()+e-b/2)}}function Aa(a,b,d,e){c.extend(b,{width:p?p.width:ta,height:p?p.height:ua});ma(f("caption",
m.removeClass("boxplus-unavailable")),!0);var i=f("thumbs > ul",m);j.eq(0).children().clone().appendTo(i);f("thumbs",m).each(function(a){a=u.eq(a);c(this).toggleClass("boxplus-disabled",a.hasClass("boxplus-disabled")).toggleClass("boxplus-unavailable",a.hasClass("boxplus-unavailable"))});var k=f("sideways",m),g=f("main",m);g=g.trueWidth()-o(g)+k.trueWidth();var l=f("viewer",m.css("width",b.width+g)).css(b);if(a){var h=E("width")-D(s,"left")-D(s,"right"),n=m.outerWidth(!0);n>h&&(h/=n,b.width*=h,b.height*=
h,l.css(b),m.css("width",b.width+g))}h=m.outerHeight(!0);if(a)for(a=E("height")-D(s,"top")-D(s,"bottom");h>a;)h=a/h,b.width*=h,b.height*=h,l.css(b),h=m.css("width",b.width+g).outerHeight(!0);d.width=o(m)-k.trueWidth();d.height=y(m,"height")-na(m);c.extend(e,W(m.trueWidth(),h));i.empty();m.addClass("boxplus-unavailable")}function X(a){if(c.inArray(a.target.tagName.toLowerCase(),["input","textarea"])<0)return a=c.inArray(a.which,[27,37,39,36,35]),a<0||[O,P,Q,wa,xa][a](),!1}function Y(a){return!c("img",
j).add(C).filter(a.target).size()}var V={rtl:!1,theme:!1,autofit:!0,slideshow:0,duration:"slow",easing:"swing",loop:!1,contextmenu:!0,thumbs:"inside",title:function(a){a=c("img:first",a);return a.size()?a.attr("alt"):""},description:function(a){return a.attr("title")},download:function(){return!1},metadata:function(){return""}},i,K,e,m,L,M,ta,ua,l,C,r,R,S,ea,ia,ja,F,G,ka,la,I,B,u,j,oa,pa,A,N=c(document),s,p,g,k=-1,sa=0,n=-1,v,Z,t;c.fn.trueWidth=function(){return this.filter(":visible").size()?this.outerWidth(!0):
0};c.fn.trueHeight=function(){return this.filter(":visible").size()?this.outerHeight(!0):0};c(function(){function a(a,b){return"<div"+(a?' class="boxplus-'+(c.isArray(a)?a.join(" "):a)+'"':"")+">"+(b?b:"")+"</div>"}s=c("body");var b=a("prev")+a("next"),d=a("caption",a("title")+a("text")),i=a("controls",b+a("start")+a(["stop","boxplus-disabled"])+a("close")+a("download")+a("metadata")),g="<ul />"+a("rewind")+a("forward");b=c('<div id="boxplus">'+a(["background","boxplus-hidden"])+a(["dialog","boxplus-hidden"],
a("title")+a("main",a(["viewer","boxplus-hidden"],a(["content","boxplus-hidden"])+"<img /><video controls />"+a("flash")+b+a("resizer",a("enlarge")+a(["shrink","boxplus-hidden"]))+a("thumbs",g)+a("progress"))+a("bottom",a("thumbs",g)+d+i))+a(["sideways","boxplus-disabled"],a("thumbs",g)+i+d)+a("lt")+a("t")+a("rt")+a("l")+a("m")+a("r")+a("lb")+a("b")+a("rb")+a("progress"))+"</div>").appendTo(s);K=f("background",b).click(O);e=f("dialog",b);f("caption",e);A=f("bottom",e).add(f("sideways",e));l=f("viewer",
e);r=c("div:first",l);C=c("img:first",l);R=c("video",l);S=f("flash",l);ea=c([C[0],S[0]]).add(R);I=f("resizer",l).click(za);B=f("shrink",I);oa=f("rewind",e).click(Ea).hover(Ga,ra);pa=f("forward",e).click(Fa).hover(Ha,ra);u=f("thumbs",e);j=c("ul",u);ia=f("prev",e).click(P);ja=f("next",e).click(Q);F=f("start",e).click(ya);G=f("stop",e).click(h);f("close",e).click(O);ka=f("download",e).click(Ca);la=f("metadata",e).click(ca);ta=o(e);ua=y(e,"height");l.css({height:0,width:0});L=o(e);M=y(e,"height");m=e.clone().appendTo(b)});
c.fn.boxplus=function(a){return this.boxplusConfigure(a).click(function(a){U(a.currentTarget);return!1})};c.fn.boxplusGallery=function(a){da(this).boxplus(a);return this};c.fn.boxplusDialog=function(a){U(this.boxplusConfigure(a)[0])};c.fn.boxplusConfigure=function(a){this.data("boxplus",c.extend({},a));return this};c.fn.boxplusGalleryConfigure=function(a){da(this).boxplusConfigure(a);return this};c.boxplus={change:q,previous:P,next:Q,refresh:H,configure:function(a){return c.extend(V,a)},onchange:c.noop}})(__jQuery__);

