var gallerySet=gallery.extend({initialize:function(B,A){this.setOptions({manualSetData:[],gallerySelector:"div.galleryElement",galleryTitleSelector:"h2",textGallerySelector:"Galleries",textShowGallerySelector:"Other Galleries",textGalleryInfo:"{0} pictures",startWithSelector:true,textShowCarousel:"{0}/{1} Pictures",carouselPreloader:false},A);this.gallerySet=this.options.manualSetData;this.addEvent("onPopulated",this.createGallerySelectorTab.bind(this));this.addEvent("onPopulated",this.createGallerySelector.bind(this));this.startWithSelectorFn=this.toggleGallerySelector.pass(true,this);if(this.options.startWithSelector){this.addEvent("onGallerySelectorCreated",this.startWithSelectorFn)}this.parent(B,this.options)},populateData:function(){options=this.options;var A=$A(this.gallerySet);this.populateFrom.getElements(options.gallerySelector).each(function(B){currentGalArrayPlace=0;galleryDict={title:B.getElement(options.galleryTitleSelector).innerHTML,elements:[]};galleryDict.elements.extend(this.populateGallery(B,0));A.extend([galleryDict]);if(this.options.destroyAfterPopulate){B.remove()}},this);this.gallerySet=A;this.galleryData=A[0].elements;this.currentGallery=0;this.fireEvent("onPopulated")},changeGallery:function(A){if(A!=this.currentGallery){this.changeData(this.gallerySet[A].elements);this.maxIter=this.gallerySet[A].elements.length;this.currentGallery=A;this.gallerySelectorBtn.setHTML(this.gallerySet[A].title);this.fireEvent("onGalleryChanged")}this.toggleGallerySelector(false)},createGallerySelectorTab:function(){this.gallerySelectorBtn=new Element("a").addClass("gallerySelectorBtn").setProperties({title:this.options.textShowGallerySelector}).setHTML(this.options.textShowGallerySelector).addEvent("click",function(){this.toggleGallerySelector(true)}.bind(this)).injectInside(this.galleryElement);this.addEvent("onShowCarousel",function(){this.gallerySelectorBtn.setStyle("zIndex",10)}.bind(this));this.addEvent("onCarouselHidden",function(){this.gallerySelectorBtn.setStyle("zIndex",15)}.bind(this))},createGallerySelector:function(){this.gallerySelector=new Fx.Styles(new Element("div").addClass("gallerySelector").injectInside(this.galleryElement).setStyles({display:"none",opacity:"0"}));this.gallerySelectorTitle=new Element("h2").setHTML(this.options.textGallerySelector).injectInside(this.gallerySelector.element);var A=this.galleryElement.offsetHeight-50-10-2;this.gallerySelectorWrapper=new Fx.Style(new Element("div").addClass("gallerySelectorWrapper").setStyle("height",A+"px").injectInside(this.gallerySelector.element));this.gallerySelectorInner=new Element("div").addClass("gallerySelectorInner").injectInside(this.gallerySelectorWrapper.element);this.gallerySelectorWrapper.scroller=new Scroller(this.gallerySelectorWrapper.element,{area:100,velocity:0.3}).start();this.createGalleryButtons();this.fireEvent("onGallerySelectorCreated")},createGalleryButtons:function(){var A=((this.galleryElement.offsetWidth-30)/2)-14;this.gallerySet.each(function(E,B){var C=new Element("div").addClass("galleryButton").injectInside(this.gallerySelectorInner).addEvents({mouseover:function(F){F.button.addClass("hover")}.pass(E,this),mouseout:function(F){F.button.removeClass("hover")}.pass(E,this),click:function(F,G){this.changeGallery.pass(G,this)()}.pass([E,B],this)}).setStyle("width",A);E.button=C;var D="";if(this.options.showCarousel){D=E.elements[0].thumbnail}else{D=E.elements[0].image}new Element("div").addClass("preview").setStyle("backgroundImage","url('"+D+"')").injectInside(C);new Element("h3").setHTML(E.title).injectInside(C);new Element("p").addClass("info").setHTML(formatString(this.options.textGalleryInfo,E.elements.length)).injectInside(C)},this);new Element("br").injectInside(this.gallerySelectorInner).setStyle("clear","both")},toggleGallerySelector:function(A){if(A){this.gallerySelector.start({opacity:1}).element.setStyle("display","block")}else{this.gallerySelector.start({opacity:0})}},initHistory:function(){this.fireEvent("onHistoryInit");this.historyKey=this.galleryElement.id+"-gallery";if(this.options.customHistoryKey){this.historyKey=this.options.customHistoryKey()}this.history=HistoryManager.register(this.historyKey,[1,1],function(A){this.changeGallery.pass(parseInt(A[0])-1,this).delay(10);if(this.gallerySelector){this.toggleGallerySelector.pass(false,this).delay(500)}this.goTo.pass(parseInt(A[1])-1,this).delay(100)}.bind(this),function(A){return[this.historyKey,"(",A[0],")","-picture","(",A[1],")"].join("")}.bind(this),this.historyKey+"\\((\\d+)\\)-picture\\((\\d+)\\)");updateHistory=function(){this.history.setValue(0,this.currentGallery+1);this.history.setValue(1,this.currentIter+1)}.bind(this);this.addEvent("onChanged",updateHistory);this.addEvent("onGalleryChanged",updateHistory);this.fireEvent("onHistoryInited")}});