(function(a){function d(b,c){var d=document.createElementNS("http://www.w3.org/2000/svg",b||"svg");if(c){a.each(c,function(a,b){d.setAttributeNS(null,a,b)})}return a(d)}a.fn.activity=function(d){this.each(function(){var e=a(this);var f=e.data("activity");if(f){clearInterval(f.data("interval"));f.remove();e.removeData("activity")}if(d!==false){d=a.extend({color:e.css("color")},a.fn.activity.defaults,d);f=b(e,d).css("position","absolute").prependTo(d.outside?"body":e);var g=e.outerHeight()-f.height();var h=e.outerWidth()-f.width();var i={top:d.valign=="top"?d.padding:d.valign=="bottom"?g-d.padding:Math.floor(g/2),left:d.align=="left"?d.padding:d.align=="right"?h-d.padding:Math.floor(h/2)};var j=e.offset();if(d.outside){f.css({top:j.top+"px",left:j.left+"px"})}else{i.top-=f.offset().top-j.top;i.left-=f.offset().left-j.left}f.css({marginTop:i.top+"px",marginLeft:i.left+"px"});c(f,d.segments,Math.round(10/d.speed)/10);e.data("activity",f)}});return this};a.fn.activity.defaults={segments:12,space:3,length:7,width:4,speed:1.2,align:"center",valign:"center",padding:4};a.fn.activity.getOpacity=function(a,b){var c=a.steps||a.segments-1;var d=a.opacity!==undefined?a.opacity:1/c;return 1-Math.min(b,c)*(1-d)/c};var b=function(){return a("<div>").addClass("busy")};var c=function(){};if(document.createElementNS&&document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect){b=function(b,c){var e=c.width*2+c.space;var f=e+c.length+Math.ceil(c.width/2)+1;var g=d().width(f*2).height(f*2);var h=d("g",{"stroke-width":c.width,"stroke-linecap":"round",stroke:c.color}).appendTo(d("g",{transform:"translate("+f+","+f+")"}).appendTo(g));for(var i=0;i<c.segments;i++){h.append(d("line",{x1:0,y1:e,x2:0,y2:e+c.length,transform:"rotate("+360/c.segments*i+", 0, 0)",opacity:a.fn.activity.getOpacity(c,i)}))}return a("<div>").append(g).width(2*f).height(2*f)};if(document.createElement("div").style.WebkitAnimationName!==undefined){var e={};c=function(a,b,c){if(!e[b]){var d="spin"+b;var f="@-webkit-keyframes "+d+" {";for(var g=0;g<b;g++){var h=Math.round(1e5/b*g)/1e3;var i=Math.round(1e5/b*(g+1)-1)/1e3;var j="% { -webkit-transform:rotate("+Math.round(360/b*g)+"deg); }\n";f+=h+j+i+j}f+="100% { -webkit-transform:rotate(100deg); }\n}";document.styleSheets[0].insertRule(f);e[b]=d}a.css("-webkit-animation",e[b]+" "+c+"s linear infinite")}}else{c=function(a,b,c){var d=0;var e=a.find("g g").get(0);a.data("interval",setInterval(function(){e.setAttributeNS(null,"transform","rotate("+ ++d%b*(360/b)+")")},c*1e3/b))}}}else{var f=a("<shape>").css("behavior","url(#default#VML)");a("body").append(f);if(f.get(0).adj){var g=document.createStyleSheet();a.each(["group","shape","stroke"],function(){g.addRule(this,"behavior:url(#default#VML);")});b=function(b,c){var d=c.width*2+c.space;var e=d+c.length+Math.ceil(c.width/2)+1;var f=e*2;var g=-Math.ceil(f/2);var h=a("<group>",{coordsize:f+" "+f,coordorigin:g+" "+g}).css({top:g,left:g,width:f,height:f});for(var i=0;i<c.segments;i++){h.append(a("<shape>",{path:"m "+d+",0  l "+(d+c.length)+",0"}).css({width:f,height:f,rotation:360/c.segments*i+"deg"}).append(a("<stroke>",{color:c.color,weight:c.width+"px",endcap:"round",opacity:a.fn.activity.getOpacity(c,i)})))}return a("<group>",{coordsize:f+" "+f}).css({width:f,height:f,overflow:"hidden"}).append(h)};c=function(a,b,c){var d=0;var e=a.get(0);a.data("interval",setInterval(function(){e.style.rotation=++d%b*(360/b)},c*1e3/b))}}a(f).remove()}})(jQuery);(function(a){function b(a){var b=document.createElement("canvas");var c=b.getContext("2d");var d=a.width;var e=a.height;b.width=d;b.height=e;c.drawImage(a,0,0);var f=c.getImageData(0,0,d,e);for(var g=0;g<f.height;g++){for(var h=0;h<f.width;h++){var i=g*4*f.width+h*4;var j=(f.data[i]+f.data[i+1]+f.data[i+2])/3;f.data[i]=j;f.data[i+1]=j;f.data[i+2]=j}}c.putImageData(f,0,0,0,0,f.width,f.height);return b.toDataURL()}a.mbZoomify={name:"mb.bgndGallery",author:"Matteo Bicocchi",version:"1.0",defaults:{zoomSteps:[1,2,3,100],screen:"self",startLevel:0,sWidth:0,sHeight:0,activateKeyboard:true,onStart:function(){},onZoomIn:function(){},onZoomOut:function(){},onDrag:function(){}},init:function(b){var c={};a.extend(c,a.mbZoomify.defaults,b);return this.each(function(){var b=this;var d=a(b);b.opt=c;if(!d.is("img"))return;var e=d.width()<d.height();if(b.opt.screen=="self"){var f=a("<div/>").addClass("zoomWrapper").css({width:b.opt.sWidth!=0?b.opt.sWidth:d.outerWidth(),height:b.opt.sHeight!=0?b.opt.sHeight:d.outerHeight(),overflow:"hidden",position:d.css("position")=="static"?"relative":d.css("position"),display:d.css("display")=="inline"?"inline-block":"block"});d.wrap(f);d.css({border:"none",position:"absolute",width:d.width(),height:d.height(),left:"50%",top:"50%",marginLeft:-(d.width()/2),marginTop:-(d.height()/2)});d.removeAttr("onclick");d.parent().showLoader(function(){d.mbZoomify_run()})}else{var g=a(b.opt.screen).addClass("zoomWrapper");var h=a("<img>").attr("src",d.attr("src")).data("highres",d.data("highres"));h.get(0).opt=c;g.css({overflow:"hidden",position:g.css("position")=="static"?"relative":g.css("position")}).empty().append(h);if(e){h.css({height:"100%",position:"absolute"}).hide()}else{h.css({width:"100%",position:"absolute"}).hide()}h.css({width:h.width(),height:h.height(),left:"50%",top:"50%",marginLeft:-(h.width()/2),marginTop:-(h.height()/2)});g.showLoader(function(){h.fadeIn(1e3,function(){h.mbZoomify_run()})})}})},run:function(){var b=this.get(0);var c=a(b);var d=c.parent();var e=c.data("highres")?a("<img>").attr("src",c.data("highres")):a("<img>").attr("src",c.attr("src"));var f=a("<div/>").addClass("zoomOverlay").css({position:"absolute",cursor:"move",width:"100%",height:"100%",top:0,left:0});var g=e.addClass("zoomifyOutScreen").css({position:"absolute",left:-1e4,top:-1e4}).load(function(){function j(a){function d(){var d=a.pageX-c.offset().left;var e=a.pageY-c.offset().top;var f=d*b.minWidth/c.width();var g=e*b.minHeight/c.height();return{x:f,y:g}}b.mousex=d().x;b.mousey=d().y;var e=parseFloat(c.css("margin-left"));var f=parseFloat(c.css("margin-top"));b.origin={startX:a.pageX,startY:a.pageY,x:b.mousex,y:b.mousey,ml:e,mt:f}}b.minWidth=c.width();b.minHeight=c.height();b.maxWidth=a(this).width();b.maxHeight=a(this).height();b.zoomLevel=0;c.trigger("originalReady",false);c.attr("src",e.attr("src"));c.parent().hideLoader();c.parent().append(f);var d=a("<div/>").addClass("zoomControls");var h=a("<div/>").addClass("zoomInControl").bind("click",function(){b.zoomLevel++;c.mbZoomify_zoom()});var i=a("<div/>").addClass("zoomOutControl").bind("click",function(){b.zoomLevel--;c.mbZoomify_zoom()});d.append(h).append(i);i.addClass("disabled");c.parent().append(d);a("body").unselectable();a(document).bind("mouseup",function(a){b.candrag=false}).bind("keydown",function(a){if(a.metaKey&&a.altKey){f.addClass("zoomOut")}else if(a.metaKey){f.addClass("zoomIn")}}).bind("keyup",function(a){if(!a.metaKey&&b.zoomLevel>0)f.removeClass("zoomIn zoomOut")}).bind("keypress.mbZoomify",function(a){if(!b.opt.activateKeyboard)return;var d=a.keyCode?a.keyCode:a.which;switch(d){case 43:b.zoomLevel++;c.mbZoomify_zoom();break;case 45:b.zoomLevel--;c.mbZoomify_zoom();break}});f.bind("mousedown",function(a){j(a);b.candrag=true}).bind("mousemove",function(a){if(!b.candrag||a.metaKey)return;var d={x:a.pageX,y:a.pageY};c.mbZoomify_drag(d)}).bind("click",function(a){if(a.metaKey&&a.altKey){b.zoomLevel--;c.mbZoomify_zoom(true)}else if(a.metaKey){b.zoomLevel++;c.mbZoomify_zoom(true)}else if(b.zoomLevel==0){b.zoomLevel++;c.mbZoomify_zoom(true)}}).bind("dblclick",function(a){if(b.zoomLevel==b.opt.zoomSteps.length-1){b.zoomLevel=0}else{b.zoomLevel=b.opt.zoomSteps.length-1}c.mbZoomify_zoom(true)}).mousewheel(function(d,e,g,h){if(d.metaKey&&!a.browser.mozilla){f.addClass("zoomIn");j(d);if(h>.3&&!b.zooming){b.zooming=true;b.zoomLevel=b.opt.zoomSteps.length-1;c.mbZoomify_zoom(true)}else if(h<-.3&&!b.zooming){f.addClass("zoomOut");b.zooming=true;b.zoomLevel=0;c.mbZoomify_zoom(true)}else if(h>.2&&!b.zooming){b.zooming=true;b.zoomLevel++;c.mbZoomify_zoom(true)}else if(h<-.2&&!b.zooming){b.zooming=true;f.addClass("zoomOut");b.zoomLevel--;c.mbZoomify_zoom(true)}else if(h<.1&&h>-.1){f.removeClass("zoomOut");if(b.zooming)b.zooming=false}d.stopPropagation();d.preventDefault()}});g.remove();if(b.opt.startLevel){b.zoomLevel=b.opt.startLevel;c.mbZoomify_zoom()}else{f.addClass("zoomIn")}if(typeof b.opt.onStart=="function")b.opt.onStart(b.origin)}).appendTo("body")},zoom:function(b){var c=this.get(0);var d=a(c);var e=d.parent();var f=e.find(".zoomOverlay");var g=e.find(".zoomControls");if(!c.oldZoomLevel)c.oldZoomLevel=0;if(typeof b=="string"){c=d.children("img").get(0);d=a(c);if(!c)return;if(b=="in")c.zoomLevel++;if(b=="out")c.zoomLevel--;b=false}if(c.zoomLevel>0){f.addClass("move");f.removeClass("zoomIn");g.find(".zoomOutControl").removeClass("disabled");g.find(".zoomInControl").removeClass("disabled")}else{f.removeClass("move");f.removeClass("zoomOut");f.addClass("zoomIn");g.find(".zoomInControl").removeClass("disabled");g.find(".zoomOutControl").addClass("disabled")}if(c.zoomLevel>c.opt.zoomSteps.length-1){c.zoomLevel=c.opt.zoomSteps.length-1;a(document).trigger("maxzoom",false)}if(c.zoomLevel<0){c.zoomLevel=0;a(document).trigger("minzoom",false)}var h=d.width();var i=d.height();h=c.minWidth*c.opt.zoomSteps[c.zoomLevel];i=c.minHeight*c.opt.zoomSteps[c.zoomLevel];if(h>c.maxWidth||i>c.maxHeight){h=c.maxWidth;i=c.maxHeight;c.zoomLevel=c.opt.zoomSteps.length-1;g.find(".zoomInControl").addClass("disabled")}if(h<=c.minWidth||i<=c.minHeight){h=c.minWidth;i=c.minHeight;c.zoomLevel=0;g.find(".zoomOutControl").addClass("disabled")}var j=h/2;var k=i/2;if(b&&c.zoomLevel>0){var l=h/c.minWidth;var m=c.origin.x*l;var n=c.origin.y*l;j=j+(m-j);k=k+(n-k);if(j<f.width()/2){j=h/2-(h-f.width())/2}if(j+f.width()/2>h){j=h/2+(h-f.width())/2}if(k<f.height()/2){k=i/2-(i-f.height())/2}if(k+f.height()/2>i){k=i/2+(i-f.height())/2}}var o=function(){if(c.oldZoomLevel<c.zoomLevel){if(typeof c.opt.onZoomIn=="function")c.opt.onZoomIn(c.zoomLevel)}if(c.oldZoomLevel>c.zoomLevel){if(typeof c.opt.onZoomOut=="function")c.opt.onZoomOut(c.zoomLevel)}c.oldZoomLevel=c.zoomLevel};d.mbZoomify_animate({width:h,height:i,marginLeft:-j,marginTop:-k},500,"",o)},drag:function(b){var c=this.get(0);var d=a(c);if(c.zoomLevel==0)return;var e=b.x-c.origin.startX;var f=b.y-c.origin.startY;var g=d.width();var h=d.height();var i=c.origin.ml+e;var j=c.origin.mt+f;var k=d.parent();if(i>-(k.width()/2)){i=-(g/2-(g-k.width())/2)}if(i-k.width()/2<-g){i=-(g/2+(g-k.width())/2)}if(j>-(k.height()/2)){j=-(h/2-(h-k.height())/2)}if(j-k.height()/2<-h){j=-(h/2+(h-k.height())/2)}if(typeof c.opt.onDrag=="function")c.opt.onDrag(c.origin);d.css({marginLeft:i,marginTop:j})},destroy:function(){},animate:function(b,c,d,e){if(!b)return;if(typeof c=="function"){e=c}if(typeof d=="function"){e=d}if(!c)c=1e3;if(!d)d="cubic-bezier(0.65,0.03,0.36,0.72)";var f=this;if(a.browser.msie){f.animate(b,c,e);return}var g="";var h="TransitionEnd";if(a.browser.webkit){g="-webkit-";h="webkitTransitionEnd"}else if(a.browser.mozilla){g="-moz-";h="transitionend"}else if(a.browser.opera){g="-o-";h="oTransitionEnd"}f.css(g+"transition-property","all");f.css(g+"transition-duration",c+"ms");f.css(g+"transition-timing-function",d);f.css(b);var i=function(){f.css(g+"transition","");if(typeof e=="function")e();f.get(0).removeEventListener(h,i,true)};f.get(0).addEventListener(h,i,true)},overlay:function(b){var c=this.get(0);var d=a(c);if(b=="destroy"){a("#zoomScreenOver").fadeOut(1e3,function(){a(this).remove()});return}var e=a("<div/>").attr("id","zoomScreenOver").addClass("zoomScreenOver");e.css({position:"fixed",top:0,left:0,width:"100%",height:"100%"}).hide();var f=a("<div/>").attr("id","zoomScreen");f.unselectable();a("body").append(e);e.append(f);e.css({opacity:0}).show();f.css({position:"relative",margin:"auto",marginTop:(a(document).height()-f.height())/2});e.fadeTo(1e3,1,function(){var c={};a.extend(c,a.mbZoomify.defaults,b,{screen:"#zoomScreen"});d.mbZoomify(c)});f.bind("click",function(a){a.preventDefault()});e.bind("click",function(b){if(a(b.target).hasClass("zoomScreenOver"))d.mbZoomify_overlay("destroy")})}};a.showLoader=function(b){a("#loader").remove();var c=a("<div/>").attr("id","loader").css({position:"absolute",width:"100%",height:"100%",zIndex:1e4}).hide();a(this).append(c);a("#loader").activity({color:"rgb(255,255,255)"});a("#loader").fadeIn(1e3,function(){if(typeof b==="function")b()})};a.hideLoader=function(b){var c=a("#loader",a(this));a("#loader").fadeOut(1e3,function(){if(typeof b==="function")b();a(this).remove()})};a.fn.unselectable=function(){this.each(function(){a(this).css({"-moz-user-select":"none","-khtml-user-select":"none","user-select":"none"}).attr("unselectable","on")});return a(this)};a.fn.mbZoomify=a.mbZoomify.init;a.fn.mbZoomify_run=a.mbZoomify.run;a.fn.mbZoomify_zoom=a.mbZoomify.zoom;a.fn.mbZoomify_drag=a.mbZoomify.drag;a.fn.mbZoomify_animate=a.mbZoomify.animate;a.fn.mbZoomify_overlay=a.mbZoomify.overlay;a.fn.showLoader=a.showLoader;a.fn.hideLoader=a.hideLoader})(jQuery)
