/*

	----------------------------------------------------------------------------------------------------
	Accessible News Slider
	----------------------------------------------------------------------------------------------------
	
	Author:
	Brian Reindel
	
	Author URL:
	http://blog.reindel.com

	License:
	Unrestricted. This script is free for both personal and commercial use.
	
	Engine modified by Tryphon for wow-silmaril.net.

*/
		


jQuery.fn.accessNews = function( settings ) {
	settings = jQuery.extend({
        headline : "Top Stories",
        speed : "normal",
        autoplay : false,
        autoplay_delay : 10000,
		slideBy : 2
    }, settings);
	
    return this.each(function() {
		jQuery.fn.accessNews.run( jQuery( this ), settings );
    });
};
jQuery.fn.gotoSlide = function( slide_id ) {
	
	if(jQuery( ".view_all > a").html() == "Deplier"){
	
		var ul = jQuery( "ul:eq(0)", jQuery( this ) );
		var li = ul.children();
		var liWidth = jQuery( li[0] ).width();
		var $next = jQuery( ".next > a", jQuery( this ) );
		var $back = jQuery( ".back > a", jQuery( this ) );
		
		offsetLeft = parseInt(liWidth*slide_id) * -1;
		
		ul.animate({
			left: offsetLeft
		}, "normal", function() {
			if (slide_id == li.length-1) {
				$next.css( "display", "none" );
			}
			else {
				$next.css( "display", "block" );
			}
			if (slide_id == 0) {
				$back.css( "display", "none" );
			}
			else {
				$back.css( "display", "block" );
			}
		});
		
	}
};
jQuery.fn.accessNews.run = function( $this, settings ) {
	var state = 'right';
	var preload_play = new Image(); preload_play.src='../img/business_as_usual/player_on_bg.gif';
	function autopl(){
		if(settings.autoplay){
			offsetLeft = parseInt( ul.css( "left" ) ) - ( liWidth * settings.slideBy );
			if ( offsetLeft + ul.width() > 0 && state == 'right') {
				$next.trigger('click');		
			}
			else {
				state = 'left';
				$back.trigger('click');
				if ( offsetRight + ul.width() > ul.width() ){
					state = 'right';
					$next.trigger('click');
				}
			}
		}
	}
	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 $player = jQuery( ".player", $this );
		var $back = jQuery( ".back > a", $this );
		var liWidth = parseInt(jQuery( li[0] ).css('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;
				}
			}
			clearTimeout(timer);
			var timer = setTimeout(autopl, settings.autoplay_delay);
			return false;
		});
		$player.click(function() {
			if(settings.autoplay){
				settings.autoplay = false;
				$(".player").css("background-image", "url(../img/business_as_usual/player_on_bg.gif)");
				$(".player").attr("title", "Relancer le d\351filement");
			}
			else{
				settings.autoplay = true;
				$(".player").css("background-image", "url(../img/business_as_usual/player_off_bg.gif)");
				$(".player").attr("title", "Stopper le d\351filement");
				clearTimeout(timer);
				var timer = setTimeout(autopl, settings.autoplay_delay);
			}
		});
		$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;
				}
			}
			clearTimeout(timer);
			var timer = setTimeout(autopl, settings.autoplay_delay);
			return false;
		});
		$next.css( "display", "block" )
			.parent().after( [ "<p class=\"view_all\">", settings.headline, " - ", li.length, " total ( <a href=\"#\">Deplier</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() == "Deplier" || skip_to_news ) {
				ul.css( "width", "auto" ).css( "left", "0" );
				$next.css( "display", "none" );
				$back.css( "display", "none" );
				$(".accessible_news_slider li:not(:last)").css("border-bottom", "1px solid #ccc");
				if ( !skip_to_news ) {
					jQuery( this ).html( "Replier" );
				}
			} else {
				if ( !skip_to_news ) {
					jQuery( this ).html( "Deplier" );
				}
				ul.css( "width", ( li.length * liWidth ) );
				$next.css( "display", "block" );
				$(".accessible_news_slider li").css("border-bottom", "none");
			}
			return false;
		});
		
		if(settings.autoplay){
			setTimeout(autopl, settings.autoplay_delay);
		}
		else{
			$(".accessible_news_slider .player").css("background-image", "url(../img/business_as_usual/player_on_bg.gif)");
			$(".player").attr("title", "Lancer le d\351filement");
		}
	}
	else {
		$(".accessible_news_slider .back, .accessible_news_slider .next, .accessible_news_slider .player").css("display", "none");
	}
};
