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

