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

