<?php

function echo_panel_page($total, $page, $url, $jsClick = false, $addClass = '')
{
	/* 62145 (hide) 
	getResource("field.Pager.Page");
	echo ' '.$page.' ';
	getResource("field.Pager.of");
	echo ' '.$total.' ';
	*/
	$classString = (isset($addClass) && strlen($addClass) > 0 ? 'class="'.$addClass.'"' : '' );
	if ($total <= 1) return;
	
	echo '<ul>';
	
	if ($page > 1) { 
		echo '<li class="prev">';
		if ($jsClick) {
			echo '<a href="javascript:clickPage('.($page - 1).')" '.$classString.'>';
		} else {
			echo '<a href="'.urlReplaceParam($url,'page', $page - 1).'" '.$classString.'>';
		}
		echo '&nbsp;&nbsp;&nbsp;';
		getResource("field.Pager.Previous");		
		echo '</a>';
		echo '</li>';
	} 		
		
	if ($page > 5){
		if ($jsClick) {
			echo '<li><a <a href="javascript:clickPage(1)" '.$classString.'>1</a></li>';
		} else {
			echo '<li><a href="'.urlReplaceParam($url,'page', 1).'" '.$classString.'>1</a></li>';
		}
		
		if ($page > 6){
			echo '<li>...</li>';
		}
	}
	//Тут если ссылок больше 4 и текущая страница старше 4 рисуем ссылку для самой первой страницы
	//STU Убрано ($total > 4), т.к. оно выполняется автоматом при $page>5
	
	
	for($i=$page-4;$i<$page+5;$i++) { //по 4 с каждой стороны от текущей страницы
		if ($i<1 || $i >$total)
			continue;
		//STU В таком виде понятнее, чем в условие при выводе
		
		echo '<li'.($i==$page?' class="active"':'').'>';
		//STU А это единственное, что отличается - почему бы этим и не пользоваться?		
		
		if ($jsClick) {
			echo '<a href="javascript:clickPage('.$i.')" '.$classString.'>';
		} else {
			echo '<a href="'.urlReplaceParam($url,'page', $i).'" '.$classString.'>';
		}
		
		echo $i;
		echo '</a></li>';		
	}
	
	if ($page < $total-4){
		if ($page < $total-5){
			echo '<li>...</li>';
		}
		
		if ($jsClick) {
			echo '<li><a <a href="javascript:clickPage('.$total.')" '.$classString.'>'.$total.'</a></li>';
		} else {
			echo '<li><a href="'.urlReplaceParam($url,'page', $total).'" '.$classString.'>'.$total.'</a></li>';
		}	
	}
	//Тут если ссылок больше 4 и текущая страница младше чем на 4 страницы от самой старшей - рисуем ссылку для самой последней страницы
	//STU Убрал кучу условий в первом if, потому что они автоматом выполняются
	
	
	if ($page < $total) { 
		echo '<li class="next">';
		if ($jsClick) {
			echo '<a href="javascript:clickPage('.($page + 1).')" '.$classString.'>';
		} else {
			echo '<a href="'.urlReplaceParam($url,'page', $page + 1).'" '.$classString.'>';
		}
		getResource("field.Pager.Next");		
		echo '&nbsp;&nbsp;&nbsp;';
		echo '</a>';
		echo '</li>';
	} 
		
	echo '</ul>';
}

?>