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 ) {$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 );
if ( offsetRight + ul.width() <= ul.width() ) {
$next.css( "display", "block" );
ul.animate({
left: offsetRight
}, settings.speed, function() {if ( parseInt( ul.css( "left" ) ) == 0 ) {$back.css( "display", "none" );}animating = false;});} else {animating = false;}}return false;});
$next.css( "display", "block" )
.parent().after( [ "<p class=\"view_all\">", settings.headline, " - ", li.length, " total ( <a href=\"#\">view all</a> )</p>" ].join( "" ) );
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" );
$next.css( "display", "none" );
$back.css( "display", "none" );
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;});}};