(function(n){var r,i=this,u=document,l=n(u),v=!1,o=navigator.userAgent.toLowerCase(),y=i.location.hash.replace(/#\//,""),e=function(){return Galleria.TOUCH?"touchstart":"click"},f=function(){for(var n=3,t=u.createElement("div");t.innerHTML="<!--[if gt IE "+ ++n+"]><i></i><![endif]-->",t.getElementsByTagName("i")[0];);return n>4?n:r}(),s=function(){return{html:u.documentElement,body:u.body,head:u.getElementsByTagName("head")[0],title:u.title}},h={trunk:{},add:function(n,t,r,u){if(u=u||!1,this.clear(n),u){var f=t;t=function(){f(),h.add(n,t,r)}}this.trunk[n]=i.setTimeout(t,r)},clear:function(n){var r=function(n){i.clearTimeout(this.trunk[n]),delete this.trunk[n]},t;if(!!n&&n in this.trunk)r.call(h,n);else if(typeof n=="undefined")for(t in this.trunk)r.call(h,t)}},c=[],a={fade:function(t,i){n(t.next).css("opacity",0).show().animate({opacity:1},t.speed,i),t.prev&&n(t.prev).css("opacity",1).show().animate({opacity:0},t.speed)},flash:function(t,i){n(t.next).css("opacity",0),t.prev?n(t.prev).animate({opacity:0},t.speed/2,function(){n(t.next).animate({opacity:1},t.speed,i)}):n(t.next).animate({opacity:1},t.speed,i)},pulse:function(t,i){t.prev&&n(t.prev).hide(),n(t.next).css("opacity",0).animate({opacity:1},t.speed,i)},slide:function(t,i){var f=n(t.next).parent(),u=this.$("images"),r=this._stageWidth,e=this.getOptions("easing");f.css({left:r*(t.rewind?-1:1)}),u.animate({left:r*(t.rewind?1:-1)},{duration:t.speed,queue:!1,easing:e,complete:function(){u.css("left",0),f.css("left",0),i()}})},fadeslide:function(i,r){var u=0,e=this.getOptions("easing"),f=this.getStageWidth();i.prev&&(u=t.parseValue(n(i.prev).css("left")),n(i.prev).css({opacity:1,left:u}).animate({opacity:0,left:u+f*(i.rewind?1:-1)},{duration:i.speed,queue:!1,easing:e})),u=t.parseValue(n(i.next).css("left")),n(i.next).css({left:u+f*(i.rewind?-1:1),opacity:0}).animate({opacity:1,left:u},{duration:i.speed,complete:r,queue:!1,easing:e})}},t=function(){return{array:function(n){return Array.prototype.slice.call(n)},create:function(n,t){t=t||"div";var i=u.createElement(t);return i.className=n,i},forceStyles:function(t,i){t=n(t),t.attr("style")&&t.data("styles",t.attr("style")).removeAttr("style"),t.css(i)},revertStyles:function(){n.each(t.array(arguments),function(t,i){i=n(i).removeAttr("style"),i.data("styles")&&i.attr("style",i.data("styles")).data("styles",null)})},moveOut:function(n){t.forceStyles(n,{position:"absolute",left:-1e4})},moveIn:function(){t.revertStyles.apply(t,t.array(arguments))},hide:function(t,i,r){t=n(t),t.data("opacity")||t.data("opacity",t.css("opacity"));var u={opacity:0};i?t.stop().animate(u,i,r):t.css(u)},show:function(t,i,r){t=n(t);var f=parseFloat(t.data("opacity"))||1,u={opacity:f};f==1&&t.data("opacity",null),i?t.stop().animate(u,i,r):t.css(u)},addTimer:function(){return h.add.apply(h,t.array(arguments)),this},clearTimer:function(){return h.clear.apply(h,t.array(arguments)),this},wait:function(r){r=n.extend({until:function(){return!1},success:function(){},error:function(){Galleria.raise("Could not complete wait function.")},timeout:3e3},r);var f=t.timestamp(),e,u;i.setTimeout(function(){if(u=t.timestamp(),e=u-f,r.until(e))return r.success(),!1;if(u>=f+r.timeout)return r.error(),!1;i.setTimeout(arguments.callee,2)},2)},toggleQuality:function(n,t){(f==7||f==8)&&!!n!=!1&&(typeof t=="undefined"&&(t=n.style.msInterpolationMode=="nearest-neighbor"),n.style.msInterpolationMode=t?"bicubic":"nearest-neighbor")},insertStyleTag:function(n){var t=u.createElement("style"),i;s().head.appendChild(t),t.styleSheet?t.styleSheet.cssText=n:(i=u.createTextNode(n),t.appendChild(i))},loadScript:function(t,i){var e=!1,r=n("<script>").attr({src:t,async:!0}).get(0),f;r.onload=r.onreadystatechange=function(){e||this.readyState&&this.readyState!="loaded"&&this.readyState!="complete"||(e=!0,typeof i=="function"&&i.call(this,this),r.onload=r.onreadystatechange=null)},f=u.getElementsByTagName("script")[0],f.parentNode.insertBefore(r,f)},parseValue:function(n){if(typeof n=="number")return n;if(typeof n=="string"){var t=n.match(/\-?\d/g);return t&&t.constructor==Array?t.join("")*1:0}return 0},timestamp:function(){return+new Date},loadCSS:function(e,o,h){var c,l=!1,a;return(n("link[rel=stylesheet]").each(function(){if(new RegExp(e).test(this.href))return c=this,!1}),typeof o=="function"&&(h=o,o=r),h=h||function(){},c)?(h.call(c,c),c):(a=u.styleSheets.length,v&&(e+="?"+t.timestamp()),n("#"+o).length?(n("#"+o).attr("href",e),a--,l=!0):(c=n("<link>").attr({rel:"stylesheet",href:e,id:o}).get(0),i.setTimeout(function(){var t=n('link[rel="stylesheet"], style');t.length?t.get(0).parentNode.insertBefore(c,t[0]):s().head.appendChild(c),f?c.attachEvent("onreadystatechange",function(){c.readyState=="complete"&&(l=!0)}):l=!0},10)),typeof h=="function"&&t.wait({until:function(){return l&&u.styleSheets.length>a},success:function(){t.addTimer("css",function(){h.call(c,c)},100)},error:function(){Galleria.raise("Theme CSS could not load")},timeout:1e3}),c)}}}();Galleria=function(){var u=this,p,w;this._theme=r,this._options={},this._playing=!1,this._playtime=5e3,this._active=null,this._queue={length:0},this._data=[],this._dom={},this._thumbnails=[],this._initialized=!1,this._stageWidth=0,this._stageHeight=0,this._target=r,this._id=t.timestamp(),p="container stage images image-nav image-nav-left image-nav-right info info-text info-title info-description info-author thumbnails thumbnails-list thumbnails-container thumb-nav-left thumb-nav-right loader counter tooltip",w="current total",n.each(p.split(" "),function(n,i){u._dom[i]=t.create("galleria-"+i)}),n.each(w.split(" "),function(n,i){u._dom[i]=t.create("galleria-"+i,"span")});var a=this._keyboard={keys:{UP:38,DOWN:40,LEFT:37,RIGHT:39,RETURN:13,ESCAPE:27,BACKSPACE:8,SPACE:32},map:{},bound:!1,press:function(n){var t=n.keyCode||n.which;t in a.map&&typeof a.map[t]=="function"&&a.map[t].call(u,n)},attach:function(n){var i,t;for(i in n)t=i.toUpperCase(),t in a.keys&&(a.map[a.keys[t]]=n[i]);a.bound||(a.bound=!0,l.bind("keydown",a.press))},detach:function(){a.bound=!1,l.unbind("keydown",a.press)}},v=this._controls={0:r,1:r,active:0,swap:function(){v.active=v.active?0:1},getActive:function(){return v[v.active]},getNext:function(){return v[1-v.active]}},f=this._carousel={next:u.$("thumb-nav-right"),prev:u.$("thumb-nav-left"),width:0,current:0,max:0,hooks:[],update:function(){var t=0,i=0,r=[0];n.each(u._thumbnails,function(u,f){f.ready&&(t+=f.outerWidth||n(f.container).outerWidth(!0),r[u+1]=t,i=Math.max(i,f.outerHeight||n(f.container).outerHeight(!0)))}),u.$("thumbnails").css({width:t,height:i}),f.max=t,f.hooks=r,f.width=u.$("thumbnails-list").width(),f.setClasses(),u.$("thumbnails-container").toggleClass("galleria-carousel",t>f.width)},bindControls:function(){f.next.bind(e(),function(n){if(n.preventDefault(),u._options.carousel_steps=="auto"){for(var t=f.current;t<f.hooks.length;t++)if(f.hooks[t]-f.hooks[f.current]>f.width){f.set(t-2);break}}else f.set(f.current+u._options.carousel_steps)}),f.prev.bind(e(),function(n){if(n.preventDefault(),u._options.carousel_steps=="auto"){for(var t=f.current;t>=0;t--)if(f.hooks[f.current]-f.hooks[t]>f.width){f.set(t+2);break}else if(t==0){f.set(0);break}}else f.set(f.current-u._options.carousel_steps)})},set:function(n){for(n=Math.max(n,0);f.hooks[n-1]+f.width>f.max&&n>=0;)n--;f.current=n,f.animate()},getLast:function(n){return(n||f.current)-1},follow:function(n){if(n==0||n==f.hooks.length-2){f.set(n);return}for(var t=f.current;f.hooks[t]-f.hooks[f.current]<f.width&&t<=f.hooks.length;)t++;n-1<f.current?f.set(n-1):n+2>t&&f.set(n-t+f.current+2)},setClasses:function(){f.prev.toggleClass("disabled",!f.current),f.next.toggleClass("disabled",f.hooks[f.current]+f.width>f.max)},animate:function(){f.setClasses();var t=f.hooks[f.current]*-1;isNaN(t)||u.$("thumbnails").animate({left:t},{duration:u._options.carousel_speed,easing:u._options.easing,queue:!1})}},c=this._tooltip={initialized:!1,open:!1,init:function(){c.initialized=!0;var n=".galleria-tooltip{padding:3px 8px;max-width:50%;background:#ffe;color:#000;z-index:3;position:absolute;font-size:11px;line-height:1.3opacity:0;box-shadow:0 0 2px rgba(0,0,0,.4);-moz-box-shadow:0 0 2px rgba(0,0,0,.4);-webkit-box-shadow:0 0 2px rgba(0,0,0,.4);}";t.insertStyleTag(n),u.$("tooltip").css("opacity",.8),t.hide(u.get("tooltip"))},move:function(n){var l=u.getMousePosition(n).x,o=u.getMousePosition(n).y,r=u.$("tooltip"),i=l,t=o,f=r.outerHeight(!0)+1,c=r.outerWidth(!0),e=f+15,s=u.$("container").width()-c-2,h=u.$("container").height()-f-2;isNaN(i)||isNaN(t)||(i+=10,t-=30,i=Math.max(0,Math.min(s,i)),t=Math.max(0,Math.min(h,t)),o<e&&(t=e),r.css({left:i,top:t}))},bind:function(i,r){c.initialized||c.init();var f=function(i,r){c.define(i,r),n(i).hover(function(){t.clearTimer("switch_tooltip"),u.$("container").unbind("mousemove",c.move).bind("mousemove",c.move).trigger("mousemove"),c.show(i),Galleria.utils.addTimer("tooltip",function(){u.$("tooltip").stop(),t.show(u.get("tooltip"),400),c.open=!0},c.open?0:1e3)},function(){u.$("container").unbind("mousemove",c.move),t.clearTimer("tooltip"),u.$("tooltip").stop(),t.hide(u.get("tooltip"),200,function(){t.addTimer("switch_tooltip",function(){c.open=!1},1e3)})})};typeof r=="string"?f(i in u._dom?u.get(i):i,r):n.each(i,function(n,t){f(u.get(n),t)})},show:function(t){t=n(t in u._dom?u.get(t):t);var r=t.data("tt");r&&(r=typeof r=="function"?r():r,u.$("tooltip").html(r.replace(/\s/,"&nbsp;")),t.bind("mouseup",function(n){i.setTimeout(function(n){return function(){c.move(n)}}(n),10),t.unbind("mouseup",arguments.callee)}))},define:function(t,i){if(typeof i!="function"){var r=i;i=function(){return r}}t=n(t in u._dom?u.get(t):t).data("tt",i),c.show(t)}},y=this._fullscreen={scrolled:0,enter:function(r){t.hide(u.getActiveImage()),u.$("container").addClass("fullscreen"),y.scrolled=n(i).scrollTop(),t.forceStyles(u.get("container"),{position:"fixed",top:0,left:0,width:"100%",height:"100%",zIndex:1e4});var f={height:"100%",overflow:"hidden",margin:0,padding:0};t.forceStyles(s().html,f),t.forceStyles(s().body,f),u.attachKeyboard({escape:u.exitFullscreen,right:u.next,left:u.prev}),u.rescale(function(){t.addTimer("fullscreen_enter",function(){t.show(u.getActiveImage()),typeof r=="function"&&r.call(u)},100),u.trigger(Galleria.FULLSCREEN_ENTER)}),n(i).resize(function(){y.scale()})},scale:function(){u.rescale()},exit:function(r){t.hide(u.getActiveImage()),u.$("container").removeClass("fullscreen"),t.revertStyles(u.get("container"),s().html,s().body),i.scrollTo(0,y.scrolled),u.detachKeyboard(),u.rescale(function(){t.addTimer("fullscreen_exit",function(){t.show(u.getActiveImage()),typeof r=="function"&&r.call(u)},50),u.trigger(Galleria.FULLSCREEN_EXIT)}),n(i).unbind("resize",y.scale)}},h=this._idle={trunk:[],bound:!1,add:function(t,i){var u,r;if(t){h.bound||h.addEvent(),t=n(t),u={};for(r in i)u[r]=t.css(r);t.data("idle",{from:u,to:i,complete:!0,busy:!1}),h.addTimer(),h.trunk.push(t)}},remove:function(i){i=jQuery(i),n.each(h.trunk,function(n,t){t.length&&!t.not(i).length&&(u._idle.show(i),u._idle.trunk.splice(n,1))}),h.trunk.length||(h.removeEvent(),t.clearTimer("idle"))},addEvent:function(){h.bound=!0,u.$("container").bind("mousemove click",h.showAll)},removeEvent:function(){h.bound=!1,u.$("container").unbind("mousemove click",h.showAll)},addTimer:function(){t.addTimer("idle",function(){u._idle.hide()},u._options.idle_time)},hide:function(){u.trigger(Galleria.IDLE_ENTER),n.each(h.trunk,function(n,t){var i=t.data("idle");i&&(t.data("idle").complete=!1,t.stop().animate(i.to,{duration:600,queue:!1,easing:"swing"}))})},showAll:function(){t.clearTimer("idle"),n.each(u._idle.trunk,function(n,t){u._idle.show(t)})},show:function(i){var r=i.data("idle");r.busy||r.complete||(r.busy=!0,u.trigger(Galleria.IDLE_EXIT),t.clearTimer("idle"),i.stop().animate(r.from,{duration:300,queue:!1,easing:"swing",complete:function(){n(this).data("idle").busy=!1,n(this).data("idle").complete=!0}})),h.addTimer()}},o=this._lightbox={width:0,height:0,initialized:!1,active:null,image:null,elems:{},init:function(){if(u.trigger(Galleria.LIGHTBOX_OPEN),!o.initialized){o.initialized=!0;var l="overlay box content shadow title info close prevholder prev nextholder next counter image",i={},f=u._options,r="",c={overlay:"position:fixed;display:none;opacity:"+f.overlay_opacity+";top:0;left:0;width:100%;height:100%;background:"+f.overlay_background+";z-index:99990",box:"position:fixed;display:none;width:400px;height:400px;top:50%;left:50%;margin-top:-200px;margin-left:-200px;z-index:99991",shadow:"position:absolute;background:#000;width:100%;height:100%;",content:"position:absolute;background-color:#fff;top:10px;left:10px;right:10px;bottom:10px;overflow:hidden",info:"position:absolute;bottom:10px;left:10px;right:10px;color:#444;font:11px/13px arial,sans-serif;height:13px",close:"position:absolute;top:10px;right:10px;height:20px;width:20px;background:#fff;text-align:center;cursor:pointer;color:#444;font:16px/22px arial,sans-serif;z-index:99999",image:"position:absolute;top:10px;left:10px;right:10px;bottom:30px;overflow:hidden",prevholder:"position:absolute;width:50%;height:100%;cursor:pointer",nextholder:"position:absolute;width:50%;height:100%;right:0;cursor:pointer",prev:"position:absolute;top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;left:20px;display:none;line-height:40px;text-align:center;color:#000",next:"position:absolute;top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;right:20px;left:auto;display:none;line-height:40px;text-align:center;color:#000",title:"float:left",counter:"float:right;margin-left:8px"},h=function(t){return t.hover(function(){n(this).css("color","#bbb")},function(){n(this).css("color","#444")})};n.each(c,function(n,t){r+=".galleria-lightbox-"+n+"{"+t+"}"}),t.insertStyleTag(r),n.each(l.split(" "),function(n,t){u.addElement("lightbox-"+t),i[t]=o.elems[t]=u.get("lightbox-"+t)}),o.image=new Galleria.Picture,u.append({"lightbox-box":["lightbox-shadow","lightbox-content","lightbox-close","lightbox-prevholder","lightbox-nextholder"],"lightbox-info":["lightbox-title","lightbox-counter"],"lightbox-content":["lightbox-info","lightbox-image"],"lightbox-prevholder":"lightbox-prev","lightbox-nextholder":"lightbox-next"}),n(i.image).append(o.image.container),n(s().body).append(i.overlay,i.box),h(n(i.close).bind(e(),o.hide).html("&#215;")),n.each(["Prev","Next"],function(t,r){var u=n(i[r.toLowerCase()]).html(/v/.test(r)?"‹&nbsp;":"&nbsp;›");n(i[r.toLowerCase()+"holder"]).hover(function(){u.show()},function(){u.fadeOut(200)}).bind(e(),function(){o["show"+r]()})}),n(i.overlay).bind(e(),o.hide)}},rescale:function(r){var c=Math.min(n(i).width()-40,o.width),l=Math.min(n(i).height()-60,o.height),h=Math.min(c/o.width,l/o.height),f=o.width*h+40,e=o.height*h+60,s={width:f,height:e,marginTop:Math.ceil(e/2)*-1,marginLeft:Math.ceil(f/2)*-1};r?n(o.elems.box).css(s):n(o.elems.box).animate(s,u._options.lightbox_transition_speed,u._options.easing,function(){var n=o.image,i=u._options.lightbox_fade_speed;u.trigger({type:Galleria.LIGHTBOX_IMAGE,imageTarget:n.image}),n.show(),t.show(n.image,i),t.show(o.elems.info,i)})},hide:function(){o.image.image=null,n(i).unbind("resize",o.rescale),n(o.elems.box).hide(),t.hide(o.elems.info),t.hide(o.elems.overlay,200,function(){n(this).hide().css("opacity",u._options.overlay_opacity),u.trigger(Galleria.LIGHTBOX_CLOSE)})},showNext:function(){o.show(u.getNext(o.active))},showPrev:function(){o.show(u.getPrev(o.active))},show:function(r){o.active=r=typeof r=="number"?r:u.getIndex(),o.initialized||o.init(),n(i).unbind("resize",o.rescale);var f=u.getData(r),e=u.getDataLength();t.hide(o.elems.info),o.image.load(f.image,function(t){o.width=t.original.width,o.height=t.original.height,n(t.image).css({width:"100.5%",height:"100.5%",top:0,zIndex:99998,opacity:0}),o.elems.title.innerHTML=f.title,o.elems.counter.innerHTML=r+1+" / "+e,n(i).resize(o.rescale),o.rescale()}),n(o.elems.overlay).show(),n(o.elems.box).show()}};return this},Galleria.prototype={constructor:Galleria,init:function(i,u){var f=this;if(c.push(this),this._original={target:i,options:u,data:null},this._target=this._dom.target=i.nodeName?i:n(i).get(0),!this._target){Galleria.raise("Target not found.");return}if(this._options={autoplay:!1,carousel:!0,carousel_follow:!0,carousel_speed:400,carousel_steps:"auto",clicknext:!1,data_config:function(){return{}},data_selector:"img",data_source:this._target,debug:r,easing:"galleria",extend:function(){},height:"auto",idle_time:3e3,image_crop:!1,image_margin:0,image_pan:!1,image_pan_smoothness:12,image_position:"50%",keep_source:!1,lightbox_fade_speed:200,lightbox_transition_speed:500,link_source_images:!0,max_scale_ratio:r,min_scale_ratio:r,on_image:function(){},overlay_opacity:.85,overlay_background:"#0b0b0b",pause_on_interaction:!0,popup_links:!1,preload:2,queue:!0,show:0,show_info:!0,show_counter:!0,show_imagenav:!0,thumb_crop:!0,thumb_event_type:e(),thumb_fit:!0,thumb_margin:0,thumb_quality:"auto",thumbnails:!0,transition:"fade",transition_initial:r,transition_speed:400,width:"auto"},u&&u.debug===!0&&(v=!0),n(this._target).children().hide(),Galleria.theme)this._init();else{t.addTimer("themeload",function(){Galleria.raise("No theme found.",!0)},2e3);l.one(Galleria.THEMELOAD,function(){t.clearTimer("themeload"),f._init.call(f)})}},_init:function(){var u=this,o;return this._initialized?(Galleria.raise("Init failed: Gallery instance already initialized."),this):(this._initialized=!0,!Galleria.theme)?(Galleria.raise("Init failed: No theme found."),this):(n.extend(!0,this._options,Galleria.theme.defaults,this._original.options),this.bind(Galleria.DATA,function(){this._original.data=this._data,this.get("total").innerHTML=this.getDataLength();var f=this.$("container"),r={width:0,height:0},e=t.create("galleria-image");t.wait({until:function(){n.each(["width","height"],function(n,i){r[i]=u._options[i]&&typeof u._options[i]=="number"?u._options[i]:t.parseValue(f.css(i))||t.parseValue(u.$("target").css(i))||f[i]()||u.$("target")[i]()});var i=function(){return!0};return u._options.thumbnails&&(u.$("thumbnails").append(e),i=function(){return!!n(e).height()}),i()&&r.width&&r.height>50},success:function(){n(e).remove(),f.width(r.width),f.height(r.height),Galleria.WEBKIT?i.setTimeout(function(){u._run()},1):u._run()},error:function(){Galleria.raise("Width & Height not found.",!0)},timeout:2e3})}),o=!1,this.bind(Galleria.READY,function(){if(t.show(this.get("counter")),this._options.clicknext&&(n.each(this._data,function(n,t){delete t.link}),this.$("stage").css({cursor:"pointer"}).bind(e(),function(){u.next()})),this._options.carousel&&this._carousel.bindControls(),this._options.autoplay&&(this.pause(),typeof this._options.autoplay=="number"&&(this._playtime=this._options.autoplay),this.trigger(Galleria.PLAY),this._playing=!0),o){typeof this._options.show=="number"&&this.show(this._options.show);return}o=!0,Galleria.History&&Galleria.History.change(function(n){var t=parseInt(n.value.replace(/\//,""));isNaN(t)?i.history.go(-1):u.show(t,r,!0)}),Galleria.theme.init.call(this,this._options),this._options.extend.call(this,this._options),/^[0-9]{1,4}$/.test(y)&&Galleria.History?this.show(y,r,!0):this.show(this._options.show)}),this.append({"info-text":["info-title","info-description","info-author"],info:["info-text"],"image-nav":["image-nav-right","image-nav-left"],stage:["images","loader","counter","image-nav"],"thumbnails-list":["thumbnails"],"thumbnails-container":["thumb-nav-left","thumbnails-list","thumb-nav-right"],container:["stage","thumbnails-container","info","tooltip"]}),t.hide(this.$("counter").append(this.get("current")," / ",this.get("total"))),this.setCounter("&#8211;"),n.each(new Array(2),function(t){var i=new Galleria.Picture;n(i.container).css({position:"absolute",top:0,left:0}),u.$("images").append(i.container),u._controls[t]=i}),this.$("images").css({position:"relative",top:0,left:0,width:"100%",height:"100%"}),this.$("thumbnails, thumbnails-list").css({overflow:"hidden",position:"relative"}),this.$("image-nav-right, image-nav-left").bind(e(),function(n){u._options.clicknext&&n.stopPropagation(),u._options.pause_on_interaction&&u.pause();var t=/right/.test(this.className)?"next":"prev";u[t]()}),n.each(["info","counter","image-nav"],function(n,i){u._options["show_"+i.replace(/-/,"")]===!1&&t.moveOut(u.get(i))}),this.load(),this._options.keep_source||f||(this._target.innerHTML=""),this.$("target").append(this.get("container")),this._options.carousel&&this.bind(Galleria.THUMBNAIL,function(){this.updateCarousel()}),this.bind(Galleria.IMAGE,function(n){this._options.on_image.call(this,n.imageTarget,n.thumbTarget)}),this)},_run:function(){for(var e=this,f=this._options,y=0,v=0,l=typeof f.thumbnails=="string"?f.thumbnails.toLowerCase():null,r,s,h,a,c,o=0;this._data[o];o++)s=this._data[o],f.thumbnails===!0?(r=new Galleria.Picture(o),a=s.thumb||s.image,this.$("thumbnails").append(r.container),h=n(r.container),c=function(n){return u.defaultView&&u.defaultView.getComputedStyle?u.defaultView.getComputedStyle(r.container,null)[n]:h.css(n)},r.data={width:t.parseValue(c("width")),height:t.parseValue(c("height")),order:o},h.css(f.thumb_fit&&f.thumb_crop!==!0?{width:0,height:0}:{width:r.data.width,height:r.data.height}),r.load(a,function(i){i.scale({width:i.data.width,height:i.data.height,crop:f.thumb_crop,margin:f.thumb_margin,complete:function(i){var u=["left","top"],r=["Width","Height"];n.each(r,function(t,r){var o=r.toLowerCase(),e;(f.thumb_crop!==!0||f.thumb_crop==o)&&f.thumb_fit&&(e={},e[o]=i[o],n(i.container).css(e),e={},e[u[t]]=0,n(i.image).css(e)),i["outer"+r]=n(i.container)["outer"+r](!0)}),t.toggleQuality(i.image,f.thumb_quality===!0||f.thumb_quality=="auto"&&i.original.width<i.width*3),e.trigger({type:Galleria.THUMBNAIL,thumbTarget:i.image,index:i.data.order})}})}),f.preload=="all"&&r.add(s.image)):l=="empty"||l=="numbers"?(r={container:t.create("galleria-image"),image:t.create("img","span"),ready:!0},l=="numbers"&&n(r.image).text(o+1),this.$("thumbnails").append(r.container),i.setTimeout(function(t,i,r){return function(){n(r).append(t),e.trigger({type:Galleria.THUMBNAIL,thumbTarget:t,index:i})}}(r.image,o,r.container),50+o*20)):r={container:null,image:null},n(r.container).add(f.keep_source&&f.link_source_images?s.original:null).data("index",o).bind(f.thumb_event_type,function(t){f.pause_on_interaction&&e.pause();var i=n(t.currentTarget).data("index");e.getIndex()!==i&&e.show(i),t.preventDefault()}),this._thumbnails.push(r);t.wait({until:function(){return e._stageWidth=e.$("stage").width(),e._stageHeight=e.$("stage").height(),e._stageWidth&&e._stageHeight>50},success:function(){e.trigger(Galleria.READY)},error:function(){Galleria.raise("stage meassures not found")}})},load:function(t,i,r){var u=this;return(this._data=[],this._thumbnails=[],this.$("thumbnails").empty(),typeof i=="function"&&(r=i,i=null),t=t||this._options.data_source,i=i||this._options.data_selector,r=r||this._options.data_config,t.constructor==Array)?(this.validate(t)?(this._data=t,this.trigger(Galleria.DATA)):Galleria.raise("Load failed: JSON Array not valid."),this):(n(t).find(i).each(function(t,i){var e={},i=n(i),o=i.parent(),f=o.attr("href");/\.(png|gif|jpg|jpeg)(\?.*)?$/i.test(f)?e.image=f:f&&(e.link=f),u._data.push(n.extend({title:i.attr("title"),thumb:i.attr("src"),image:i.attr("src"),description:i.attr("alt"),link:i.attr("longdesc"),original:i.get(0)},e,r(i)))}),this.getDataLength()?this.trigger(Galleria.DATA):Galleria.raise("Load failed: no data found."),this)},_getActive:function(){return this._controls.getActive()},validate:function(){return!0},bind:function(n,t){return this.$("container").bind(n,this.proxy(t)),this},unbind:function(n){return this.$("container").unbind(n),this},trigger:function(t){return t=typeof t=="object"?n.extend(t,{scope:this}):{type:t,scope:this},this.$("container").trigger(t),this},addIdleState:function(){return this._idle.add.apply(this._idle,t.array(arguments)),this},removeIdleState:function(){return this._idle.remove.apply(this._idle,t.array(arguments)),this},enterIdleMode:function(){return this._idle.hide(),this},exitIdleMode:function(){return this.idle._show(),this},enterFullscreen:function(){return this._fullscreen.enter.apply(this,t.array(arguments)),this},exitFullscreen:function(){return this._fullscreen.exit.apply(this,t.array(arguments)),this},bindTooltip:function(){return this._tooltip.bind.apply(this._tooltip,t.array(arguments)),this},defineTooltip:function(){return this._tooltip.define.apply(this._tooltip,t.array(arguments)),this},refreshTooltip:function(){return this._tooltip.show.apply(this._tooltip,t.array(arguments)),this},openLightbox:function(){return this._lightbox.show.apply(this._lightbox,t.array(arguments)),this},closeLightbox:function(){return this._lightbox.hide.apply(this._lightbox,t.array(arguments)),this},getActiveImage:function(){return this._getActive().image||r},getActiveThumb:function(){return this._thumbnails[this._active].image||r},getMousePosition:function(n){return{x:n.pageX-this.$("container").offset().left,y:n.pageY-this.$("container").offset().top}},addPan:function(i){if(this._options.image_crop!==!1){i=n(i||this.getActiveImage());var r=this,c=i.width()/2,y=i.height()/2,o=destX=parseInt(i.css("left"))||0,e=destY=parseInt(i.css("top"))||0,h=0,s=0,p=!1,b=t.timestamp(),v=0,u=0,l=function(n,t,r){if(n>0&&(u=Math.round(Math.max(n*-1,Math.min(0,t))),v!=u))if(v=u,f==8)i.parent()["scroll"+r](u*-1);else{var e={};e[r.toLowerCase()]=u,i.css(e)}},a=function(n){t.timestamp()-b<50||(p=!0,c=r.getMousePosition(n).x,y=r.getMousePosition(n).y)},w=function(){p&&(h=i.width()-r._stageWidth,s=i.height()-r._stageHeight,destX=c/r._stageWidth*h*-1,destY=y/r._stageHeight*s*-1,o+=(destX-o)/r._options.image_pan_smoothness,e+=(destY-e)/r._options.image_pan_smoothness,l(s,e,"Top"),l(h,o,"Left"))};return f==8&&(i.parent().scrollTop(e*-1).scrollLeft(o*-1),i.css({top:0,left:0})),this.$("stage").unbind("mousemove",a).bind("mousemove",a),t.addTimer("pan",w,50,!0),this}},proxy:function(n,i){return typeof n!="function"?function(){}:(i=i||this,function(){return n.apply(i,t.array(arguments))})},removePan:function(){return f==8,this.$("stage").unbind("mousemove"),t.clearTimer("pan"),this},addElement:function(){var r=this._dom;return n.each(t.array(arguments),function(n,i){r[i]=t.create("galleria-"+i)}),this},attachKeyboard:function(){return this._keyboard.attach.apply(this._keyboard,t.array(arguments)),this},detachKeyboard:function(){return this._keyboard.detach.apply(this._keyboard,t.array(arguments)),this},appendChild:function(n,t){return this.$(n).append(this.get(t)||t),this},prependChild:function(n,t){return this.$(n).prepend(this.get(t)||t),this},remove:function(){return this.$(t.array(arguments).join(",")).remove(),this},append:function(n){var t,i;for(t in n)if(n[t].constructor==Array)for(i=0;n[t][i];i++)this.appendChild(t,n[t][i]);else this.appendChild(t,n[t]);return this},_scaleImage:function(t,i){return i=n.extend({width:this._stageWidth,height:this._stageHeight,crop:this._options.image_crop,max:this._options.max_scale_ratio,min:this._options.min_scale_ratio,margin:this._options.image_margin,position:this._options.image_position},i),(t||this._controls.getActive()).scale(i),this},updateCarousel:function(){return this._carousel.update(),this},rescale:function(n,i,u){var f=this,e;return typeof n=="function"&&(u=n,n=r),e=function(){var t=f._options;f._stageWidth=n||f.$("stage").width(),f._stageHeight=i||f.$("stage").height(),f._scaleImage(),f._options.carousel&&f.updateCarousel(),f.trigger(Galleria.RESCALE),typeof u=="function"&&u.call(f)},!Galleria.WEBKIT||n||i?e.call(f):t.addTimer("scale",e,5),this},refreshImage:function(){return this._scaleImage(),this._options.image_pan&&this.addPan(),this},show:function(n,t,i){if(n!==!1&&(this._options.queue||!this._queue.stalled)){if(n=Math.max(0,Math.min(parseInt(n),this.getDataLength()-1)),t=typeof t!="undefined"?!!t:n<this.getIndex(),i=i||!1,!i&&Galleria.History){Galleria.History.value(n.toString());return}return this._active=n,Array.prototype.push.call(this._queue,{index:n,rewind:t}),this._queue.stalled||this._show(),this}},_show:function(){var r=this,u=this._queue[0],o=this.getData(u.index),l,h,c;if(o){var y=o.image,s=this._controls.getActive(),f=this._controls.getNext(),p=f.isCached(y),w=this._thumbnails[u.index],v=function(){r._queue.stalled=!1,t.toggleQuality(f.image,r._options.image_quality),n(s.container).css({zIndex:0,opacity:0}),n(f.container).css({zIndex:1,opacity:1}),r._controls.swap(),r._options.image_pan&&r.addPan(f.image),o.link&&n(f.image).css({cursor:"pointer"}).bind(e(),function(){if(r._options.popup_links)var n=i.open(o.link,"_blank");else i.location.href=o.link}),Array.prototype.shift.call(r._queue),r._queue.length&&r._show(),r._playCheck(),r.trigger({type:Galleria.IMAGE,index:u.index,imageTarget:f.image,thumbTarget:w.image})};if(this._options.carousel&&this._options.carousel_follow&&this._carousel.follow(u.index),this._options.preload){h=this.getNext();try{for(c=this._options.preload;c>0;c--)l=new Galleria.Picture,l.add(r.getData(h).image),h=r.getNext(h)}catch(b){}}t.show(f.container),n(r._thumbnails[u.index].container).addClass("active").siblings(".active").removeClass("active"),r.trigger({type:Galleria.LOADSTART,cached:p,index:u.index,imageTarget:f.image,thumbTarget:w.image}),f.load(y,function(n){r._scaleImage(n,{complete:function(n){var i,f;t.show(n.container),"image"in s&&t.toggleQuality(s.image,!1),t.toggleQuality(n.image,!1),r._queue.stalled=!0,r.removePan(),r.setInfo(u.index),r.setCounter(u.index),r.trigger({type:Galleria.LOADFINISH,cached:p,index:u.index,imageTarget:n.image,thumbTarget:r._thumbnails[u.index].image}),i=s.image===null&&r._options.transition_initial?r._options.transition_initial:r._options.transition,i in a==!1?v():(f={prev:s.image,next:n.image,rewind:u.rewind,speed:r._options.transition_speed||400},a[i].call(r,f,v))}})})}},getNext:function(n){return n=typeof n=="number"?n:this.getIndex(),n==this.getDataLength()-1?0:n+1},getPrev:function(n){return n=typeof n=="number"?n:this.getIndex(),n===0?this.getDataLength()-1:n-1},next:function(){return this.getDataLength()>1&&this.show(this.getNext(),!1),this},prev:function(){return this.getDataLength()>1&&this.show(this.getPrev(),!0),this},get:function(n){return n in this._dom?this._dom[n]:null},getData:function(n){return n in this._data?this._data[n]:this._data[this._active]},getDataLength:function(){return this._data.length},getIndex:function(){return typeof this._active=="number"?this._active:!1},getStageHeight:function(){return this._stageHeight},getStageWidth:function(){return this._stageWidth},getOptions:function(n){return typeof n=="undefined"?this._options:this._options[n]},setOptions:function(t,i){return typeof t=="object"?n.extend(this._options,t):this._options[t]=i,this},play:function(n){return this._playing=!0,this._playtime=n||this._playtime,this._playCheck(),this.trigger(Galleria.PLAY),this},pause:function(){return this._playing=!1,this.trigger(Galleria.PAUSE),this},playToggle:function(n){return this._playing?this.pause():this.play(n)},isPlaying:function(){return this._playing},_playCheck:function(){var n=this,i=0,u=20,f=t.timestamp(),r;this._playing&&(t.clearTimer("play"),r=function(){if(i=t.timestamp()-f,i>=n._playtime&&n._playing){t.clearTimer("play"),n.next();return}n._playing&&(n.trigger({type:Galleria.PROGRESS,percent:Math.ceil(i/n._playtime*100),seconds:Math.floor(i/1e3),milliseconds:i}),t.addTimer("play",r,u))},t.addTimer("play",r,u))},setIndex:function(n){return this._active=n,this},setCounter:function(n){if(typeof n=="number"?n++:typeof n=="undefined"&&(n=this.getIndex()+1),this.get("current").innerHTML=n,f==8){var t=this.$("counter").css("opacity");this.$("counter").css("opacity",t)}return this},setInfo:function(t){var r=this,i=this.getData(t);return n.each(["title","description","author"],function(n,t){var u=r.$("info-"+t);i[t]?u[i[t].length?"show":"hide"]().html(i[t]):u.empty().hide()}),this},hasInfo:function(n){for(var r=this.getData(n),i="title description".split(" "),t=0;i[t];t++)if(!!this.getData(n)[i[t]])return!0;return!1},jQuery:function(t){var r=this,u=[],i;return n.each(t.split(","),function(t,i){i=n.trim(i),r.get(i)&&u.push(i)}),i=n(r.get(u.shift())),n.each(u,function(n,t){i=i.add(r.get(t))}),i},$:function(){return this.jQuery.apply(this,t.array(arguments))}},n.extend(Galleria,{DATA:"g_data",READY:"g_ready",THUMBNAIL:"g_thumbnail",LOADSTART:"g_loadstart",LOADFINISH:"g_loadfinish",IMAGE:"g_image",THEMELOAD:"g_themeload",PLAY:"g_play",PAUSE:"g_pause",PROGRESS:"g_progress",FULLSCREEN_ENTER:"g_fullscreen_enter",FULLSCREEN_EXIT:"g_fullscreen_exit",IDLE_ENTER:"g_idle_enter",IDLE_EXIT:"g_idle_exit",RESCALE:"g_rescale",LIGHTBOX_OPEN:"g_lightbox_open",LIGHTBOX_CLOSE:"g_lightbox_close",LIGHTBOX_IMAGE:"g_lightbox_image",IE9:f==9,IE8:f==8,IE7:f==7,IE6:f==6,IE:!!f,WEBKIT:/webkit/.test(o),SAFARI:/safari/.test(o),CHROME:/chrome/.test(o),QUIRK:f&&u.compatMode&&u.compatMode=="BackCompat",MAC:/mac/.test(navigator.platform.toLowerCase()),OPERA:!!i.opera,IPHONE:/iphone/.test(o),IPAD:/ipad/.test(o),ANDROID:/android/.test(o),TOUCH:!!(/iphone/.test(o)||/ipad/.test(o)||/android/.test(o))}),Galleria.addTheme=function(n){return!!n.name==!1&&Galleria.raise("No theme name specified"),typeof n.defaults!="object"&&(n.defaults={}),typeof n.css=="string"?Galleria.theme=n:(Galleria.theme=n,l.trigger(Galleria.THEMELOAD)),n},Galleria.loadTheme=function(i,u){var f=!1,e=c.length;Galleria.theme=r,t.loadScript(i,function(){f=!0}),t.wait({until:function(){return f},error:function(){Galleria.raise("Theme at "+i+" could not load, check theme path.",!0)},success:function(){if(e){var t=[];n.each(Galleria.get(),function(i,r){var e=n.extend(r._original.options,{data_source:r._data},u),f;r.$("container").remove(),f=new Galleria,f._id=r._id,f.init(r._original.target,e),t.push(f)}),c=t}},timeout:2e3})},Galleria.get=function(n){if(!c[n]){if(typeof n!="number")return c;Galleria.raise("Gallery index "+n+" not found")}else return c[n]},Galleria.addTransition=function(n,t){a[n]=t},Galleria.utils=t,Galleria.log=function(){try{i.console.log.apply(i.console,t.array(arguments))}catch(r){try{opera.postError.apply(opera,arguments)}catch(n){alert(t.array(arguments).split(", "))}}},Galleria.raise=function(n,t){if(v||t){var i=t?"Fatal error":"Error";throw new Error(i+": "+n);}},Galleria.Picture=function(i){this.id=i||null,this.image=null,this.container=t.create("galleria-image"),n(this.container).css({overflow:"hidden",position:"relative"}),this.original={width:0,height:0},this.ready=!1,this.loaded=!1},Galleria.Picture.prototype={cache:{},add:function(t){var r=this,i=new Image;return(n(i).css("display","block"),r.cache[t])?(i.src=t,r.loaded=!0,r.original={height:i.height,width:i.width},i):(i.onload=function(){r.original={height:this.height,width:this.width},r.cache[t]=t,r.loaded=!0},i.src=t,i)},show:function(){t.show(this.image)},hide:function(){t.moveOut(this.image)},clear:function(){this.image=null},isCached:function(n){return!!this.cache[n]},load:function(r,u){var f=this;return n(this.container).empty(!0),this.image=this.add(r),t.hide(this.image),n(this.container).append(this.image),t.wait({until:function(){return f.loaded&&f.image.complete&&f.image.width},success:function(){i.setTimeout(function(){u.call(f,f)},50)},error:function(){i.setTimeout(function(){u.call(f,f)},50),Galleria.raise("image not loaded in 10 seconds: "+r)},timeout:1e4}),this.container},scale:function(i){if(i=n.extend({width:0,height:0,min:r,max:r,margin:0,complete:function(){},position:"center",crop:!1},i),!this.image)return this.container;var e,f,u=this,o=n(u.container);return t.wait({until:function(){return e=i.width||o.width()||t.parseValue(o.css("width")),f=i.height||o.height()||t.parseValue(o.css("height")),e&&f},success:function(){var h=(e-i.margin*2)/u.original.width,c=(f-i.margin*2)/u.original.height,v={"true":Math.max(h,c),width:h,height:c,"false":Math.min(h,c)},o=v[i.crop.toString()];i.max&&(o=Math.min(i.max,o)),i.min&&(o=Math.max(i.min,o)),n(u.container).width(e).height(f),n.each(["width","height"],function(t,i){n(u.image)[i](u[i]=Math.ceil(u.original[i]*o))});var r={},s={},l=function(i,r,f){var o=0,e;return/\%/.test(i)?(e=parseInt(i)/100,o=Math.ceil(n(u.image)[r]()*-1*e+f*e)):o=t.parseValue(i),o},a={top:{top:0},left:{left:0},right:{left:"100%"},bottom:{top:"100%"}};n.each(i.position.toLowerCase().split(" "),function(n,t){t=="center"&&(t="50%"),r[n?"top":"left"]=t}),n.each(r,function(t,i){a.hasOwnProperty(i)&&n.extend(s,a[i])}),r=r.top?n.extend(r,s):s,r=n.extend({top:"50%",left:"50%"},r),n(u.image).css({position:"relative",top:l(r.top,"height",f)-i.margin,left:l(r.left,"width",e)-i.margin}),u.show(),u.ready=!0,i.complete.call(u,u)},error:function(){Galleria.raise("Could not scale image: "+u.image.src)},timeout:1e3}),this}},n.extend(n.easing,{galleria:function(n,t,i,r,u){return(t/=u/2)<1?r/2*t*t*t*t+i:-r/2*((t-=2)*t*t*t-2)+i},galleriaIn:function(n,t,i,r,u){return r*(t/=u)*t*t*t+i},galleriaOut:function(n,t,i,r,u){return-r*((t=t/u-1)*t*t*t-1)+i}}),n.fn.galleria=function(n){return this.each(function(){var t=new Galleria;t.init(this,n)})},i.Galleria=Galleria})(jQuery)