/*

	----------------------------------------------------------------------------------------------------
	Accessible News Slider
	----------------------------------------------------------------------------------------------------
	
	Author:
	Brian Reindel
	
	Author URL:
	http://blog.reindel.com

	License:
	Unrestricted. This script is free for both personal and commercial use.

*/
jQuery.fn.accessNews = function( settings ) {
	settings = jQuery.extend({        
        speed : "normal",
		slideBy : 3
    }, settings);
	
    return this.each(function() {
		jQuery.fn.accessNews.run( jQuery( this ), settings );
    });
};

jQuery.fn.accessNews.run = function( $this, settings ) {	
	var ul = jQuery( "#articles ul#writers-list");	
	var li = ul.children();	
	
	if ( li.length > settings.slideBy ) {		
		var $next = jQuery("#writers-controls ul li.next a");
		var $back = jQuery("#writers-controls ul li.back a");		
		var liWidth = jQuery( li[0] ).width();		
		var animating = false;
		ul.css( "width", ( li.length * liWidth ) );
		
		// Next Button Click ********************************************************************		
		$next.click(function() {							
			if ( !animating ) {
				animating = true;
				offsetLeft = parseInt( ul.css( "left" ) ) + ( liWidth * settings.slideBy ) ;
				if ( offsetLeft < ul.width() - liWidth * settings.slideBy ) {
					$back.css( "display", "block" );
					ul.animate({
						left: offsetLeft
					}, settings.speed, function() {
						if ( parseInt( ul.css( "width" ) ) + ul.width() <= liWidth * settings.slideBy ) {
							$next.css( "display", "none" );
						}
						animating = false;
					});
				} else {
					animating = false;
				}
			}
			return false;
		});
		
		// Prev Button Click ********************************************************************
		$back.click(function() {
			if ( !animating ) {
				animating = true;
				offsetRight = parseInt( ul.css( "left" ) ) - ( liWidth * settings.slideBy ) ;
				if ( offsetRight >= 0 ) {
					$next.css( "display", "block" );
					ul.animate({
						left: offsetRight
					}, settings.speed, function() {
						if ( parseInt( ul.css( "width" ) ) == 0 ) {
							$back.css( "display", "none" );
						}
						animating = false;
					});
				} else {
					animating = false;
				}
			}
			return false;
		});
		$next.css( "display", "block" )
			
	}
};