﻿/**
 *  Функция для автоматического перелистывания масок
 *
 *  @author SeminRoman aka Rommero (rommero.semin@gmail.com)
 *  @author Киреев Анатолий bug.tlp@gmail.com
 *  @version 0.9.1
 *
 */

(function($) {	
	/*
    * Возвращает предыдущий индекс
    * @param {Number} - текущий индекс
    * @param {Number} - стартовое значение индекса
    * @param {Number} - конечное значение индекса
    * @return {Number} - предыдущий индекс
    *
    */
    function getPrevMaskIndex(cur_index, start_index, end_index) {
        if (cur_index != start_index)
            return cur_index - 1;
        return end_index;
    }

	$.fn.automasker = function(amount,masks,desc,interval){
		var i=1, p_i, first_time=true, curinterval;

        /*
        * Внутренняя функция, показывающая следующую маску и скрывающая предыдущую
        * Также сама запускает себя через таймер для следующей итерации
        */
        function showNext() {
                p_i = getPrevMaskIndex(i, 1, amount);
                // Делаем не видимым предыдущий блок
                $(masks+p_i).animate({opacity : 0},'slow');
                $(desc+p_i).animate({opacity : 0},'slow');
                // Делаем видимым текущий блок
                $(masks+i).animate({opacity : 1},'slow');
                $(desc+i).animate({opacity : 1},'fast');
                (i < amount) ? i++ : i=1;
        }
        showNext();
        /*=====================Зацикливаем процесс========================*/
        setInterval(showNext, interval);
	}	
})(jQuery);
