(function(j){var g=function(a){return new g.fn.init(a)};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};g.fn=g.prototype={init:function(){return this}};g.fn.init.prototype=g.fn;g.fn.extend=g.extend=$.extend;g.extend({jq:function(){var a={};return function(b){a[b]||(a[b]=$(b));return a[b]}}()});g.fn.extend({jq:g.jq});(function(a){function b(f){var c=[].slice.call(arguments,1),e=0;f=a.event.fix(f||j.event);f.type="mousewheel";if(f.wheelDelta)e=f.wheelDelta/120;if(f.detail)e=-f.detail/
3;c.unshift(f,e);return a.event.handle.apply(this,c)}var d=["DOMMouseScroll","mousewheel"];a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var f=d.length;f;)this.addEventListener(d[--f],b,false);else this.onmousewheel=b},teardown:function(){if(this.removeEventListener)for(var f=d.length;f;)this.removeEventListener(d[--f],b,false);else this.onmousewheel=null}};a.fn.extend({mousewheel:function(f){return f?this.bind("mousewheel",f):this.trigger("mousewheel")},unmousewheel:function(f){return this.unbind("mousewheel",
f)}})})(jQuery);g.extend({brokerInit:function(){this.subscribers={};var a=arguments;this.subscribers={};for(var b=0;b<a.length;b++)this.subscribers[a[b]]=[];return this}});$.extend(g.brokerInit.prototype,{publish:function(a){this.subscribers[a]||(this.subscribers[a]=[]);for(var b=Array.prototype.slice.call(arguments,1),d=0;d<this.subscribers[a].length;d++)this.subscribers[a][d].apply(this,b);return this},subscribe:function(a,b,d){this.subscribers[a]||(this.subscribers[a]=[]);var f=Array.prototype.slice.call(arguments,
3);this.subscribers[a].push(function(){var c=Array.prototype.slice.call(arguments,0);b[d].apply(b||j,f.concat(c))});return this}});g.broker=new g.brokerInit;$.extend(g,{scrollerInit:function(a,b){var d=this;this.content=a;this.clipWindow=$('<div style="overflow:hidden;"></div>');this.clipWindow.addClass("clip-window");this.clipHeight=this.contentHeight=0;this.config={parent:this.clipWindow,callback:function(f){d.position(f)},scrollbarPadding:30,size:10,align:"vertical",horizontalGutter:8,verticalGutter:25};
b&&$.extend(this.config,b);this.content.css("width","auto").css("height","auto").css("position","relative").before(this.clipWindow);this.clipWindow.append(a).css("padding-right",this.config.scrollbarPadding);this.clipWindow.bind("mousewheel",function(f,c){f.preventDefault();d.position(c*100,"rel")}).bind("mousedown",function(f){var c=f.clientY,e=0;$(document).bind("mousemove",function(h){d.position(e-(h.clientY-c),"rel");e=h.clientY-c});$(document).bind("mouseup",function(){$(this).unbind("mousemove")})});
this.scrollbar=g.scrollbar(this.config);return this}});$.extend(g.scrollerInit.prototype,{html:function(a){this.content.html(a);this.contentHeight=this.content.outerHeight();this.scrollbar.content(this.contentHeight);this.refresh();this.scrollbar.reset();return this},resize:function(a){this.clipHeight=a.height;this.clipWindow.css("height",a.height);this.content.css("width",a.width-this.config.scrollbarPadding-this.config.horizontalGutter*2);this.scrollbar.clip(a.height);this.contentHeight=this.content.outerHeight();
this.scrollbar.content(this.contentHeight);this.refresh();Math.abs(this.position())>Math.abs(this.max)?this.position(this.max):this.scrollbar.value(this.position())},moveRelative:function(a){this.moveAbsolute(this.position+a)},position:function(){var a=0;return function(b,d){if(d&&d==="rel")b+=a;if(arguments.length>0){a=b>this.min?0:b<this.max?this.max:Math.floor(b);this.content.css("top",a);this.scrollbar.value(Math.round(a))}else return a}}(),refresh:function(){this.max=Math.min(0,(this.contentHeight-
this.clipHeight)*-1);this.min=0;this.scrollbar.extents(this.min,this.max);return this},scrollToEnd:function(){var a=this,b=g.tween({start:this.position(),end:this.max,duration:750,easing:"decelerate",fps:30,callback:function(d){a.position(d)}});this.position()!==this.max&&b.play()},scrollToBeginning:function(){this.position(this.min)}});g.scroller=function(a,b,d){return new g.scrollerInit(a,b,d)};g.extend({scrollbarInit:function(a){var b=this;this.config=$.extend({size:10,align:"vertical",horizontalGutter:8,
verticalGutter:25,callback:function(){},parent:g.jq("body")},a);this.container=$("<div></div>");this.container.css("position","absolute").addClass("scrollbar-background");this.handle=$("<div></div>");this.handle.css("position","absolute").addClass("scrollbar-handle").css("top",0).css("left",0);if(this.config.align==="horizontal"){this.sizeAttr="width";this.positionAttr="left";this.gutter=this.config.horizontalGutter;this.container.css("bottom",this.config.verticalGutter).css("left",this.config.horizontalGutter).css("height",
this.config.size);this.handle.css("height",this.config.size)}else{this.sizeAttr="height";this.positionAttr="top";this.gutter=this.config.verticalGutter;this.container.css("top",this.config.verticalGutter).css("right",this.config.horizontalGutter).css("width",this.config.size);this.handle.css("width",this.config.size)}this.container.css(this.sizeAttr,50);this.handle.css(this.sizeAttr,50);this.owner={min:0,max:0,value:0,contentSize:0,clipSize:0};this.self={min:0,max:0,value:0,pathSize:0,handleSize:0};
a.parent.css("position","relative");this.container.bind("click",function(){return b.config.align==="horizontal"?function(d){if(!$(d.target).is("div.scrollbar-handle")){d.stopPropagation();d.preventDefault();b.centerOn(d.offsetX)}}:function(d){if(!$(d.target).is("div.scrollbar-handle")){d.stopPropagation();d.preventDefault();b.centerOn(d.offsetY)}}}());this.handle.bind("mousedown",function(){return b.config.align==="horizontal"?function(d){d.stopPropagation();d.preventDefault();var f=d.clientX,c=0;
$("body").css("cursor","W-resize");$(this).css("cursor","W-resize");$(document).bind("mousemove",function(e){e.preventDefault();b.position((c-(e.clientX-f))*-1);c=e.clientX-f}).bind("mouseup",function(){$(this).unbind("mousemove");$("body").css("cursor","default");$("this").css("cursor","pointer")})}:function(d){d.stopPropagation();d.preventDefault();var f=d.clientY,c=0;$("body").css("cursor","N-resize");$(this).css("cursor","N-resize");$(document).bind("mousemove",function(e){e.preventDefault();
b.position((c-(e.clientY-f))*-1);c=e.clientY-f}).bind("mouseup",function(){$(this).unbind("mousemove");$("body").css("cursor","default");$("this").css("cursor","pointer")})}}());this.container.append(this.handle);a.parent.append(this.container);return this}});$.extend(g.scrollbarInit.prototype,{extents:function(a,b){if(arguments.length===2){this.owner.min=a||0;this.owner.max=b||0;return this}else return{min:this.owner.min,max:this.owner.max}},clip:function(a){if(a){this.owner.clipSize=a;this.resize();
return this}else return this.owner.clipSize},content:function(a){if(a){this.owner.contentSize=a;this.resize();return this}else return this.owner.contentSize},value:function(a){if(typeof a==="number"){this.owner.value=a;var b=(this.self.max-this.self.min)/100;(a=a/((this.owner.max-this.owner.min)/100))||(a=0);this.self.value=Math.floor(b*a);this.handle.css(this.positionAttr,Math.round(this.self.value));return this}else return this.owner.value},position:function(a){a+=this.self.value;if(a<this.self.min)a=
this.self.min;else if(a>this.self.max)a=this.self.max;a=Math.floor((this.owner.max-this.owner.min)/100*(a/((this.self.max-this.self.min)/100)));this.config.callback(a);return this},centerOn:function(a){a-=Math.floor(this.self.handleSize/2);if(a<this.self.min)a=this.self.min;else if(a>this.self.max)a=this.self.max;var b=this;g.tween({start:this.self.value||0,end:a,duration:750,easing:"decelerate",fps:30,callback:function(d){d=Math.floor((b.owner.max-b.owner.min)/100*(d/((b.self.max-b.self.min)/100)));
b.config.callback(d)}}).play()},calculateDimensions:function(){var a=this.self,b=this.owner;a.pathSize=Math.floor(b.clipSize-this.gutter*2);a.handleSize=Math.floor(a.pathSize*(b.clipSize/b.contentSize));a.max=a.pathSize-a.handleSize;return this},resize:function(){this.calculateDimensions();if(this.owner.contentSize<this.owner.clipSize)this.container.hide();else{this.container.show();this.container.css(this.sizeAttr,this.self.pathSize+"px");this.handle.css(this.sizeAttr,Math.max(5,this.self.handleSize)+
"px")}return this},reset:function(){this.self.value=0;this.resize();this.position(0);return this}});g.scrollbar=function(a){return new g.scrollbarInit(a)};(function(a){a.extend({slideshowInit:function(b){var d,f,c,e=this;this.config={slideCount:0,width:200,activeClass:"active",inactiveClass:"inactive",container:"#slider-container",controlsContainer:"#slideshow-controls",transition:1500,pause:5E3};this.tweenStore={};this.data={current:-1};b&&$.extend(this.config,b);this.config.slideCount=$(this.config.container+
" ul").children().size();this.data.panelWidth=this.config.width*this.config.slideCount;b=$(this.config.controlsContainer);b.css({left:this.config.width/2-b.outerWidth()/2});$(this.config.container).width(this.data.panelWidth).bind("mouseover",function(){clearTimeout(e.timeout);e.timeout=-1}).bind("mouseout",function(){if(e.timeout===-1)e.timeout=setTimeout(function(){return function(){e.nextSlide()}}(),e.config.pause)});b=0;for(d=this.config.slideCount;b<d;b++){c=$("<li></li>");c.prependTo($(this.config.controlsContainer).find("ul"));
f=$('<a href="#" id="slideshow-button"></a>');f.addClass(this.config.inactiveClass).addClass("galaxy-slideshow-button").attr("id","galaxy-sb-"+b).bind("click",function(h){return function(i){i.preventDefault();e.goToSlide(h)}}(b)).appendTo(c)}this.goToSlide(0);return this}});$.extend(a.slideshowInit.prototype,{nextSlide:function(){var b=this;this.data.current+1===this.config.slideCount?this.moveSlider(0):this.moveSlider(this.data.current+1);this.timeout=setTimeout(function(){return function(){b.nextSlide()}}(),
this.config.pause+this.config.transition)},goToSlide:function(b){var d=this;clearTimeout(this.timeout);this.data.current!==b&&this.moveSlider(b);this.timeout=setTimeout(function(){return function(){d.nextSlide()}}(),this.config.pause+this.config.transition)},idToCoord:function(b){return b*this.config.width*-1},moveSlider:function(b){var d=this;$(this.config.controlsContainer).find("a").removeClass("active").addClass("inactive");$("#galaxy-sb-"+b).removeClass("inactive").addClass("active");this.tweenStore[this.data.current+
"-"+b]||(this.tweenStore[this.data.current+"-"+b]=a.tween({start:this.idToCoord(this.data.current),end:this.idToCoord(b),duration:this.config.transition,easing:"bubble",fps:30,callback:function(f){a.jq(d.config.container).css({left:f})}}));this.tweenStore[this.data.current+"-"+b].play();this.data.current=b}});a.slideshow=function(){return function(b){return new a.slideshowInit(b)}}()})(g);g.extend({registerSubscriptions:function(){},subscribers:{}});g.registerSubscriptions();g.extend({tweener:function(){var a=
{decelerate:function(c,e){return{p1:e,p2:e,p3:e,p4:c}},accelerate:function(c,e){return{p1:e,p2:c,p3:c,p4:c}},bubble:function(c,e){return{p1:e,p2:e,p3:c,p4:c}},linear:function(){return false}},b={B1:function(c){return c*c*c},B2:function(c){return 3*c*c*(1-c)},B3:function(c){return 3*c*(1-c)*(1-c)},B4:function(c){return(1-c)*(1-c)*(1-c)}},d=function(c,e){var h=0;return h=e.p1*b.B1(c)+e.p2*b.B2(c)+e.p3*b.B3(c)+e.p4*b.B4(c)},f=function(c){var e=[],h,i=0;try{h=a[c.easing](c.start,c.end)}catch(k){h=false}if(h)for(i=
c.frames+1;i--;)e[i]=Math.round(d(i/c.frames,h));else if(difference=c.end-c.start)for(i=c.frames+1;i--;)e[i]=c.start+difference*i/c.frames;else e[0]=c.start;return e};return function(c){var e=this;this.config={start:0,end:100,duration:1E3,easing:"decelerate",callback:function(){},fps:25};this.stepper=function(){e.step()};$.extend(this.config,c);this.tickDuration=1E3/this.config.fps;this.config.frames=Math.ceil(this.config.duration/this.tickDuration);this.duration=Math.ceil(this.config.duration/this.config.frames);
this.cache=f(this.config);return this}}()});$.extend(g.tweener.prototype,{play:function(){this.startTime=(new Date).getTime();this.stop=false;setTimeout(this.stepper,0)},rewind:function(){},stop:function(){this.stop=true},step:function(){return function(){var a;a=(new Date).getTime()-this.startTime;a=Math.ceil(a/this.duration);if(a>this.config.frames)a=this.config.frames;a=a;this.config.callback(this.cache[a]);this.stop||a<this.config.frames&&setTimeout(this.stepper,this.tickDuration)}}()});g.tween=
function(){return function(a){return new g.tweener(a)}}();j.galaxy=g})(window);

