jQuery.fn.accessNews = function(settings) {
	settings = jQuery.extend({
        headline:"Top Stories",
        speed:"normal",
		slideBy:1
    }, settings);
    return this.each(function() {
		jQuery.fn.accessNews.run(jQuery(this), settings);
    });
};
jQuery.fn.accessNews.run = function($this, settings) {	
	var ul = jQuery("ul:eq(0)",$this);
	var li = ul.children();
	var count = 0;
	$("li",ul).each(function(){
		if(count == 0) {
			ul.css({height:$(this).height()+"px", marginBottom:"25px"});
		}
		count++;
		$(this).css({height:$(this).height()+"px"});			 
	});	
	
	if (li.length > settings.slideBy) {
		var $next = jQuery(".next > a",$this);
		var $back = jQuery(".back > a",$this);
		var liWidth = jQuery(li[0],$this).width();
		var animating = false;		
		var val = 1;
		var size = jQuery("ul li",$this).size();
		
		ul.css("width", (li.length * liWidth));		

		$next.click(function() {							 
			if (!animating) {				
				animating = true;
				offsetLeft = parseInt(ul.css("left")) - (liWidth * settings.slideBy);				
				var height = $("li:eq("+val+")", ul).height();
				val++;
				jQuery(".curr",$this).html(val+"/"+size);				
				if (offsetLeft + ul.width() > 0) {
					$back.css("display","block");
					ul.animate({
						left: offsetLeft,
						height:height
					}, settings.speed, function() {
						if (parseInt(ul.css("left")) + ul.width() <= liWidth * settings.slideBy) {$next.css("display", "none");}
						animating = false;
					});					
				} else {
					animating = false;
				}
			}
			return false;
		});
		

		
		$back.click(function() {
			if (!animating) {
				animating = true;
				offsetRight = parseInt(ul.css("left")) + (liWidth * settings.slideBy);
				var height = $("li:eq("+(val-2)+")", ul).height();
				val--;
				jQuery(".curr", $this).html(val+"/"+size);								
				
				if (offsetRight + ul.width() <= ul.width()) {
					$next.css("display", "block");
					ul.animate({
						left: offsetRight,
						height:height
					}, settings.speed, function() {
						if (parseInt(ul.css( "left" )) == 0 ) {
							$back.css("display", "none");
						}
						animating = false;
					});
				} else {
					animating = false;
				}
			}
			return false;
		});
		$next.css( "display", "block" );	
	}
};