/*

  ----------------------------------------------------------------------------------------------------
  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({
        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 ) {
  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;
		//forzatura dovuta a vari ragionamenti...fatti da mariangela ed andrea..perchè la lunghezza veniva restituita il doppio di quella necessaria + 1
        offsetLeft = parseInt( ul.css( "left" ) ) - ( liWidth * settings.slideBy + 10);
        if ( offsetLeft + ul.width() >= liWidth * (li.length + 2)/2) {
          $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 + 10 );
        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\"><span style='letter-spacing:10px;text-transform:uppercase'>", settings.headline, "</span>" , "</p>" ].join( "" ) );
    */

    $next.css( "display", "block" )
       .parent().after( [ "" ].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;
    });
  }
};
