/// <summary>
        /// Verify navigation on the page frontend
        /// </summary>
        /// <param name="cssClass">The navigation css class</param>
        /// <param name="pages">Expected pages</param>
        public void VerifyNavigationOnFrontend(string cssClass, string[] pages, TemplateType templateType = TemplateType.Bootstrap)
        {
            HtmlControl navList = null;

            switch (templateType)
            {
            case TemplateType.Bootstrap:
                navList = EM.Navigation.NavigationWidgetFrontend.GetNavigation(cssClass);
                navList.AssertIsPresent("Navigation List");
                Assert.AreEqual(pages.Count(), navList.ChildNodes.Count(), "Unexpected number of pages");
                break;

            case TemplateType.Foundation:
                navList = EM.Navigation.NavigationWidgetFrontend.GetFoundationNavigation(cssClass);
                navList.AssertIsPresent("Navigation List");
                Assert.AreEqual(pages.Count(), navList.ChildNodes.Count(), "Unexpected number of pages");
                break;

            case TemplateType.Semantic:
                navList = EM.Navigation.NavigationWidgetFrontend.GetSemanticNavigation(cssClass);
                navList.AssertIsPresent("Navigation List");
                Assert.AreEqual(pages.Count(), navList.ChildNodes.Where(n => n.TagName.Equals("a")).Count(), "Unexpected number of pages");
                break;
            }

            for (int i = 0; i < pages.Count(); i++)
            {
                Assert.IsTrue(navList.ChildNodes[i].InnerText.Contains(pages[i]), "Navigation child node does not contain the expected page: " + pages[i]);
            }
        }
        /// <summary>
        /// Verify child pages on the frontend
        /// </summary>
        /// <param name="cssClass">The navigation css class</param>
        /// <param name="pages">Expected pages</param>
        public void VerifyChildPagesFrontEndNavigation(string cssClass, string[] pages, TemplateType templateType = TemplateType.Bootstrap)
        {
            HtmlControl navList = null;

            switch (templateType)
            {
            case TemplateType.Bootstrap:
                navList = EM.Navigation.NavigationWidgetFrontend.GetBootstrapNavigation(cssClass);
                break;

            case TemplateType.Foundation:
                navList = EM.Navigation.NavigationWidgetFrontend.GetFoundationNavigationChild(cssClass);
                break;

            case TemplateType.Semantic:
                navList = EM.Navigation.NavigationWidgetFrontend.GetSemanticNavigationChild(cssClass);
                break;
            }

            navList.AssertIsPresent("Navigation List");
            Assert.AreEqual(pages.Count(), navList.ChildNodes.Count(), "Unexpected number of pages");

            foreach (string page in pages)
            {
                navList.AssertContainsText <HtmlControl>(page, "Navigation does not contain the expected page " + page);
            }
        }
        /// <summary>
        /// Verify that a list of pages is NOT present in the frontend navigation
        /// </summary>
        /// <param name="cssClass"></param>
        /// <param name="pages"></param>
        public void VerifyPagesNotPresentFrontEndNavigation(string cssClass, string[] pages, TemplateType templateType = TemplateType.Bootstrap)
        {
            HtmlControl navList = null;

            switch (templateType)
            {
            case TemplateType.Bootstrap:
                navList = EM.Navigation.NavigationWidgetFrontend.GetBootstrapNavigation(cssClass);
                break;

            case TemplateType.Foundation:
                navList = EM.Navigation.NavigationWidgetFrontend.GetFoundationNavigation(cssClass);
                break;

            case TemplateType.Semantic:
                navList = EM.Navigation.NavigationWidgetFrontend.GetSemanticNavigation(cssClass);
                break;
            }

            navList.AssertIsPresent("Navigation List");

            for (int i = 0; i < navList.ChildNodes.Count; i++)
            {
                foreach (string page in pages)
                {
                    Assert.IsFalse(navList.ChildNodes[i].InnerText.Contains(page), "Navigation contains this page " + page);
                }
            }
        }
        /// <summary>
        /// Expand "Filter events by"
        /// </summary>
        public void ExpandFilteredEventsBy()
        {
            HtmlControl filterEventsByBtn = this.EM.Widgets.WidgetDesignerCalendarScreen.FilterEventsByButton;

            filterEventsByBtn.AssertIsPresent("Filter Events by button");
            filterEventsByBtn.Click();
        }