(function(c){c.fn.auroraScroll=function(a){return this.each(function(){new c.auroraScroll(this,a)})};var g={className:"aurora-scroll",frameRate:24,speed:1,horizontal:!0,autoMode:"off",pauseOnHover:!0,startOnLoad:!1,localJsonSource:"",flickrFeed:"",jsonImgWidth:240,jsonImgHeight:180,direction:1,visible:!1,pauseAfter:!1,pause:1500};c.auroraScroll=function(a,b){var e=this;this.o=c.extend({},g,b||{});this.auto="off"!==this.o.autoMode?!0:!1;this.visible=this.o.visible?this.o.visible:!1==this.o.horizontal? 5:3;if(c(a).is("table")){var d=c(a),h=c(".scrollertd",d).width(),i=c(".scrollertd",d).outerHeight(!0),j=c(".scrollertd",d).css("padding-left"),f=c("<ul></ul>").attr("class",d.attr("class"));c(".scrollertd",d).each(function(){c(this).html()&&f.append(c("<li/>").html(c(this).html()).css({width:h-1,height:i,textAlign:"center",padding:j,"float":"left"}));c(this).remove()});d.replaceWith(f);this.$list=c(f)}else this.$list=c(a);this.$list.addClass("aurora-scroll-list").wrap('<div class="aurora-scroll-clip"></div>').parent().wrap('<div class="'+ this.o.className+' aurora-scroll-container"></div>');this.o.auto||this.$list.parent().parent().prepend('<div class="aurora-scroll-forward"></div>').prepend('<div class="aurora-scroll-back"></div>');this.o.flickrFeed?c.getJSON(this.o.flickrFeed+"&format=json&jsoncallback=?",function(a){json=[];c.each(a.items,function(a,b){json.push({src:b.media.m,title:b.title,link:b.link})});e.renderData(json)}):this.o.localJsonSource?c.getJSON(this.o.localJsonSource,function(a){e.renderData(a)}):this.o.startOnLoad? c(window).load(function(){e.init()}):this.init()};c.auroraScroll.fn=c.auroraScroll.prototype={};c.auroraScroll.fn.extend=c.auroraScroll.extend=c.extend;c.auroraScroll.fn.extend({init:function(){this.$items=this.$list.children();this.$clip=this.$list.parent();this.$container=this.$clip.parent();this.o.horizontal?(this.$clip.height(this.$items.outerHeight(!0)),this.itemMax=this.$items.eq(0).outerWidth(!0)-1,this.clipMax=this.$clip.width(),this.dimension="width",this.moveBackClass="aurora-scroll-btn-left", this.moveForwardClass="aurora-scroll-btn-right"):(this.$clip.height(this.visible*this.$items.outerHeight(!0)),this.equalizeHeight(),this.itemMax=this.$items.eq(0).outerHeight(!0),this.clipMax=this.$clip.height(),this.dimension="height",this.moveBackClass="aurora-scroll-btn-up",this.moveForwardClass="aurora-scroll-btn-down");this.posMin=0;this.pauseAt=this.itemMax*this.o.pauseAfter;if(!(this.visible>=this.$list.children().size())){this.posMax=this.$items.length*this.itemMax;this.$list.css(this.dimension, this.posMax+"px");if("loop"==this.o.autoMode){var a=Math.ceil(this.clipMax/this.itemMax);this.$items.slice(0,a).clone(!0).appendTo(this.$list);this.posMax+=this.clipMax-this.o.speed;this.$list.css(this.dimension,this.posMax+this.itemMax*a+"px")}this.interval=null;for(this.intervalDelay=Math.floor(1E3/this.o.frameRate);0!==this.itemMax%this.o.speed;)if(this.o.speed--,0===this.o.speed){this.o.speed=1;break}var b=this;this.trigger=null;this.funcMoveBack=function(){b.trigger=this;b.moveBack()};this.funcMoveForward= function(){b.trigger=this;b.moveForward()};this.funcMoveStop=function(){b.moveStop()};this.funcMoveResume=function(){b.moveResume()};this.auto?(this.o.pauseOnHover&&this.$clip.hover(this.funcMoveStop,this.funcMoveResume),-1==this.o.direction?this.moveBack():this.moveForward()):(this.$btnBack=c(".aurora-scroll-back",this.$container).addClass("aurora-scroll-btn "+this.moveBackClass+" disabled").hover(this.funcMoveBack,this.funcMoveStop),this.$btnForward=c(".aurora-scroll-forward",this.$container).addClass("aurora-scroll-btn "+ this.moveForwardClass).hover(this.funcMoveForward,this.funcMoveStop))}},moveForward:function(){var a=this;this.movement="forward";null!==this.trigger&&this.$btnBack.removeClass("disabled");a.interval=setInterval(function(){!a.o.horizontal&&a.$clip[0].scrollTop<a.posMax-a.clipMax?(a.$clip[0].scrollTop+=a.o.speed,a.o.pauseAfter&&0==a.$clip[0].scrollTop%a.pauseAt&&a.movePause()):a.o.horizontal&&a.$clip[0].scrollLeft<a.posMax-a.clipMax?(a.$clip[0].scrollLeft+=a.o.speed,a.o.pauseAfter&&0==a.$clip[0].scrollLeft% a.pauseAt&&a.movePause()):"loop"==a.o.autoMode?(a.o.pauseAfter&&a.movePause(),a.resetPos()):a.moveStop(a.movement)},a.intervalDelay)},moveBack:function(a){var b=this;this.movement="back";null!==this.trigger&&this.$btnForward.removeClass("disabled");if(-1==this.o.direction&&!a)b.$clip[0].scrollLeft=b.posMax-b.clipMax;b.interval=setInterval(function(){!b.o.horizontal&&0<b.$clip[0].scrollTop?(b.$clip[0].scrollTop-=b.o.speed,b.o.pauseAfter&&0==b.$clip[0].scrollTop%b.pauseAt&&b.movePause()):b.o.horizontal&& 0<b.$clip[0].scrollLeft?(b.$clip[0].scrollLeft-=b.o.speed,b.o.pauseAfter&&0==b.$clip[0].scrollLeft%b.pauseAt&&b.movePause()):"loop"==b.o.autoMode?(b.o.pauseAfter&&b.movePause(),b.resetPos()):b.moveStop(b.movement)},b.intervalDelay)},movePause:function(){clearInterval(this.interval);var a=this;a.intervalPause=setTimeout(function(){a.moveResume(!0)},a.o.pause)},moveStop:function(a){clearInterval(this.interval);clearInterval(this.intervalPause);if(null!==this.trigger)"undefined"!=typeof a&&c(this.trigger).addClass("disabled"), this.trigger=null;this.auto&&"bounce"==this.o.autoMode&&("forward"==a?this.moveBack():this.moveForward())},moveResume:function(){"forward"==this.movement?this.moveForward():this.moveBack(!0)},resetPos:function(){this.o.horizontal?this.$clip[0].scrollLeft=-1==this.o.direction?this.posMax-this.clipMax:0:this.$clip[0].scrollTop=-1==this.o.direction?this.posMax-this.clipMax:0},renderData:function(a){if(0<a.length){var b=this;c.each(a,function(a,d){c("<img/>").attr({src:d.src,title:d.title,alt:d.title, width:b.o.jsonImgWidth,height:b.o.jsonImgHeight}).appendTo(b.$list)});this.init()}},equalizeHeight:function(){var a=0;this.$items.each(function(){var b=c(this).outerHeight(!0);b>a&&(a=b)});this.$items.height(a)}})})(jQuery);
