/**
* Name: piroBox v.1.2.2
* Date: May 2010
* Autor: Diego Valobra (http://www.pirolab.it),(http://www.diegovalobra.com)
* Version: 1.2.2
* 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,close_all:".piro_close,.piro_overlay",slideShow:null,slideSpeed:null},b);function c(){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 s=a(document).height();var r=a(jQuery('<div class="piro_overlay"></div>').hide().css({opacity:+b.bg_alpha,height:s+"px"}));var n=a(jQuery('<table class="pirobox_content" cellpadding="0" cellspacing="0"></table>'));var z=a(jQuery('<div class="caption"></div>'));var f=a(jQuery('<div class="piro_nav"></div>'));var v=a(jQuery('<a href="#close" class="piro_close" title="close"></a>'));var t=a(jQuery('<a href="#play" class="play" title="play slideshow"></a>'));var p=a(jQuery('<a href="#stop" class="stop" title="stop slideshow"></a>'));var k=a(jQuery('<a href="#prev" class="piro_prev" title="previous image"></a>'));var m=a(jQuery('<a href="#next" class="piro_next" title="next image"></a>'));a("body").append(r).append(n);n.append(u);a(".pirobox_up").append(v);a(".pirobox_down").append(f);a(".pirobox_down").append(t);t.hide();a(".pirobox_down").append(k).append(m);f.append(z);var e=k.width();n.hide();var A=a("a[class^='pirobox']");var B=new Object();for(var y=0;y<A.length;y++){var j=a(A[y]);B["a."+j.attr("class")]=0}var q=new Array();for(var D in B){q.push(D)}for(var y=0;y<q.length;y++){a(q[y]).each(function(i){this.rel=i+1+"&nbsp;of&nbsp;"+a(q[y]).length});var d=a(q[y]+":first").addClass("first");var w=a(q[y]+":last").addClass("last")}a(A).each(function(i){this.rev=i+0});var l=a(A).each(function(){this.href});var x=a("body").append('<div id="imgCache" style="display:none"></div').children("#imgCache");a.each(l,function(E,F){a("<div/>").css({background:"url("+F+")"}).appendTo(x)});var o=a(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 E=a(this).css("position");if(E!="absolute"&&E!="relative"){a(this).css("position","relative")}})}})};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 h=a(document).height();r.css("height",h+"px")}if(a.browser.msie){b.close_speed=0}a(window).resize(function(){var i=a(document).height();r.css({visibility:"visible",height:+i+"px"})});k.add(m).bind("click",function(F){F.preventDefault();var i=parseInt(a(o).filter(".item").attr("rev"));var E=a(this).is(".piro_prev_out,.piro_prev")?a(o).eq(i-1):a(o).eq(i+1);if(!E.size()){E=a(this).is(".piro_prev_out,.piro_prev")?a(o).eq(a(o).size()-1):a(o).eq(0)}E.click();v.add(z).add(m).add(k).css("visibility","hidden")});a(o).each(function(E){var i=a(this);i.unbind();i.bind("click",function(I){I.preventDefault();g(i.attr("href"));var F=i.attr("href").replace(/\/large_/,"/");var H=i.attr("title");var G=i.attr("rel");if(H==""){z.html("<p>"+F+'<em class="number">'+G+"</em><a href="+F+' class="link_to" target="_blank" title="Open Image in a new window"></a></p>')}else{z.html("<p>"+H+'<em class="number">'+G+"</em><a href="+F+' 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();m.show()}else{m.add(k).show()}if(i.is(".last")){k.show();m.hide();t.css("width","0")}else{t.css("width","40px")}if(i.is(".last")&&i.is(".first")){k.add(m).hide();a(".number").hide();t.remove()}a(o).filter(".item").removeClass("item");i.addClass("item");a(".c_c").removeClass("unique")})});var g=function(i){t.add(p).hide();v.add(z).add(m).add(k).css("visibility","hidden");if(n.is(":visible")){a(".c_c div").children().fadeOut(300,function(){a(".c_c div").children().remove();C(i)})}else{a(".c_c div").children().remove();n.show();r.fadeIn(300,function(){C(i)})}};var C=function(G){if(n.is(".loading")){return}n.addClass("loading");var E=new Image();E.onerror=function(){var I=a(n).height();n.css({marginTop:parseInt(a(document).scrollTop())-(I/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(J){J.preventDefault();v.add(r).add(n).add(z).add(m).add(k).hide(0,function(){E.src=""});n.removeClass("loading")})};E.onload=function(){var N=E.height;var L=E.width;var M=a(n).height();var K=a(window).height();var J=a(window).width();a(E).height(N).width(L).hide();a(".c_c div").animate({height:N+"px",width:L+"px"},b.my_speed);var I=N/K*2.3;if(K<N){h_fix=I}else{h_fix=2}n.animate({height:(N+40)+"px",width:(L+40)+"px",marginLeft:"-"+((L)/2+20)+"px",marginTop:parseInt(a(document).scrollTop())-(N/h_fix)},b.my_speed,function(){a(".piro_nav,.caption").css({width:(L)+"px","margin-bottom":"10px"});a(".piro_nav").css("margin-left","-"+(L)/2+"px");var O=z.height();a(".c_c div").append(E);v.css("display","block");m.add(k).add(v).css("visibility","visible");z.css({visibility:"visible",display:"block",opacity:"0.8",overflow:"hidden"});n.hover(function(){z.stop().fadeTo(200,0.8)},function(){z.stop().fadeTo(200,0)});a(E).fadeIn(300);n.removeClass("loading");if(b.slideShow===true){t.add(p).show()}else{t.add(p).hide()}})};E.src=G;a("html").bind("keyup",function(I){if(I.keyCode==27){I.preventDefault();if(a(E).is(":visible")||a(".c_c>div>p>a").is(".close_pirobox")){a(o).removeClass("slideshow").removeClass("item");v.add(r).add(n).add(z).add(m).add(k).hide(0,function(){E.src=""});n.removeClass("loading");clearTimeout(H);a(o).children().removeAttr("class");a(".stop").remove();a(".c_c").append(t);a(".sc_menu").css("display","none");a("ul.sc_menu li a").removeClass("img_active").css("opacity","0.4");m.add(k).show().css({top:"50%"});a(o).children().fadeTo(100,1)}}});a("html").bind("keyup",function(I){if(a(".item").is(".first")){}else{if(I.keyCode==37){I.preventDefault();if(a(E).is(":visible")){clearTimeout(H);a(o).children().removeAttr("class");a(".stop").remove();a(".c_c").append(t);k.click()}}}});a("html").bind("keyup",function(I){if(a(".item").is(".last")){}else{if(I.keyCode==39){I.preventDefault();if(a(E).is(":visible")){clearTimeout(H);a(o).children().removeAttr("class");a(".stop").remove();a(".c_c").append(t);m.click()}}}});var i=a(window).height();p.bind("click",function(I){I.preventDefault();clearTimeout(H);a(o).removeClass("slideshow");a(".stop").remove();a(".pirobox_down").append(t);m.add(k).css("width",e+"px")});t.bind("click",function(I){I.preventDefault();clearTimeout(H);if(a(E).is(":visible")){a(o).addClass("slideshow");a(".play").remove();a(".pirobox_down").append(p)}m.add(k).css({width:"0px"});return F()});a(b.close_all).bind("click",function(I){a(o).removeClass("slideshow");clearTimeout(H);if(a(E).is(":visible")){I.preventDefault();v.add(r).add(n).add(z).add(m).add(k).hide(0,function(){E.src=""});n.removeClass("loading");a(o).removeClass("slideshow");m.add(k).css("width",e+"px").hide();a(".stop").remove();a(".pirobox_down").append(t);t.hide()}});if(b.slideShow===true){function F(){if(a(o).filter(".item").is(".last")){clearTimeout(H);a(o).removeClass("slideshow");a(".stop").remove();a(".pirobox_down").append(t);m.add(k).css("width",e+"px")}else{if(a(o).is(".slideshow")&&a(E).is(":visible")){clearTimeout(H);m.click()}}}var H=setInterval(F,b.slideSpeed*1000)}}}c()}})(jQuery);