var GalleryDefault=new Class({initialize:function(c,b,a){this.root_node=c?$(c):null;this.body_node=document.getElement("body");this.overlay_node=null;this.popin_window_node=null;this.loader_node=null;this.image_viewport_class="mb_gallery_image_viewport";this.image_class="mb_gallery_image";this.image_active_class="mb_gallery_image_active";this.image_hold_class="mb_gallery_image_hold";this.images_class="mb_gallery_images";this.image_prev_class="mb_gallery_image_prev";this.image_next_class="mb_gallery_image_next";this.image_info_class="mb_gallery_image_info";this.image_counter_class="mb_gallery_image_counter";this.image_title_class="mb_gallery_image_title";this.image_description_class="mb_gallery_image_description";this.info_source_class="mb_gallery_info_source";this.info_title_class="mb_gallery_info_title";this.info_description_class="mb_gallery_info_description";this.info_link_class="mb_gallery_info_link";this.info_link_target_class="mb_gallery_info_link_taget";this.thumbnails_class="mb_gallery_thumbnails";this.thumbnail_class="mb_gallery_thumbnail";this.blocker_class="mb_gallery_blocker";this.overlay_class="mb_gallery_overlay";this.popin_window_class="mb_gallery_popin_window";this.popin_close_class="mb_gallery_popin_close";this.loader_class="mb_gallery_loader";this.active_class="active";this.disabled_class="disabled";this.image_prefix="mb_gallery_image_";this.info_prefix="mb_gallery_info_";this.thumbnail_prefix="mb_gallery_thumbnail_";b=b?parseInt(b):0;a=a?parseInt(a):0;this.effect_type=isNaN(b)?0:b;this.time_interval=isNaN(a)?0:a;this.timer=null;this.image_amount=0;this.image_viewport_width=0},start:function(){var d=this;if(this.root_node){this.overlay_node=this.root_node.getElement("."+this.overlay_class);this.popin_window_node=this.root_node.getElement("."+this.popin_window_class);this.loader_node=this.root_node.getElement("."+this.loader_class);var i=this.root_node.getElement("."+this.images_class);var f=this.root_node.getElement("."+this.image_viewport_class);var a=this.root_node.getElement("."+this.image_counter_class);var e=this.root_node.getElement("."+this.thumbnail_class);if(i){var h=i.getElements("img");if(h){this.image_amount=h.length;if(this.image_amount>1){this.stateHandler(this.image_next_class,1);if(this.time_interval){this.timer=new Fx({duration:this.time_interval,onComplete:function(){d.showImageSibling(1);d.timer.start()}});this.timer.start()}}}}if(a){var j=a.get("text");j=j.replace("#","<span>1</span>");j=j.replace("#",this.image_amount);a.set("html",j)}if(f){var c=f.getSize();this.image_viewport_width=c.x}}if(this.popin_window_node){var g=this.popin_window_node.getElement("."+this.image_class);var a=this.popin_window_node.getElement("."+this.image_counter_class);if(g){var b=parseInt(g.getStyle("padding"));if(!isNaN(b)){this.image_span=b}}if(a){var j=a.get("text");j=j.replace("#","<span>1</span>");j=j.replace("#",this.image_amount);a.set("html",j)}}this.setEvents()},setEvents:function(){var h=this;if(this.root_node){var d=this.root_node.getElement("."+this.image_prev_class);var c=this.root_node.getElement("."+this.image_next_class);var b=this.root_node.getElement("."+this.thumbnails_class);if(d&&c){d.addEvent("click",function(){if(!this.hasClass(h.disabled_class)){h.showImageSibling(2)}});c.addEvent("click",function(){if(!this.hasClass(h.disabled_class)){h.showImageSibling(1)}})}if(b){var f=b.getElements("."+this.thumbnail_class);if(f){f.addEvent("click",function(){if(!this.hasClass(h.active_class)){var m=this.getElement("img");var p=m.get("class");var l=parseInt(p.replace(h.thumbnail_prefix,""));if(!isNaN(l)){var i=h.image_prefix+l;var j=b.getElement("."+h.active_class);var o=1;if(j){var k=j.getElement("img");var n=k.get("class");var q=parseInt(n.replace(h.thumbnail_prefix,""));if(!isNaN(q)){if(l<q){o=2}}}h.showImage(i,o);h.showImageInfo(i)}}})}}}if(this.popin_window_node){var g=this.popin_window_node.getElement("."+this.popin_close_class);var d=this.popin_window_node.getElement("."+this.image_prev_class);var c=this.popin_window_node.getElement("."+this.image_next_class);var a=this.popin_window_node.getElement("."+this.blocker_class);if(this.root_node){var e=this.root_node.getElement("."+this.image_active_class);if(e){e.setStyle("cursor","pointer");e.addEvent("click",function(){var l=this.getElement("img");if(l){var k=l.get("class");var j=parseInt(k.replace(h.image_prefix,""));if(!isNaN(j)){var i=h.info_prefix+j;h.showPopinImage(i)}}})}}if(this.overlay_node){this.overlay_node.addEvent("click",function(){h.displayOverlay(0);h.displayPopinWindow(0);h.displayLoader(0)})}if(g){g.addEvent("click",function(){h.displayOverlay(0);h.displayPopinWindow(0);h.displayLoader(0)})}if(d&&c){d.addEvent("click",function(){if(!this.hasClass(h.disabled_class)){h.showPopinImageSibling(2)}});c.addEvent("click",function(){if(!this.hasClass(h.disabled_class)){h.showPopinImageSibling(1)}})}document.addEvent("keydown",function(j){var i=h.popin_window_node.getStyle("display");var k=a?a.getStyle("display"):"none";if(i=="block"&&k=="none"){switch(j.key){case"left":h.showPopinImageSibling(2);break;case"right":h.showPopinImageSibling(1);break}}})}},showImage:function(j,y){var p=this;if(this.root_node&&j){var t=this.root_node.getElement("."+this.image_class);var g=this.root_node.getElement("."+this.images_class);var e=parseInt(j.replace(this.image_prefix,""));var b=null;if(!isNaN(e)){var h=this.root_node.getElement("."+this.thumbnails_class);var q=this.info_prefix+e;var r=this.root_node.getElement("."+q);if(h){var n=this.thumbnail_prefix+e;var v=h.getElement("."+n);var u=v.getParent("."+this.thumbnail_class);if(u){if(!u.hasClass(this.active_class)){var z=h.getElement("."+this.active_class);if(z){z.removeClass(this.active_class)}u.addClass(this.active_class)}}}if(!this.popin_window_node&&r){var m=r.getElement("."+this.info_link_class);if(m){var f=r.getElement("."+this.info_link_target_class);var i=m.get("text");b=new Element("a",{href:i});if(f){var a=f.get("text");b.set("target",a)}}}switch(e){case 1:this.stateHandler(this.image_prev_class,0);if(this.image_amount==1){this.stateHandler(this.image_next_class,0)}else{this.stateHandler(this.image_next_class,1)}break;case this.image_amount:this.stateHandler(this.image_prev_class,1);this.stateHandler(this.image_next_class,0);break;default:this.stateHandler(this.image_prev_class,1);this.stateHandler(this.image_next_class,1);break}}if(t&&g){var s=g.getElement("."+j);if(s){var x=s.clone();var c=x.clone();var o=t.getElement("."+this.image_active_class);var l=t.getElement("."+this.image_hold_class);if(o){if(this.effect_type&&l){switch(this.effect_type){case 1:o.setStyle("z-index",20);l.setStyle("z-index",10);x.inject(l);var k=new Fx.Tween(o,{duration:500,transition:Fx.Transitions.Quad.easeOut,onStart:function(){p.displayBlocker(1);p.setTimer(0)},onComplete:function(){o.set("html",null);c.inject(o);o.setStyle("opacity",1);l.set("html",null);if(b){b.wraps(c)}p.displayBlocker(0);p.setTimer(1)}});k.start("opacity",0);break;case 2:if(this.image_viewport_width){var d=0;var w=-this.image_viewport_width;y=!isNaN(parseInt(y))?y:1;switch(y){case 1:t.setStyle("left",0);o.setStyle("left",0);l.setStyle("left",this.image_viewport_width);break;case 2:d=-this.image_viewport_width;w=0;t.setStyle("left",-this.image_viewport_width);o.setStyle("left",this.image_viewport_width);l.setStyle("left",0);break}x.inject(l);var k=new Fx.Tween(t,{duration:500,transition:Fx.Transitions.Quad.easeOut,onStart:function(){p.displayBlocker(1);p.setTimer(0)},onComplete:function(){o.set("html",null);c.inject(o);t.setStyle("left",d);l.set("html",null);if(b){b.wraps(c)}p.displayBlocker(0);p.setTimer(1)}});k.start("left",w)}break}}else{this.setTimer(0);this.setTimer(1);o.set("html",null);x.inject(o);if(b){b.wraps(x)}}}}}}},showImageSibling:function(h){if(this.root_node){var e=this.root_node.getElement("."+this.image_active_class);var c=this.root_node.getElement("."+this.images_class);if(e&&c){var g=e.getElement("img");if(g){var a=g.get("class");if(a){var d=c.getElement("."+a);if(d){var b=null;var f=null;h=!isNaN(parseInt(h))?h:1;switch(h){case 1:b=d.getNext("img");if(!b){f=this.image_prefix+1}break;case 2:b=d.getPrevious("img");if(!b){f=this.image_prefix+this.image_amount}break}if(b){var f=b.get("class")}if(f){this.showImage(f,h);this.showImageInfo(f)}}}}}}},showImageInfo:function(c){var j=this;if(this.root_node&&c){var h=parseInt(c.replace(this.image_prefix,""));if(!isNaN(h)){var n=this.info_prefix+h;var b=this.root_node.getElement("."+n);if(b){var m=this.root_node.getElement("."+this.image_info_class);var e=this.root_node.getElement("."+this.image_counter_class);var a=this.root_node.getElement("."+this.image_title_class);var k=this.root_node.getElement("."+this.image_description_class);var f=b.getElement("."+this.info_title_class);var i=b.getElement("."+this.info_description_class);var l=f?f.get("text"):null;var d=i?i.get("text"):null;if(m){if((f||i)&&m.hasClass(this.disabled_class)){m.removeClass(this.disabled_class)}else{if(!f&&!i&&!m.hasClass(this.disabled_class)){m.addClass(this.disabled_class)}}}if(e){var g=e.getElement("span");if(g){g.set("text",h)}}if(a){a.set("text",l)}if(k){k.set("text",d)}}}}},stateHandler:function(e,d,a){var c=null;a=!isNaN(parseInt(a))?a:0;switch(a){case 0:c=this.root_node;break;case 1:c=this.popin_window_node;break}if(c&&e){var b=c.getElement("."+e);if(b){d=!isNaN(parseInt(d))?d:1;switch(d){case 0:b.addClass(this.disabled_class);break;case 1:b.removeClass(this.disabled_class);break}}}},displayBlocker:function(d,b){var c=null;b=!isNaN(parseInt(b))?b:0;switch(b){case 0:c=this.root_node;break;case 1:c=this.popin_window_node;break}if(c){var a=c.getElement("."+this.blocker_class);if(a){d=!isNaN(parseInt(d))?d:1;switch(d){case 0:a.setStyle("display","none");break;case 1:a.setStyle("display","block");break}}}},setTimer:function(a){if(this.timer){a=!isNaN(parseInt(a))?a:1;switch(a){case 0:this.timer.cancel();break;case 1:this.timer.start();break}}},showPopinImage:function(w){var u=this;if(this.root_node&&this.popin_window_node&&w){var x=this.root_node.getElement("."+w);var s=parseInt(w.replace(this.info_prefix,""));if(x&&!isNaN(s)){var z=this.popin_window_node.getElement("."+this.image_class);var l=this.popin_window_node.getElement("."+this.image_info_class);var v=this.popin_window_node.getElement("."+this.image_title_class);var o=this.popin_window_node.getElement("."+this.image_description_class);var h=x.getElement("."+this.info_source_class);var A=x.getElement("."+this.info_title_class);var B=x.getElement("."+this.info_description_class);var t=x.getElement("."+this.info_link_class);var a=null;switch(s){case 1:this.stateHandler(this.image_prev_class,0,1);if(this.image_amount==1){this.stateHandler(this.image_next_class,0,1)}else{this.stateHandler(this.image_next_class,1,1)}break;case this.image_amount:this.stateHandler(this.image_prev_class,1,1);this.stateHandler(this.image_next_class,0,1);break;default:this.stateHandler(this.image_prev_class,1,1);this.stateHandler(this.image_next_class,1,1);break}if(t){var k=x.getElement("."+this.info_link_target_class);var p=t.get("text");a=new Element("a",{href:p});if(k){var b=k.get("text");a.set("target",b)}}if(z&&h){var q=this.image_prefix+s;var d=h.get("text");var c=new Array(d);var y=new Element("img",{"class":q,src:d});z.set("html",null);z.setStyle("opacity",0);y.inject(z);if(a){a.wraps(y)}this.displayOverlay(1);this.displayPopinWindow(1);this.displayHandler(this.image_prev_class,0);this.displayHandler(this.image_next_class,0);this.displayBlocker(1,1);this.displayLoader(1);var j=window.getSize();var f=j.x-20;var r=j.y-20;var n=0;var g=this.popin_window_node.getSize();var e=g.x;var m=g.y;if(l){l.setStyle("opacity",0);this.showPopinImageInfo(w);var i=l.getSize();n=i.y}new Asset.images(c,{onComplete:function(){var H=y.getSize();var M=H.x;var D=H.y;var O=M+(u.image_span*2);var E=D+n+(u.image_span*2);if(O>f){var Q=M;O=f;M=O-(u.image_span*2);D=parseInt((M/Q)*D);E=D+n+(u.image_span*2)}if(E>r){var N=D;E=r;D=E-n-(u.image_span*2);M=parseInt((D/N)*M);O=M+(u.image_span*2)}y.set({height:D,width:M});var C=-parseInt(O/2);var J=-parseInt(E/2);var G={"margin-left":C,width:O};var I={height:E,"margin-top":J};if(l){var L=new Fx.Tween(l,{duration:500,transition:Fx.Transitions.Quad.easeOut})}var K=new Fx.Tween(z,{duration:500,transition:Fx.Transitions.Quad.easeOut,onStart:function(){u.displayLoader(0);u.displayHandler(u.image_prev_class,1);u.displayHandler(u.image_next_class,1);if(l){L.start("opacity",1)}},onComplete:function(){u.displayBlocker(0,1)}});var F=new Fx.Morph(u.popin_window_node,{duration:250,transition:Fx.Transitions.Quad.easeOut,onComplete:function(){K.start("opacity",1)}});var P=new Fx.Morph(u.popin_window_node,{duration:250,transition:Fx.Transitions.Quad.easeOut,onComplete:function(){if(O!=e){F.start(G)}else{K.start("opacity",1)}}});if(E!=m){P.start(I)}else{if(O!=e){F.start(G)}else{K.start("opacity",1)}}}})}}}},showPopinImageSibling:function(f){if(this.root_node&&this.popin_window_node){var g=this.popin_window_node.getElement("."+this.image_class);if(g){var h=g.getElement("img");if(h){var b=h.get("class");var c=parseInt(b.replace(this.image_prefix,""));if(!isNaN(c)){var i=this.info_prefix+c;var a=this.root_node.getElement("."+i);if(a){var d=null;f=!isNaN(parseInt(f))?f:1;switch(f){case 1:d=a.getNext("div");break;case 2:d=a.getPrevious("div");break}if(d){var e=d.get("class");this.showPopinImage(e)}}}}}}},showPopinImageInfo:function(l){if(this.root_node&&this.popin_window_node&&l){var b=this.root_node.getElement("."+l);if(b){var k=this.popin_window_node.getElement("."+this.image_info_class);var d=this.popin_window_node.getElement("."+this.image_counter_class);var a=this.popin_window_node.getElement("."+this.image_title_class);var i=this.popin_window_node.getElement("."+this.image_description_class);var f=b.getElement("."+this.info_title_class);var h=b.getElement("."+this.info_description_class);var j=f?f.get("text"):null;var c=h?h.get("text"):null;if(k){if((f||h)&&k.hasClass(this.disabled_class)){k.removeClass(this.disabled_class)}else{if(!f&&!h&&!k.hasClass(this.disabled_class)){k.addClass(this.disabled_class)}}}if(d){var g=d.getElement("span");if(g){var e=parseInt(l.replace(this.info_prefix,""));g.set("text",e)}}if(a){a.set("text",j)}if(i){i.set("text",c)}}}},displayHandler:function(d,c){if(this.popin_window_node&&d){var b=this.popin_window_node.getElement("."+d);if(b){c=!isNaN(parseInt(c))?c:1;switch(c){case 0:b.setStyle("opacity",0);break;case 1:var a=new Fx.Tween(b,{duration:500,transition:Fx.Transitions.Quad.easeOut});a.start("opacity",1);break}}}},displayOverlay:function(a){if(this.root_node&&this.body_node&&this.overlay_node){a=!isNaN(parseInt(a))?a:1;switch(a){case 0:this.overlay_node.inject(this.root_node);this.overlay_node.setStyle("display","none");break;case 1:var b=this.overlay_node.getStyle("display");if(b=="none"){this.overlay_node.inject(this.body_node);this.overlay_node.setStyle("display","block")}break}}},displayPopinWindow:function(a){if(this.root_node&&this.body_node&&this.popin_window_node){a=!isNaN(parseInt(a))?a:1;switch(a){case 0:this.popin_window_node.inject(this.root_node);this.popin_window_node.setStyles({display:"none",height:null,"margin-left":null,"margin-top":null,width:null});break;case 1:var b=this.popin_window_node.getStyle("display");if(b=="none"){this.popin_window_node.inject(this.body_node);this.popin_window_node.setStyle("display","block")}break}}},displayLoader:function(a){if(this.root_node&&this.body_node&&this.loader_node){a=!isNaN(parseInt(a))?a:1;switch(a){case 0:this.loader_node.inject(this.root_node);this.loader_node.setStyle("display","none");break;case 1:this.loader_node.inject(this.body_node);this.loader_node.setStyle("display","block");break}}}});
