/**
* Name: piroBox v.1.2 FINAL
* Date: November 2009
* Autor: Diego Valobra (http://www.pirolab.it),(http://www.diegovalobra.com)
* Version: 1.2 BETA
* Licence: CC-BY-SA http://creativecommons.org/licenses/by-sa/2.5/it/
**/		
(function(a){a.fn.piroBox=function(f){f=jQuery.extend({my_speed:null,close_speed:300,bg_alpha:0.5,pirobox_next:"piro_next_out",pirobox_prev:"piro_prev_out",radius:4,close_all:".piro_close,.piro_overlay",slideShow:null,slideSpeed:null},f);var l="a.pirobox_gall";var c=[l,l+"_one",l+"_two",l+"_three",l+"_four",l+"_five",l+"_six",l+"_seven",l+"_eight",l+"_nine",l+"_ten",l+"_eleven",l+"_twelve",l+"_thirteen",l+"_fourteen",l+"_fifteen",l+"_sixteen",l+"_seventeen",l+"_eighteen",l+"_nineteen",l+"_twenty"];for(var b in c){var j=(c[b]);a(j).each(function(m){this.rel=m+1+"&nbsp;of&nbsp;"+a(j).length;});var k=(c[b]+":first");var e=(c[b]+":last");var d=a(k).addClass("first");var h=a(e).addClass("last");}var g=l+","+l+"_one,"+l+"_two,"+l+"_three,"+l+"_four,"+l+"_five,"+l+"_six,"+l+"_seven,"+l+"_eight,"+l+"_nine,"+l+"_ten,"+l+"_eleven,"+l+"_twelve,"+l+"_thirteen,"+l+"_fourteen,"+l+"_fifteen,"+l+"_sixteen,"+l+"_seventeen,"+l+"_eighteen,"+l+"_nineteen,"+l+"_twenty";a.fn.fixPNG=function(){return this.each(function(){var m=a(this).css("backgroundImage");if(m.match(/^url\(["']?(.*\.png)["']?\)$/i)){m=RegExp.$1;a(this).css({backgroundImage:"none",filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod="+(a(this).css("backgroundRepeat")=="no-repeat"?"crop":"scale")+", src='"+m+"')"}).each(function(){var n=a(this).css("position");if(n!="absolute"&&n!="relative"){a(this).css("position","relative");}});}});};function i(){var s='<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 y=g;var u=a("a.pirobox");var A=a(window).height();var m=a('<div class="piro_overlay"></div>').hide().css({opacity:+f.bg_alpha,height:A+"px"});var n=a('<table class="pirobox_content" cellpadding="0" cellspacing="0"></table>');var B=a('<div class="caption"></div>').css({opacity:"0.8","-moz-border-radius":f.radius+"px","-khtml-border-radius":f.radius+"px","-webkit-border-radius":f.radius+"px","border-radius":f.radius+"px"});var o=a('<div class="piro_nav"></div>');var p=a('<div class="piro_close"></div>');var t=a('<a href="#prev" class="'+f.pirobox_prev+'"></a>');var x=a('<a href="#next" class="'+f.pirobox_next+'"></a>');var r=a('<a href="#play" class="play"></a>');var z=a('<a href="#stop" class="stop"></a>');a(window).resize(function(){var C=a(window).height();m.css({visibility:"visible",height:+C+"px"});});a("body").append(m).append(n);n.append(s);a(".pirobox_up").append(p);a(".pirobox_down").append(o);a(".c_c").append(r);r.hide();o.append(t).append(x).append(B);if(t.is(".piro_prev_out")||x.is(".piro_next_out")){a("body").append(t).append(x);t.add(x).hide();}else{o.append(t).append(x);}var w=t.width();n.hide();t.add(x).bind("click",function(E){E.preventDefault();var C=parseInt(a(y).filter(".item").attr("rev"),10);var D=a(this).is(".piro_prev_out,.piro_prev")?a(y).eq(C-1):a(y).eq(C+1);D.click();p.add(B).add(x).add(t).css("visibility","hidden");});u.each(function(D){var C=a(this);C.bind("click",function(G){G.preventDefault();v(C.attr("href"));var E=C.attr("href");var F=C.attr("title");if(F==""){B.html("<p>"+E+"<a href="+E+' class="link_to" target="_blank" title="Open Image in a new window"></a></p>');}else{B.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");x.add(t).add(p).add(B).hide();a(".play").remove();});});a(y).each(function(D){var C=a(this);C.bind("click",function(H){H.preventDefault();v(C.attr("href"));var E=C.attr("href");var G=C.attr("title");var F=C.attr("rel");if(G==""){B.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{B.html("<p>"+G+'<em class="number">'+F+"</em><a href="+E+' class="link_to" target="_blank" title="Open Image in a new window"></a></p>');}if(C.is(".last")){a(".number").css("text-decoration","underline");}else{a(".number").css("text-decoration","none");}if(C.is(".first")){t.hide();x.show();}else{x.add(t).show();}if(C.is(".last")){t.show();x.hide();}else{}if(D==D){a(y).filter(".item").removeClass("item");C.addClass("item");a(".c_c").removeClass("unique");}else{if(D==0){x.add(t).hide();}}});C.attr({rev:D});});var v=function(C){r.add(z).hide();p.add(B).add(x).add(t).css("visibility","hidden");if(n.is(":visible")){a(".c_c div").children().fadeOut(300,function(){a(".c_c div").children().remove();q(C);});}else{a(".c_c div").children().remove();n.show();m.fadeIn(300,function(){q(C);});}};var q=function(H){if(n.is(".loading")){return;}n.addClass("loading");var D=new Image();D.onerror=function(J){var K=a(n).height();n.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();n.add(m).fadeOut(f.close_speed);n.removeClass("loading");a(".c_c").append(r);return false;});};D.onload=function(S){var M=D.height;var O=D.width;var L=a(n).height();var Q=a(window).height();var K=a(window).width();if(M+100>Q||O+100>K){var J=O;var P=M;var R=(O+100)/K;var N=(M+100)/Q;if(N>R){J=Math.round(O*(1/N));P=Math.round(M*(1/N));}else{J=Math.round(O*(1/R));P=Math.round(M*(1/R));}M+=P;O+=J;a(D).height(P).width(J).hide();a(".c_c div").animate({height:P+"px",width:J+"px"},f.my_speed);n.animate({height:(P+20)+"px",width:(J+20)+"px",marginLeft:"-"+((J)/2+10)+"px",marginTop:parseInt(a(document).scrollTop())-(P/1.9)-10},f.my_speed,function(){a(".piro_nav,.caption").css({width:(J/1.3)+"px"});a(".piro_nav").css("margin-left","-"+(J/1.3)/2+"px");var T=B.height();B.css({bottom:"-"+(T+10)+"px"});a(".c_c div").append(D);p.css("display","block");x.add(t).add(p).css("visibility","visible");B.css({visibility:"visible",display:"block"});a(D).show().fadeIn(300);n.removeClass("loading");if(f.slideShow=="slideshow"){r.add(z).show();}else{r.add(z).hide();}});}else{a(D).height(M).width(O).hide();a(".c_c div").animate({height:M+"px",width:O+"px"},f.my_speed);n.animate({height:(M+20)+"px",width:(O+20)+"px",marginLeft:"-"+((O)/2+10)+"px",marginTop:parseInt(a(document).scrollTop())-(M/1.9)-10},f.my_speed,function(){a(".piro_nav,.caption").css({width:(O/1.3)+"px"});a(".piro_nav").css("margin-left","-"+(O/1.3)/2+"px");var T=B.height();B.css({bottom:"-"+(T+10)+"px"});a(".c_c div").append(D);p.css("display","block");x.add(t).add(p).css("visibility","visible");B.css({visibility:"visible",display:"block"});a(D).fadeIn(300);n.removeClass("loading");if(f.slideShow=="slideshow"){r.add(z).show();}else{r.add(z).hide();}});}};D.src=H;var C=a(window).height();var G=a(".piro_prev_out").height();a(".piro_prev_out").add(".piro_next_out").css({marginTop:parseInt(a(document).scrollTop())+(C/G-125)});a(".caption p").css({"-moz-border-radius":f.radius+"px","-khtml-border-radius":f.radius+"px","-webkit-border-radius":f.radius+"px","border-radius":f.radius+"px"});if(a(n).is(":visible")){window.onscroll=function(){var L=a(n).height();n.css({marginTop:parseInt(a(this).scrollTop())-(L/1.9)});var J=a(window).height();var K=a(".piro_prev_out").height();a(".piro_prev_out").add(".piro_next_out").css({marginTop:parseInt(a(document).scrollTop())+(J/K-125)});};}z.bind("click",function(J){J.preventDefault();clearTimeout(I);a(y).children().removeAttr("class");a(".stop").remove();a(".c_c").append(r);x.add(t).css("width",w+"px");});r.bind("click",function(J){J.preventDefault();clearTimeout(I);if(a(D).is(":visible")){a(y).children().addClass(f.slideShow);a(".play").remove();a(".c_c").append(z);}x.add(t).css({width:"0px"});F();});a(f.close_all).bind("click",function(J){clearTimeout(I);if(a(D).is(":visible")){J.preventDefault();p.add(m).add(n).add(B).add(x).add(t).fadeOut(f.close_speed);n.removeClass("loading");a(y).children().removeAttr("class");x.add(t).css("width",w+"px").hide();a(".stop").remove();a(".c_c").append(r);r.hide();}});function F(){if(a(y).filter(".item").is(".last")){a(y).children().removeAttr("class");x.add(t).css("width",w+"px");clearTimeout(I);a(".stop").remove();a(".c_c").append(r);r.hide();}else{if(a(y).children().is("."+f.slideShow)){x.click();clearTimeout(I);}}}var I=setInterval(F,f.slideSpeed*1000);a().bind("keydown",function(J){if(J.keyCode===27){J.preventDefault();if(a(D).is(":visible")||a(".c_c>div>p>a").is(".close_pirobox")){p.add(m).add(n).add(B).add(x).add(t).fadeOut(f.close_speed);n.removeClass("loading");clearTimeout(I);a(y).children().removeAttr("class");a(".stop").remove();a(".c_c").append(r);x.add(t).css("width",w+"px");a(y).add(u).children().fadeTo(100,1);}}}).bind("keydown",function(J){if(a(".c_c").is(".unique")||a(".item").is(".first")){}else{if(a(".c_c").is(".c_c")&&(J.keyCode===37)){J.preventDefault();if(a(D).is(":visible")){clearTimeout(I);a(y).children().removeAttr("class");a(".stop").remove();a(".c_c").append(r);x.add(t).css("width",w+"px");t.click();}}}if(a(".c_c").is(".unique")||a(".item").is(".last")){}else{if(a(".c_c").is(".c_c")&&(J.keyCode===39)){J.preventDefault();if(a(D).is(":visible")){clearTimeout(I);a(y).children().removeAttr("class");a(".stop").remove();a(".c_c").append(r);x.add(t).css("width",w+"px");x.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();m.css("height",E+"px");}if(a.browser.msie){f.close_speed=0;}};}i();};})(jQuery);

