public bool Show(int viewerId, int ownerId, String page)
    {
        bool show = true;

        // if there are no view requirements, go ahead and show it.  We are likely testing out a new gadget
        // if there are some, turn it off unless this page is
        if (viewRequirements.Count > 0)
        {
            show = false;
        }

        if (viewRequirements.ContainsKey(page))
        {
            show = true;
            GadgetViewRequirements req = GetGadgetViewRequirements(page);
            if ('U' == req.GetViewerReq() && viewerId <= 0)
            {
                show = false;
            }
            else if ('R' == req.GetViewerReq())
            {
                show &= IsRegisteredTo(viewerId);
            }
            if ('R' == req.GetOwnerReq())
            {
                show &= IsRegisteredTo(ownerId);
            }
            else if ('S' == req.GetOwnerReq())
            {
                show &= (viewerId == ownerId);
            }
        }
        return(show);
    }
    // who sees it?  Return the viewerReq for the ProfileDetails page
    public char GetVisibleScope()
    {
        GadgetViewRequirements req = GetGadgetViewRequirements("ProfileDetails.aspx");

        return(req != null?req.GetViewerReq() : ' ');
    }