/// <summary>
        /// Renders the contents of the control to the specified writer.
        /// </summary>
        /// <param name="writer">A <see cref="HtmlTextWriter"/> that represents the output stream to render HTML content on the client.</param>
        protected override void RenderContents(HtmlTextWriter writer)
        {
            // render title
            string title = this.Title;

            if (!string.IsNullOrEmpty(title))
            {
                writer.Write(title);
            }

            // render navigation container
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.RenderBeginTag(HtmlTextWriterTag.Ul);

            // render IDR
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "documentationRequest");
            writer.RenderBeginTag(HtmlTextWriterTag.Li);
            writer.AddAttribute(HtmlTextWriterAttribute.Href, PageUrlManager.GetPostElectionAuditReportUrl(AuditReportType.InitialDocumentationRequest));
            writer.AddAttribute(HtmlTextWriterAttribute.Title, this.IdrTitle);
            writer.RenderBeginTag(HtmlTextWriterTag.A);
            writer.AddAttribute(HtmlTextWriterAttribute.Src, this.ResolveUrl(this.SelectedReportType == AuditReportType.InitialDocumentationRequest ? this.IdrOnImageUrl : this.IdrOffImageUrl));
            writer.AddAttribute(HtmlTextWriterAttribute.Alt, this.IdrTitle);
            writer.RenderBeginTag(HtmlTextWriterTag.Img);
            writer.RenderEndTag();
            writer.RenderEndTag();
            writer.RenderEndTag();

            // render DAR
            bool enableTab = this.DarPresent || this.DarTollingPresent;

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "draftAuditReport");
            writer.RenderBeginTag(HtmlTextWriterTag.Li);
            if (enableTab)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Href, PageUrlManager.GetPostElectionAuditReportUrl(AuditReportType.DraftAuditReport));
                writer.AddAttribute(HtmlTextWriterAttribute.Title, this.DarTitle);
                writer.RenderBeginTag(HtmlTextWriterTag.A);
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Src, this.ResolveUrl(!enableTab ? this.DarDisabledImageUrl : this.SelectedReportType == AuditReportType.DraftAuditReport ? this.DarOnImageUrl : this.DarOffImageUrl));
            writer.AddAttribute(HtmlTextWriterAttribute.Alt, this.DarTitle);
            writer.RenderBeginTag(HtmlTextWriterTag.Img);
            writer.RenderEndTag();
            if (enableTab)
            {
                writer.RenderEndTag();
            }
            writer.RenderEndTag();

            // render FAR
            enableTab = this.FarPresent || this.FarTollingPresent;
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "finalAuditReport");
            writer.RenderBeginTag(HtmlTextWriterTag.Li);
            if (enableTab)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Href, PageUrlManager.GetPostElectionAuditReportUrl(AuditReportType.FinalAuditReport));
                writer.AddAttribute(HtmlTextWriterAttribute.Title, this.FarTitle);
                writer.RenderBeginTag(HtmlTextWriterTag.A);
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Src, this.ResolveUrl(!enableTab ? this.FarDisabledImageUrl : this.SelectedReportType == AuditReportType.FinalAuditReport ? this.FarOnImageUrl : this.FarOffImageUrl));
            writer.AddAttribute(HtmlTextWriterAttribute.Alt, this.FarTitle);
            writer.RenderBeginTag(HtmlTextWriterTag.Img);
            writer.RenderEndTag();
            if (enableTab)
            {
                writer.RenderEndTag();
            }
            writer.RenderEndTag();

            // end render navigation container
            writer.RenderEndTag();
            writer.RenderEndTag();
        }