$(document).ready(function() {
	if ($('.main-carousel').length > 0){
		$.fn.carousel({
			container: '.main-carousel',
			slideTime: 5,
			speedSlide: 1000
		});
	}
	if ($('.promo-carousel').length > 0){
		$.fn.carousel({
			container: '.promo-carousel',
			slideTime: 5,
			speedSlide: 1000
		});
	}
});

(function($) {
    $.fn.carousel = function(options) {
        var defaults = {
 			container: '.main-carousel',
			slideTime: 5,
			speedSlide: 1000
  		}, 	opts = $.extend(defaults, options);
		
		var $container = opts['container'];
		var $carousel = $('ul', $container);
		
		$('li', $carousel).hide();
		
		var $paging = $('.pagination', $container);
		var $preloader = $('.preloader', $container);
		var countItem = $('li', $carousel).length;
		var loaded = 0;
		var slideTime = opts['slideTime'];
		var speedSlide = opts['speedSlide'] ;
		var activeItem = 1;		
		var rotateTimer;

		prepare();

		function prepare(){
			if (countItem > 1) {
				for (var i = 0; i < countItem; i++) {
					$paging.append('<span><!-- --></span>')
				}
				$preloader.hide();
				$('span:nth-child('+ activeItem +')', $paging).addClass('active');
				if (isIE){
					$('li:nth-child('+ activeItem +')', $carousel).show(0).addClass('active');
					}else{
						$('li:nth-child('+ activeItem +')', $carousel).fadeIn(speedSlide).addClass('active');
				}
				timer();
				
			}else{
				$('li:nth-child('+ activeItem +')', $carousel).fadeIn(speedSlide);
				}
		}
		
		function timer(){
			clearInterval(rotateTimer);
			rotateTimer = setInterval(function () {
				activeItem++
				if (activeItem > countItem) activeItem = 1
				rotate(activeItem);
			}, slideTime * 1000);
		}
		
		function rotate(activeItem){
	        if ($('li', $carousel).is(':animated'))	return false
			clearInterval(rotateTimer);
			if (isIE){
				$('li.active', $carousel).hide(0);
			}else{
					$('li.active', $carousel).fadeOut(speedSlide);
				}
			$('span.active', $paging).removeClass('active');
			if (activeItem > countItem) activeItem = 1
			$('span:nth-child('+ activeItem +')', $paging).addClass('active');
			if (isIE){
				$('li:nth-child('+ activeItem +')', $carousel).show(0, function(){
					timer();
				}).addClass('active');
			}else{
					$('li:nth-child('+ activeItem +')', $carousel).fadeIn(speedSlide, function(){
						timer();
					}).addClass('active');
				}
		}
		
		$('span', $paging).live('click', function(){
			activeItem = $(this).index()+1;
			rotate(activeItem);
		});		
    };	
})(jQuery); 
