var slider__current = 1;
var slider__timer;
var slider__restrict_call = 0;
var slider__time_transition = 1.5; //sec
var slider__time_auto_slide = 5; //sec
var slider__panel_width = 960;


function Slider__Show(sld)
{
// MODIFICAR RICU - in loc de 2 pus nr slideurilor ( initial era 4 ) si crepa daca aveai mai putin de 4 slideuri.
// NU UITA SA MODIFICI SI IN HOME.TLP width-u la DIV !
    if (slider__restrict_call == 0) {
        if (arguments[1] != null) {
            var new_sld = sld + 1;
            if (new_sld > 6) new_sld = 1;
            if (new_sld < 1) new_sld = 6;
            slider__timer = setTimeout('Slider__Show('+new_sld+',"automat-slide")', slider__time_auto_slide * 1000);
            if (arguments[1] == 'first-call') {
                slider__current = sld;
            }
        } else {
            clearTimeout(slider__timer);
        }
        if (sld == '>>') {
            sld = slider__current + 1; 
        } else if (sld == '<<') {
            sld = slider__current - 1;
        }
        if (sld > 6) sld = 1;
        if (sld < 1) sld = 6;
        if (slider__current != sld) {
            $('slider_nav_'+sld).className = 'current';
            $('slider_nav_'+slider__current).className = '';

            var init_x = (slider__current-1)*slider__panel_width;
            var final_x = slider__panel_width*(sld-1);
            var steps = 30;
            var lungime_step = Math.abs(init_x - final_x) / steps;
            //console.log(lungime_step);
            for (var i = 1; i<= steps; i++) {
                setTimeout((function (i) {
                    return function () {
                        if (init_x > final_x) {
                            var new_x = init_x - i * lungime_step;
                        } else if (init_x < final_x) {
                            var new_x = init_x + i * lungime_step;
                        }
                        $('slider1').scrollLeft = new_x;
                    }  
                })(i),i*15);
            }
        }
        slider__current = sld; 
    }
}

(function()
{
	var $ = jQuery;
	
	jQuery.fn.funkyBanner = function( options )
	{
		var defaults 	=
		{
			speed			: 700,
			delay			: 5000,
			direction		: 'rtl',
			easing			: 'easeInBack',
			navigation		: { next : null, prev : null, item : null, play : null }
		}
		var options 		= jQuery.extend( {}, defaults, options );
		var _currentIndex 	= 0;
		const EVENT_NS		= 'funky-banner';

		return this.each( function( )
		{
		
			// part inits
			var $this = $(this);
			var itemContainer = $this.find('ul');
			var items 	= itemContainer.children();
			var iWidth 	= items.width();
			var iHeight = items.height();
			
			// prepare
			items.css({ float : 'left' });
			items.last().clone().hide().insertBefore( items.first() );
			items.first().clone().hide().insertAfter( items.last() );
			
			switch( options.direction )
			{
				case 'rtl' :
				case 'ltr' :
					itemContainer.width( ( items.length + 2 ) * iWidth );
					$this.scrollLeft( iWidth );
				break;
				case 'utd' :
				case 'dtu' :
					itemContainer.height( ( items.length + 2 ) * iHeight )
					$this.scrollTop( iHeight );
				break;
			}
			items.first().prev().show()
			items.last().next().show()
			
			if( options.navigation.item )
			{
				for( i = 1; i < items.length; i++ )
				{
					var aitm = $(options.navigation.item).eq(i-1);
					var nitm = aitm.clone();
					nitm.insertAfter( aitm )
				}
			}
			
			var timer;
			var timerHandler = function()
			{
				$this.trigger( 'animate.funkyBanner' );
			}

			
			var animate = function()
			{
				console.log( _currentIndex )
				_currentIndex++;
				var cb = function()
				{
					$(options.navigation.item).removeClass('current').eq(_currentIndex).addClass('current');
				};
				if( _currentIndex >= items.length )
					cb = function()
					{
						$this.scrollLeft( iWidth );
						_currentIndex = 0;
						$(options.navigation.item).removeClass('current').eq(_currentIndex).addClass('current');
					};
				$this
					.animate
					(
						{ scrollLeft : (_currentIndex+1) * items.width() }, 
						options.speed, 
						options.easing,
						cb
					)
			}
			$this.bind( 'animate.funkyBanner', animate );
			
			
			var start = function()
			{	
				timer = setInterval( timerHandler, options.delay )
			}

			var stop = function()
			{
				$this.dequeue().stop();
				clearInterval( timer );
			}
			var next = function()
			{
				stop();
				
				timerHandler();
				start();
			}
			
			var prev = function()
			{
				stop();	
				_currentIndex = _currentIndex==0 ? items.length-1 : _currentIndex-1;
				start();
			}
			
			$( options.navigation.next ).click( next );
			$( options.navigation.prev ).click( prev );
			
			return false;
			
				
				var timer = $('<div />');
				timer.insertBefore( $this )
			
			if( options.direction == 'utd' || options.direction == 'dtu' )
				$this.scrollTop( 0 );

			var _oneCallback = function(){};
			
			var timerVal = 0;
			setInterval( function(){ timer.text( timerVal++ ) }, 1000 );
			
			function runDemFx()
			{
				var cb = function(){ timerVal = 0 };
				for( i=0; i<items.length; i++ )
				{
					if( i == items.length-1 )
						cb = function()
						{
							timerVal = 0;
							items.first().clone().insertAfter( items.last() )
							$this
								.animate
								(
									{ scrollLeft : 3840 }, 
									options.speed, 
									options.easing,
									function()
									{
										$this.scrollLeft( 0 );
										items.last().next().remove();
										runDemFx();
									}
								)
						};
						
					$this
						.animate
						(
							{ scrollLeft : i * items.width() }, 
							options.speed, 
							options.easing,
							cb
						)
						.delay( options.delay )
				}
			}				
			runDemFx();
		})
	}
})();


