//featured Video Tabs

	$(function () {
    var tabContainers = $('div.videoWrap > div');
    
    $('div.fvRight ul.recentVidTab li').click(function () {
		activeTab=$(this).find("a").attr("href");											
        tabContainers.hide();
		$(activeTab).show();
        
        $('div.fvRight ul.recentVidTab li').removeClass('selected');
        $(this).addClass('selected');

        return false;
    }).filter(':first').click();
	
});
	
//Choose a Topic

(function () {
	$.fn.infiniteCarousel = function () {
		function repeat(str, n) {
			return new Array( n + 1 ).join(str);	
		}
		
	  return this.each(function () {
		  var $wrapper = $('> div', this).css('overflow', 'hidden'),
			  $slider = $wrapper.find('> ul').width(9999),
			  $items = $slider.find('> li'),
			  $single = $items.filter(':first')
			  
			  singleWidth = $single.outerWidth(),
			  visible = Math.ceil($wrapper.innerWidth() / singleWidth),
			  currentPage = 1,
			  pages = Math.ceil($items.length / visible);
		
		/* TASKS */
		//1. pad the pages with empty element if requred
		if ($items.length % visible != 0) {
			// pad
			$slider.append( repeat('<li class="empty" />', visible - ($items.length % visible)));
			$items = $slider.find('> li');

		}
		//2. create the carousel padding on left and right (cloned)
		
		$items.filter(':first').before($items.slice(- visible).clone().addClass('cloned'));
		$items.filter(':last').after($items.slice(0, visible).clone().addClass('cloned'));
        $items = $slider.find('> li'); // reselect

		// 3. reset scroll
		$wrapper.scrollLeft(singleWidth * visible);
		
		
		//4. paging function
		function gotoPage(page) {
			var dir = page < currentPage ? -1 : 1,
				n = Math.abs(currentPage - page),
				left = singleWidth * dir * visible * n;
				
				$wrapper.filter(':not(:animated)').animate({
				 scrollLeft : '+=' + left
				 }, 500, function() {	
				 // if page == last page - then reset position
				 if (page > pages) {
					 $wrapper.scrollLeft(singleWidth * visible);
					 page = 1
				 } else if (page == 0) {
					 page = pages;
					 $wrapper.scrollLeft(singleWidth * visible * pages);
				 }
					 currentPage = page;			 
				 });
		}
		
			window.gotoPage = gotoPage;
		
		//5. insert the back and forward link
			$wrapper.after('<a class="arrow back">&lt;</a><a class="arrow forward">&gt;</a>');
		//6. bind the back and forward links
			$('a.back', this).click(function () {
			gotoPage(currentPage - 1)
            return false;                
        });
			 $('a.forward', this).click(function () {
			gotoPage(currentPage + 1)
            return false;
        });
        
		$(this).bind('goto', function (event, page) {
				gotoPage(page);				   
		})
		// end: reset scroll
	  });	
	};
})(jQuery);

$(document).ready(function () {
	$('div.chooseTopic').infiniteCarousel();						
	});
