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

