<? 
// Descubra o número da página que será exibida se o numero da página não for informado, definir como 1
if (!$pagina) {
   $pagina = 1;
}

// Define o número do primeiro registro da página.
$primeiro_registro = ($pagina*$num_por_pagina) - $num_por_pagina;

// Constrói e exibe um painel de navegabilidade entre as páginas
	list($total) = mysql_fetch_array(mysql_query($contagem_total));
	$total_paginas = $total/$num_por_pagina;

if ($total_paginas != "") {

	$prev = $pagina - 1;
	$next = $pagina + 1;
	
	// Se a página for maior que 1, então temos link para a página anterior
	if ($pagina > 1) {
	$prev_link = "<a href=\"$PHP_SELF?pagina=$prev$filtro_paginacao$filtro_paginacao2\">Anterior</a>";
	} else { // Senão não há link para a página anterior
	$prev_link = "Anterior";
	}
	
	// Se o número total de páginas for maior que a página atual, então temos link para a próxima página
	if ($total_paginas > $pagina) {
	$next_link = "<a href=\"$PHP_SELF?pagina=$next$filtro_paginacao$filtro_paginacao2\">Pr&oacute;xima";
	} else { // Senão não há link para a próxima página
	$next_link = "Pr&oacute;xima";
	}
	
	// Arredonda para o alto o número de páginas que serão necessárias para exibir todos os registros.
	$total_paginas = ceil($total_paginas);
	$painel = "";
	$max_links = 10;
	$links_laterais = ceil($max_links / 2);
	// variáveis para o loop
	$inicio = $pagina - $links_laterais;
	$limite = $pagina + $links_laterais;
	for ($x=$inicio; $x<=$limite; $x++) {
	  if ($x==$pagina) { // Se estiver na página atual, não exibir o link para ela mesma
		$painel .= "<strong> [$x] </strong> ";
	  } else {
		if ($x >= 1 && $x <= $total_paginas)
        {
			$painel .= " <a href=\"$PHP_SELF?pagina=$x$filtro_paginacao$filtro_paginacao2\">[$x]</a>";
	  	}
	  }
	}
	
	if ($total_paginas > 1 ) {
		$navegacao = $prev_link . " | " . $painel . " | " . $next_link;
	}
}
?>