var Gallery=new Class({mid:null,cats:[],container:null,btnBar:null,selected:null,options_wrapper:null,active:0,resize:null,initialize:function(c,b){var a=this;this.mid=c;this.cats=b;this.container=$("gallery_"+c);this.selected=this.container.getElement(".selected");this.active=this.getActiveCategory();this.btnBar=this.container.getElement(".btnBar");if(this.btnBar){this.activateBtnBar();this.activateDropdown()}this.showPagination(this.getActiveCategoryElm())},getCategories:function(){return this.container.getElements("div.category")},getActiveCategory:function(){for(var a in this.cats){var b=this.cats[a];if(b.active==1){return b.id}}},getActiveCategoryElm:function(){var a=this.getCategories();var b;a.each(function(c){if(!c.hasClass("hidden")){b=c}});return b},getCategory:function(c){for(var a in this.cats){var b=this.cats[a];if(b.id==c){return b}}},activateBtnBar:function(){var c=this.btnBar;var b=c.getElements("a");b.addEvents({mousedown:function(){this.addClass("active")},mouseup:function(){this.removeClass("active")}})},activateDropdown:function(){var a=this;this.setSelected(this.active);this.btnBar.getElements("a").addEvent("click",function(){a.showOptions();return false})},setSelected:function(a){this.selected.set("html","<strong>"+this.getCategory(a).title+"</strong>")},showOptions:function(){if(this.options_wrapper){this.hideOptions();return}var a=this;var c=this.selected.getCoordinates();var b=new Element("div");b.fade("hide");b.addClass("options_wrapper");b.setStyles({position:"absolute",left:c.left-5,top:c.top-10,width:c.width+10,"z-index":9000});b.set("html",this.getTable());b.addEvent("mouseleave",function(){a.hideOptions()});b.getElement(".cl").adopt(this.getOptionsList());document.body.adopt(b);b.fade("in");this.options_wrapper=b},showPagination:function(a){var c=this;var b=new ModulePagination({mid:c.mid,sheet:a,container:c.container.getElement(".module_pagination"),totalPages:c.getTotalPages(a),pageClass:"set",onInit:function(d){c.loadImages(d)},onClick:function(d,e){c.loadImages(d,e)},onComplete:function(d){c.setHistory("set",d)}})},getTotalPages:function(a){var b=a.getElements(".set");return b.length},setHistory:function(a,b){if(a=="category"){core.setHistory(this.mid,{category:b,set:0})}else{if(a=="set"){core.setHistory(this.mid,{category:this.active,set:b})}}},loadImages:function(a){var b=a.getElements("img");b.each(function(c){var d=c.getProperty("rel");if(d){c.setProperty("src",d);c.removeProperty("rel")}})},hideOptions:function(){var b=this;this.options_wrapper.removeEvents();var a=new Fx.Tween(this.options_wrapper,{property:"opacity"});a.start(1,0).chain(function(){b.options_wrapper.destroy();b.options_wrapper=false})},getTable:function(){return'<table cellpadding="0" cellspacing="0" width="100%"><tr><td class="lt"></td><td class="ctl"></td><td class="rt"></td></tr><tr><td class="ll"></td><td class="cl"></td><td class="rl"></td></tr><tr><td class="lb"></td><td class="cbl"></td><td class="rb"></td></tr></table>'},getOptionsList:function(){var a=this;var b=new Element("div");this.cats.each(function(d){var c=new Element("div");c.set("html",d.title);c.addClass("li");c.addEvents({mouseover:function(){this.setStyle("background-color","#252525")},mouseleave:function(){this.setStyle("background-color","transparent")},click:function(){a.showCat(d.id);a.options_wrapper.getElements(".hi").removeClass("hi");this.addClass("hi");a.setHistory("category",d.id);core.countRequest({cat:"photo gallery dropdown"})},mousedown:function(){this.highlight("#6a6a6a")}});if(d.id==a.active){c.addClass("hi")}b.adopt(c)});return b},showCat:function(c){if(this.active==c){return}var a=this;var b=this.getCategories();b.each(function(d){if(d.getProperty("name")!=c){d.fade("hide");d.addClass("hidden")}else{d.removeClass("hidden");d.fade("show");a.active=c;a.setSelected(c);cat=d}});this.showPagination(cat)},showFirstPage:function(a){var b=this;var c=a.getElements("div.set");c.each(function(d){if(Number(d.getProperty("name"))===0){d.setStyle("display","block");b.loadImages(d)}else{d.setStyle("display","none")}})},showImg:function(b){var c=this;var a=new Lightbox({get:{run:"photo_gallery_frontend.getJson",mid:c.mid,cat:c.active},thumbId:b})}});