protected override void OnLoad(EventArgs e)
    {
        ICMSMasterPage master = Page.Master as ICMSMasterPage;

        if ((master != null) && (master.FooterContainer != null))
        {
            master.FooterContainer.Visible = false;
        }

        ScriptHelper.RegisterScriptFile(Page, "Controls/CodePreview.js");

        imgProgress.ImageUrl = GetImageUrl("/Design/Preloaders/preload16.gif");
        paneToolbar          = new UILayoutPane();

        if (!DialogMode)
        {
            paneFooter.Visible = false;
        }

        previewValue = GetPreviewStateFromCookies(CookiesPreviewStateName);
        if (CMSContext.EditedObject == null)
        {
            previewValue = 0;
        }

        // Change preview state handling
        string args   = Request["__EVENTARGUMENT"];
        string target = Request["__EVENTTARGET"];

        if (target == btnHidden.UniqueID)
        {
            switch (args)
            {
            case "vertical":
                previewValue = 1;
                break;

            case "horizontal":
                previewValue = 2;
                break;

            case "split":
                previewValue = (previewValue == 0) ? 1 : 0;
                if (previewValue != 0)
                {
                    RegisterFullScreen();
                    PreviewInitialized = true;
                    paneToolbar.Values.Add(new UILayoutValue("PreviewInitialized", true));
                }
                break;
            }

            SetPreviewStateToCookies(CookiesPreviewStateName, previewValue);
            paneToolbar.Values.Add(new UILayoutValue("SetControls", true));
        }

        UILayout subLayout = paneContentMain.FindControl("layoutElem") as UILayout;

        panePreview = subLayout.FindControl("panePreview") as UILayoutPane;

        // Pane toolbar
        paneToolbar.ID          = "paneToolbar";
        paneToolbar.Direction   = PaneDirectionEnum.North;
        paneToolbar.ControlPath = "~/CMSModules/AdminControls/Controls/Preview/PreviewNavigationButtons.ascx";
        paneToolbar.Resizable   = false;
        paneToolbar.Slidable    = false;
        paneToolbar.RenderAs    = HtmlTextWriterTag.Div;
        paneToolbar.SpacingOpen = 0;

        if (AddTitleToToolbar && (previewValue != 0))
        {
            // Add toolbar padding to show title
            paneToolbar.PaneClass = "PreviewTitlePadding";
        }

        paneToolbar.Values.Add(new UILayoutValue("PreviewURLSuffix", PreviewURLSuffix));
        paneToolbar.Values.Add(new UILayoutValue("CookiesPreviewStateName", CookiesPreviewStateName));
        paneToolbar.Values.Add(new UILayoutValue("PreviewObjectName", PreviewObjectName));
        paneToolbar.Values.Add(new UILayoutValue("DefaultAliasPath", DefaultAliasPath));
        paneToolbar.Values.Add(new UILayoutValue("DialogMode", DialogMode));
        paneToolbar.Values.Add(new UILayoutValue("IgnoreSessionValues", IgnoreSessionValues));
        paneToolbar.Values.Add(new UILayoutValue("DefaultPreviewPath", DefaultPreviewPath));

        paneContentMain.Visible  = true;
        subLayout.StopProcessing = false;

        paneFooter.SpacingOpen = 0;
        paneFooter.Values.Add(new UILayoutValue("ShowSaveButtons", ShowSaveButtons));

        // Check if inner control denied displaying preview
        CMSPreviewControl pw = paneContent.UserControl as CMSPreviewControl;

        if (pw != null)
        {
            if (!pw.ShowPreview)
            {
                previewValue = 0;
            }
        }

        switch (previewValue)
        {
        // No split
        case 0:
            subLayout.StopProcessing = true;
            paneContentMain.Visible  = false;
            paneContent.Direction    = PaneDirectionEnum.Center;

            break;

        // Vertical
        case 1:
            int additionalSize = AddTitleToToolbar ? 38 : 0;
            paneContent.SpacingOpen   = 14;
            paneContent.SpacingClosed = 14;
            paneContent.ResizerClass  = "TransformationVerticalResizer";
            paneToolbar.Values.Add(new UILayoutValue("ShowPanelSeparator", ShowPanelSeparator));


            paneToolbar.SpacingOpen = 0;
            paneToolbar.Size        = ShowPanelSeparator ? (41 + additionalSize).ToString() : (35 + additionalSize).ToString();

            layoutElem.Controls.Add(paneToolbar);
            layoutElem.Panes.Add(paneToolbar);
            paneContent.Direction = PaneDirectionEnum.West;

            break;

        // Horizontal
        case 2:
            paneToolbar.PaneClass    = "HorizontalToolbar";
            paneContent.ResizerClass = "GrayResizer";
            paneToolbar.Size         = "30";

            subLayout.Controls.Add(paneToolbar);
            subLayout.Panes.Add(paneToolbar);
            break;
        }

        if ((previewValue != 0) && !RequestHelper.IsPostBack())
        {
            RegisterFullScreen();
        }

        base.OnLoad(e);
    }
    protected override void OnLoad(EventArgs e)
    {
        ICMSMasterPage master = Page.Master as ICMSMasterPage;
        if ((master != null) && (master.FooterContainer != null))
        {
            master.FooterContainer.Visible = false;
        }

        ScriptHelper.RegisterScriptFile(Page, "Controls/CodePreview.js");

        paneToolbar = new UILayoutPane();

        PaneFooter.Visible = DisplayFooter;

        previewValue = GetPreviewStateFromCookies(CookiesPreviewStateName);
        if ((UIContext.EditedObject == null) && !AllowEmptyObject)
        {
            previewValue = 0;
        }

        // Change preview state handling
        string args = Request[Page.postEventArgumentID];
        string target = Request[Page.postEventSourceID];

        if (target == btnHidden.UniqueID)
        {
            switch (args)
            {
                case "vertical":
                    previewValue = 1;
                    break;

                case "horizontal":
                    previewValue = 2;
                    break;

                case "split":
                    previewValue = (previewValue == 0) ? 1 : 0;
                    if (previewValue != 0)
                    {
                        RegisterFullScreen();
                        PreviewInitialized = true;
                        paneToolbar.Values.Add(new UILayoutValue("PreviewInitialized", true));
                    }
                    break;
            }

            SetPreviewStateToCookies(CookiesPreviewStateName, previewValue);
            paneToolbar.Values.Add(new UILayoutValue("SetControls", true));
        }

        if (!EnablePreview)
        {
            previewValue = 0;
        }

        UILayout subLayout = PaneContentMain.FindControl("layoutElem") as UILayout;
        panePreview = subLayout.FindControl("panePreview") as UILayoutPane;

        PaneContentMain.Visible = true;
        subLayout.StopProcessing = false;

        PaneFooter.SpacingOpen = 0;

        // Check if inner control denied displaying preview
        var pw = PaneContent.UserControl as CMSPreviewControl;
        if ((pw != null) && !pw.ShowPreview)
        {
            previewValue = 0;
        }

        switch (previewValue)
        {
            // No split
            case 0:
                {
                    subLayout.StopProcessing = true;
                    PaneContentMain.Visible = false;
                    PaneContent.Direction = PaneDirectionEnum.Center;
                }
                break;

            // Vertical
            case 1:
                {
                    PaneContent.SpacingOpen = 8;
                    PaneContent.SpacingClosed = 8;
                    PaneContent.ResizerClass = "TransformationVerticalResizer";
                    paneToolbar.PaneClass = "VerticalToolbar";
                    paneToolbar.Values.Add(new UILayoutValue("ShowPanelSeparator", ShowPanelSeparator));
                    paneToolbar.SpacingOpen = 0;

                    PaneLayout.Controls.Add(paneToolbar);
                    PaneLayout.Panes.Add(paneToolbar);
                    PaneContent.Direction = PaneDirectionEnum.West;
                }
                break;

            // Horizontal
            case 2:
                {
                    paneToolbar.PaneClass = "HorizontalToolbar";

                    subLayout.Controls.Add(paneToolbar);
                    subLayout.Panes.Add(paneToolbar);
                }
                break;
        }

        // Pane toolbar
        paneToolbar.ID = "paneToolbar";
        paneToolbar.Direction = PaneDirectionEnum.North;
        paneToolbar.ControlPath = "~/CMSModules/AdminControls/Controls/Preview/PreviewNavigationButtons.ascx";
        paneToolbar.Resizable = false;
        paneToolbar.Slidable = false;
        paneToolbar.RenderAs = HtmlTextWriterTag.Div;
        paneToolbar.SpacingOpen = 0;

        paneTitle.Visible = DisplayTitlePane;

        paneToolbar.Values.Add(new UILayoutValue("PreviewURLSuffix", PreviewURLSuffix));
        paneToolbar.Values.Add(new UILayoutValue("CookiesPreviewStateName", CookiesPreviewStateName));
        paneToolbar.Values.Add(new UILayoutValue("PreviewObjectName", PreviewObjectName));
        paneToolbar.Values.Add(new UILayoutValue("DefaultAliasPath", DefaultAliasPath));
        paneToolbar.Values.Add(new UILayoutValue("DialogMode", DialogMode));
        paneToolbar.Values.Add(new UILayoutValue("IgnoreSessionValues", IgnoreSessionValues));
        paneToolbar.Values.Add(new UILayoutValue("DefaultPreviewPath", DefaultPreviewPath));

        if (PaneContent.UserControl != null)
        {
            PaneContent.UserControl.SetValue("DialogMode", DialogMode);
        }

        if (previewValue != 0)
        {
            if (pw != null)
            {
                pw.IsInPreview = true;
            }

            ScriptHelper.HideVerticalTabs(Page);

            if (!RequestHelper.IsPostBack())
            {
                RegisterFullScreen();
            }
        }

        base.OnLoad(e);
    }
    protected override void OnLoad(EventArgs e)
    {
        // This loads the user control itself. User control then sets the UIContext.EditedObject value.
        var previewControl = PaneContent.UserControl as CMSPreviewControl;

        ICMSMasterPage master = Page.Master as ICMSMasterPage;

        if ((master != null) && (master.FooterContainer != null))
        {
            master.FooterContainer.Visible = false;
        }

        ScriptHelper.RegisterScriptFile(Page, "Controls/CodePreview.js");

        paneToolbar = new UILayoutPane();

        PaneFooter.Visible = DisplayFooter;

        previewValue = GetPreviewStateFromCookies(CookiesPreviewStateName);
        if ((UIContext.EditedObject == null) && !AllowEmptyObject)
        {
            previewValue = 0;
        }

        // Change preview state handling
        string args   = Request[Page.postEventArgumentID];
        string target = Request[Page.postEventSourceID];

        if (target == btnHidden.UniqueID)
        {
            switch (args)
            {
            case "vertical":
                previewValue = 1;
                break;

            case "horizontal":
                previewValue = 2;
                break;

            case "split":
                previewValue = (previewValue == 0) ? 1 : 0;
                if (previewValue != 0)
                {
                    RegisterFullScreen();
                    PreviewInitialized = true;
                    paneToolbar.Values.Add(new UILayoutValue("PreviewInitialized", true));
                }
                break;
            }

            SetPreviewStateToCookies(CookiesPreviewStateName, previewValue);
            paneToolbar.Values.Add(new UILayoutValue("SetControls", true));
        }

        if (!EnablePreview)
        {
            previewValue = 0;
        }

        UILayout subLayout = PaneContentMain.FindControl("layoutElem") as UILayout;

        panePreview = subLayout.FindControl("panePreview") as UILayoutPane;

        PaneContentMain.Visible  = true;
        subLayout.StopProcessing = false;

        PaneFooter.SpacingOpen = 0;

        // Check if inner control denied displaying preview
        if ((previewControl != null) && !previewControl.ShowPreview)
        {
            previewValue = 0;
        }

        switch (previewValue)
        {
        // No split
        case 0:
        {
            subLayout.StopProcessing = true;
            PaneContentMain.Visible  = false;
            PaneContent.Direction    = PaneDirectionEnum.Center;
        }
        break;

        // Vertical
        case 1:
        {
            PaneContent.SpacingOpen   = 8;
            PaneContent.SpacingClosed = 8;
            PaneContent.ResizerClass  = "TransformationVerticalResizer";
            paneToolbar.PaneClass     = "VerticalToolbar";
            paneToolbar.Values.Add(new UILayoutValue("ShowPanelSeparator", ShowPanelSeparator));
            paneToolbar.SpacingOpen = 0;

            PaneLayout.Controls.Add(paneToolbar);
            PaneLayout.Panes.Add(paneToolbar);
            PaneContent.Direction = PaneDirectionEnum.West;
        }
        break;

        // Horizontal
        case 2:
        {
            paneToolbar.PaneClass = "HorizontalToolbar";

            subLayout.Controls.Add(paneToolbar);
            subLayout.Panes.Add(paneToolbar);
        }
        break;
        }

        // Pane toolbar
        paneToolbar.ID          = "paneToolbar";
        paneToolbar.Direction   = PaneDirectionEnum.North;
        paneToolbar.ControlPath = "~/CMSModules/AdminControls/Controls/Preview/PreviewNavigationButtons.ascx";
        paneToolbar.Resizable   = false;
        paneToolbar.Slidable    = false;
        paneToolbar.RenderAs    = HtmlTextWriterTag.Div;
        paneToolbar.SpacingOpen = 0;

        paneTitle.Visible = DisplayTitlePane;

        paneToolbar.Values.Add(new UILayoutValue("PreviewURLSuffix", PreviewURLSuffix));
        paneToolbar.Values.Add(new UILayoutValue("CookiesPreviewStateName", CookiesPreviewStateName));
        paneToolbar.Values.Add(new UILayoutValue("PreviewObjectName", PreviewObjectName));
        paneToolbar.Values.Add(new UILayoutValue("DefaultAliasPath", DefaultAliasPath));
        paneToolbar.Values.Add(new UILayoutValue("DialogMode", DialogMode));
        paneToolbar.Values.Add(new UILayoutValue("IgnoreSessionValues", IgnoreSessionValues));
        paneToolbar.Values.Add(new UILayoutValue("DefaultPreviewPath", DefaultPreviewPath));

        if (PaneContent.UserControl != null)
        {
            PaneContent.UserControl.SetValue("DialogMode", DialogMode);
        }


        if (previewValue != 0)
        {
            ScriptHelper.HideVerticalTabs(Page);

            if (!RequestHelper.IsPostBack())
            {
                RegisterFullScreen();
            }
        }

        base.OnLoad(e);
    }
    protected override void OnLoad(EventArgs e)
    {
        ICMSMasterPage master = Page.Master as ICMSMasterPage;
        if ((master != null) && (master.FooterContainer != null))
        {
            master.FooterContainer.Visible = false;
        }

        ScriptHelper.RegisterScriptFile(Page, "Controls/CodePreview.js");

        imgProgress.ImageUrl = GetImageUrl("/Design/Preloaders/preload16.gif");
        paneToolbar = new UILayoutPane();

        if (!DialogMode)
        {
            paneFooter.Visible = false;
        }

        previewValue = GetPreviewStateFromCookies(CookiesPreviewStateName);
        if (CMSContext.EditedObject == null)
        {
            previewValue = 0;
        }

        // Change preview state handling
        string args = Request["__EVENTARGUMENT"];
        string target = Request["__EVENTTARGET"];

        if (target == btnHidden.UniqueID)
        {
            switch (args)
            {
                case "vertical":
                    previewValue = 1;
                    break;

                case "horizontal":
                    previewValue = 2;
                    break;

                case "split":
                    previewValue = (previewValue == 0) ? 1 : 0;
                    if (previewValue != 0)
                    {
                        RegisterFullScreen();
                        PreviewInitialized = true;
                        paneToolbar.Values.Add(new UILayoutValue("PreviewInitialized", true));
                    }
                    break;
            }

            SetPreviewStateToCookies(CookiesPreviewStateName, previewValue);
            paneToolbar.Values.Add(new UILayoutValue("SetControls", true));
        }

        UILayout subLayout = paneContentMain.FindControl("layoutElem") as UILayout;
        panePreview = subLayout.FindControl("panePreview") as UILayoutPane;

        // Pane toolbar
        paneToolbar.ID = "paneToolbar";
        paneToolbar.Direction = PaneDirectionEnum.North;
        paneToolbar.ControlPath = "~/CMSModules/AdminControls/Controls/Preview/PreviewNavigationButtons.ascx";
        paneToolbar.Resizable = false;
        paneToolbar.Slidable = false;
        paneToolbar.RenderAs = HtmlTextWriterTag.Div;
        paneToolbar.SpacingOpen = 0;

        if (AddTitleToToolbar && (previewValue != 0))
        {
            // Add toolbar padding to show title
            paneToolbar.PaneClass = "PreviewTitlePadding";
        }

        paneToolbar.Values.Add(new UILayoutValue("PreviewURLSuffix", PreviewURLSuffix));
        paneToolbar.Values.Add(new UILayoutValue("CookiesPreviewStateName", CookiesPreviewStateName));
        paneToolbar.Values.Add(new UILayoutValue("PreviewObjectName", PreviewObjectName));
        paneToolbar.Values.Add(new UILayoutValue("DefaultAliasPath", DefaultAliasPath));
        paneToolbar.Values.Add(new UILayoutValue("DialogMode", DialogMode));
        paneToolbar.Values.Add(new UILayoutValue("IgnoreSessionValues", IgnoreSessionValues));
        paneToolbar.Values.Add(new UILayoutValue("DefaultPreviewPath", DefaultPreviewPath));

        paneContentMain.Visible = true;
        subLayout.StopProcessing = false;

        paneFooter.SpacingOpen = 0;
        paneFooter.Values.Add(new UILayoutValue("ShowSaveButtons", ShowSaveButtons));

        // Check if inner control denied displaying preview
        CMSPreviewControl pw = paneContent.UserControl as CMSPreviewControl;
        if (pw != null)
        {
            if (!pw.ShowPreview)
            {
                previewValue = 0;
            }
        }

        switch (previewValue)
        {
            // No split
            case 0:
                subLayout.StopProcessing = true;
                paneContentMain.Visible = false;
                paneContent.Direction = PaneDirectionEnum.Center;

                break;

            // Vertical
            case 1:
                int additionalSize = AddTitleToToolbar ? 38 : 0;
                paneContent.SpacingOpen = 14;
                paneContent.SpacingClosed = 14;
                paneContent.ResizerClass = "TransformationVerticalResizer";
                paneToolbar.Values.Add(new UILayoutValue("ShowPanelSeparator", ShowPanelSeparator));

                paneToolbar.SpacingOpen = 0;
                paneToolbar.Size = ShowPanelSeparator ? (41 + additionalSize).ToString() : (35 + additionalSize).ToString();

                layoutElem.Controls.Add(paneToolbar);
                layoutElem.Panes.Add(paneToolbar);
                paneContent.Direction = PaneDirectionEnum.West;

                break;

            // Horizontal
            case 2:
                paneToolbar.PaneClass = "HorizontalToolbar";
                paneContent.ResizerClass = "GrayResizer";
                paneToolbar.Size = "30";

                subLayout.Controls.Add(paneToolbar);
                subLayout.Panes.Add(paneToolbar);
                break;
        }

        if ((previewValue != 0) && !RequestHelper.IsPostBack())
        {
            RegisterFullScreen();
        }

        base.OnLoad(e);
    }