var GalleryThumbnailSliderHorizontal=new Class({initialize:function(c,b,a){this.root_node=c?$(c):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_viewport_class="mb_gallery_thumbnails_viewport";this.thumbnails_class="mb_gallery_thumbnails";this.thumbnail_class="mb_gallery_thumbnail";this.thumbnails_prev_class="mb_gallery_thumbnails_prev";this.thumbnails_next_class="mb_gallery_thumbnails_next";this.zoom_handler_class="mb_gallery_zoom_handler";this.zoom_viewport_class="mb_gallery_zoom_viewport";this.zoom_image_class="mb_gallery_zoom_image";this.blocker_class="mb_gallery_blocker";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.images_amount=0;this.image_viewport_size=new Object();this.image_viewport_size.x=0;this.image_viewport_size.y=0;this.thumbnails_viewport_width=0;this.thumbnail_span=0;this.zoom_viewport_size=new Object();this.zoom_viewport_size.x=0;this.zoom_viewport_size.y=0},start:function(){var h=this;if(this.root_node){var n=this.root_node.getElement("."+this.images_class);var k=this.root_node.getElement("."+this.image_viewport_class);var b=this.root_node.getElement("."+this.image_counter_class);var i=this.root_node.getElement("."+this.thumbnails_viewport_class);var j=this.root_node.getElement("."+this.thumbnail_class);var e=this.root_node.getElement("."+this.zoom_viewport_class);if(n){var m=n.getElements("img");if(m){this.images_amount=m.length;if(this.images_amount>1){this.stateHandler(this.image_next_class,1);if(this.time_interval){this.timer=new Fx({duration:this.time_interval,onComplete:function(){h.showImageSibling(1);h.timer.start()}});this.timer.start()}}}}if(k){this.image_viewport_size=k.getSize()}if(b){var l=b.get("text");l=l.replace("#","<span>1</span>");l=l.replace("#",this.images_amount);b.set("html",l)}if(j){var g=parseInt(j.getStyle("margin-right"));if(!isNaN(g)){this.thumbnail_span=g}}if(i){var d=this.root_node.getElement("."+this.thumbnails_class);var c=i.getSize();this.thumbnails_viewport_width=c.x;if(d&&this.thumbnails_viewport_width){var a=d.getElements("img");if(a){var f=new Array();a.each(function(o){thumbnails_img_src=o.get("src");if(thumbnails_img_src){f.push(thumbnails_img_src)}});if(f.length){new Asset.images(f,{onComplete:function(){var p=d.getSize();var o=p.x-h.thumbnail_span;if(o>h.thumbnails_viewport_width){h.stateHandler(h.thumbnails_next_class,1)}}})}}}}if(e){e.setStyles({display:"block",visibility:"hidden"});this.zoom_viewport_size=e.getSize();e.setStyles({display:"none",visibility:"visible"})}}this.setEvents()},setEvents:function(){var f=this;if(this.root_node){var g=this.root_node.getElement("."+this.image_viewport_class);var b=this.root_node.getElement("."+this.zoom_handler_class);var h=this.root_node.getElement("."+this.image_prev_class);var i=this.root_node.getElement("."+this.image_next_class);var d=this.root_node.getElement("."+this.thumbnails_class);var c=this.root_node.getElement("."+this.thumbnails_prev_class);var e=this.root_node.getElement("."+this.thumbnails_next_class);if(g&&b){g.addEvents({mouseenter:function(){f.displayZoom(1)},mouseleave:function(){f.displayZoom(0)},mousemove:function(j){f.moveZoom(j.page.x,j.page.y)}})}if(h&&i){h.addEvent("click",function(){if(!this.hasClass(f.disabled_class)){f.showImageSibling(2)}});i.addEvent("click",function(){if(!this.hasClass(f.disabled_class)){f.showImageSibling(1)}})}if(d){var a=d.getElements("."+this.thumbnail_class);if(a){a.addEvent("click",function(){if(!this.hasClass(f.active_class)){var n=this.getElement("img");var q=n.get("class");var m=parseInt(q.replace(f.thumbnail_prefix,""));if(!isNaN(m)){var j=f.image_prefix+m;var k=d.getElement("."+f.active_class);var p=1;if(k){var l=k.getElement("img");var o=l.get("class");var r=parseInt(o.replace(f.thumbnail_prefix,""));if(!isNaN(r)){if(m<r){p=2}}}f.showImage(j,p);f.showImageInfo(j)}}})}}if(c&&e){c.addEvent("click",function(){if(!this.hasClass(f.disabled_class)){f.scrollThumbnails(2)}});e.addEvent("click",function(){if(!this.hasClass(f.disabled_class)){f.scrollThumbnails(1)}})}}},showImage:function(n,C){var t=this;if(this.root_node&&n){var x=this.root_node.getElement("."+this.image_class);var j=this.root_node.getElement("."+this.images_class);var h=parseInt(n.replace(this.image_prefix,""));var b=null;if(!isNaN(h)){var l=this.root_node.getElement("."+this.thumbnails_class);var u=this.info_prefix+h;var v=this.root_node.getElement("."+u);if(l){var r=this.thumbnail_prefix+h;var z=l.getElement("."+r);var y=z.getParent("."+this.thumbnail_class);if(y){if(!y.hasClass(this.active_class)){var E=l.getElement("."+this.active_class);if(E){E.removeClass(this.active_class)}y.addClass(this.active_class)}t.scrollThumbnails(C,y)}}if(v){var g=v.getElement("."+this.info_source_class);var q=v.getElement("."+this.info_link_class);var D=this.root_node.getElement("."+this.zoom_image_class);if(g&&D){var d=g.get("text");var c=new Array(d);var w=new Element("img",{src:d});D.set("html",null);w.inject(D)}if(q){var i=v.getElement("."+this.info_link_target_class);var m=q.get("text");b=new Element("a",{href:m});if(i){var a=i.get("text");b.set("target",a)}}}switch(h){case 1:this.stateHandler(this.image_prev_class,0);if(this.images_amount==1){this.stateHandler(this.image_next_class,0)}else{this.stateHandler(this.image_next_class,1)}break;case this.images_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(x&&j){var w=j.getElement("."+n);if(w){var B=w.clone();var e=B.clone();var s=x.getElement("."+this.image_active_class);var p=x.getElement("."+this.image_hold_class);if(s){if(this.effect_type&&p){switch(this.effect_type){case 1:s.setStyle("z-index",20);p.setStyle("z-index",10);B.inject(p);var o=new Fx.Morph(s,{duration:500,transition:Fx.Transitions.Quad.easeOut,onStart:function(){t.displayBlocker(1);t.setTimer(0)},onComplete:function(){s.set("html",null);e.inject(s);s.setStyle("opacity",1);p.set("html",null);if(b){b.wraps(e)}t.displayBlocker(0);t.setTimer(1)}});o.start({opacity:0});break;case 2:if(this.image_viewport_size.x){var k=this.image_viewport_size.x;var f=0;var A=-k;C=!isNaN(parseInt(C))?C:1;switch(C){case 1:x.setStyle("left",0);s.setStyle("left",0);p.setStyle("left",k);break;case 2:f=-k;A=0;x.setStyle("left",-k);s.setStyle("left",k);p.setStyle("left",0);break}B.inject(p);var o=new Fx.Morph(x,{duration:500,transition:Fx.Transitions.Quad.easeOut,onStart:function(){t.displayBlocker(1);t.setTimer(0)},onComplete:function(){s.set("html",null);e.inject(s);x.setStyle("left",f);p.set("html",null);if(b){b.wraps(e)}t.displayBlocker(0);t.setTimer(1)}});o.start({left:A})}break}}else{this.setTimer(0);this.setTimer(1);s.set("html",null);B.inject(s);if(b){b.wraps(B)}}}}}}},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.images_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)}}}}},scrollThumbnails:function(k,f){var h=this;if(this.root_node&&this.thumbnails_viewport_width){var i=this.root_node.getElement("."+this.thumbnails_viewport_class);var g=this.root_node.getElement("."+this.thumbnails_class);if(i&&g){var a=g.getSize();var e=a.x-this.thumbnail_span;if(e>this.thumbnails_viewport_width){var b=-(e-this.thumbnails_viewport_width);var j=g.getPosition(i);var d=j.x;var c=null;if(f){thumbnails_viewport_center=parseInt(this.thumbnails_viewport_width/2);thumbnail_coords=f.getCoordinates(g);thumbnail_left=thumbnail_coords.left;thumbnail_width=thumbnail_coords.width;thumbnail_center=parseInt(thumbnail_width/2);c=-(thumbnail_left+thumbnail_center-thumbnails_viewport_center)}else{k=!isNaN(parseInt(k))?k:1;switch(k){case 1:if(d>b){c=d-this.thumbnails_viewport_width;if(this.thumbnail_span){c-=this.thumbnail_span}}break;case 2:if(d<0){c=d+this.thumbnails_viewport_width;if(this.thumbnail_span){c+=this.thumbnail_span}}break}}if(!isNaN(parseInt(c))){if(c<b){c=b}else{if(c>0){c=0}}switch(c){case 0:this.stateHandler(this.thumbnails_prev_class,0);this.stateHandler(this.thumbnails_next_class,1);break;case b:this.stateHandler(this.thumbnails_prev_class,1);this.stateHandler(this.thumbnails_next_class,0);break;default:this.stateHandler(this.thumbnails_prev_class,1);this.stateHandler(this.thumbnails_next_class,1);break}var l=new Fx.Morph(g,{duration:500,transition:Fx.Transitions.Quad.easeOut,onStart:function(){h.displayBlocker(1)},onComplete:function(){h.displayBlocker(0)}});l.start({left:c})}}}}},stateHandler:function(c,b){if(this.root_node&&c){var a=this.root_node.getElement("."+c);if(a){b=!isNaN(parseInt(b))?b:1;switch(b){case 0:a.addClass(this.disabled_class);break;case 1:a.removeClass(this.disabled_class);break}}}},displayZoom:function(m){if(this.root_node){var c=this.root_node.getElement("."+this.zoom_handler_class);var h=this.root_node.getElement("."+this.zoom_viewport_class);var b=this.root_node.getElement("."+this.zoom_image_class);if(c&&h&&b){m=!isNaN(parseInt(m))?m:1;switch(m){case 0:c.setStyle("display","none");h.setStyle("display","none");break;case 1:if(this.image_viewport_size.x&&this.zoom_viewport_size.x){h.setStyle("display","block");b.setStyle("visibility","hidden");var g=h.getElement("."+this.loader_class);var n=b.getElement("img");var e=this.image_viewport_size.x;var f=this.image_viewport_size.y;var j=e;var l=f;var a=this.zoom_viewport_size.x;var i=this.zoom_viewport_size.y;if(g){g.setStyle("display","block")}if(n){var k=n.get("src");var d=new Array(k);new Asset.images(d,{onComplete:function(){var p=b.getSize();var o=p.x;var q=p.y;if(a<o||i<q){if(a<o){j=(e/(o/a)).toInt()}if(i<q){l=(f/(q/i)).toInt()}if(g){g.setStyle("display","none")}b.setStyle("visibility","visible");c.setStyles({display:"block",height:l,width:j})}else{h.setStyle("display","none")}}})}}break}}}},moveZoom:function(o,v){o=o.toInt();v=v.toInt();if(this.root_node){var s=this.root_node.getElement("."+this.image_viewport_class);var r=this.root_node.getElement("."+this.zoom_handler_class);var u=this.root_node.getElement("."+this.zoom_image_class);if(s&&r&&u){var f=s.getPosition();var h=f.x;var d=f.y;var q=r.getSize();var c=q.x;var p=q.y;var g=(o-h)-(c/2).toInt();var e=(v-d)-(p/2).toInt();var j=g+c;var l=e+p;var t=u.getSize();var i=t.x;var m=t.y;var a=i/this.image_viewport_size.x;var b=m/this.image_viewport_size.y;var k=-(g*a);var n=-(e*b);if(g<0){g=0;k=0}else{if(j>this.image_viewport_size.x){g=this.image_viewport_size.x-c;k=this.zoom_viewport_size.x-i}}if(e<0){e=0;n=0}else{if(l>this.image_viewport_size.y){e=this.image_viewport_size.y-p;n=this.zoom_viewport_size.y-m}}r.setStyles({left:g,top:e});u.setStyles({left:k,top:n})}}},displayBlocker:function(b){if(this.root_node){var a=this.root_node.getElement("."+this.blocker_class);if(a){b=!isNaN(parseInt(b))?b:1;switch(b){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}}}});
