<?php
$outputType = '';
if(isset($_REQUEST['outputType']))
{
    $outputType = $_REQUEST['outputType'];
    $search .= 'outputType=' . urlencode($outputType) . '&';
}
if(isset($_REQUEST['recordsPerPage']))
{
	$rowsPerPage = intval($_REQUEST['recordsPerPage']);
    $search .= 'recordsPerPage=' . urlencode($rowsPerPage) . '&';
}

$displayRecords = '<div id="showRecords"><label for="recordsPerPage">Show</label>';
$displayRecords .= '<select id="recordsPerPage" name="recordsPerPage" onchange="this.form.submit();">';
$displayRecords .= '<option value="5000"';
if($rowsPerPage == '5000')
{
	$displayRecords .= ' selected';
}
$displayRecords .= '>5000</option>';
$displayRecords .= '<option value="10000"';
if($rowsPerPage == '10000')
{
	$displayRecords .= ' selected';
}
$displayRecords .= '>10000</option>';
$displayRecords .= '<option value="15000"';
if($rowsPerPage == '15000')
{
	$displayRecords .= ' selected';
}
$displayRecords .= '>15000</option>';
$displayRecords .= '</select></div>';

if(isset($_REQUEST['displayDateCriteria']))
{
	$displayDateCriteria = intval($_REQUEST['displayDateCriteria']);
    $search .= 'displayDateCriteria=' . urlencode($displayDateCriteria) . '&';
}
if(isset($_REQUEST['displayFilter']))
{
	$displayFilter = intval($_REQUEST['displayFilter']);
    $search .= 'displayFilter=' . urlencode($displayFilter) . '&';
}
if(isset($_REQUEST['displayField']))
{
	$displayField = intval($_REQUEST['displayField']);
    $search .= 'displayField=' . urlencode($displayField) . '&';
}

if(isset($_REQUEST['searchType']))
{
	$searchType = $_REQUEST['searchType'];
	if(!empty($_REQUEST['searchType']))
	{
		$search .= 'searchType=' . urlencode($searchType) . '&';
	}
}

if(isset($_REQUEST['keyword']))
{
	$keyword = $_REQUEST['keyword'];
	if(!empty($_REQUEST['keyword']))
	{
		$search .= 'keyword=' . urlencode($keyword) . '&';
	}
}

function pagingList($recordCount, $rowsPerPage, $search, $showOffset)
{
	// by default we show first page
	$pageNum = 1;
	// if $_REQUEST['page'] defined, use it as page number
	if(isset($_REQUEST['page']) && !empty($_REQUEST['page']))
	{
		$pageNum = $_REQUEST['page'];
	}
    $self = $_SERVER['PHP_SELF'] . '?';
	// if $_REQUEST['order'] defined, use it as order
	if(isset($_REQUEST['order']) && !empty($_REQUEST['order']))
	{
		$orderBy = $_REQUEST['order'];
		$self .= 'order=' . $orderBy . '&';
        if(isset($_REQUEST['desc']) && !empty($_REQUEST['desc']))
		{
			$desc = $_REQUEST['desc'];
		    $self .= 'desc=' . $desc . '&';
		}
	}
	// counting the offset
	$offset = ($pageNum - 1) * $rowsPerPage;
    if($offset >= $recordCount)
    {
        $offset = 0;
        $pageNum = 1;
    }

	// how many pages we have when using paging?
	$maxPage = ceil($recordCount/$rowsPerPage);

	// print the link to access each page
	$nav  = 'Page';

	if ($maxPage == 0)
	{
		$nav .= " " . $pageNum;
	}
	else
	{
		for($page = 1; $page <= $maxPage; $page++)
		{
			if ($page == $pageNum)
			{
				$nav .= " $page "; // no need to create a link to current page
			}
			else
			{
				$nav .= " <a href=\"" . $self . $search . "page=" . $page . "\">$page</a> ";
			} 
		}
	}

	// creating previous and next link
	// plus the link to go straight to
	// the first and last page

	if ($pageNum > 1)
	{
		$page  = $pageNum - 1;
		$prev  = " <a href=\"" . $self . "page=" . $page . "\">Previous Page</a> ";
		$first = " <a href=\"" . $self . "page=1\">First Page</a> ";
	} 
	else
	{
		$prev  = ''; // we're on page one, don't print previous link
		$first = ''; // nor the first page link
	}

	if ($pageNum < $maxPage)
	{
		$page = $pageNum + 1;
		$next = " <a href=\"" . $self . "page=" . $page . "\">Next Page</a> ";
		$last = " <a href=\"" . $self . "page=" . $maxPage . "\">Last Page</a> ";
	} 
	else
	{
		$next = ''; // we're on the last page, don't print next link
		$last = ''; // nor the last page link
	}

    $paging = '';
    if($recordCount != 0)
    {
		// print the navigation link
		// $paging = '<div class="paging">' . $nav . ' ' . $first . $prev . $next . $last . '</div>';
		$paging = '<div class="paging">' . $nav . '</div>';
    }
    
    if($showOffset)
    {
		return $offset;
    }
    else
    {
        return $paging;
    }
}
?>