(function(a){a.fn.piroBox=function(b){b=jQuery.extend({my_speed:null,close_speed:300,bg_alpha:0.5,scrollImage:null,pirobox_next:"piro_next_out",pirobox_prev:"piro_prev_out",radius:4,close_all:".piro_close,.piro_overlay",slideShow:null,slideSpeed:null},b);function c(){var t='<tr><td colspan="3" class="pirobox_up"></td></tr><tr><td class="t_l"></td><td class="t_c"></td><td class="t_r"></td></tr><tr><td class="c_l"></td><td class="c_c"><span><span></span></span><div></div></td><td class="c_r"></td></tr><tr><td class="b_l"></td><td class="b_c"></td><td class="b_r"></td></tr><tr><td colspan="3" class="pirobox_down"></td></tr>';var r=a(window).height();var q=a(jQuery('<div class="piro_overlay"></div>').hide().css({opacity:+b.bg_alpha,height:r+"px"}));var m=a(jQuery('<table class="pirobox_content" cellpadding="0" cellspacing="0"></table>'));var x=a(jQuery('<div class="caption"></div>').css({opacity:"0.8","-moz-border-radius":b.radius+"px","-khtml-border-radius":b.radius+"px","-webkit-border-radius":b.radius+"px","border-radius":b.radius+"px"}));var f=a(jQuery('<div class="piro_nav"></div>'));var u=a(jQuery('<div class="piro_close"></div>'));var s=a(jQuery('<a href="#play" class="play"></a>'));var o=a(jQuery('<a href="#stop" class="stop"></a>'));var j=a(jQuery('<a href="#prev" class="'+b.pirobox_prev+'"></a>'));var l=a(jQuery('<a href="#next" class="'+b.pirobox_next+'"></a>'));a("body").append(q).append(m);m.append(t);a(".pirobox_up").append(u);a(".pirobox_down").append(f);a(".c_c").append(s);s.hide();f.append(j).append(l).append(x);if(j.is(".piro_prev_out")||l.is(".piro_next_out")){a("body").append(j).append(l);j.add(l).hide()}else{f.append(j).append(l)}var e=j.width();m.hide();var y=a("a[class*='pirobox_gall']");var z=new Object();for(var w=0;w<y.length;w++){var h=a(y[w]);z["a."+h.attr("class").match(/^pirobox_gall\w*/)]=0}var p=new Array();for(var C in z){p.push(C);if(a(C).length===1){alert("For single image is recommended to use class pirobox");a(C).css("border","2px dotted red")}}for(var w=0;w<p.length;w++){a(p[w]).each(function(i){this.rel=i+1+"&nbsp;of&nbsp;"+a(p[w]).length});var d=a(p[w]+":first").addClass("first");var v=a(p[w]+":last").addClass("last")}a(y).each(function(i){this.rev=i+0});var k=a(y).each(function(){this.href});var n=a(y);var A=a("a.pirobox");a.fn.fixPNG=function(){return this.each(function(){var i=a(this).css("backgroundImage");if(i.match(/^url\(["']?(.*\.png)["']?\)$/i)){i=RegExp.$1;a(this).css({backgroundImage:"none",filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod="+(a(this).css("backgroundRepeat")=="no-repeat"?"crop":"scale")+", src='"+i+"')"}).each(function(){var D=a(this).css("position");if(D!="absolute"&&D!="relative"){a(this).css("position","relative")}})}})};a(window).resize(function(){var i=a(window).height();q.css({visibility:"visible",height:+i+"px"})});j.add(l).bind("click",function(E){E.preventDefault();var i=parseInt(a(n).filter(".item").attr("rev"));var D=a(this).is(".piro_prev_out,.piro_prev")?a(n).eq(i-1):a(n).eq(i+1);D.click();u.add(x).add(l).add(j).css("visibility","hidden")});A.each(function(D){var i=a(this);i.bind("click",function(G){G.preventDefault();g(i.attr("href"));var E=i.attr("href");var F=i.attr("title");if(F==""){x.html("<p>"+E+"<a href="+E+' class="link_to" target="_blank" title="Open Image in a new window"></a></p>')}else{x.html("<p>"+F+"<a href="+E+' class="link_to" target="_blank" title="Open Image in a new window"></a></p>')}a(".c_c").addClass("unique");l.add(j).add(u).add(x).hide();a(".play").remove()})});a(n).each(function(D){var i=a(this);i.unbind();i.bind("click",function(I){var G=a(m).height();m.animate({marginTop:parseInt(a(document).scrollTop())-(G/1.92)},200);I.preventDefault();g(i.attr("href"));var E=i.attr("href");var H=i.attr("title");var F=i.attr("rel");if(H==""){x.html("<p>"+E+'<em class="number">'+F+"</em><a href="+E+' class="link_to" target="_blank" title="Open Image in a new window"></a></p>')}else{x.html("<p>"+H+'<em class="number">'+F+"</em><a href="+E+' class="link_to" target="_blank" title="Open Image in a new window"></a></p>')}if(i.is(".last")){a(".number").css("text-decoration","underline")}else{a(".number").css("text-decoration","none")}if(i.is(".first")){j.hide();l.show()}else{l.add(j).show()}if(i.is(".last")){j.show();l.hide()}if(i.is(".last")&&i.is(".first")){j.add(l).hide();a(".number").hide();s.remove()}a(n).filter(".item").removeClass("item");i.addClass("item");a(".c_c").removeClass("unique")})});var g=function(i){s.add(o).hide();u.add(x).add(l).add(j).css("visibility","hidden");if(m.is(":visible")){a(".c_c div").children().fadeOut(300,function(){a(".c_c div").children().remove();B(i)})}else{a(".c_c div").children().remove();m.show();q.fadeIn(300,function(){B(i)})}};var B=function(I){if(m.is(".loading")){return}m.addClass("loading");var D=new Image();D.onerror=function(){var K=a(m).height();m.css({marginTop:parseInt(a(document).scrollTop())-(K/1.9)});a(".c_c div").append('<p class="err_mess">There seems to be an Error:&nbsp;<a href="#close" class="close_pirobox">Close Pirobox</a></p>');a(".close_pirobox").bind("click",function(){a(".err_mess").remove();m.add(q).fadeOut(b.close_speed);m.removeClass("loading");a(".c_c").append(s);return false})};D.onload=function(){var N=D.height;var P=D.width;var M=a(m).height();var R=a(window).height();var L=a(window).width();if(N+100>R||P+100>L){var K=P;var Q=N;var S=(P+250)/L;var O=(N+250)/R;if(O>S){K=Math.round(P*(1/O));Q=Math.round(N*(1/O))}else{K=Math.round(P*(1/S));Q=Math.round(N*(1/S))}N+=Q;P+=K;a(D).height(Q).width(K).hide();a(".c_c div").animate({height:Q+"px",width:K+"px"},b.my_speed);m.animate({height:(Q+20)+"px",width:(K+20)+"px",marginLeft:"-"+((K)/2+10)+"px",marginTop:parseInt(a(document).scrollTop())-(Q/1.9)-20},b.my_speed,function(){a(".piro_nav,.caption").css({width:(K)+"px"});a(".piro_nav").css("margin-left","-"+(K+5)/2+"px");var T=x.height();x.css({bottom:"-"+(T+5)+"px"});a(".c_c div").append(D);u.css("display","block");l.add(j).add(u).css("visibility","visible");x.css({visibility:"visible",display:"block"});a(D).show().fadeIn(300);m.removeClass("loading");if(b.slideShow===true){s.add(o).show()}else{s.add(o).hide()}})}else{a(D).height(N).width(P).hide();a(".c_c div").animate({height:N+"px",width:P+"px"},b.my_speed);m.animate({height:(N+20)+"px",width:(P+20)+"px",marginLeft:"-"+((P)/2+10)+"px",marginTop:parseInt(a(document).scrollTop())-(N/1.9)-20},b.my_speed,function(){a(".piro_nav,.caption").css({width:(P)+"px"});a(".piro_nav").css("margin-left","-"+(P+5)/2+"px");var T=x.height();x.css({bottom:"-"+(T+5)+"px"});a(".c_c div").append(D);u.css("display","block");l.add(j).add(u).css("visibility","visible");x.css({visibility:"visible",display:"block"});a(D).fadeIn(300);m.removeClass("loading");if(b.slideShow===true){s.add(o).show()}else{s.add(o).hide()}})}};D.src=I;var i=a(window).height();var G=a(".piro_prev_out").height();a(".piro_prev_out").add(".piro_next_out").css({marginTop:parseInt(a(document).scrollTop())+(i/G-125)});a(".caption p").css({"-moz-border-radius":b.radius+"px","-khtml-border-radius":b.radius+"px","-webkit-border-radius":b.radius+"px","border-radius":b.radius+"px"});o.bind("click",function(K){K.preventDefault();clearTimeout(J);a(n).children().removeAttr("class");a(".stop").remove();a(".c_c").append(s);l.add(j).css("width",e+"px")});s.bind("click",function(K){K.preventDefault();clearTimeout(J);if(a(D).is(":visible")){a(n).children().addClass("slideshow");a(".play").remove();a(".c_c").append(o)}l.add(j).css({width:"0px"});return F()});a(b.close_all).bind("click",function(K){clearTimeout(J);if(a(D).is(":visible")){K.preventDefault();u.add(q).add(m).add(x).add(l).add(j).fadeOut(b.close_speed);m.removeClass("loading");a(n).children().removeAttr("class");l.add(j).css("width",e+"px").hide();a(".stop").remove();a(".c_c").append(s);s.hide()}});if(b.slideShow===true){function F(){clearTimeout(J);if(a(n).filter(".item").is(".last")){a(n).children().removeAttr("class");l.add(j).css("width",e+"px");a(".stop").remove();a(".c_c").append(s);s.hide()}else{if(a(n).children().is(".slideshow")){l.click()}}}var J=setInterval(F,b.slideSpeed*1000)}a().bind("keydown",function(K){if(K.keyCode===27){K.preventDefault();if(a(D).is(":visible")||a(".c_c>div>p>a").is(".close_pirobox")){u.add(q).add(m).add(x).add(l).add(j).fadeOut(b.close_speed);m.removeClass("loading");clearTimeout(J);a(n).children().removeAttr("class");a(".stop").remove();a(".c_c").append(s);l.add(j).css("width",e+"px");a(n).add(A).children().fadeTo(100,1)}}}).bind("keydown",function(K){if(a(".c_c").is(".unique")||a(".item").is(".first")){}else{if(a(".c_c").is(".c_c")&&(K.keyCode===37)){K.preventDefault();if(a(D).is(":visible")){clearTimeout(J);a(n).children().removeAttr("class");a(".stop").remove();a(".c_c").append(s);l.add(j).css("width",e+"px");j.click()}}}if(a(".c_c").is(".unique")||a(".item").is(".last")){}else{if(a(".c_c").is(".c_c")&&(K.keyCode===39)){K.preventDefault();if(a(D).is(":visible")){clearTimeout(J);a(n).children().removeAttr("class");a(".stop").remove();a(".c_c").append(s);l.add(j).css("width",e+"px");l.click()}}}});a.browser.msie6=(a.browser.msie&&/MSIE 6\.0/i.test(window.navigator.userAgent));if(a.browser.msie6&&!/MSIE 8\.0/i.test(window.navigator.userAgent)){a(".t_l,.t_c,.t_r,.c_l,.c_r,.b_l,.b_c,.b_r,a.piro_next, a.piro_prev,a.piro_prev_out,a.piro_next_out,.c_c,.piro_close,a.play,a.stop").fixPNG();var E=a(document).height();q.css("height",E+"px")}if(a.browser.msie){b.close_speed=0}function H(){if(a(m).is(":visible")){window.onscroll=function(){var M=a(m).height();m.css({marginTop:parseInt(a(this).scrollTop())-(M/1.9)-10});var K=a(window).height();var L=a(".piro_prev_out").height();a(".piro_prev_out").add(".piro_next_out").css({marginTop:parseInt(a(document).scrollTop())+(K/L-125)})}}}if(b.scrollImage==true){return H()}}}c()}})(jQuery);
