var Fader = function(options){
    var currentNum = 1;
    var intervalId;
	var fadingIsExecuting = false;

    options = $.extend({
        delayBetweenFading: 3000,
        fadingDuration: 1000
    }, options || {});
    
    function init() {
        intervalId = setInterval(function(){
            autoFade();
        }, options.delayBetweenFading);
    }

    function autoFade() {
        fade(getNextNum());
    }
    
    function getNextNum(){
        return (currentNum < 6) ? (currentNum+1) : (1);
    }

    function fade(n) {
        if (n == currentNum) {
            return;
        }
		fadingIsExecuting = true;

        $($('#ft-buttons-new_slider li')[n-1]).addClass('ft-button-new_slider-active')
        $($('#ft-buttons-new_slider li')[currentNum-1]).removeClass('ft-button-new_slider-active')

        $('#img'+n)
		.css(
            {
                'position': 'absolute', 
                'opacity': 0,
				'z-index': 1
            }
        )
		.appendTo($('#new_slider'))
		
		$('#new_slider img').each(function(i){
			if(
				$(this).attr('id') == 'img'+currentNum
				||
				$(this).attr('id') == 'img'+n
			
			){
				$(this).css('visibility', 'visible')
			}
			else{
				$(this).css('visibility', 'hidden')
			}
		})
		
		$('#img'+currentNum).animate({opacity:0}, options.fadingDuration);
		$('#img'+n)			.animate({opacity:1}, options.fadingDuration, function(){
			fadingIsExecuting = false;			
			//init();
		});
        currentNum = n;
    }

    this.fadeByNum = function(n){
        if (fadingIsExecuting) {
            //return;
        }
		clearTimeout(intervalId);
        fade(n);
        //currentNum = n;
        init();
    }

    init();
}
