if(window.groups==undefined){var groups=[]}Ext.ns("Ext.ux");Ext.ux.Carousel=Ext.extend(Ext.util.Observable,{interval:3,transitionDuration:1,transitionType:"carousel",transitionEasing:"easeOut",itemSelector:"img",activeSlide:0,autoPlay:false,showPlayButton:false,pauseOnNavigate:false,wrap:false,freezeOnHover:false,navigationOnHover:false,hideNavigation:false,groups:[],constructor:function(b,a){a=a||{};Ext.apply(this,a);Ext.ux.Carousel.superclass.constructor.call(this,a);this.addEvents("beforeprev","prev","beforenext","next","change","play","pause","freeze","unfreeze");this.el=Ext.get(b);this.slides=this.els=[];if(this.autoPlay||this.showPlayButton){this.wrap=true}if(this.autoPlay&&a.showPlayButton===undefined){this.showPlayButton=true}this.initMarkup();this.initEvents();if(this.carouselSize>0){this.refresh()}},initMarkup:function(){var e=Ext.DomHelper;this.carouselSize=0;this.els.container=e.append(this.el,{cls:"ux-carousel-container"},true);this.els.slidesWrap=e.append(this.els.container,{cls:"ux-carousel-slides-wrap"},true);this.els.navigation=e.append(this.els.container,{cls:"ux-carousel-nav"},true).hide();this.els.footer=e.append(this.els.container,{cls:"ux-carousel-footer"},true).hide();this.els.caption=e.append(this.els.footer,{tag:"h2",cls:"ux-carousel-caption"},true);if(this.groups.length>0){this.els.navGroups=e.append(this.els.navigation,{tag:"a",href:"#",cls:"ux-carousel-nav-groups"},true);this.els.groupsList=e.append(this.els.container,{cls:"ux-carousel-groupslist"},true).hide();var d=e.append(this.els.groupsList,{tag:"ul",cls:"ux-carousel-groups-ul"},true);for(var b=0;b<this.groups.length;b++){var a=e.append(d,{tag:"li",cls:"ux-carousel-groups-li",group:this.groups[b].id.toString()},true);a.insertHtml("afterBegin",'<p group="'+this.groups[b].id.toString()+'"><a group="'+this.groups[b].id.toString()+'" href="#" style="background-image: url('+media_url+this.groups[b].thumbnail+');"></a></p><p group="'+this.groups[b].id.toString()+'" >'+this.groups[b].name+'</p><p group="'+this.groups[b].id.toString()+'" >'+this.groups[b].description+'</p><div class="clearboth"></div>')}}this.els.navNext=e.append(this.els.navigation,{tag:"a",href:"#",cls:"ux-carousel-nav-next"},true);if(this.showPlayButton){this.els.navPlay=e.append(this.els.navigation,{tag:"a",href:"#",cls:"ux-carousel-nav-play"},true)}this.els.navPrev=e.append(this.els.navigation,{tag:"a",href:"#",cls:"ux-carousel-nav-prev"},true);this.slideWidth=this.el.getWidth(true);this.slideHeight=this.el.getHeight(true);this.els.container.setStyle({width:this.slideWidth+"px",height:this.slideHeight+"px"});if(this.groups.length<=0){this.el.select(this.itemSelector).appendTo(this.els.slidesWrap).each(function(f){f=f.wrap({cls:"ux-carousel-slide"});this.slides.push(f);f.setWidth(this.slideWidth+"px").setHeight(this.slideHeight+"px")},this)}else{var c=this;this.imageStore=new Ext.data.Store({autoLoad:false,proxy:new Ext.data.HttpProxy({url:image_src_url+this.groups[0].id.toString()+"/",method:"GET"}),reader:new Ext.data.JsonReader({root:"images",totalProperty:"total"},[{name:"image"},{name:"description"}]),listeners:{load:function(g,f,h){for(var j=0;j<f.length;j++){var l="background-image: url("+media_url+f[j].get("image")+");";l+="width:"+c.slideWidth+"px; height:"+c.slideHeight+"px";var k=e.append(c.els.slidesWrap,{tag:"div",style:l,cls:"ux-carousel-item",title:f[j].get("description")},true);k=k.wrap({cls:"ux-carousel-slide"});c.slides.push(k);k.setWidth(c.slideWidth+"px").setHeight(c.slideHeight+"px")}c.carouselSize=c.slides.length;c.el.clip();if(c.carouselSize>0){c.refresh()}}}});this.activeGroup=0;this.imageStore.load()}this.carouselSize=this.slides.length;if(this.navigationOnHover){this.els.navigation.setStyle("top",(-1*this.els.navigation.getHeight())+"px");this.els.footer.setStyle("top",this.slideHeight+"px");if(this.groups.length>0){this.els.groupsList.setStyle("top",this.slideHeight+"px")}}this.el.clip()},initEvents:function(){this.els.navPrev.on("click",function(b){b.preventDefault();var c=b.getTarget();c.blur();if(Ext.fly(c).hasClass("ux-carousel-nav-disabled")){return}this.prev()},this);this.els.navNext.on("click",function(b){b.preventDefault();var c=b.getTarget();c.blur();if(Ext.fly(c).hasClass("ux-carousel-nav-disabled")){return}this.next()},this);if(this.showPlayButton){this.els.navPlay.on("click",function(b){b.preventDefault();b.getTarget().blur();if(this.playing){this.pause()}else{this.play()}},this)}var a=this;if(this.els.navGroups!=null){this.els.navGroups.on("click",function(b){b.preventDefault();var c=b.getTarget();c.blur();if(Ext.fly(c).hasClass("ux-carousel-nav-disabled")){return}this.showGroups()},this);this.els.groupsList.select("li").each(function(b){b.on("click",function(c){c.preventDefault();var d=c.getTarget();d.blur();a.hideGroups();var e=d.getAttribute("group");a.clear();a.imageStore.proxy.conn.url=image_src_url+e+"/";a.imageStore.load();if(a.interval&&a.autoPlay){a.play()}})})}if(this.freezeOnHover){this.els.container.on("mouseenter",function(){if(this.playing){this.fireEvent("freeze",this.slides[this.activeSlide]);Ext.TaskMgr.stop(this.playTask)}},this);this.els.container.on("mouseleave",function(){if(this.playing){this.fireEvent("unfreeze",this.slides[this.activeSlide]);Ext.TaskMgr.start(this.playTask)}},this,{buffer:(this.interval/2)*1000})}if(this.navigationOnHover){this.els.container.on("mouseenter",function(){if(!this.navigationShown){this.navigationShown=true;this.els.navigation.stopFx(false).shift({y:this.els.container.getY(),duration:this.transitionDuration});this.els.footer.stopFx(false).shift({y:(this.els.container.getY()+this.slideHeight)-this.els.footer.getHeight(),duration:this.transitionDuration})}},this);this.els.container.on("mouseleave",function(){if(this.navigationShown){this.navigationShown=false;this.els.navigation.stopFx(false).shift({y:this.els.navigation.getHeight()-this.els.container.getY(),duration:this.transitionDuration});this.els.footer.stopFx(false).shift({y:(this.els.container.getY()+this.slideHeight),duration:this.transitionDuration})}},this)}if(this.interval&&this.autoPlay){this.play()}},showGroups:function(){if(!this.groupsShown){this.groupsShown=true;this.els.groupsList.stopFx(false).shift({y:this.els.container.getY(),duration:this.transitionDuration})}},hideGroups:function(){if(this.groupsShown){this.groupsShown=false;this.els.groupsList.stopFx(false).shift({y:(2*this.slideHeight),duration:this.transitionDuration})}},prev:function(){if(this.fireEvent("beforeprev")===false){return}if(this.pauseOnNavigate){this.pause()}this.setSlide(this.activeSlide-1);this.fireEvent("prev",this.activeSlide);return this},next:function(){if(this.fireEvent("beforenext")===false){return}if(this.pauseOnNavigate){this.pause()}this.setSlide(this.activeSlide+1);this.fireEvent("next",this.activeSlide);return this},play:function(){if(!this.playing){this.playTask=this.playTask||{run:function(){this.playing=true;this.setSlide(this.activeSlide+1)},interval:this.interval*1000,scope:this};this.playTaskBuffer=this.playTaskBuffer||new Ext.util.DelayedTask(function(){Ext.TaskMgr.start(this.playTask)},this);this.playTaskBuffer.delay(this.interval*1000);this.playing=true;if(this.els.navPlay!=null){this.els.navPlay.addClass("ux-carousel-playing")}this.fireEvent("play")}return this},pause:function(){if(this.playing){Ext.TaskMgr.stop(this.playTask);this.playTaskBuffer.cancel();this.playing=false;if(this.els.navPlay!=null){this.els.navPlay.removeClass("ux-carousel-playing")}this.fireEvent("pause")}return this},clear:function(){this.els.slidesWrap.update("");this.slides=[];this.carouselSize=0;this.pause();return this},add:function(b,a){var c=Ext.fly(b).appendTo(this.els.slidesWrap).wrap({cls:"ux-carousel-slide"});c.setWidth(this.slideWidth+"px").setHeight(this.slideHeight+"px");this.slides.push(c);if(a){this.refresh()}return this},refresh:function(){this.carouselSize=this.slides.length;this.els.slidesWrap.setWidth((this.slideWidth*this.carouselSize)+"px");if(this.carouselSize>0){if(!this.hideNavigation){this.els.navigation.show();this.els.footer.show();if(this.els.groupsList!=null){this.els.groupsList.show()}}this.activeSlide=0;this.setSlide(0,true)}return this},setSlide:function(b,a){if(!this.wrap&&!this.slides[b]){if(this.imageStore&&this.groups&&this.groups.length>0){this.activeGroup=this.activeGroup+1;if(this.activeGroup>=this.groups.length){return}this.clear();this.imageStore.proxy.conn.url=image_src_url+this.groups[this.activeGroup].id.toString()+"/";this.imageStore.load();if(this.interval&&this.autoPlay){this.play()}}return}else{if(this.wrap){if(b<0){b=this.carouselSize-1}else{if(b>this.carouselSize-1){b=0;if(this.imageStore&&this.groups&&this.groups.length>0){this.activeGroup=this.activeGroup+1;if(this.activeGroup>=this.groups.length){this.activeGroup=0}this.clear();this.imageStore.proxy.conn.url=image_src_url+this.groups[this.activeGroup].id.toString()+"/";this.imageStore.load();if(this.interval&&this.autoPlay){this.play()}return}}}}}if(!this.slides[b]){return}this.els.caption.update(this.slides[b].child(":first-child",true).title||"");var d=b*this.slideWidth;if(!a){switch(this.transitionType){case"fade":this.slides[b].setOpacity(0);this.slides[this.activeSlide].stopFx(false).fadeOut({duration:this.transitionDuration/2,callback:function(){this.els.slidesWrap.setStyle("left",(-1*d)+"px");this.slides[this.activeSlide].setOpacity(1);this.slides[b].fadeIn({duration:this.transitionDuration/2})},scope:this});break;default:var c=(-1*d)+this.els.container.getX();this.els.slidesWrap.stopFx(false);this.els.slidesWrap.shift({duration:this.transitionDuration,x:c,easing:this.transitionEasing});break}}else{this.els.slidesWrap.setStyle("left","0")}this.activeSlide=b;this.updateNav();this.fireEvent("change",this.slides[b],b)},updateNav:function(){this.els.navPrev.removeClass("ux-carousel-nav-disabled");this.els.navNext.removeClass("ux-carousel-nav-disabled");if(!this.wrap){if(this.activeSlide===0){this.els.navPrev.addClass("ux-carousel-nav-disabled")}if(this.activeSlide===this.carouselSize-1){this.els.navNext.addClass("ux-carousel-nav-disabled")}}}});Ext.ns("Ext.ux");Ext.ux.Lightbox=(function(){var c={},f=[],d=[],e,i,b=false,g=[],a=400,h=300;return{overlayOpacity:0.85,animate:true,resizeSpeed:8,borderSize:10,labelImage:"Image",labelOf:"of",init:function(){this.resizeDuration=this.animate?((11-this.resizeSpeed)*0.15):0;this.overlayDuration=this.animate?0.2:0;if(!b){Ext.apply(this,Ext.util.Observable.prototype);Ext.util.Observable.constructor.call(this);this.addEvents("open","close");this.initMarkup();this.initEvents();b=true}},initMarkup:function(){c.overlay=Ext.DomHelper.append(document.body,{id:"ux-lightbox-overlay"},true);var k=new Ext.Template(this.getTemplate());c.lightbox=k.append(document.body,{},true);c.shim=Ext.DomHelper.append(Ext.fly("ux-lightbox-imageContainer"),{tag:"iframe",id:"ux-lightbox-shim"},true);c.msg=Ext.DomHelper.append(Ext.fly("ux-lightbox-imageContainer"),{tag:"div",id:"ux-lightbox-msg"},true);var l=["outerImageContainer","imageContainer","image","hoverNav","navPrev","navNext","loading","loadingLink","outerDataContainer","dataContainer","data","details","caption","imageNumber","bottomNav","navClose"];Ext.each(l,function(m){c[m]=Ext.get("ux-lightbox-"+m)});Ext.each([c.overlay,c.lightbox,c.shim],function(m){m.setVisibilityMode(Ext.Element.DISPLAY);m.hide()});var j=(this.animate?250:1)+"px";c.outerImageContainer.setStyle({width:j,height:j})},getTemplate:function(){return['<div id="ux-lightbox">','<div id="ux-lightbox-outerImageContainer">','<div id="ux-lightbox-imageContainer">','<img id="ux-lightbox-image">','<div id="ux-lightbox-hoverNav">','<a href="#" id="ux-lightbox-navPrev"></a>','<a href="#" id="ux-lightbox-navNext"></a>',"</div>",'<div id="ux-lightbox-loading">','<a id="ux-lightbox-loadingLink"></a>',"</div>","</div>","</div>",'<div id="ux-lightbox-outerDataContainer">','<div id="ux-lightbox-dataContainer">','<div id="ux-lightbox-data">','<div id="ux-lightbox-details">','<span id="ux-lightbox-caption"></span>','<span id="ux-lightbox-imageNumber"></span>',"</div>",'<div id="ux-lightbox-bottomNav">','<a href="#" id="ux-lightbox-navClose"></a>',"</div>","</div>","</div>","</div>","</div>"]},initEvents:function(){var j=function(k){k.preventDefault();this.close()};c.overlay.on("click",j,this);c.loadingLink.on("click",j,this);c.navClose.on("click",j,this);c.lightbox.on("click",function(k){if(k.getTarget().id=="ux-lightbox"){this.close()}},this);c.navPrev.on("click",function(k){k.preventDefault();this.setImage(e-1)},this);c.navNext.on("click",function(k){k.preventDefault();this.setImage(e+1)},this)},register:function(j,k,l){if(l==null){l=0}if(g.indexOf(j)===-1){g.push(j);Ext.fly(document).on("click",function(m){var n=m.getTarget(j);if(n){m.preventDefault();this.open(n,j,k,l)}},this)}},registerUrl:function(l,k,j){if(g.indexOf(l)===-1){g.push(l);Ext.fly(document).on("click",function(m){var n=m.getTarget(l);if(n){m.preventDefault();this.openUrl(n,k,j)}},this)}},open:function(l,j,k,m){k=k||false;this.setViewSize();c.overlay.fadeIn({duration:this.overlayDuration,endOpacity:this.overlayOpacity,callback:function(){f=[];var n=0;if(!k){f.push([l.href,l.title])}else{var o=Ext.query(j);var r=0;Ext.each(o,function(t){if(t.href&&r>=m){f.push([t.href,t.title])}r++});while((n+1)<f.length&&f[n][0]!=l.href){n++}if(f[n][0]!=l.href){n=0}}var q=Ext.fly(document).getScroll();var s=q.top+(Ext.lib.Dom.getViewportHeight()/10);var p=q.left;c.lightbox.setStyle({top:s+"px",left:p+"px"}).show();this.setImage(n);this.fireEvent("open",f[n])},scope:this})},openUrl:function(k,l,j){c.shim.dom.src="";this.setViewSize();c.overlay.fadeIn({duration:this.overlayDuration,endOpacity:this.overlayOpacity,callback:function(){d=[];var m=0;d.push([k.href,k.title]);var o=Ext.fly(document).getScroll();var p=o.top+(Ext.lib.Dom.getViewportHeight()/10);var n=o.left;c.lightbox.setStyle({top:p+"px",left:n+"px"}).show();c.shim.setStyle({width:l+"px",height:j+"px",alpha:"(opacity=0)"});this.setUrl(m,l,j);this.fireEvent("open",d[m])},scope:this})},openMessage:function(j,l,k){l=l||a;k=k||h;this.setViewSize();c.overlay.fadeIn({duration:this.overlayDuration,endOpacity:this.overlayOpacity,callback:function(){var n=Ext.fly(document).getScroll();var o=n.top+(Ext.lib.Dom.getViewportHeight()/10);var m=n.left;c.lightbox.setStyle({top:o+"px",left:m+"px"}).show();c.msg.setStyle({width:l-30+"px",height:k-30+"px"});this.setMessage(j,l,k);this.fireEvent("open",j)},scope:this})},openLoader:function(k,j){k=k||a;j=j||h;this.setViewSize();c.overlay.fadeIn({duration:this.overlayDuration,endOpacity:this.overlayOpacity,callback:function(){var m=Ext.fly(document).getScroll();var n=m.top+(Ext.lib.Dom.getViewportHeight()/10);var l=m.left;c.lightbox.setStyle({top:n+"px",left:l+"px"}).show();c.msg.setStyle({width:k+"px",height:j+"px"});this.setLoader(k,j);this.fireEvent("open","#Loader#")},scope:this})},setViewSize:function(){var j=this.getViewSize();c.overlay.setStyle({width:j[0]+"px",height:j[1]+"px"});c.shim.setStyle({width:j[0]+"px",height:j[1]+"px"}).show()},setImage:function(k){e=k;this.disableKeyNav();if(this.animate){c.loading.show()}c.image.hide();c.shim.hide();c.msg.hide();c.hoverNav.hide();c.navPrev.hide();c.navNext.hide();c.dataContainer.setOpacity(0.0001);c.imageNumber.hide();var j=new Image();j.onload=(function(){c.image.dom.src=f[e][0];this.resizeImage(j.width,j.height)}).createDelegate(this);j.src=f[e][0];c.navClose.show()},setMessage:function(j,l,k){c.msg.update("");this.disableKeyNav();if(this.animate){c.loading.show()}c.image.hide();c.shim.hide();c.msg.hide();c.hoverNav.hide();c.navPrev.hide();c.navNext.hide();c.dataContainer.setOpacity(0.0001);c.imageNumber.hide();c.msg.update(j);c.msg.show();c.navClose.show();this.resizeBox(l,k);c.loading.hide()},setLoader:function(k,j){k=k||a;j=j||h;this.disableKeyNav();if(this.animate){c.loading.show()}c.image.hide();c.shim.hide();c.msg.hide();c.hoverNav.hide();c.navPrev.hide();c.navNext.hide();c.dataContainer.setOpacity(0.0001);c.imageNumber.hide();c.navClose.hide();this.resizeBox(k,j)},setUrl:function(k,l,j){i=k;this.disableKeyNav();if(this.animate){c.loading.show()}c.shim.hide();c.msg.hide();c.image.hide();c.hoverNav.hide();c.navPrev.hide();c.navNext.hide();c.dataContainer.setOpacity(0.0001);c.imageNumber.hide();c.shim.dom.src=d[i][0];c.shim.show();c.navClose.show();this.resizeBox(l,j);c.shim.setStyle({alpha:"(opacity=100)"});c.loading.hide()},resizeBox:function(r,l){var s=c.outerImageContainer.getWidth();var p=c.outerImageContainer.getHeight();var n=r;var m=l;var q=s-n;var j=p-m;var k=0;if(j!=0||q!=0){c.outerImageContainer.syncFx().shift({height:m,duration:this.resizeDuration}).shift({width:n,duration:this.resizeDuration});k++}var o=0;if((j==0)&&(q==0)){o=(Ext.isIE)?250:100}(function(){c.hoverNav.setWidth(c.imageContainer.getWidth()+"px");c.navPrev.setHeight(r+"px");c.navNext.setHeight(l+"px");c.outerDataContainer.setWidth(n+"px");c.dataContainer.setOpacity(100)}).createDelegate(this).defer((this.resizeDuration*1000)+o)},resizeImage:function(s,m,l){var t=c.outerImageContainer.getWidth();var q=c.outerImageContainer.getHeight();var o=(s+this.borderSize*2);var n=(m+this.borderSize*2);var r=t-o;var j=q-n;var k=0;if(j!=0||r!=0){c.outerImageContainer.syncFx().shift({height:n,duration:this.resizeDuration}).shift({width:o,duration:this.resizeDuration});k++}var p=0;if((j==0)&&(r==0)){p=(Ext.isIE)?250:100}(function(){c.hoverNav.setWidth(c.imageContainer.getWidth()+"px");c.navPrev.setHeight(m+"px");c.navNext.setHeight(m+"px");c.outerDataContainer.setWidth(o+"px");this.showImage()}).createDelegate(this).defer((this.resizeDuration*1000)+p)},showImage:function(){c.loading.hide();c.image.fadeIn({duration:this.resizeDuration,scope:this,callback:function(){this.updateDetails()}});this.preloadImages()},updateDetails:function(){c.details.setWidth((c.data.getWidth(true)-c.navClose.getWidth()-10)+"px");c.caption.update(f[e][1]);c.caption.show();if(f.length>1){c.imageNumber.update(this.labelImage+" "+(e+1)+" "+this.labelOf+"  "+f.length);c.imageNumber.show()}c.dataContainer.syncFx().slideIn("t",{duration:this.resizeDuration/2}).fadeIn({duration:this.resizeDuration/2,scope:this,callback:function(){var j=this.getViewSize();c.overlay.setHeight(j[1]+"px");this.updateNav()}})},updateNav:function(){this.enableKeyNav();c.hoverNav.show();if(e>0){c.navPrev.show()}if(e<(f.length-1)){c.navNext.show()}},enableKeyNav:function(){Ext.fly(document).on("keydown",this.keyNavAction,this)},disableKeyNav:function(){Ext.fly(document).un("keydown",this.keyNavAction,this)},keyNavAction:function(j){var k=j.getKey();if(k==88||k==67||k==27){this.close()}else{if(k==80||k==37){if(e!=0){this.setImage(e-1)}}else{if(k==78||k==39){if(e!=(f.length-1)){this.setImage(e+1)}}}}},preloadImages:function(){var j,k;if(f.length>e+1){j=new Image();j.src=f[e+1][0]}if(e>0){k=new Image();k.src=f[e-1][0]}},close:function(){this.disableKeyNav();c.lightbox.hide();c.overlay.fadeOut({duration:this.overlayDuration});c.shim.hide();this.fireEvent("close",e)},getViewSize:function(){return[Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true)]}}})();Ext.onReady(Ext.ux.Lightbox.init,Ext.ux.Lightbox);Ext.onReady(function(){var c=Ext.query("a[@class='external']");for(var b=0;b<c.length;b++){var a=new Ext.Element(c[b]);a.on("click",function(e,d,f){e.preventDefault();window.open(d.href)})}});