jQuery.fn.accessNews = function( settings ) {

	settings = jQuery.extend({

        headline : "Top Stories",

        speed : "normal",

		slideBy : 2

    }, settings);

    return this.each(function() {

		jQuery.fn.accessNews.run( jQuery( this ), settings );

    });

};

jQuery.fn.accessNews.run = function( $this, settings ) {

	jQuery( ".javascript_css", $this ).css( "display", "none" );

	var ul = jQuery( "ul:eq(0)", $this );

	var li = ul.children();

	if ( li.length > settings.slideBy ) {

		var $next = jQuery( ".next > a", $this );

		var $back = jQuery( ".back > a", $this );

		var liWidth = jQuery( li[0] ).width();

		var animating = false;

		ul.css( "width", ( li.length * liWidth ) );

		$next.click(function() {

			if ( !animating ) {

				animating = true;

				offsetLeft = parseInt( ul.css( "left" ) ) - ( liWidth * settings.slideBy );

				if ( offsetLeft + ul.width() > 0 ) {

					$back.css( "display", "block" );

					ul.animate({

						left: offsetLeft

					}, settings.speed, function() {

						if ( parseInt( ul.css( "left" ) ) + ul.width() <= liWidth * settings.slideBy ) {

						}

						animating = false;

					});

				} else {

					animating = false;

				}

			}

			return false;

		});

		$back.click(function() {

			if ( !animating ) {

				animating = true;

				offsetRight = parseInt( ul.css( "left" ) ) + ( liWidth * settings.slideBy );

				if ( offsetRight + ul.width() <= ul.width() ) {

					$next.css( "display", "block" );

					ul.animate({

						left: offsetRight

					}, settings.speed, function() {

						if ( parseInt( ul.css( "left" ) ) == 0 ) {

						}

						animating = false;

					});

				} else {

					animating = false;

				}

			}

			return false;

		});

		$next.css( "display", "block" )

		jQuery( ".view_all > a, .skip_to_news > a", $this ).click(function() {

			var skip_to_news = ( jQuery( this ).html() == "Skip to News" );

			if ( jQuery( this ).html() == "view all" || skip_to_news ) {

				ul.css( "width", "auto" ).css( "left", "0" );

				if ( !skip_to_news ) {

					jQuery( this ).html( "view less" );

				}

			} else {

				if ( !skip_to_news ) {

					jQuery( this ).html( "view all" );

				}

				ul.css( "width", ( li.length * liWidth ) );

				$next.css( "display", "block" );

			}

			return false;

		});

	}

};
