(function($){$.fn.rscarousel=function(c){return this.each(function(){$settings=Array();$settings['opts']=$.extend({onScroll:function(a){}},$.fn.rscarousel.defaults,c);$settings['listDimension']=0;$settings['itemDimension']=0;$settings['count']=0;$settings['maxOfset']=0;$settings['move']=0;$settings['visibleDimension']=0;$settings['visibleItems']=0;$settings['canAnimate']=false;$settings['direction']='left';$settings['interval']=0;if($settings['opts'].scrollDirection=='height'){$settings['direction']='top'}$this=$(this);$items=$this.find('ul').find('li');if($items.length>0){$settings['count']=$items.length;if($settings['direction']=='left'){$settings['itemDimension']=$($items[0]).outerWidth();$settings['visibleDimension']=$this.find('div.list_holder').width()}else{$settings['itemDimension']=$($items[0]).outerHeight();$settings['visibleDimension']=$this.find('div.list_holder').height()}$settings['visibleItems']=$settings['visibleDimension']/$settings['itemDimension'];$settings['listDimension']=$settings['count']*$settings['itemDimension'];$settings['move']=$settings['opts'].moveCount*$settings['itemDimension'];$settings['maxOfset']=$settings['listDimension']-$settings['visibleDimension'];$settings['canAnimate']=true;if($settings['maxOfset']>0){$settings['maxOfset']=-$settings['maxOfset']}else{$settings['maxOfset']=0}if($settings['opts'].autoscroll>0&&$settings['visibleItems']<$settings['count']){$.fn.rscarousel.autoscroll($this,$settings)}}else{return false}$this.find('ul').css($settings['opts'].scrollDirection,$settings['listDimension']);$.fn.rscarousel.setControls($settings,$this);var b=-$settings['itemDimension']*$settings['opts'].firstItemIndex;if($settings['direction']=='left'){$this.find('ul').css({left:b})}else{$this.find('ul').css({top:b})}$this.bind('click',{parent:$this,settings:$settings},function(a){$target=$(a.target);if($target.is('a.control')){a.preventDefault();$.fn.rscarousel.multipleSelect($target.attr('href'),a.data.parent)}else if($target.is('a.nav')){a.preventDefault();if(a.data.settings['interval']==0){if(a.data.settings['canAnimate']===true){$.fn.rscarousel.scroll($target.attr('href'),a.data.parent,a.data.settings)}}else{clearInterval(a.data.settings['interval']);a.data.settings['interval']=0;setTimeout(function(){$.fn.rscarousel.autoscroll(a.data.parent,a.data.settings)},a.data.settings.opts['waitBeforeContinue'])}}})})};$.fn.rscarousel.scroll=function(a,b,c){if(c['canAnimate']==true){c['canAnimate']=false;$curOfset=parseInt(b.find('ul').css(c['direction']).replace('px',''));$newOfset=0;switch(a){case'#back':if(c['opts'].circular==true){if($curOfset==0){$newOfset=c['maxOfset']}else{$newOfset=$curOfset+c['move'];if($newOfset>0){$newOfset=0}}}else{$newOfset=$curOfset+c['move'];if($newOfset>0){$newOfset=0}}$this.trigger('back');break;case'#fwd':if(c['opts'].circular==true){if($curOfset==c['maxOfset']){$newOfset=0}else{$newOfset=$curOfset-c['move'];if($newOfset<c['maxOfset']){$newOfset=c['maxOfset']}}}else{$newOfset=$curOfset-c['move'];if($newOfset<c['maxOfset']){$newOfset=c['maxOfset']}}$this.trigger('fwd');break}if(c['opts'].animation==true){$animationOptions={left:$newOfset};if(c['direction']=='top'){$animationOptions={top:$newOfset}}b.find('ul').animate($animationOptions,c['opts'].speed,function(){$.fn.rscarousel.setControls(c,b);c['canAnimate']=true})}else{b.find('ul').css(c['direction'],$newOfset);$.fn.rscarousel.setControls(c,b);c['canAnimate']=true}c['opts'].onScroll(-$newOfset/c['itemDimension']);return true}else{return false}};$.fn.rscarousel.setControls=function(a,b){$back=b.find('a.nav[href="#back"]');$fwd=b.find('a.nav[href="#fwd"]');$back.removeClass('disabled');$fwd.removeClass('disabled');$ofset=b.find('ul').css(a['direction']).replace('px','');if(a['opts'].circular==true){if(a['count']<=a['visibleItems']){$back.addClass('disabled');$fwd.addClass('disabled')}}else{if($ofset==0){$back.addClass('disabled')}if($ofset<=a['maxOfset']){$fwd.addClass('disabled')}}return true};$.fn.rscarousel.autoscroll=function(a,b){b['interval']=setInterval(function(){$.fn.rscarousel.scroll('#fwd',a,b)},b['opts'].autoscroll)};$.fn.rscarousel.multipleSelect=function(a,b){$selector=false;if(a=='#all'){$selector=true}b.find('input:checkbox').each(function(){$(this).attr('checked',$selector)});return $selector};$.fn.rscarousel.defaults={moveCount:1,animation:false,speed:500,scrollDirection:'width',circular:false,autoscroll:0,waitBeforeContinue:10000,firstItemIndex:0}})(jQuery);
