/// <summary>
    /// OnDataSource chaged handler.
    /// </summary>
    private void pagerElem_OnDataSourceChanged(object sender, EventArgs e)
    {
        if (QueryHelper.Contains("imagepath"))
        {
            string path = QueryHelper.GetString("imagepath", "");

            PagingMode            = PagingModeTypeEnum.QueryString;
            PagerControl.PageSize = 1;
            int currentPage = PagerControl.GetItemPage("NodeAliasPath = '" + SqlHelper.EscapeQuotes(path) + "'");
            PagerControl.CurrentPage     = currentPage;
            PagerControl.Visible         = false;
            lstImages.TransformationName = DetailTransformation;

            plcNavigation.Visible = true;

            lnkNext.Text = GetString("general.Next");
            DataRow nextItem = PagerControl.GetItemDataRow(currentPage);
            if (nextItem != null)
            {
                lnkNext.NavigateUrl = URLHelper.AddParameterToUrl(RequestContext.CurrentURL, "imagepath", (string)nextItem["NodeAliasPath"]);
            }

            lnkPrevious.Text = GetString("ImageGallery.Previous");
            DataRow prevItem = PagerControl.GetItemDataRow(currentPage - 2);
            if (prevItem != null)
            {
                lnkPrevious.NavigateUrl = URLHelper.AddParameterToUrl(RequestContext.CurrentURL, "imagepath", (string)prevItem["NodeAliasPath"]);
            }

            lnkThumbnails.Text        = GetString("ImageGallery.Thumbnails");
            lnkThumbnails.NavigateUrl = URLHelper.RemoveParameterFromUrl(RequestContext.CurrentURL, "imagepath");

            ltlScript.Text += ScriptHelper.GetScript("var drpElem = document.getElementById('" + drpImages.ClientID + "');");
            // Prepare the images dropdown list
            drpImages.Attributes.Add("onchange", "ChangeImage();");
            drpImages.Items.Clear();
            int      index  = 1;
            DataView images = (DataView)PagerControl.DataSource;
            foreach (DataRow dr in images.Table.Rows)
            {
                string url = URLHelper.AddParameterToUrl(RequestContext.CurrentURL, "imagepath", (string)dr["NodeAliasPath"]);
                drpImages.Items.Add(new ListItem(index.ToString(), url));
                index++;
            }
            drpImages.SelectedIndex = currentPage - 1;
            lblOf.Text    = GetString("ImageGallery.Of");
            lblTotal.Text = images.Table.Rows.Count.ToString();
        }
    }