function showSponsorshipInfo($clsRpt, $sponInfo, $lNumSponsors, $lPID, $clsSpon)
{
    //---------------------------------------------------------------------
    //
    //---------------------------------------------------------------------
    global $genumDateFormat;
    $attributes = new stdClass();
    $attributes->lTableWidth = 900;
    $attributes->divID = 'allSponSumDiv';
    $attributes->divImageID = 'allSponSumDivImg';
    openBlock('Sponsorship <span style="font-size: 9pt;"> (' . $lNumSponsors . ')</span>', strLinkAdd_Sponsorship($lPID, 'Add new sponsorship', true, 'id="addNewSponI"') . ' ' . strLinkAdd_Sponsorship($lPID, 'Add new sponsorship', false, 'id="addNewSponL"'), $attributes);
    if ($lNumSponsors == 0) {
        echoT('<i>(no sponsorships)</i><br>');
    } else {
        echoT('<table>');
        foreach ($sponInfo as $idx => $spon) {
            $bInactive = $spon->bInactive;
            if ($bInactive) {
                $strActiveStyle = 'color: #999;';
                $strInactive = ' Inactive as of ' . date($genumDateFormat, $spon->dteInactive);
            } else {
                $strActiveStyle = '';
                $strInactive = '';
            }
            $lSponsorID = $spon->lKeyID;
            $lClientID = $spon->lClientID;
            echoT('
                <tr>
                   <td style="' . $strActiveStyle . '">' . strLinkView_Sponsorship($lSponsorID, 'view sponsorship', true, 'id="viewSponRec_' . $lSponsorID . '"') . ' ' . str_pad($spon->lKeyID, 5, '0', STR_PAD_LEFT) . '
                   </td>
                   <td style="' . $strActiveStyle . '">' . htmlspecialchars($spon->strSponProgram) . '
                   </td>
                   <td style="' . $strActiveStyle . '">');
            if (is_null($lClientID)) {
                echoT('<i>Client not set</i>');
            } else {
                echoT(strLinkView_ClientRecord($lClientID, 'View client record', true, 'id="viewClientRec_' . $lClientID . '"') . ' ' . $spon->strClientSafeNameFL . ' (' . htmlspecialchars($spon->strLocation) . ')');
            }
            echoT($strInactive . '
                   </td>
                </tr>');
        }
        echoT('</table>');
    }
    $attributes = new stdClass();
    $attributes->bCloseDiv = true;
    closeBlock($attributes);
}
            //--------------------
            // Gift Summary
            //--------------------
            if ($showFields->bGiftSummary) {
                $strLinkAddNew = strLinkAdd_Gift($lPID, 'New&nbsp;gift', true) . '&nbsp;' . strLinkAdd_Gift($lPID, 'New&nbsp;gift', false) . '<br>' . strLinkAdd_Pledge($lPID, 'New&nbsp;pledge', true) . '&nbsp;' . strLinkAdd_Pledge($lPID, 'New&nbsp;pledge', false);
                if ($person->lNumACODonationGroups_hard + $person->lNumACODonationGroups_soft > 0) {
                    $strLinkGiftHistory = '<br>' . strLinkView_GiftsHistory($lPID, 'History', true) . '&nbsp;' . strLinkView_GiftsHistory($lPID, 'History', false) . '<br>' . $strLinkAddNew;
                } else {
                    $strLinkGiftHistory = $strLinkAddNew;
                }
                echoT($clsRpt->writeCell(strBuildCumlativeTable($person->lNumACODonationGroups_hard, $person->donationsViaACO_hard, 140) . $strLinkGiftHistory));
                echoT($clsRpt->writeCell(strBuildCumlativeTable($person->lNumACODonationGroups_soft, $person->donationsViaACO_soft, 140)));
            }
            //--------------------
            // Sponsorship
            //--------------------
            if ($showFields->bSponsor) {
                $strLinkAddNew = strLinkAdd_Sponsorship($lPID, 'Add new sponsorship', true, 'id="addSponI_' . $lPID . '"') . '&nbsp;' . strLinkAdd_Sponsorship($lPID, 'Add new', false, 'id="addSponL_' . $lPID . '"');
                $strSponSum = $clsSpon->strSponsorSumLiteViaPID($lPID);
                if ($strSponSum == 'n/a') {
                    $strStyle = ' text-align: center; color: #b0b0b0;';
                } else {
                    $strStyle = '';
                }
                echoT($clsRpt->writeCell($strSponSum . '<br>' . $strLinkAddNew, '', $strStyle));
            }
            echoT($clsRpt->closeRow());
        }
    }
    echoT($clsRpt->closeReport());
}
            //--------------------
            // Gift Summary
            //--------------------
            if ($showFields->bGiftSummary) {
                $strLinkAddNew = strLinkAdd_Gift($lBID, 'New&nbsp;gift', true) . '&nbsp;' . strLinkAdd_Gift($lBID, 'New&nbsp;gift', false);
                if ($biz->lNumACODonationGroups_hard + $biz->lNumACODonationGroups_soft > 0) {
                    $strLinkGiftHistory = '<br>' . strLinkView_GiftsHistory($lBID, 'Gift history', true) . '&nbsp;' . strLinkView_GiftsHistory($lBID, 'Gift history', false) . '<br>' . $strLinkAddNew;
                } else {
                    $strLinkGiftHistory = $strLinkAddNew;
                }
                echoT($clsRpt->writeCell(strBuildCumlativeTable($biz->lNumACODonationGroups_hard, $biz->donationsViaACO_hard, 130) . $strLinkGiftHistory));
                echoT($clsRpt->writeCell(strBuildCumlativeTable($biz->lNumACODonationGroups_soft, $biz->donationsViaACO_soft, 130)));
            }
            //--------------------
            // Sponsorship
            //--------------------
            if ($showFields->bSponsor) {
                $strLinkAddNew = strLinkAdd_Sponsorship($lBID, 'Add new sponsorship', true) . '&nbsp;' . strLinkAdd_Sponsorship($lBID, 'Add new', false);
                $strSponSum = $clsSpon->strSponsorSumLiteViaPID($lBID);
                if ($strSponSum == 'n/a') {
                    $strStyle = ' text-align: center; color: #b0b0b0; ';
                } else {
                    $strStyle = '';
                }
                echoT($clsRpt->writeCell($strSponSum . '<br>' . $strLinkAddNew, '', $strStyle));
            }
        }
        echoT($clsRpt->closeRow(''));
    }
    echoT($clsRpt->closeReport());
}