(function($) {

	$.fn.avbSlider = function(options) {
		
			$.fn.avbSlider.defaults = {
				numElements: 0,
				maxElements: 5,
				paneWidth: 0,
				duration: 750,
				clickLeft: '#left_arrow',
				clickRight: '#right_arrow',
				arrowOpacity: 0.3,
				onPage: 0,
				pages: 0
			};
			
	var o = $.extend({}, $.fn.avbSlider.defaults, options);
	
	return this.each(function() {
		var c = $(this);
		
		o.pages = Math.ceil(o.numElements/o.maxElements);
		
		skipToPage(o.onPage);
		
		if(o.onPage == 0)
		{
			$(o.clickLeft).click(slideLeft);
		}
		
		if(o.onPage != o.pages-1)
		{
			$(o.clickRight).click(slideRight);
		}
		
		function slideLeft(e)
		{
			e.preventDefault();
			slideToPage(o.onPage-1);
		}
		function slideRight(e)
		{
			e.preventDefault();
			slideToPage(o.onPage+1);
		}

		function slideToPage(slide)
		{
			if(slide < 0 || slide > o.pages-1) return;
			o.onPage = slide;
			
			console.log(o.onPage);

			c.animate({
				'left': -(o.paneWidth*slide)+'px'
			}, o.duration);

			checkArrows();
		}
		function skipToPage(slide)
		{
			if(slide < 0 || slide > o.pages-1) return;

			o.onPage = slide;

			c.animate({
				'left': -(o.paneWidth*slide)+'px'
			}, o.duration);

			checkArrows();
		}

		function checkArrows()
		{
			if(o.onPage == 0)
			{
				$(o.clickLeft).css({
					'opacity' : o.arrowOpacity,
					'cursor' : 'default'
				});
			}
			else
			{
				$(o.clickLeft).css({
					'opacity' : '1',
					'cursor' : 'pointer'
				});	
			}

			if(o.onPage == o.pages-1)
			{
				$(o.clickRight).css({
					'opacity' : o.arrowOpacity,
					'cursor' : 'default'
				});
			}
			else
			{
				$(o.clickRight).css({
					'opacity' : '1',
					'cursor' : 'pointer'
				});	
			}
		}
	});
};
	
})(jQuery);