// Tableaux contenant les informations d'ouverture
// ou de fermeture des commentaires et des rapports
var comments_open = new Array();
var pagination = false;
var episode_id = 0;
var skin = '14_pink';
var djpod_msg = new Array();

$(function()
{ 
  $('#form-pagination input[name="btn-pagination"]').click(function() 
  {  	
  	if(parseInt($('#page-query').val()) > 0 && parseInt($('#page-query').val()) <= parseInt($('#page-max').val())) {
  		document.location = $('#page-url').val()+$('#page-query').val()+($('#page-rewrite').val() == 1 ? '.html' : '');
  	}
  	else 
  	{  		
  		if(pagination == false) 
  		{
  			$('#page-query').before('<span class="red">'+djpod_msg['number_between']+' '+$("#page-max").val()+'</span>&nbsp;&nbsp');
  			pagination = true;
  		}
  	}
  	return false;
  });
  
  $('.star').rating({
  	callback: function(value, link) 
  	{ 
			var episode_id = this.form.id.substr(5,this.form.id.length);
			
			$.post('/', { action:'rate', 'rate':value, 'episode_id':episode_id }, function(data)
			{
				if(data == 'ok') {
					var resp = djpod_msg['rate_ok'];
					var cl = 'ok';
				}
				else {
					var resp = data;
					var cl = 'nok';
				}
				
				if($('#response-'+episode_id).is('div')) {
					$('#response-'+episode_id).html(resp);
				}
				else {
					$('#episode-'+episode_id).after('<div id="response-'+episode_id+'" class="response '+cl+'">'+resp+'</div>');
					$('#response-'+episode_id).slideDown();
				}				
			});
		}
  });

	enableComment();
	columnsToBottom();
	
	if(episode_id != 0) {
		//$('.comment a.view').trigger('click');
	}
});

function enableComment()
{	
	$('.comment a.view, .comment a.post').unbind('click');
	
	$('.comment a.view, .comment a.post').click(function()
	{
		var episode_id = $(this).parent().parent().parent().attr('id').substring(8,20);
		
		// Veut-on juste poster un commentaire ou bien les voir ?
		if($(this).hasClass('post')) {
			var just_post = 1;
		}
		
		// Si les commentaires sont ouverts pour cette publication
		if(comments_open[episode_id] == 1) 
		{
			// On les referme, ainsi que le formulaire d'ajout de commentaire
			$('#comments-'+episode_id).slideUp();
				
			// On définit ces variables à 2, 
			// ce qui signifie "chargés mais fermés"
			comments_open[episode_id] = 2; 
		}
		
		// Si les commentaires ont déjà été chargés 
		// mais sont actuellement fermés
		else if(comments_open[episode_id] == 2) 
		{
			// On les affiche, ainsi que le formulaire d'ajout de commentaire
			$('#comments-'+episode_id).slideDown();
							
			// On définit ces variables à 2, 
			// ce qui signifie "ouverts"				
			comments_open[episode_id] = 1;
		}
		
		// Sinon, il faut les charger en ajax
		else 
		{
			// On récupère le texte pour le restaurer à la fin du chargement
			var this_text = $(this).text();
			$(this).text(djpod_msg['loading']);
			
			$.post('/', {'action':'getcomments', 'episode_id':episode_id}, function(data)
			{
				if(data.indexOf('<!-- COMMENTS //-->') == 0) 
				{
					$('#episode-'+episode_id).after(data);
					$('#comments-'+episode_id).hide();
					$('#comments-'+episode_id).slideDown();
						
					// Si on voulait juste poster
					if(just_post == 1) {
						$.scrollTo($('body').find('#comment-post-'+episode_id).get(0),800);
					}
					else {
						$.scrollTo($('body').find('#comments-'+episode_id).get(0),800);
					}
				}
				else {
					if($('#response-'+episode_id).is('div')) {
						$('#response-'+episode_id).html(resp);
					}
					else {
						$('#episode-'+episode_id).after('<div id="response-'+episode_id+'" class="response nok">'+data+'</div>');
						$('#response-'+episode_id).slideDown();
					}
				}
				
				// Les commentaires sont désormais ouverts
				comments_open[episode_id] = 1;
				
				// On restaure le texte
				if(just_post == 1) {
					$('#episode-'+episode_id+' .comment a.post').text(this_text);
				}
				else {
					$('#episode-'+episode_id+' .comment a.view').text(this_text);
				}
				enableComment();
			
				/**
				Soumettre un commentaire
				*/
				$('input[name="commentsub"]').unbind('click');
				$('input[name="commentsub"]').click(function()
				{					
					var episode_id = this.id.substring(11,20);
					var this_text = $('#episode-'+episode_id).find('.view').text();
					
					// On vérifie s'il y a bien un commentaire saisi
					if($('#comment_'+episode_id).val() == '') {
						alert(djpod_msg['type_comment']);
						return false;
					}
					if($('#comment_author_'+episode_id).val() == '') {
						alert(djpod_msg['type_nickname']);
						return false;
					}
					
					$.post('/', {'action':'comment', 'episode_id':episode_id, 'site':$('#comment_site_'+episode_id).val(), 'author':$('#comment_author_'+episode_id).val(), 'comment':$('#comment_'+episode_id).val()}, function(data)
					{
						if(data.indexOf('<!-- COMMENT //-->') == 0) 
						{
							// S'il n'y avait aucun commentaire, on passe à 1, facile
							if(this_text == djpod_msg['no_comment']) {
								$('#episode-'+episode_id).find('.view').text(djpod_msg['one_comment']);
							}
							
							// Sinon, on récupère le nombre dans this_text et on ajoute 1.
							// Facile aussi, mais plus long.
							else {
								$('#episode-'+episode_id).find('.view').text((parseInt(this_text.substr(0,this_text.indexOf(' ')))+1)+djpod_msg['comments']);
							}
							
							$('#comments-list-'+episode_id).append(data);
							
							// Et on restaure le formulaire 
							// (petit input, "rédiger un commentaire", etc).
							$('.comment-post textarea').val(djpod_msg['write_comment']);
			
							$('.comment-post textarea').css({
								height: '16px',
								color: '#999',
								fontStyle: 'italic'
							});
							
							$('.comment-post').css({
								minHeight: '0px'
							});
								
							$('.comment-post input').hide();
							$('.comment-post p').hide();
							
							enableComment();
						}
						else {
							if($('#response-'+episode_id).is('div')) {
								$('#response-'+episode_id).html(resp);
							}
							else {
								$('#episode-'+episode_id).after('<div id="response-'+episode_id+'" class="response nok">'+data+'</div>');
								$('#response-'+episode_id).slideDown();
							}
						}
					});
					return false;
				});			
			});
		}
	});
	
	/**
	Transformation de l'input d'envoi de commentaire
	lorsqu'on clique dedans
	*/
	$('.comment-post textarea').unbind('click');
	$('.comment-post textarea').click(function()
	{
		// On le vide du texte "Rédiger un commentaire"
		$(this).val('');
		$('.comment-post textarea').unbind('click');
					
		// On le remet en noir, normal
		$(this).css({
			height: '35px',
			color: '#000',
			fontStyle: 'normal'
		});
					
		// On agrandit la zone, et on met l'avatar
		// du membre à côté
		$(this).parent().parent().css({
			minHeight: '64px'
		});
					
		// Et on affiche le bouton de validation
		$(this).parent().find('input').show();
		$(this).parent().find('p').show();
	});
	
	/**
	Augmentation de la taille du textarea au fur
	et à mesure de la rédaction du commentaire
	*/
	$('.comment-post textarea').unbind('keyup');
	$('.comment-post textarea').keyup(function()
	{
		// On compte le nombre de retours ligne, et
		// on définit la hauteur en conséquence
		var nb_return = this.value.split("\n").length - 2;
		var ta_height = 35 + (nb_return > 0 ? nb_return*16 : 0);
					
		$(this).css({
			height: ta_height+'px'
		});
	});
}

function columnsToBottom()
{
	if($('#left').height() > $('#right').height())	{	
		$('#right').height($('#left').height());
	}
	else {
		$('#left').height($('#right').height());
	}
}