/**
* 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(b){b=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},b);function c(){var g="a.pirobox_gall";var q=new Array(g,g+"_one",g+"_two",g+"_three",g+"_four",g+"_five",g+"_six",g+"_seven",g+"_eight",g+"_nine",g+"_ten",g+"_eleven",g+"_twelve",g+"_thirteen",g+"_fourteen",g+"_fifteen",g+"_sixteen",g+"_seventeen",g+"_eighteen",g+"_nineteen",g+"_twenty");for(var x=0;x<q.length;x++){a(q[x]).each(function(i){this.rel=i+1+"&nbsp;of&nbsp;"+a(q[x]).length});var d=(q[x]+":first");var w=(q[x]+":last");var p=a(d).addClass("first");var j=a(w).addClass("last")}var z=a(g+","+g+"_one,"+g+"_two,"+g+"_three,"+g+"_four,"+g+"_five,"+g+"_six,"+g+"_seven,"+g+"_eight,"+g+"_nine,"+g+"_ten,"+g+"_eleven,"+g+"_twelve,"+g+"_thirteen,"+g+"_fourteen,"+g+"_fifteen,"+g+"_sixteen,"+g+"_seventeen,"+g+"_eighteen,"+g+"_nineteen,"+g+"_twenty");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 C=a(this).css("position");if(C!="absolute"&&C!="relative"){a(this).css("position","relative")}})}})};var u='<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 n=a(z);var A=a("a.pirobox");var s=a(window).height();var r=a(jQuery('<div class="piro_overlay"></div>').hide().css({opacity:+b.bg_alpha,height:s+"px"}));var m=a(jQuery('<table class="pirobox_content" cellpadding="0" cellspacing="0"></table>'));var y=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 v=a(jQuery('<div class="piro_close"></div>'));var k=a(jQuery('<a href="#prev" class="'+b.pirobox_prev+'"></a>'));var l=a(jQuery('<a href="#next" class="'+b.pirobox_next+'"></a>'));var t=a(jQuery('<a href="#play" class="play"></a>'));var o=a(jQuery('<a href="#stop" class="stop"></a>'));a(window).resize(function(){var i=a(window).height();r.css({visibility:"visible",height:+i+"px"})});a("body").append(r).append(m);m.append(u);a(".pirobox_up").append(v);a(".pirobox_down").append(f);a(".c_c").append(t);t.hide();f.append(k).append(l).append(y);if(k.is(".piro_prev_out")||l.is(".piro_next_out")){a("body").append(k).append(l);k.add(l).hide()}else{f.append(k).append(l)}var e=k.width();m.hide();k.add(l).bind("click",function(D){D.preventDefault();var i=parseInt(a(n).filter(".item").attr("rev"),10);var C=a(this).is(".piro_prev_out,.piro_prev")?a(n).eq(i-1):a(n).eq(i+1);C.click();v.add(y).add(l).add(k).css("visibility","hidden")});A.each(function(C){var i=a(this);i.bind("click",function(F){F.preventDefault();h(i.attr("href"));var D=i.attr("href");var E=i.attr("title");if(E==""){y.html("<p>"+D+"<a href="+D+' class="link_to" target="_blank" title="Open Image in a new window"></a></p>')}else{y.html("<p>"+E+"<a href="+D+' class="link_to" target="_blank" title="Open Image in a new window"></a></p>')}a(".c_c").addClass("unique");l.add(k).add(v).add(y).hide();a(".play").remove()})});a(n).each(function(C){var i=a(this);i.bind("click",function(G){G.preventDefault();h(i.attr("href"));var D=i.attr("href");var F=i.attr("title");var E=i.attr("rel");if(F==""){y.html("<p>"+D+'<em class="number">'+E+"</em><a href="+D+' class="link_to" target="_blank" title="Open Image in a new window"></a></p>')}else{y.html("<p>"+F+'<em class="number">'+E+"</em><a href="+D+' 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")){k.hide();l.show()}else{l.add(k).show()}if(i.is(".last")){k.show();l.hide()}else{}if(C==C){a(n).filter(".item").removeClass("item");i.addClass("item");a(".c_c").removeClass("unique")}else{if(C==0){l.add(k).hide()}}});i.attr({rev:C})});var h=function(i){t.add(o).hide();v.add(y).add(l).add(k).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();r.fadeIn(300,function(){B(i)})}};var B=function(G){if(m.is(".loading")){return}m.addClass("loading");var C=new Image();C.onerror=function(I){var J=a(m).height();m.css({marginTop:parseInt(a(document).scrollTop())-(J/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(r).fadeOut(b.close_speed);m.removeClass("loading");a(".c_c").append(t);return false})};C.onload=function(R){var L=C.height;var N=C.width;var K=a(m).height();var P=a(window).height();var J=a(window).width();if(L+100>P||N+100>J){var I=N;var O=L;var Q=(N+100)/J;var M=(L+100)/P;if(M>Q){I=Math.round(N*(1/M));O=Math.round(L*(1/M))}else{I=Math.round(N*(1/Q));O=Math.round(L*(1/Q))}L+=O;N+=I;a(C).height(O).width(I).hide();a(".c_c div").animate({height:O+"px",width:I+"px"},b.my_speed);m.animate({height:(O+20)+"px",width:(I+20)+"px",marginLeft:"-"+((I)/2+10)+"px",marginTop:parseInt(a(document).scrollTop())-(O/1.9)-10},b.my_speed,function(){a(".piro_nav,.caption").css({width:(I/1.3)+"px"});a(".piro_nav").css("margin-left","-"+(I/1.3)/2+"px");var S=y.height();y.css({bottom:"-"+(S+10)+"px"});a(".c_c div").append(C);v.css("display","block");l.add(k).add(v).css("visibility","visible");y.css({visibility:"visible",display:"block"});a(C).show().fadeIn(300);m.removeClass("loading");if(b.slideShow=="slideshow"){t.add(o).show()}else{t.add(o).hide()}})}else{a(C).height(L).width(N).hide();a(".c_c div").animate({height:L+"px",width:N+"px"},b.my_speed);m.animate({height:(L+20)+"px",width:(N+20)+"px",marginLeft:"-"+((N)/2+10)+"px",marginTop:parseInt(a(document).scrollTop())-(L/1.9)-10},b.my_speed,function(){a(".piro_nav,.caption").css({width:(N/1.3)+"px"});a(".piro_nav").css("margin-left","-"+(N/1.3)/2+"px");var S=y.height();y.css({bottom:"-"+(S+10)+"px"});a(".c_c div").append(C);v.css("display","block");l.add(k).add(v).css("visibility","visible");y.css({visibility:"visible",display:"block"});a(C).fadeIn(300);m.removeClass("loading");if(b.slideShow=="slideshow"){t.add(o).show()}else{t.add(o).hide()}})}};C.src=G;var i=a(window).height();var F=a(".piro_prev_out").height();a(".piro_prev_out").add(".piro_next_out").css({marginTop:parseInt(a(document).scrollTop())+(i/F-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"});if(a(m).is(":visible")){window.onscroll=function(){var K=a(m).height();m.css({marginTop:parseInt(a(this).scrollTop())-(K/1.9)});var I=a(window).height();var J=a(".piro_prev_out").height();a(".piro_prev_out").add(".piro_next_out").css({marginTop:parseInt(a(document).scrollTop())+(I/J-125)})}}o.bind("click",function(I){I.preventDefault();clearTimeout(H);a(n).children().removeAttr("class");a(".stop").remove();a(".c_c").append(t);l.add(k).css("width",e+"px")});t.bind("click",function(I){I.preventDefault();clearTimeout(H);if(a(C).is(":visible")){a(n).children().addClass(b.slideShow);a(".play").remove();a(".c_c").append(o)}l.add(k).css({width:"0px"});E()});a(b.close_all).bind("click",function(I){clearTimeout(H);if(a(C).is(":visible")){I.preventDefault();v.add(r).add(m).add(y).add(l).add(k).fadeOut(b.close_speed);m.removeClass("loading");a(n).children().removeAttr("class");l.add(k).css("width",e+"px").hide();a(".stop").remove();a(".c_c").append(t);t.hide()}});function E(){if(a(n).filter(".item").is(".last")){a(n).children().removeAttr("class");l.add(k).css("width",e+"px");clearTimeout(H);a(".stop").remove();a(".c_c").append(t);t.hide()}else{if(a(n).children().is("."+b.slideShow)){l.click();clearTimeout(H)}}}var H=setInterval(E,b.slideSpeed*1000);a().bind("keydown",function(I){if(I.keyCode===27){I.preventDefault();if(a(C).is(":visible")||a(".c_c>div>p>a").is(".close_pirobox")){v.add(r).add(m).add(y).add(l).add(k).fadeOut(b.close_speed);m.removeClass("loading");clearTimeout(H);a(n).children().removeAttr("class");a(".stop").remove();a(".c_c").append(t);l.add(k).css("width",e+"px");a(n).add(A).children().fadeTo(100,1)}}}).bind("keydown",function(I){if(a(".c_c").is(".unique")||a(".item").is(".first")){}else{if(a(".c_c").is(".c_c")&&(I.keyCode===37)){I.preventDefault();if(a(C).is(":visible")){clearTimeout(H);a(n).children().removeAttr("class");a(".stop").remove();a(".c_c").append(t);l.add(k).css("width",e+"px");k.click()}}}if(a(".c_c").is(".unique")||a(".item").is(".last")){}else{if(a(".c_c").is(".c_c")&&(I.keyCode===39)){I.preventDefault();if(a(C).is(":visible")){clearTimeout(H);a(n).children().removeAttr("class");a(".stop").remove();a(".c_c").append(t);l.add(k).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 D=a(document).height();r.css("height",D+"px")}if(a.browser.msie){b.close_speed=0}}}c()}})(jQuery);
