<?php
/**
 * @author krku
 */


include_once(PATH_SMARTY_PLUGINS . '/' . 'function.url.php');

function smarty_function_insertPagination($params, &$smarty) {
	
	//Utils::ArrayDisplay($params);

	$max = $smarty->get_template_vars('iloscStron');

	if ($max <= 1) {
		return '';
	}

	$cur = $smarty->get_template_vars('strona');
	$display = (isset($params['_display']) ? $params['_display'] : 6);

	$params['_current'] = true;
//echo $params['_class'];
	$ret = '<div class="' . (isset($params['_class']) ? $params['_class'] : 'pagination') . '">';

	$start = max(1, min($max - 2, $cur));
	$to = min($max + 1, $start + $display);
	//Utils::ArrayDisplay($params);
	$ajax = $smarty->get_template_vars('ajax');
	if ($ajax) {


		if ($cur > 0) {
			$params['strona'] = ($cur != 1 ? $cur : false);

			$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" onClick="'.$ajax.'; return false;" title="Przejdź na poprzednią stronę">Poprzednia Strona</a> ';
		}

		$params['strona'] = false;
		if ($cur >= $display - 1) {
			$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" onClick="'.$ajax.'; return false;" title="Przejdź na pierwszą stronę">1</a> ... ';
		}

		for ($i = $start; $i < $to ; $i++) {
			$params['strona'] = ( $i == 1 ? false : $i );

			if ($cur == $i - 1) {
				$ret .= ' <a class="active" href="#">' . $i . '</a> ';
			} else {
				$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" onClick="'.$ajax.'; return false;" title="Przejdź na stronę ' . $i . '">' . $i . '</a> ';
			}
		}

		$params['strona'] = $max;

		if ($cur < $max) {
			$ret .= ' z <a href="' . smarty_function_url($params, $smarty) . '" onClick="'.$ajax.'; return false;" title="Przejdź na ostatnią stronę">' . $max . '</a>';
		}

		if ($cur + 1 != $max) {
			$params['strona'] = $cur + 2;
			$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" onClick="'.$ajax.'; return false;" title="Przejdź na następną stronę">Następna Strona</a> ';
		}

	} else {
		if ($cur > 0) {
			$params['strona'] = ($cur != 1 ? $cur : false);

			$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" title="Przejdź na poprzednią stronę">Poprzednia Strona</a> ';
		}

		$params['strona'] = false;
		if ($cur >= $display - 1) {
			$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" title="Przejdź na pierwszą stronę">1</a> ... ';
		}

		for ($i = $start; $i < $to ; $i++) {
			$params['strona'] = ( $i == 1 ? false : $i );

			if ($cur == $i - 1) {
				$ret .= ' <a class="active" href="#">' . $i . '</a> ';
			} else {
				$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" title="Przejdź na stronę ' . $i . '">' . $i . '</a> ';
			}
		}

		$params['strona'] = $max;

		if ($cur < $max) {
			$ret .= ' z <a href="' . smarty_function_url($params, $smarty) . '" title="Przejdź na ostatnią stronę">' . $max . '</a>';
		}

		if ($cur + 1 != $max) {
			$params['strona'] = $cur + 2;
			$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" title="Przejdź na następną stronę">Następna Strona</a> ';
		}
	}

	$ret .= "</div>";

	return $ret;
}
?>
