// JavaScript Document

//*---------------------------------- guestbook ------------------------------------------------------------------------------*/	
//listagem de comentários do livro de visitas
function guestbook(pagenumber) {
		
	$('#comments').empty().hide();
	
	$('#output').empty();

	$.getJSON('ajax_guestbook.php',{page:pagenumber}, function(data) {
			
		var commentsHolder = $("#comments");
		var pageSelector = $("#pages");		
		var items = commentsHolder.html();
											 
		 if ( data && data.status == 'ok' && data.comments.length > 0) {
			 
			
			 
			$.each(data.comments, function(i, item) {
				
				items += '<div class="comment">';
				
				//verifica se o comentário tem um email
				if ( item.email ) {
					items += '<div class="name">Coment&aacute;rio de <a href="mailto:'+item.email+'">'+item.name+'</a> em '+item.date+'</div>';
				} else 
					items += '<div class="name">Coment&aacute;rio de '+item.name+' em '+item.date+'</div>';
					
				items += '<div class="text"><span class="arrow"><img src="images/graphics/comment_arrow.png" /></span>'+item.comment+'</div>';
				items += '</div>';

			});

			//adicionas os comentários ao div
			commentsHolder.html(items);
			
			commentsHolder.fadeIn('slow');
			
			//se existem páginas cria o nº de páginas 
			if (data.pages.items_total && data.pages.count > 1) {
				
				pageSelector.empty();
				
				var page = pageSelector.html();
					
				$.each(data.pages.index, function(i,item){
					
					if (data.pages.selected[i] ) {
						page += '<li class="selected">';
					} else
						page += '<li>';
					page += '<a href="#" class="pages">'+item+'</a>';
					page += '</li>';
				});
	
				pageSelector.html(page);
				
				//jump to page
				$('a.pages').click(function() {										
					guestbook( $(this).text() );
				});
				
				//cria o botão seguinte na paginação
				if (data.pages.next) {				
					$("<li><a href='#'>Seguinte</a></li>").click(function() { 		  			  
							guestbook(data.pages.next);
					}).appendTo("#pages");
				}
          
				//cria o botão anterior na paginação
				if ( data.pages.prev ) {         
					$("<li><a href='#'>Anterior</a></li>").click(function() {														 			
						guestbook(data.pages.prev);
					}).prependTo("#pages");
				}

				
			} else {
				$('#pages').hide();
			}
					
		 } else {
			$('<ul class="alerts success submit"><li>N&atilde;o existem coment&aacute;rios</li></ul>').appendTo('#output');
		 }
		 
		 commentsHolder.css('backgroundImage','none');
		 
	});
}	

//------------------------------------------------------------------------------------------------------------
//------------------------------------submit comments---------------------------------------------------------
$(document).ready(function(){
	
	$("#guestbook").submit(function() {
		
		var form = this;
								  
		var url= 'ajax_guestbook.php?action=add';
								
		$.post(url, $(form).serialize(), function(data) {
																 
				 if( data && data.status == 'error') {
					 					 
						$.each(data.error, function(i, item) {	
							
							qtip_error('input[name='+item+']', form);
							
							if (item == 'comment') {
								qtip_error('textarea[name='+item+']', form);
							}
						});
		
					} else if( data && data.status=='ok') {

					 	$(form).fadeOut('slow', function() {
							//se o guestbook tem moderação não mostra logo os comentários							 
							//guestbook();
							
							$('#output').empty().html('<ul class="alerts success submit"><li>Obrigado pelo seu coment&aacute;rio! Todos os coment&aacute;rios est&atilde;o sujeitos a   modera&ccedil;&atilde;o antes de serem colocados no livro.</li></ul>');
							
 				 		});

					$(form)[0].reset();
															
				  }
			   }, "json");
			
		return false;

	});

	//---------------contagem de caractéres no livro de visitas
	 $('textarea[name=comment]').keyup(function() {
	
		var len = this.value.length;
		
		if (len >= 600) {
			this.value = this.value.substring(0, 600);
			
			$('.chars').css('color','red');
			
		} else {
			$('.chars').css('color','black');
		}
		
		$('#charLeft').text(600 - len);
	});
 
});
