using System;
using Telerik.Sitefinity.Abstractions;
using Telerik.Sitefinity.Services;
using Telerik.Sitefinity.Web.Events;

namespace SitefinityWebApp
{
    public class Global : System.Web.HttpApplication
    {
        protected void Application_Start(object sender, EventArgs e)
        {
            Bootstrapper.Initialized += Bootstrapper_Initialized;
        }

        void Bootstrapper_Initialized(object sender, Telerik.Sitefinity.Data.ExecutedEventArgs e)
        {
            if (e.CommandName == "Bootstrapped")
            {
                EventHub.Subscribe<IPagePreRenderCompleteEvent>(PreRenderCompleteHandler);
            }
        }

        private void PreRenderCompleteHandler(IPagePreRenderCompleteEvent eventData)
        {
            var customAttributeValue = eventData.PageSiteNode.Attributes["DemoAttribute"];
            if (!String.IsNullOrWhiteSpace(customAttributeValue))
            {
                // register a script block, which shows the custom attribute value in an alert whenever the page is opened
                eventData.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert",
                    @"<script type=""text/javascript"">alert(""" + customAttributeValue + @""")</script>");
            }
        }
    }
}