(function($){
	$.fn.videoCarousel = function(options) {
		var options = $.extend({}, $.fn.videoCarousel.defaults, options);
		
		$(this).each(function(){
			var carousel = $(this);
			carousel.addClass("featured_carousel");

			carousel.prepend('<span class="featured_carousel_prev" id="featured_carousel_prev">&nbsp;</span>');
			carousel.append('<span class="featured_carousel_next" id="featured_carousel_next">&nbsp;</span>');

			var items = carousel.children().filter('div');
			$.fn.videoCarousel.items = items;
			var cnt = 0;
			items.each(function(){
				$(this).addClass("featured_carousel_item");
				$(this).click(function(){
					$(options.player_element).html($(this).attr('code'));
					$(options.title_element).html($(this).attr('title'));

					var c_items = $('.featured_carousel_item');
					c_items.removeClass('active');
					$(this).addClass('active');
					$.fn.videoCarousel.currentItem = $(this).attr('idx');
				});
				$(this).attr('idx', cnt);
				cnt ++;
			});
		});

		$($.fn.videoCarousel.items[$.fn.videoCarousel.currentItem]).trigger('click');
		$('#featured_carousel_prev').click($.fn.videoCarousel.prev);
		$('#featured_carousel_next').click($.fn.videoCarousel.next);
		
		return $(this);
	};

	$.fn.videoCarousel.items = [];
	$.fn.videoCarousel.currentItem = 0;

	$.fn.videoCarousel.next = function(e) {
		$.fn.videoCarousel.currentItem ++;
		if ($.fn.videoCarousel.currentItem >= $.fn.videoCarousel.items.length) {
			$.fn.videoCarousel.currentItem = 0;
		}
		$($.fn.videoCarousel.items[$.fn.videoCarousel.currentItem]).trigger('click');
		e.preventDefault();
	};

	$.fn.videoCarousel.prev = function(e) {
		$.fn.videoCarousel.currentItem --;
		if ($.fn.videoCarousel.currentItem < 0) {
			$.fn.videoCarousel.currentItem = $.fn.videoCarousel.items.length - 1;
		}
		$($.fn.videoCarousel.items[$.fn.videoCarousel.currentItem]).trigger('click');
		e.preventDefault();
	}

	$.fn.videoCarousel.defaults = {
		player_element: '#featured_player',
		title_element: '#featured_title'
	};
	
})(jQuery);

