public static function get_projsearch_results_with_pagination( $searchKey, $searchValue, $limit, $offset)
    {

        $projects = array();

        try
        {
            switch ( $searchKey)
            {
                case 'project-name':
                    $projects = Airavata::searchProjectsByProjectNameWithPagination( Session::get("gateway_id"),
                        Session::get("username"), $searchValue, $limit, $offset);
                    break;
                case 'project-description':
                    $projects = $airavataclient->searchProjectsByProjectDescWithPagination( Session::get("gateway_id"),
                        Session::get("username"), $searchValue, $limit, $offset);
                    break;
            }
        }
        catch (InvalidRequestException $ire)
        {
            Utilities::print_error_message('InvalidRequestException!<br><br>' . $ire->getMessage());
        }
        catch (AiravataClientException $ace)
        {
            Utilities::print_error_message('AiravataClientException!<br><br>' . $ace->getMessage());
        }
        catch (AiravataSystemException $ase)
        {
            if ($ase->airavataErrorType == 2) // 2 = INTERNAL_ERROR
            {
                Utilities::print_info_message('<p>You have not created any projects yet, so no results will be returned!</p>
                                <p>Click <a href="create_project.php">here</a> to create a new project.</p>');
            }
            else
            {
                Utilities::print_error_message('There was a problem with Airavata. Please try again later, or report a bug using the link in the Help menu.');
                //print_error_message('AiravataSystemException!<br><br>' . $ase->airavataErrorType . ': ' . $ase->getMessage());
            }
        }
        catch (TTransportException $tte)
        {
            Utilities::print_error_message('TTransportException!<br><br>' . $tte->getMessage());
        }

        return $projects;
    }