/**
 * jquery.rian.slideshow-0.5.src.js modified
 * 
 */

(function($) {
	//Функция для создания слайдшоу
	$.fn.rianSlideShow = function(options) {

		// Обявляем дефолтные настройки
        var options = $.extend({
			element: 'IMG',
			autostart: 'true',
			delay: '5000',
			buttons: 'buttons',
			next: 'next',
			prev: 'prev',
			play: 'play',
			stop: 'stop',
			position: 'position',
			positionCurrent: 'current',
			positionTotal: 'total',
			copyright: 'copyright',
			copyrightElement: 'div'
        }, options || {});	

		
		// Объявляем переменные и присваиваем им значения
		var box = $(this);
		var elements = box.find(options.element);
		var lenght = elements.length;
		var lastImage = lenght - 1;
		var copyright = $('.'+options.copyright, box);
		var copyrightElements = $('.'+options.copyright+' '+options.copyrightElement, box);
		

		// Включаем первый кадр
		$(options.element+':eq(0)', box).removeClass("visible");
		$(options.element+':eq(0)', box).show();
		$("."+options.buttons, box).show();
		$("."+options.position, box).show();

		// Функции


		// Функция обновляющая номер текущго кадра
		function updateCurrentNum(num){
			$('.'+options.positionCurrent, box).empty().append(num);
		}



		// Функция переключения картинки
		function switchImage(direction){
			
			if(!direction){direction == 'next';}
			
			elements.queue("fx", []);
			elements.stop(true, true);
			
			//$('#'+options.stop).click();
			
			var currentImage = $(options.element+':visible', box);
			var currentImageNum = $(options.element, box).index($(options.element+':visible', box));

			var nextImage;
			var nextImageNum;


			// Next
			if(direction == 'next'){
				if (currentImageNum == lastImage) {nextImageNum = 0;}
				else {nextImageNum = currentImageNum + 1;}
				if(typeof(rianSlideShowNext) == 'function'){rianSlideShowNext(currentImageNum,nextImageNum);}
			}


			// Previous
			if(direction == 'prev'){				
				if (currentImageNum == 0) {nextImageNum = lastImage;}
				else {nextImageNum = currentImageNum - 1;}
				if(typeof(rianSlideShowPrev) == 'function'){rianSlideShowPrev(currentImageNum,nextImageNum);}
			}
			
			nextImage = $(options.element+':eq('+nextImageNum+')', box);
			nextImageCopyright = $(options.copyrightElement+':eq('+nextImageNum+')', copyright);


			currentImage.css('opacity','1');
			elements.fadeOut('slow');
			copyrightElements.hide();


			updateCurrentNum(nextImageNum+1);


			nextImage.fadeIn('slow');
			nextImageCopyright.show();			
		}


		// Слайдшоу
		function slideShow(){
			box.animate({borderTopWidth: '0'}, parseFloat(options.delay), function () {
				switchImage('next');
				slideShow();
			});			
			
		}


		// События


		// Показать навигацию при наведении мыши
		$(this).mouseover(function(){
			$('.'+options.buttons, box).show();
			$('.'+options.position, box).show();
		});


		// Скрыть навигацию когда мыш ушла с объекта
		$(this).mouseout(function(){
			$('.'+options.buttons, box).hide();
			$('.'+options.position, box).hide();
		});


		// Кнопка вперед
		$('.'+options.next, box).click(function(){
			$('.'+options.stop, box).click();
			switchImage('next');
		});


		// Кнопка назад
		$('.'+options.prev, box).click(function(){
			$('.'+options.stop, box).click();
			switchImage('prev');
		});


		// Кнопка запуска слайдшоу
		$('.'+options.play, box).click(function(){			
			slideShow();
			$(this).css('display', 'none');
			$('.'+options.stop, box).css('display', 'block');
		});


		// Кнопка остановки слайдшоу
		$('.'+options.stop, box).click(function(){
			box.queue("fx", []);
			box.stop(true, false);
			$(this).css('display', 'none');
			$('.'+options.play, box).css('display', 'block');
		});	
		
		
		// Автостарт
		if(options.autostart == 'true'){
			slideShow();
			$('.'+options.play, box).css('display', 'none');
			$('.'+options.stop, box).css('display', 'block');
		}		
	}
})(jQuery);
