db_pageseek($rs,$PageSize,$mypage);
		}
		elseif(GetDatabaseType() == 4)
		{
			if($numrows)
			{
				$maxrecs=$PageSize;
				$strSQL.=" limit ".$PageSize." offset ".(($mypage-1)*$PageSize);
			}
			$rs = db_query($strSQL,$conn);
		}
		elseif(GetDatabaseType() == -1)
		{
			if($numrows)
			{
				$strSQL = AddLimitFirebird($strSQL, (($mypage-1)*$PageSize), $PageSize);
			}
			$rs = db_query($strSQL,$conn);
			db_pageseek($rs,$PageSize,$mypage);
		}
		else
		{
			$rs = db_query($strSQL,$conn);
			db_pageseek($rs,$PageSize,$mypage);
		}
	}
	
	//	hide colunm headers if needed
	$recordsonpage = $numrows-($mypage-1)*$PageSize;
	if($recordsonpage>$PageSize)
		$recordsonpage = $PageSize;
		$strSQL = "SELECT DISTINCT st.".AddFieldWrappers($f)." from (".$strSQL.") st";
	}
	else
	{
		$strSQL = SQLQuery::gSQLWhere_having($sqlHead, $fromClause, $gQuery->WhereToSql(), $gQuery->GroupByToSql()
			, $gQuery->Having()->toSql($gQuery), $where, $having);
	}
	
	if(GetDatabaseType() == 0 || GetDatabaseType() == 4) 
		$strSQL.= " LIMIT ".$numberOfSuggests;
	elseif(GetDatabaseType() == 2 || GetDatabaseType() == 3) 
		$strSQL = "select top ".$numberOfSuggests." * from (".$strSQL.") st";
	elseif(GetDatabaseType() == 1) 
		$strSQL = AddRowNumber($strSQL, $numberOfSuggests);
	elseif(GetDatabaseType() == -1)
		$strSQL = AddLimitFirebird($strSQL, 0, $numberOfSuggests);

	$rs = db_query($strSQL, $conn);
	
	// fill $response array with the field's suggest value
	while( ($row = db_fetch_numarray($rs)) && count($response) < $numberOfSuggests ) 
	{
		$val = $cipherer->DecryptField($f, $row[0]);
		if(IsGuid($fType))
			$val = substr($val, 1, -1);
		
		// "_" is added to conver number type to string
		if (!preg_match($pattern_clear_tags, $val)) // if not html tags
			$fieldControl->suggestValue("_".$val, $searchFor, $response, $row);
		else
			$response['_'.$val] = '_'.$val;