protected void InitializeView(UnderstoodDotOrg.Domain.Understood.Common.GroupCardModel gm)
        {
            if (gm != null)
            {
                imgModeratorImage.ImageUrl = gm.ModeratorAvatarUrl;
                litDesc.Text = gm.Description;
                litModeratorScreenName.Text = gm.ModeratorName;
                litModeratorTitle.Text = gm.ModeratorTitle;
                litTitle.Text = gm.Title;
                litNumMembers.Text = gm.NumOfMembers.ToString();
                litNumThreads.Text = gm.NumOfDiscussions.ToString();

            }
        }
        /// <summary>
        /// Function to save the current page reference in session and redirect to signup/signin page
        /// </summary>
        /// <param name="currentPage"></param>
        /// <param name="permission">Defines user permission for current action to be performed</param>
        /// <param name="UrlToGoto">Alternative URL to be redirected (Note: Session reference to previous page will be cleared).</param>
        static public void ProfileRedirect(this BaseSublayout page, UnderstoodDotOrg.Common.Constants.UserPermission permission, string UrlToGoto = null, bool preserveURL = false)
        {
            // only set redirect if we don't already have a place to go back to - this will allow us to "chain" permission checks without losing original return URL
            if (page.Session[Constants.SessionPreviousUrl] == null && !preserveURL)
            {
                page.Session[Constants.SessionPreviousUrl] = page.Page.Request.RawUrl;    
            }

            switch (permission)
            {
                case Constants.UserPermission.CommunityUser:
                    //is user logged in?
                    if (page.CurrentMember == null)
                    {
                        //not logged in, please log in
                        page.Page.Response.Redirect(SignInPageItem.GetSignInPage().GetUrl());
                    }
                    else
                    {
                        //is user registered for community?
                        if (String.IsNullOrEmpty(page.CurrentMember.ScreenName))
                        {
                            //redirect to community sign-up
                            redirect(page, RegisterCommunityProfileItem.GetRegisterCommunityProfilePage().GetUrl());
                        }
                    }
                    break;
                case Constants.UserPermission.RegisteredUser:
                    //is user logged in?
                    if (page.CurrentMember == null)
                    {
                        //not logged in, please log in
                        redirect(page, SignInPageItem.GetSignInPage().GetUrl());
                    }
                    break;
                case Constants.UserPermission.AnonymousUser:
                    break;
                case Constants.UserPermission.AdminUser:
                    break;
                case Constants.UserPermission.Moderator:
                    break;
                case Constants.UserPermission.Blogger:
                    break;
                case Constants.UserPermission.Expert:
                    break;
                case Constants.UserPermission.InternationalUser:
                    //redirect to international user page
                    if (page.isInternationalUser == Constants.GeoIPLookup.InternationalStatus.UnknownInternationalUser)
                    {
                        redirect(page, InternationalUserPageItem.GetInternationalUserPage().GetUrl());
                    }                        
                    break;
                case Constants.UserPermission.AgreedToTerms:
                    //redirect to T&C if they have not agreed yet
                    var termsUrl = TermsandConditionsItem.GetTermsAndConditionsPage().GetUrl();

                    if (page.CurrentMember != null && !page.CurrentMember.AgreedToSignUpTerms && !page.Request.RawUrl.Contains(termsUrl))
                    {
                        redirect(page, termsUrl);
                    }
                    break;
                case Constants.UserPermission.CanPersonalize:
                    if (page.CurrentMember == null)
                    {
                        redirect(page, SignInPageItem.GetSignInPage().GetUrl());
                    }
                    else
                    {
                        if (page.CurrentMember.Children == null || page.CurrentMember.Children.Count == 0)
                        {
                            redirect(page, RegisterChildInformationItem.GetRegisterChildInfoPage().GetUrl());
                        }
                    }

                    break;
                default:
                    break;
            }

            if (!preserveURL)
            {
                //everything's fine, redirect to page if it was passed
                page.Page.Session[Constants.SessionPreviousUrl] = null;
            }

            if (!String.IsNullOrEmpty(UrlToGoto))
            {
                redirect(page, UrlToGoto);
            }
        }