/**
 * Le controller des categories
 */
petzl.controllers.Video = function ()
{
	/**
	 * Cibler ce controller
	 */
	var that = this;
	
	var RadioHandler = petzl.views.RadioHandler;

	
	function init(){
		if($('#contentVideoOverview').length){
			
			var radio = new RadioHandler('.videoContainer .video', '.videoOverviewContainer', {
				generalRecurrence : '2n',
				marginValue : '3%',
				handleBreadcrumb : true,
				elementToResize : '.videoContainer'
			});
			
			var loadingOffset = $('.loading').offset();
			
			$(window).scroll(function(){
				if(loadingOffset.top < $(window).scrollTop()+ $(window).height())
				{
					alert('Chargement de contenu supplémentaire');
				}	
				
			});
		}
	}
	
	function detail(){
		if($('#contentVideoDetail').length){
			// On parcours 
			$('.linkedElement').each(function(){
				// Réduction du titre
				// Récupération du titre
				var title = $(this).find('.titleElement');
				
				dotify(title, 2);

				
				// Réduction du texte
				// Récupération du texte
				var text = $(this).find('.contentElement');
				
				dotify(text, 4);
			});
			
			$('.videoOverview').each(function(){
				// Réduction du titre
				// Récupération du titre
				var title = $(this).find('.videoTitle');
				
				dotify(title, 2);

				
				// Réduction du texte
				// Récupération du texte
				var text = $(this).find('.videoDescription');
				
				dotify(text, 4);
			});
		}
	}
	
	function dotify(element, lines){
    	// Réduction du texte
		// Line height du text
		var lineHeight = parseInt(element.css('line-height'), 10);
		if(isNaN(lineHeight)){
			console.log('Line-height non fixé');
		}
		// Hauteur de la div
		var divHeight = element.height();
		// Nombre de lignes résultant
		var nbLines = divHeight / lineHeight;
			
		// Heiht à fixer
		var fixedHeight = lines * lineHeight;
		// On dotdotdot
		element.css('height', fixedHeight);
		element.dotdotdot({
			ellipsis : '...',
			wrap : 'word', 
			height: fixedHeight+'px',
		});
    	
    }

	/**
	 * Initialisation
	 */
	init();
	
	detail();
	
};