public int DataBind2()
    {
        HttpCookie cookie = Request.Cookies["BrowserDate"];

        DateTime isn = DateTime.Now;

        DateTime.TryParse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":"), out isn);
        DateTime isNow = isn;
        Data dat = new Data(isn);
        Hashtable hash = new Hashtable();
        int countInHash = 0;

        string featureDate = isNow.Month.ToString() +"/"+isNow.Day.ToString()+"/"+isNow.Year.ToString();

        if (eventsDS != null)
        {
            try
            {
                if (Request.QueryString["page"] != null)
                {
                    //Clear();

                    int eventCount = 0;
                    if (eventsDS.Tables.Count > 0)
                        eventCount = eventsDS.Tables[0].Rows.Count;

                    ArrayList a = new ArrayList(eventCount);

                    int searchTo = eventCount;

                    if (dat.SearchCutOffNumber < eventCount)
                    {
                        searchTo = dat.SearchCutOffNumber;
                    }

                    DataView dv = new DataView(eventsDS.Tables[0], "", "", DataViewRowState.CurrentRows);

                    DataView dvEvent;

                    int lastPage = dv.Count / num_of_pages;

                    int pageNum = int.Parse(Request.QueryString["page"].ToString());

                    if(pageNum > lastPage )
                    {
                        pageNum = lastPage;
                    }
                    char[] delim = { '?' };

                    string url = Request.Url.AbsoluteUri;
                    string[] tokens = url.Split(delim);
                    url = tokens[0];
                    //Add prev and next buttons
                    Label next;
                    if (pageNum == 1 && pageNum != lastPage)
                    {
                        next = new Label();
                        next.Text = "<a class=\"NavyLink\" href=\"" + url + "?page=" + (pageNum +
                            1).ToString() + "\">Next ></a>";

                        SearchElementsPanel.Controls.Add(next);
                    }
                    else if (pageNum == lastPage && pageNum != 1)
                    {
                        next = new Label();
                        next.Text = "<a class=\"NavyLink\" href=\"" + url + "?page=" + (pageNum -
                            1).ToString() + "\">< Prev</a>";

                        SearchElementsPanel.Controls.Add(next);
                    }
                    else
                    {
                        next = new Label();
                        next.Text = "<a class=\"NavyLink\" href=\"" + url + "?page=" + (pageNum -
                            1).ToString() + "\">< Prev</a>";

                        SearchElementsPanel.Controls.Add(next);

                        next = new Label();
                        next.Text = "<a class=\"NavyLink\" href=\"" + url + "?page=" + (pageNum +
                            1).ToString() + "\">Next ></a>";

                        SearchElementsPanel.Controls.Add(next);
                    }

                    int startIndex = (pageNum - 1) * num_of_pages;
                    int endIndex = pageNum * num_of_pages;
                    if (endIndex > dv.Count)
                        endIndex = dv.Count;

                    if (Request.Url.AbsolutePath.ToLower() == "/eventsearch.aspx")
                    {
                        dv.Sort = "colOrder ASC";
                    }
                    else if (Request.Url.AbsolutePath.ToLower() == "/eventcategorysearch.aspx")
                    {
                    }
                    else if (Request.Url.AbsolutePath.ToLower() == "/friend.aspx")
                    {
                    }
                    int mapCount = 0;

                    bool isEvent = true;
                    DateTime dateOfEvent;

                    for (int i = startIndex; i < endIndex; i++)
                    {
                        try
                        {
                            ASP.controls_searchelement_ascx searchElement = new ASP.controls_searchelement_ascx();

                            if (dv.Table.Columns.Contains("Type"))
                            {
                                if (dv[i]["Type"].ToString() == "V")
                                    isEvent = false;
                                else
                                    isEvent = true;
                            }
                            else
                            {
                                isEvent = true;
                            }

                            if (isEvent)
                            {
                                dvEvent = dat.GetDataDV("SELECT *, EO.ID AS ReoccurrID FROM Events E, Event_Occurance EO WHERE E.ID=EO.EventID AND E.ID=" + dv[i]["EID"].ToString());

                                if (bool.Parse(dvEvent[0]["Featured"].ToString()))
                                {
                                    if (dvEvent[0]["DaysFeatured"].ToString().Contains(";" + featureDate + ";"))
                                        searchElement.IS_FEATURED = true;
                                    else
                                        searchElement.IS_FEATURED = false;
                                }
                                else
                                {
                                    searchElement.IS_FEATURED = false;
                                }

                                searchElement.NUM_OF_ALL_RESULTS = countOfUniqueVenues;
                                searchElement.SEARCH_LABEL = dv[i]["Header"].ToString();

                                string toolTipID = "";

                                searchElement.VENUE_LABEL = dv[i]["Name"].ToString();
                                searchElement.EVENT_ID = int.Parse(dv[i]["EID"].ToString());
                                searchElement.IS_WINDOW = false;

                                if (doMap)
                                {
                                    searchElement.SEARCH_MAP_NUM = dv[i]["SearchNum"].ToString();
                                }

                                if (isEvent)
                                {
                                    dateOfEvent = DateTime.Parse(dv[i]["DateTimeStart"].ToString());
                                    searchElement.DATE_LABEL = dateOfEvent.DayOfWeek.ToString().Substring(0, 3) +
                                        " " + dv[i]["DateTimeStart"].ToString().Replace(":00",
                                        "").Trim().Replace(" PM", "p").Replace(" AM", "a").Replace("/" + dateOfEvent.Year.ToString(), "");
                                    toolTipID = "False" + dv[i]["EID"].ToString() + dv[i]["ReoccurrID"].ToString();
                                }

                                if (dv.Count > 1)
                                    searchElement.DATE_LABEL += "+";

                                if (dv[i]["VID"].ToString() != "NONE")
                                    searchElement.VENUE_ID = int.Parse(dv[i]["VID"].ToString());

                                searchElement.TOOL_TIP_ID = toolTipID;

                                if (isConnectTo)
                                {
                                    searchElement.IS_CONNECT_TO = bool.Parse(dv[i]["isConnect"].ToString());
                                    searchElement.WIDTH = 417;
                                }
                            }
                            else
                            {
                                dvEvent = dat.GetDataDV("SELECT * FROM Venues E WHERE E.ID=" + dv[i]["VID"].ToString());

                                if (bool.Parse(dvEvent[0]["Featured"].ToString()))
                                {
                                    if (dvEvent[0]["DaysFeatured"].ToString().Contains(";" + featureDate + ";"))
                                        searchElement.IS_FEATURED = true;
                                    else
                                        searchElement.IS_FEATURED = false;
                                }
                                else
                                {
                                    searchElement.IS_FEATURED = false;
                                }

                                searchElement.NUM_OF_ALL_RESULTS = countOfUniqueVenues;
                                searchElement.SEARCH_LABEL = dv[i]["Header"].ToString();

                                string toolTipID = "";

                                searchElement.DATE_LABEL = "";
                                searchElement.VENUE_LABEL = dv[i]["Name"].ToString();
                                searchElement.VENUE_ID = int.Parse(dv[i]["VID"].ToString());
                                searchElement.IS_WINDOW = false;
                                searchElement.IS_VENUE = true;

                                if (doMap)
                                {
                                    searchElement.SEARCH_MAP_NUM = dv[i]["SearchNum"].ToString();
                                }

                                toolTipID = "False" + dv[i]["VID"].ToString();
                                searchElement.TOOL_TIP_ID = toolTipID;
                            }
                            searchElement.COLOR = "#ebe7e7";

                            SearchElementsPanel.Controls.Add(searchElement);
                        }
                        catch (Exception ex)
                        {
                            Label lab = new Label();
                            lab.Text = ex.ToString();
                            SearchElementsPanel.Controls.Add(lab);
                        }

                    }
                }
                else
                {

                }

            }
            catch (Exception ex)
            {
                ErrorLabel.Text = ex.ToString();
            }
        }
        return countInHash;
    }
    public int DataBind2()
    {
        HttpCookie cookie = Request.Cookies["BrowserDate"];
        Data dat = new Data(DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")));
        Hashtable hash = new Hashtable();
                        int countInHash = 0;

        if (eventsDS != null)
        {
            try
            {
                Clear();
                int eventCount = 0;
                if (eventsDS.Tables.Count > 0)
                    eventCount = eventsDS.Tables[0].Rows.Count;

                ArrayList a = new ArrayList(eventCount);

                int searchTo = eventCount;

                if (dat.SearchCutOffNumber < eventCount)
                {
                    searchTo = dat.SearchCutOffNumber;
                }

                DataView dv = new DataView(eventsDS.Tables[0], "", "", DataViewRowState.CurrentRows);
                if (Session["sortString"] != null)
                {
                    if (Session["sortString"] != "")
                    {
                        dv.Sort = Session["sortString"].ToString();
                        sortString = Session["sortString"].ToString();
                    }
                }
                int countGotten = 0;
                int i = 0;

                Hashtable actualHash = new Hashtable();
                while (countInHash < searchTo && i < dv.Count)
                {
                    if (!hash.Contains(dv[i]["HashID"].ToString()))
                    {
                        hash.Add(dv[i]["HashID"].ToString(), "");
                        actualHash.Add(countInHash, dv[i]["HashID"].ToString());
                        countInHash++;
                    }
                    i++;
                }

                int somecount = 0;

                ASP.controls_pager_test_ascx pagerPanel = new ASP.controls_pager_test_ascx();

                pagerPanel.NUMBER_OF_ITEMS_PER_PAGE = num_of_pages;
                pagerPanel.ID = "PagerPanel";
                if (Request.Url.AbsolutePath.ToLower() == "/searchresults.aspx")
                {
                    pagerPanel.RUN_FUNCTION = "initialize";
                    pagerPanel.PANEL_NAME = "EventSearchElements_PagerPanel_Panel";
                }
                else if (Request.Url.AbsolutePath.ToLower() == "/eventcategorysearch.aspx")
                {
                    pagerPanel.PANEL_NAME = "ctl00_ContentPlaceHolder1_SearchElements_PagerPanel_Panel";
                }
                else  if (Request.Url.AbsolutePath.ToLower() == "/Friend.aspx")
                {
                    pagerPanel.PANEL_NAME = "ctl00_ContentPlaceHolder1_EventsCtrl_PagerPanel_Panel";
                }
                int mapCount = 0;

                if (countInHash > theCutOff)
                    countInHash = theCutOff;

                for (int j = 0; j < countInHash;j++ )
                {
                    try
                    {
                        string str = actualHash[j].ToString();
                        dv.RowFilter = "HashID = '" + str + "'";
                        ASP.controls_searchelement_ascx searchElement = new ASP.controls_searchelement_ascx();

                        //if (j % num_of_pages == 0)
                        //{
                        //    if (mapStrings != null)
                        //    {
                        //        searchElement.IMAGE_LITERAL += mapStrings[mapCount];
                        //        mapCount++;
                        //    }
                        //}

                        if (doCalendar)
                        {
                            searchElement.CALENDAR_LETTER = dv[0]["CalendarNum"].ToString();
                        }
                        searchElement.NUM_OF_ALL_RESULTS = countOfUniqueVenues;
                        searchElement.SEARCH_LABEL = dv[0]["Header"].ToString();

                        string toolTipID = "";
                        if (bool.Parse(dv[0]["isGroup"].ToString()))
                        {
                            searchElement.EVENT_ID = int.Parse(dv[0]["EID"].ToString());
                            searchElement.IS_GROUP = true;
                            searchElement.IS_WINDOW = windowT;

                            toolTipID = "True" + dv[0]["EID"].ToString() + dv[0]["ReoccurrID"].ToString();

                            if (doMap)
                            {
                                searchElement.SEARCH_MAP_NUM = dv[0]["SearchNum"].ToString();
                            }

                            foreach (DataRowView row in dv)
                            {
                                searchElement.DATE_LABEL += row["DateTimeStart"].ToString() +
                                    "<span style='font-family: Arial; font-size: 14px; font-weight: bold; color: #1fb6e7;'>, </span>";
                            }

                            DataView dvEventOccurance = dat.GetDataDV("SELECT * FROM GroupEvent_Occurance WHERE GroupEventID=" +
                                dv[0]["EID"].ToString() + " AND ID=" + dv[0]["ReoccurrID"].ToString());
                            DataView dvGroupEvent = dat.GetDataDV("SELECT * FROM GroupEvents WHERE ID=" + dv[0]["EID"].ToString());
                            bool getAddress = false;
                            if (dvEventOccurance[0]["VenueID"] != null)
                            {
                                if (dvEventOccurance[0]["VenueID"].ToString() != "")
                                {
                                    DataView dvVenue = dat.GetDataDV("SELECT * FROM Venues WHERE ID=" + dvEventOccurance[0]["VenueID"].ToString());
                                    searchElement.VENUE_LABEL = dvVenue[0]["Name"].ToString();
                                    searchElement.VENUE_ID = int.Parse(dvVenue[0]["ID"].ToString());
                                }
                                else
                                    getAddress = true;
                            }
                            else
                                getAddress = true;

                            if (getAddress)
                            {
                                bool isInter = false;
                                if (dvEventOccurance[0]["Country"].ToString() != "223")
                                    isInter = true;
                                string address = "";
                                if (dvEventOccurance[0]["Country"].ToString() == "223")
                                {
                                    address = dvEventOccurance[0]["StreetNumber"].ToString() + " " + dvEventOccurance[0]["StreetName"].ToString() +
                                        " " + dvEventOccurance[0]["StreetDrop"].ToString();
                                }
                                else
                                {
                                    address = dvEventOccurance[0]["Location"].ToString();
                                }
                                searchElement.ADDRESS = address;
                            }
                        }
                        else
                        {
                            searchElement.VENUE_LABEL = dv[0]["Name"].ToString();
                            searchElement.NUM_LABEL = ", " + dv[0]["EventGoersCount"].ToString() +
                                " Peeps attending";
                            searchElement.EVENT_ID = int.Parse(dv[0]["EID"].ToString());
                            searchElement.IS_WINDOW = windowT;

                            toolTipID = "False" + dv[0]["EID"].ToString() + dv[0]["ReoccurrID"].ToString();

                            if (doMap)
                            {
                                searchElement.SEARCH_MAP_NUM = dv[0]["SearchNum"].ToString();
                            }

                            foreach (DataRowView row in dv)
                            {
                                searchElement.DATE_LABEL += row["DateTimeStart"].ToString() +
                                    "<span style='font-family: Arial; font-size: 14px; font-weight: bold; color: #1fb6e7;'>, </span>";
                            }

                            searchElement.VENUE_ID = int.Parse(dv[0]["VID"].ToString());
                        }

                        searchElement.TOOL_TIP_ID = toolTipID;

                        if (isConnectTo)
                        {
                            searchElement.IS_CONNECT_TO = bool.Parse(dv[0]["isConnect"].ToString());
                            searchElement.WIDTH = 417;
                        }

                        if (somecount % 2 != 0)
                            searchElement.COLOR = "#1b1b1b";

                        somecount++;
                        a.Add(searchElement);

                        //pagerPanel.Add(searchElement);
                    }
                    catch (Exception ex)
                    {
                        Label lab = new Label();
                        lab.Text = ex.ToString();
                        a.Add(lab);
                    }

                }

                pagerPanel.DATA = a;
                pagerPanel.WIDTH = 420;
                pagerPanel.DataBind2();
                SearchElementsPanel.Controls.Add(pagerPanel);
            }
            catch (Exception ex)
            {
                ErrorLabel.Text = ex.ToString();
            }
        }
        return countInHash;
    }
    public int DataBind2()
    {
        HttpCookie cookie = Request.Cookies["BrowserDate"];

        DateTime isn = DateTime.Now;

        DateTime.TryParse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":"), out isn);
        DateTime isNow = isn;
        Data dat = new Data(isn);
        Hashtable hash = new Hashtable();
        int countInHash = 0;

        string featureDate = isNow.Month.ToString() +"/"+isNow.Day.ToString()+"/"+isNow.Year.ToString();

        if (eventsDS != null)
        {
            try
            {
                Clear();
                int eventCount = 0;
                if (eventsDS.Tables.Count > 0)
                    eventCount = eventsDS.Tables[0].Rows.Count;

                ArrayList a = new ArrayList(eventCount);

                int searchTo = eventCount;

                if (dat.SearchCutOffNumber < eventCount)
                {
                    searchTo = dat.SearchCutOffNumber;
                }

                DataView dv = new DataView(eventsDS.Tables[0], "", "", DataViewRowState.CurrentRows);

                DataView dvEvent;

                int countGotten = 0;
                int i = 0;

                ASP.controls_pager_ascx pagerPanel = new ASP.controls_pager_ascx();

                pagerPanel.NUMBER_OF_ITEMS_PER_PAGE = num_of_pages;

                if (Request.Url.AbsolutePath.ToLower() == "/eventsearch.aspx")
                {
                    pagerPanel.ID = "PagerPanel";
                    pagerPanel.RUN_FUNCTION = "initialize";
                    dv.Sort = "colOrder ASC";
                }
                else if (Request.Url.AbsolutePath.ToLower() == "/eventcategorysearch.aspx")
                {
                    pagerPanel.PANEL_NAME = "ctl00_ContentPlaceHolder1_SearchElements_PagerPanel_Panel";
                }
                else  if (Request.Url.AbsolutePath.ToLower() == "/friend.aspx")
                {
                    pagerPanel.ID = "PagerPanel";
                    pagerPanel.PANEL_NAME = "ctl00_ContentPlaceHolder1_EventsCtrl_PagerPanel_Panel";
                }
                int mapCount = 0;

                bool isEvent = true;
                DateTime dateOfEvent;
                foreach(DataRowView row in dv)
                {
                    if (countGotten < searchTo)
                    {
                        try
                        {
                            ASP.controls_searchelement_ascx searchElement = new ASP.controls_searchelement_ascx();

                            if (dv.Table.Columns.Contains("Type"))
                            {
                                if (row["Type"].ToString() == "V")
                                    isEvent = false;
                                else
                                    isEvent = true;
                            }
                            else
                            {
                                isEvent = true;
                            }

                            if (isEvent)
                            {
                                dvEvent = dat.GetDataDV("SELECT *, EO.ID AS ReoccurrID FROM Events E, Event_Occurance EO WHERE E.ID=EO.EventID AND E.ID=" + row["EID"].ToString());

                                if (bool.Parse(dvEvent[0]["Featured"].ToString()))
                                {
                                    if (dvEvent[0]["DaysFeatured"].ToString().Contains(";" + featureDate + ";"))
                                        searchElement.IS_FEATURED = true;
                                    else
                                        searchElement.IS_FEATURED = false;
                                }
                                else
                                {
                                    searchElement.IS_FEATURED = false;
                                }

                                searchElement.NUM_OF_ALL_RESULTS = countOfUniqueVenues;
                                searchElement.SEARCH_LABEL = row["Header"].ToString();

                                string toolTipID = "";

                                searchElement.VENUE_LABEL = row["Name"].ToString();
                                searchElement.EVENT_ID = int.Parse(row["EID"].ToString());
                                searchElement.IS_WINDOW = false;

                                if (doMap)
                                {
                                    searchElement.SEARCH_MAP_NUM = row["SearchNum"].ToString();
                                }

                                if (isEvent)
                                {
                                    dateOfEvent = DateTime.Parse(row["DateTimeStart"].ToString());
                                    searchElement.DATE_LABEL = dateOfEvent.DayOfWeek.ToString().Substring(0, 3) +
                                        " " + row["DateTimeStart"].ToString().Replace(":00",
                                        "").Trim().Replace(" PM", "p").Replace(" AM", "a").Replace("/" + dateOfEvent.Year.ToString(), "");
                                    toolTipID = "False" + row["EID"].ToString() + row["ReoccurrID"].ToString();
                                }

                                if (dv.Count > 1)
                                    searchElement.DATE_LABEL += "+";

                                if (row["VID"].ToString() != "NONE")
                                    searchElement.VENUE_ID = int.Parse(row["VID"].ToString());

                                searchElement.TOOL_TIP_ID = toolTipID;

                                if (isConnectTo)
                                {
                                    searchElement.IS_CONNECT_TO = bool.Parse(row["isConnect"].ToString());
                                    searchElement.WIDTH = 417;
                                }
                            }
                            else
                            {
                                dvEvent = dat.GetDataDV("SELECT * FROM Venues E WHERE E.ID=" + row["VID"].ToString());

                                if (bool.Parse(dvEvent[0]["Featured"].ToString()))
                                {
                                    if (dvEvent[0]["DaysFeatured"].ToString().Contains(";" + featureDate + ";"))
                                        searchElement.IS_FEATURED = true;
                                    else
                                        searchElement.IS_FEATURED = false;
                                }
                                else
                                {
                                    searchElement.IS_FEATURED = false;
                                }

                                searchElement.NUM_OF_ALL_RESULTS = countOfUniqueVenues;
                                searchElement.SEARCH_LABEL = row["Header"].ToString();

                                string toolTipID = "";

                                searchElement.DATE_LABEL = "";
                                searchElement.VENUE_LABEL = row["Name"].ToString();
                                searchElement.VENUE_ID = int.Parse(row["VID"].ToString());
                                searchElement.IS_WINDOW = false;
                                searchElement.IS_VENUE = true;

                                if (doMap)
                                {
                                    searchElement.SEARCH_MAP_NUM = row["SearchNum"].ToString();
                                }

                                toolTipID = "False" + row["VID"].ToString();
                                searchElement.TOOL_TIP_ID = toolTipID;
                            }
                            //if (somecount % 2 != 0)
                            searchElement.COLOR = "#ebe7e7";

                            a.Add(searchElement);

                            //pagerPanel.Add(searchElement);
                            countGotten++;
                        }
                        catch (Exception ex)
                        {
                            Label lab = new Label();
                            lab.Text = ex.ToString();
                            a.Add(lab);
                        }
                    }
                    else
                    {
                        break;
                    }
                }

                SearchElementsPanel.Controls.Add(pagerPanel);
                pagerPanel.PANEL_NAME = pagerPanel.ClientID + "_Panel";
                pagerPanel.DATA = a;
                pagerPanel.WIDTH = 429;

                pagerPanel.DataBind2();
            }
            catch (Exception ex)
            {
                ErrorLabel.Text = ex.ToString();
            }
        }
        return countInHash;
    }