protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (Session["User"] == null)
            {
                if (!IsPostBack)
                {
                    HttpCookie cookie = Request.Cookies["BrowserDate"];
                    Response.Cache.SetCacheability(HttpCacheability.NoCache);

                    DateTime isn = DateTime.Now;

                    DateTime.TryParse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":"), out isn);

                    Data dat = new Data(isn);

                    if (Session["LocCity"] == null || Session["LocState"] == null || Session["LocCountry"] == null)
                    {
                        LocationLabel.Text = dat.IP2Location().Trim();
                    }
                    else
                    {
                        LocationLabel.Text = Session["LocCity"].ToString().Trim() + ", " +
                            Session["LocState"].ToString().Trim();
                    }
                }
            }
            else
            {
                NotLoggedIn.Visible = false;
            }
        }
        catch (Exception ex)
        {
            LocationLabel.Text = ex.ToString();
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        ////Page.Trace.IsEnabled = true;
        ////Page.Trace.TraceMode = TraceMode.SortByTime;

        Page.Trace.Write("Started Page Load");

        //if (Request.QueryString["page"] == null)
        //    Response.Redirect("event-search?page=1");
        Session["Searching"] = "Events";
        MessageLabel.Text = "";

        DataSet ds;
        BottomScriptLiteral.Text = "<script type=\"text/javascript\">initialize1();</script>";
        HttpCookie cookie = Request.Cookies["BrowserDate"];
        if (cookie == null)
        {
            cookie = new HttpCookie("BrowserDate");
            cookie.Value = DateTime.Now.ToString();
            cookie.Expires = DateTime.Now.AddDays(22);
            Response.Cookies.Add(cookie);
        }
        DateTime isn = DateTime.Now;

        DateTime.TryParse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":"), out isn);

        Data dat = new Data(isn);
        HtmlHead head = (HtmlHead)Page.Header;

        Literal lit = new Literal();
        lit.Text = "<script src=\"http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAAjjoxQtYNtdn3Tc17U5-jbBR2Kk_H7gXZZZniNQ8L14X1BLzkNhQjgZq1k-Pxm8FxVhUy3rfc6L9O4g\" type=\"text/javascript\"></script>";
        head.Controls.Add(lit);

        Page.Trace.Write("Before Buttons");

        #region Take Care of Buttons
        SearchButton.BUTTON_TEXT += "<img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/search.png\"/>";
        //SearchButton.BUTTON_TEXT = "<div class=\"NavyLink12UD\">Search</div>";
        SearchButton.SERVER_CLICK += SearchButton_Click;
        //TodayButton.BUTTON_TEXT = "<div><img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/TodayText.png\"/></div>";
        //TodayButton.BUTTON_TEXT = "Today";
        //TodayButton.ADD_STYLE = "width: 74%; ";
        //TomorrowButton.BUTTON_TEXT = "<div><img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/TomorrowText.png\"/></div>";
        //TomorrowButton.BUTTON_TEXT = "Tomorrow";
        //TomorrowButton.ADD_STYLE = "width: 81%; ";
        //ThisWeekButton.BUTTON_TEXT = "<div><img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/ThisWeekText.png\"/></div>";
        //ThisWeekButton.BUTTON_TEXT = "This Week";
        //ThisWeekButton.ADD_STYLE = "width: 74%; ";
        //ThisWeekendButton.BUTTON_TEXT = "<div><img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/ThisWeekendText.png\"/></div>";
        //ThisWeekendButton.BUTTON_TEXT = "This Weekend";
        //ThisWeekendButton.ADD_STYLE = "width: 81%; ";
        //ThisMonthButton.BUTTON_TEXT = "<div><img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/ThisMonth.png\"/></div>";
        //ThisMonthButton.BUTTON_TEXT = "This Month";
        //ThisMonthButton.ADD_STYLE = "width: 74%; ";
        //TodayButton.SERVER_CLICK += SetToday;
        //TomorrowButton.SERVER_CLICK += SetTomorrow;
        //ThisWeekButton.SERVER_CLICK += SetThisWeek;
        //ThisWeekendButton.SERVER_CLICK += SetThisWeekend;
        //ThisMonthButton.SERVER_CLICK += SetThisMonth;
        FilterButton.SERVER_CLICK += FilterResults;
        SmallButton1.BUTTON_TEXT += "<img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/search.png\"/>";
        SmallButton1.SERVER_CLICK += SearchButton_Click;
        #endregion

        Page.Trace.Write("After Buttons");

        ////Page.Trace.Write("Finished Initialization");

        if (!IsPostBack)
        {
            HttpCookie timeCookie = Request.Cookies["SetTime"];
            if (timeCookie != null)
            {
                timeCookie = new HttpCookie("BrowserDate");
                timeCookie.Value = "All%20Future%20Events";
                Response.Cookies.Add(timeCookie);
                TimeFrameDiv.InnerText = "All Future Events";
            }

            Session["HighestPrice"] = null;
            Session.Remove("HighestPrice");

            Session["SetVenue"] = null;
            Session.Remove("SetVenue");
            Session["SearchDS"] = null;
            Session.Remove("SearchDS");

            NumsLabel.Text = "";
            NoResultsPanel.Visible = true;
            MapPanel.Visible = false;

            TopLiteral.Text = "<script type=\"text/javascript\">function initialize1(){map = null;}</script>";
            ScriptLiteral.Text = "";

            HtmlLink lk = new HtmlLink();
            lk.Attributes.Add("rel", "canonical");
            lk.Href = "http://hippohappenings.com/event-search";
            head.Controls.AddAt(0, lk);

            //Create keyword and description meta tags
            HtmlMeta hm = new HtmlMeta();
            HtmlMeta kw = new HtmlMeta();

            kw.Name = "keywords";
            kw.Content = "local events happenings going on neighborhood local find search";

            head.Controls.AddAt(0, kw);

            hm.Name = "Description";
            hm.Content = "Find local events, happenings, going on in your neighborhood on HippoHappenings, the site which fosters communities.";
            head.Controls.AddAt(0, hm);

            lk = new HtmlLink();
            lk.Href = "http://" + Request.Url.Authority + "/event-search";
            lk.Attributes.Add("rel", "bookmark");
            head.Controls.AddAt(0, lk);

            EventTitle.Text = "<a style=\"text-decoration: none;\"  href=\"" +
                lk.Href + "\"><h1>Search Events</h1></a>";

            //Button button = (Button)dat.FindControlRecursive(this, "EventLink");
            //button.CssClass = "NavBarImageEventSelected";

            ////Page.Trace.Write("Finished not Postback");
        }
        else
        {
            if (Session["SetVenue"] != null)
            {
                char[] delim = { ';' };

                VenueDiv.InnerHtml = Session["SetVenue"].ToString().Split(delim)[1];
            }

            //if (Session["SetTime"] != null)
            //{
            //    TimeFrameDiv.InnerHtml = Session["SetTime"].ToString();
            //}
        }

        if (!IsPostBack)
        {
            ////Page.Trace.Write("Started not postback 2");
            Page.Trace.Write("Before State Country Load");
            CountryDropDown.SelectedValue = "223";

            DataSet ds3 = dat.GetData("SELECT * FROM State WHERE country_id=" + CountryDropDown.SelectedValue);

            StateDropDownPanel.Visible = true;
            StateTextBoxPanel.Visible = false;
            StateDropDown.DataSource = ds3;
            StateDropDown.DataTextField = "state_2_code";
            StateDropDown.DataValueField = "state_id";
            StateDropDown.DataBind();

            StateDropDown.Items.Insert(0, new Telerik.Web.UI.RadComboBoxItem("State", "-1"));

            StateDropDownPanel.Visible = true;
            StateTextBoxPanel.Visible = false;

            Page.Trace.Write("After State Country Load");

            DataSet ds4 = dat.GetData("SELECT CASE WHEN SUBSTRING(Name, 1, 4) = 'The' THEN SUBSTRING(Name, 5, "+
                "LEN(Name)-4) ELSE Name END AS Name1, * FROM Venues WHERE Country=" +
                CountryDropDown.SelectedValue + " AND State='" + StateDropDown.SelectedItem.Text +
                "' ORDER BY Name1 ASC");

            if (ds4.Tables.Count > 0)
                if (ds4.Tables[0].Rows.Count > 0)
                {
                    Session["LocationVenues"] = ds4;

                    fillVenues(ds4);
                }

            Page.Trace.Write("After Venues Load");

            ////Page.Trace.Write("Started Try");
            try
            {
                if (Session["User"] != null)
                {
                    ////Page.Trace.Write("Location");

                    Page.Trace.Write("Before Location Load");

                    DataView dvUser = dat.GetDataDV("SELECT CatCity, CatState, CatCountry, CatZip, Radius FROM  UserPreferences WHERE UserID=" +
                        Session["User"].ToString());
                    CountryDropDown.SelectedValue = dvUser[0]["CatCountry"].ToString();
                    ChangeState(CountryDropDown, new EventArgs());
                    if (StateTextBoxPanel.Visible)
                        StateTextBox.Text = dvUser[0]["CatState"].ToString();
                    else
                        StateDropDown.Items.FindItemByText(dvUser[0]["CatState"].ToString()).Selected = true;

                    CityTextBox.Text = dvUser[0]["CatCity"].ToString();
                    StateChanged(StateDropDown, new EventArgs());

                    Page.Trace.Write("After Location Load");

                    ////Page.Trace.Write("before zip");

                    if (dvUser[0]["CatZip"] != null)
                    {
                        if (dvUser[0]["CatZip"].ToString().Trim() != "")
                        {

                            char[] delim = { ';' };
                            string[] tokens = dvUser[0]["CatZip"].ToString().Split(delim);

                            if (tokens.Length > 1)
                            {
                                ZipTextBox.Text = tokens[1].Trim();

                                if (dvUser[0]["Radius"] != null)
                                {
                                    if (dvUser[0]["Radius"].ToString().Trim() != "")
                                    {

                                        RadiusDropDown.SelectedValue = dvUser[0]["Radius"].ToString();
                                    }
                                }
                            }
                        }
                    }
                    ////Page.Trace.Write("after zip");
                    Page.Trace.Write("AFter zip");
                }
                else
                {
                    Page.Trace.Write("before get ip");
                    if (Session["LocCountry"] == null || Session["LocState"] == null || Session["LocCity"] == null)
                    {
                        dat.IP2Location();
                    }
                    Page.Trace.Write("after get ip");
                    CountryDropDown.SelectedValue = Session["LocCountry"].ToString().Trim();
                    ChangeState(CountryDropDown, new EventArgs());
                    if (StateTextBoxPanel.Visible)
                        StateTextBox.Text = Session["LocState"].ToString().Trim();
                    else
                        StateDropDown.Items.FindItemByText(Session["LocState"].ToString().Trim()).Selected = true;

                    CityTextBox.Text = Session["LocCity"].ToString();
                    StateChanged(StateDropDown, new EventArgs());
                    Page.Trace.Write("after");
                }
                Page.Trace.Write("before search");
                Search();
                Page.Trace.Write("after search");
            }
            catch (Exception ex)
            {
                ErrorLabel.Text = ex.ToString();
            }
            ////Page.Trace.Write("Ended try");
        }
        else
        {
            if (Session["LocationVenues"] != null)
                fillVenues((DataSet)Session["LocationVenues"]);
        }

        Page.Trace.Write("Ended Page Load");
    }
    protected DataSet GetEvents(TimeFrame theEnum)
    {
        string message = "";
        try
        {
            DateTime StartDate = new DateTime();
            DateTime EndDate = new DateTime();

            HttpCookie cookie = Request.Cookies["BrowserDate"];
            if (cookie == null)
            {
                cookie = new HttpCookie("BrowserDate");
                cookie.Value = DateTime.Now.Date.ToString();
                cookie.Expires = DateTime.Now.AddDays(22);
                Response.Cookies.Add(cookie);
            }

            int totalCount = 20;

            bool fillUserData = false;

            string timeframe = "";

            DateTime isn = DateTime.Now;

            if (!DateTime.TryParse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":"), out isn))
                isn = DateTime.Now;
            DateTime itBeNow = isn;
            Data dat = new Data(isn);
            #region Get Events

            int subtraction = 0;
            string startDate = "";
            string endDate = "";

            string highestPrice = "";
            string highestText = "";
            if (theEnum == TimeFrame.HighestPrice)
            {
                highestText = " and <span class='HomeTitle'>H</span>ighest <span class='HomeTitle'>P</span>rice of $" + HighestPriceInput.Value.Replace("$", "");
                highestPrice = " AND (E.MinPrice <= " + HighestPriceInput.Value + " OR E.MinPrice is Null) ";
                theEnum = (TimeFrame)Session["HomeTimeFrame"];
            }

            #region TimeFrame
            switch (theEnum)
            {
                case TimeFrame.Beginning:
                    timeframe = " AND EO.DateTimeStart > '" + isn.Date + "' ";
                    TimeFrameLabel.Text = "<span class='HomeTitle'>F</span>eatured <span class='HomeTitle'>E</span>vents "+ highestText;
                    Session["HomeTimeFrame"] = TimeFrame.Beginning;
                    break;
                case TimeFrame.Today:
                    timeframe = " AND CONVERT(NVARCHAR,Month(EO.DateTimeStart)) + '/' + CONVERT(NVARCHAR, DAY(EO.DateTimeStart)) + " +
                        "'/' + CONVERT(NVARCHAR, YEAR(EO.DateTimeStart)) = '" + itBeNow.Month.ToString() + "/" +
                        itBeNow.Day.ToString() + "/" + itBeNow.Year.ToString() + "'  AND EO.DateTimeStart > '" + isn.Date + "' ";
                    TimeFrameLabel.Text = "<span class='HomeTitle'>F</span>eatured <span class='HomeTitle'>E</span>vents <span class='HomeTitle'>T</span>oday" + highestText;
                    Session["HomeTimeFrame"] = TimeFrame.Today;
                    break;
                case TimeFrame.Tomorrow:
                    itBeNow = itBeNow.AddDays(1.00);
                    timeframe = " AND CONVERT(NVARCHAR,Month(EO.DateTimeStart)) + '/' + CONVERT(NVARCHAR, DAY(EO.DateTimeStart)) + " +
                        "'/' + CONVERT(NVARCHAR, YEAR(EO.DateTimeStart)) = '" + itBeNow.Month.ToString() + "/" +
                        itBeNow.Day.ToString() + "/" + itBeNow.Year.ToString() + "' AND EO.DateTimeStart > '" + isn.Date + "' ";
                    TimeFrameLabel.Text = "<span class='HomeTitle'>F</span>eatured <span class='HomeTitle'>E</span>vents <span class='HomeTitle'>T</span>omorrow" + highestText;
                    Session["HomeTimeFrame"] = TimeFrame.Tomorrow;
                    break;
                case TimeFrame.ThisWeek:
                    switch (itBeNow.DayOfWeek)
                    {
                        case DayOfWeek.Friday:
                            subtraction = 5;
                            break;
                        case DayOfWeek.Monday:
                            subtraction = 1;
                            break;
                        case DayOfWeek.Saturday:
                            subtraction = 6;
                            break;
                        case DayOfWeek.Sunday:
                            subtraction = 0;
                            break;
                        case DayOfWeek.Thursday:
                            subtraction = 4;
                            break;
                        case DayOfWeek.Tuesday:
                            subtraction = 2;
                            break;
                        case DayOfWeek.Wednesday:
                            subtraction = 3;
                            break;
                        default: break;
                    }
                    startDate = itBeNow.Subtract(TimeSpan.FromDays(subtraction)).ToShortDateString();
                    endDate = itBeNow.AddDays(7.00 - subtraction).ToShortDateString();
                    timeframe = " AND (CONVERT(NVARCHAR,MONTH(EO.DateTimeStart)) + '/' + CONVERT(NVARCHAR,DAY(EO.DateTimeStart)) + '/' + CONVERT(NVARCHAR,YEAR(EO.DateTimeStart)) " +
                        " >= CONVERT(DATETIME, '" + startDate + "') AND CONVERT(NVARCHAR,MONTH(EO.DateTimeStart)) + '/' + " +
                        "CONVERT(NVARCHAR,DAY(EO.DateTimeStart)) + '/' + CONVERT(NVARCHAR,YEAR(EO.DateTimeStart)) <= CONVERT(DATETIME, '" + endDate + "')OR " +
                        "(CONVERT(NVARCHAR,MONTH(EO.DateTimeStart)) + '/' + " +
                        "CONVERT(NVARCHAR,DAY(EO.DateTimeStart)) + '/' + CONVERT(NVARCHAR,YEAR(EO.DateTimeStart)) < " +
                        "CONVERT(DATETIME, '" + startDate + "') AND CONVERT(NVARCHAR,MONTH(EO.DateTimeEnd)) + '/' + " +
                        "CONVERT(NVARCHAR,DAY(EO.DateTimeEnd)) + '/' + CONVERT(NVARCHAR,YEAR(EO.DateTimeEnd)) > CONVERT(DATETIME, '" + startDate + "'))) AND EO.DateTimeStart > '" + isn.Date + "' ";
                    TimeFrameLabel.Text = "<span class='HomeTitle'>F</span>eatured <span class='HomeTitle'>E</span>vents <span class='HomeTitle'>T</span>his <span class='HomeTitle'>W</span>eek" + highestText;
                    Session["HomeTimeFrame"] = TimeFrame.ThisWeek;
                    break;
                case TimeFrame.ThisWeekend:
                    switch (itBeNow.DayOfWeek)
                    {
                        case DayOfWeek.Friday:
                            subtraction = 0;
                            break;
                        case DayOfWeek.Monday:
                            subtraction = -4;
                            break;
                        case DayOfWeek.Saturday:
                            subtraction = 1;
                            break;
                        case DayOfWeek.Sunday:
                            subtraction = 2;
                            break;
                        case DayOfWeek.Thursday:
                            subtraction = -1;
                            break;
                        case DayOfWeek.Tuesday:
                            subtraction = -3;
                            break;
                        case DayOfWeek.Wednesday:
                            subtraction = -2;
                            break;
                        default: break;
                    }
                    startDate = itBeNow.Subtract(TimeSpan.FromDays(subtraction)).ToShortDateString();
                    endDate = itBeNow.AddDays(2 - subtraction).ToShortDateString();
                    timeframe = " AND (CONVERT(NVARCHAR,MONTH(EO.DateTimeStart)) + '/' + CONVERT(NVARCHAR,DAY(EO.DateTimeStart)) " +
                        "+ '/' + CONVERT(NVARCHAR,YEAR(EO.DateTimeStart)) " +
                        " >= CONVERT(DATETIME, '" + startDate + "') AND CONVERT(NVARCHAR,MONTH(EO.DateTimeStart)) + " +
                        "'/' + CONVERT(NVARCHAR,DAY(EO.DateTimeStart)) + '/' + CONVERT(NVARCHAR,YEAR(EO.DateTimeStart)) " +
                        "<= CONVERT(DATETIME, '" + endDate + "') OR " +
                        "(CONVERT(NVARCHAR,MONTH(EO.DateTimeStart)) + '/' + " +
                        "CONVERT(NVARCHAR,DAY(EO.DateTimeStart)) + '/' + CONVERT(NVARCHAR,YEAR(EO.DateTimeStart)) < " +
                        "CONVERT(DATETIME, '" + startDate + "') AND CONVERT(NVARCHAR,MONTH(EO.DateTimeEnd)) + '/' + " +
                        "CONVERT(NVARCHAR,DAY(EO.DateTimeEnd)) + '/' + CONVERT(NVARCHAR,YEAR(EO.DateTimeEnd)) > CONVERT(DATETIME, '" + startDate + "'))) AND EO.DateTimeStart > '" + isn.Date + "' ";
                    TimeFrameLabel.Text = "<span class='HomeTitle'>F</span>eatured <span class='HomeTitle'>E</span>vents <span class='HomeTitle'>T</span>his <span class='HomeTitle'>W</span>eekend" + highestText;
                    Session["HomeTimeFrame"] = TimeFrame.ThisWeekend;
                    break;
                case TimeFrame.ThisMonth:
                    timeframe = " AND (MONTH(EO.DateTimeStart) = '" + itBeNow.Month +
                        "' OR (EO.DateTimeStart < CONVERT(DATETIME,'" + itBeNow.Month +
                        "/"+DateTime.DaysInMonth(itBeNow.Year, itBeNow.Month).ToString()+"/" +
                        itBeNow.Year + " 23:59:59') AND EO.DateTimeEnd > CONVERT(DATETIME,'" +
                        itBeNow.Month + "/1/" + itBeNow.Year + " 00:00:00'))) AND EO.DateTimeStart > '" +
                        isn.Date + "' ";
                    TimeFrameLabel.Text = "<span class='HomeTitle'>F</span>eatured <span class='HomeTitle'>E</span>vents <span class='HomeTitle'>T</span>his <span class='HomeTitle'>M</span>onth" + highestText;
                    Session["HomeTimeFrame"] = TimeFrame.ThisMonth;
                    break;
                case TimeFrame.NextDays:
                    StartDate = itBeNow;
                    decimal theDub = 0.00M;
                    if (decimal.TryParse(NextDaysInput.Value, out theDub))
                    {

                        EndDate = itBeNow.AddDays(int.Parse(NextDaysInput.Value));

                        timeframe = " AND (CONVERT(NVARCHAR,MONTH(EO.DateTimeStart)) + '/' + CONVERT(NVARCHAR,DAY(EO.DateTimeStart)) + '/' + CONVERT(NVARCHAR,YEAR(EO.DateTimeStart)) " +
                                                " <= CONVERT(DATETIME, '" + EndDate.Month.ToString() + "/" + EndDate.Day.ToString() + "/" + EndDate.Year.ToString() + " 23:59:59') " +
                                                " AND CONVERT(NVARCHAR,MONTH(EO.DateTimeEnd)) + '/' + CONVERT(NVARCHAR,DAY(EO.DateTimeEnd)) + '/' + CONVERT(NVARCHAR,YEAR(EO.DateTimeEnd)) >= " +
                                                " CONVERT(DATETIME, '" + StartDate.Month.ToString() + "/" + StartDate.Day.ToString() + "/" + StartDate.Year.ToString() + " 00:00:00')) AND EO.DateTimeStart > '" +
                                                isn.Date + "' ";
                        TimeFrameLabel.Text = "<span class='HomeTitle'>F</span>eatured <span class='HomeTitle'>E</span>vents <span class='HomeTitle'>N</span>ext " + NextDaysInput.Value + " <span class='HomeTitle'>D</span>ays" + highestText;
                        Session["HomeTimeFrame"] = TimeFrame.NextDays;
                    }
                    else
                    {
                        TimeFrameLabel.Text = "<span class='HomeTitle'>F</span>eatured <span class='HomeTitle'>E</span>vents "+highestText;
                        timeframe = " AND EO.DateTimeStart > '" + itBeNow.Date.ToString() + "' ";
                    }
                    break;
                default: break;
            }
            #endregion

            string country = "";
            string state = "";
            string city = "";
            string countryID = "";
            string stateID = "";
            string cityID = "";
            try
            {
                if (Session["User"] != null)
                {
                    if (Session["LocCountry"] == null || Session["LocState"] == null || Session["LocCity"] == null)
                    {
                        DataSet ds1 = dat.GetData("SELECT * FROM Users U, UserPreferences UP WHERE U.User_ID=" +
                            Session["User"].ToString() + " AND U.User_ID=UP.UserID ");

                        country = ds1.Tables[0].Rows[0]["CatCountry"].ToString();
                        countryID = country;

                        state = ds1.Tables[0].Rows[0]["CatState"].ToString();
                        city = ds1.Tables[0].Rows[0]["CatCity"].ToString();
                        stateID = state;
                        cityID = city;
                    }
                    else
                    {
                        country = Session["LocCountry"].ToString().Trim();
                        state = Session["LocState"].ToString().Trim();

                        city = Session["LocCity"].ToString();
                        stateID = state;
                        cityID = city;
                    }

                    fillUserData = true;
                }
                else
                {
                    if (Session["LocCountry"] == null || Session["LocState"] == null || Session["LocCity"] == null)
                    {
                        dat.IP2Location();
                    }

                    country = Session["LocCountry"].ToString().Trim();
                    state = Session["LocState"].ToString().Trim();

                    city = Session["LocCity"].ToString();
                    stateID = state;
                    cityID = city;

                }
            }
            catch (Exception ex)
            {
                ErrorLabel.Text += ex.ToString();
            }

            DataSet ds;

            string realCountry = country;
            string tripCountry = "";
            if (country != "")
            {
                country = " AND E.Country = " + realCountry;
                tripCountry = " AND TDir.Country = " + realCountry;
            }

            string zips = "";

            if (realCountry == "223")
            {
                GetAllZipsInProximity(out zips);

                char[] delim = { ';' };
                string[] zipArray = zips.Split(delim, StringSplitOptions.RemoveEmptyEntries);

                zips = "";

                foreach (string token in zipArray)
                {
                    if (zips == "")
                        zips = " AND (";
                    else
                        zips += " OR ";
                    zips += " Zip = " + token;
                }

                zips += ")";

                //TimeFrameLabel.Text = "SELECT DISTINCT TOP " + totalCount.ToString() + " " +
                //"E.Header, EO.DateTimeStart AS StartTime, EO.DateTimeEnd AS EndTime, E.Featured, E.DaysFeatured, E.Content, E.PostedOn, EO.EventID, 'E' AS Type FROM Events E, Event_Occurance EO WHERE " +
                //"E.LIVE='True' AND E.ID=EO.EventID " + country + zips + timeframe + highestPrice +
                //"  ORDER BY E.Featured, E.PostedOn ";
                ds = dat.GetData("SELECT DISTINCT TOP " + totalCount.ToString() + " " +
                "E.Header, EO.DateTimeStart AS StartTime, EO.DateTimeEnd AS EndTime, E.Featured, E.DaysFeatured, E.Content, E.PostedOn, EO.EventID, 'E' AS Type FROM Events E, Event_Occurance EO WHERE " +
                "E.LIVE='True' AND E.ID=EO.EventID " + country + zips + timeframe + highestPrice +
                "  ORDER BY E.Featured, E.PostedOn ");

            }
            else
            {
                int c = 0;

                if (state != "")
                {

                    c++;
                }

                if (city != "")
                {

                    c++;
                }

                SqlDbType[] types = new SqlDbType[c];
                object[] data = new object[c];

                if (state != "")
                {
                    types[0] = SqlDbType.NVarChar;
                    data[0] = state;
                    state = " AND E.State=@p0 ";
                    if (city != "")
                    {
                        types[1] = SqlDbType.NVarChar;
                        data[1] = city;
                        city = " AND E.City=@p1 ";
                    }
                }
                else
                {
                    if (city != "")
                    {
                        types[0] = SqlDbType.NVarChar;
                        data[0] = city;
                        city = " AND E.City=@p0 ";
                    }
                }

                ds = dat.GetDataWithParemeters("SELECT DISTINCT TOP " + totalCount.ToString() + " " +
                "E.Header, E.Featured, EO.DateTimeStart AS StartTime, EO.DateTimeEnd AS EndTime, E.DaysFeatured, E.PostedOn, E.Content, EO.EventID, 'E' AS Type FROM Events E, Event_Occurance EO WHERE " +
                "E.LIVE='True' AND E.ID=EO.EventID " + country + state + city + timeframe + highestPrice +
                " ORDER BY E.Featured, E.PostedOn, EO.DateTimeStart", types, data);
            }

            //totalCount = totalCount - ds.Tables[0].Rows.Count;

            #endregion

            if (totalCount > 0)
            {
                #region Get Trips
                string theDate = "";
                subtraction = 0;
                startDate = "";
                endDate = "";

                string dayToday = itBeNow.Day.ToString();
                string monthTody = itBeNow.Month.ToString();
                string yearToday = itBeNow.Year.ToString();

                string dateToday = monthTody + "/" + dayToday + "/" + yearToday;

                string dayOfWeek = dat.getDayOfWeek(itBeNow.DayOfWeek);

                string timeNow = itBeNow.TimeOfDay.ToString();

                string dayStart = "";
                string dayEnd = "";
                string startMonth = "";
                string endMonth = "";
                string startYear = "";
                string endYear = "";

                string dateStart = "";
                string dateEnd = "";

                string startDayOfWeek = "";
                string endDayOfWeek = "";
                string resultsStr = "";
                string date = "";

                string highestP = "";

                if (theEnum == TimeFrame.HighestPrice)
                {
                    highestP = " AND ((E.MaxPrice <= " + HighestPriceInput.Value.Replace("$", "") +
                        ") OR (E.MaxPrice >= " + HighestPriceInput.Value.Replace("$", "") + " AND E.MinPrice <= " +
                        HighestPriceInput.Value.Replace("$", "") + ")" +
                        "OR (E.MaxPrice IS NULL AND E.MinPrice IS NULL)) ";
                }

                switch (theEnum)
                {
                    case TimeFrame.Beginning:
                        StartDate = itBeNow;
                        EndDate = itBeNow;

                        date = " AND (CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthStart)+'/'+CONVERT(NVARCHAR,TM.DayStart)" +
                            "+'/'+'" + EndDate.Year.ToString() +
                            "') <= CONVERT(DATETIME, '" + EndDate.Month.ToString() + "/" + EndDate.Day.ToString() + "/" + EndDate.Year.ToString() + " 00:00:00') "+
                            " AND CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthEnd)+'/'+CONVERT(NVARCHAR,TM.DayEnd)" +
                            "+'/'+'" + EndDate.Year.ToString() +
                            "') >= CONVERT(DATETIME, '" + EndDate.Month.ToString() + "/" + EndDate.Day.ToString() + "/" + EndDate.Year.ToString() + " 00:00:00') ) ";
                        break;
                    case TimeFrame.Today:
                        resultsStr += " Today ";
                        date = " AND (CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthStart)+'/'+CONVERT(NVARCHAR,TM.DayStart)+'/'+'" + yearToday +
                            "') <= CONVERT(DATETIME, '" + dateToday + "') AND CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthEnd) +" +
                            "'/'+CONVERT(NVARCHAR,TM.DayEnd)+'/'+'" + yearToday +
                            "') >= CONVERT(DATETIME, '" + dateToday + "') AND TDS.Days LIKE '%" + dayOfWeek +
                            "%' AND CONVERT(DATETIME, TDS.StartTime) <= CONVERT(DATETIME, '" + timeNow +
                            "') AND CONVERT(DATETIME, TDS.EndTime) >= CONVERT(DATETIME, '" + timeNow + "') )";
                        break;
                    case TimeFrame.Tomorrow:
                        itBeNow = itBeNow.AddDays(1);
                        dayToday = itBeNow.Day.ToString();
                        monthTody = itBeNow.Month.ToString();
                        yearToday = itBeNow.Year.ToString();

                        dateToday = monthTody + "/" + dayToday + "/" + yearToday;

                        dayOfWeek = dat.getDayOfWeek(itBeNow.DayOfWeek);

                        timeNow = itBeNow.TimeOfDay.ToString();

                        resultsStr += " Tomorrow ";
                        date = " AND (CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthStart)+'/'+CONVERT(NVARCHAR,TM.DayStart)+'/'+'" + yearToday +
                            "') <= CONVERT(DATETIME, '" + dateToday + "') AND CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthEnd) +" +
                            "'/'+CONVERT(NVARCHAR,TM.DayEnd)+'/'+'" + yearToday +
                            "') >= CONVERT(DATETIME, '" + dateToday + "')) AND TDS.Days LIKE '%" + dayOfWeek +
                            "%'";
                        break;
                    case TimeFrame.ThisWeekend:
                        resultsStr += " This Weekend ";
                        switch (DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).DayOfWeek)
                        {
                            case DayOfWeek.Friday:
                                subtraction = 0;
                                break;
                            case DayOfWeek.Monday:
                                subtraction = -4;
                                break;
                            case DayOfWeek.Saturday:
                                subtraction = 1;
                                break;
                            case DayOfWeek.Sunday:
                                subtraction = 2;
                                break;
                            case DayOfWeek.Thursday:
                                subtraction = -1;
                                break;
                            case DayOfWeek.Tuesday:
                                subtraction = -3;
                                break;
                            case DayOfWeek.Wednesday:
                                subtraction = -2;
                                break;
                            default: break;
                        }

                        StartDate = DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).Subtract(TimeSpan.FromDays(subtraction));
                        EndDate = DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).AddDays(2 - subtraction);

                        dayStart = StartDate.Day.ToString();
                        dayEnd = EndDate.Day.ToString();
                        startMonth = StartDate.Month.ToString();
                        endMonth = EndDate.Month.ToString();
                        startYear = StartDate.Year.ToString();
                        endYear = EndDate.Year.ToString();

                        dateStart = startMonth + "/" + dayStart + "/" + startYear;
                        dateEnd = endMonth + "/" + dayEnd + "/" + endYear;

                        startDayOfWeek = dat.getDayOfWeek(StartDate.DayOfWeek);
                        endDayOfWeek = dat.getDayOfWeek(EndDate.DayOfWeek);

                        date = " AND (CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthStart)+'/'+CONVERT(NVARCHAR,TM.DayStart)+'/'+'" + startYear +
                            "') <= CONVERT(DATETIME, '" + dateStart + "') AND CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthEnd) +" +
                            "'/'+CONVERT(NVARCHAR,TM.DayEnd)+'/'+'" + endYear +
                            "') >= CONVERT(DATETIME, '" + dateEnd + "')) AND (TDS.Days LIKE '%5%' OR TDS.Days LIKE '%6%' OR TDS.Days LIKE '%7%')";
                        break;
                    case TimeFrame.ThisWeek:
                        resultsStr += " This Week ";
                        switch (DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).DayOfWeek)
                        {
                            case DayOfWeek.Friday:
                                subtraction = 5;
                                break;
                            case DayOfWeek.Monday:
                                subtraction = 1;
                                break;
                            case DayOfWeek.Saturday:
                                subtraction = 6;
                                break;
                            case DayOfWeek.Sunday:
                                subtraction = 0;
                                break;
                            case DayOfWeek.Thursday:
                                subtraction = 4;
                                break;
                            case DayOfWeek.Tuesday:
                                subtraction = 2;
                                break;
                            case DayOfWeek.Wednesday:
                                subtraction = 3;
                                break;
                            default: break;
                        }
                        StartDate = DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).Subtract(TimeSpan.FromDays(subtraction));
                        EndDate = DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")).AddDays(7.00 - subtraction);

                        dayStart = StartDate.Day.ToString();
                        dayEnd = EndDate.Day.ToString();
                        startMonth = StartDate.Month.ToString();
                        endMonth = EndDate.Month.ToString();
                        startYear = StartDate.Year.ToString();
                        endYear = EndDate.Year.ToString();

                        dateStart = startMonth + "/" + dayStart + "/" + startYear;
                        dateEnd = endMonth + "/" + dayEnd + "/" + endYear;

                        startDayOfWeek = dat.getDayOfWeek(StartDate.DayOfWeek);
                        endDayOfWeek = dat.getDayOfWeek(EndDate.DayOfWeek);

                        date = " AND (CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthStart)+'/'+CONVERT(NVARCHAR,TM.DayStart)+'/'+'" + startYear +
                            "') <= CONVERT(DATETIME, '" + dateStart + "') AND CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthEnd) +" +
                            "'/'+CONVERT(NVARCHAR,TM.DayEnd)+'/'+'" + endYear +
                            "') >= CONVERT(DATETIME, '" + dateEnd + "')) AND (TDS.Days LIKE '%1%' OR TDS.Days LIKE '%2%' OR TDS.Days LIKE '%3%' OR TDS.Days LIKE '%4%')";
                        break;
                    case TimeFrame.ThisMonth:
                        resultsStr += " This Month ";

                        dateToday = monthTody + "/" + DateTime.DaysInMonth(int.Parse(yearToday), int.Parse(monthTody)).ToString() + "/" + yearToday;
                        date = " AND (CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthStart)+'/'+CONVERT(NVARCHAR,TM.DayStart)+'/'+'" + yearToday +
                            "') <= CONVERT(DATETIME, '" + dateToday + "') AND CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthEnd) +" +
                            "'/'+CONVERT(NVARCHAR,TM.DayEnd)+'/" + yearToday +
                            "') >= CONVERT(DATETIME, '" + monthTody + "/1/" + yearToday + "'))";
                        break;
                    case TimeFrame.NextDays:

                        decimal theDub = 0.00M;
                        if (decimal.TryParse(NextDaysInput.Value, out theDub))
                        {
                            resultsStr += " Next " + NextDaysInput.Value + " Days ";
                            StartDate = itBeNow;
                            EndDate = itBeNow.AddDays(int.Parse(NextDaysInput.Value));

                            dayStart = StartDate.Day.ToString();
                            dayEnd = EndDate.Day.ToString();
                            startMonth = StartDate.Month.ToString();
                            endMonth = EndDate.Month.ToString();
                            startYear = StartDate.Year.ToString();
                            endYear = EndDate.Year.ToString();

                            dateStart = startMonth + "/" + dayStart + "/" + startYear;
                            dateEnd = endMonth + "/" + dayEnd + "/" + endYear;

                            startDayOfWeek = dat.getDayOfWeek(StartDate.DayOfWeek);
                            endDayOfWeek = dat.getDayOfWeek(EndDate.DayOfWeek);

                            date = " AND (CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthStart)+'/'+CONVERT(NVARCHAR,TM.DayStart)" +
                                "+'/'+'" + endYear +
                                "') <= CONVERT(DATETIME, '" + EndDate.Month.ToString() + "/" + EndDate.Day.ToString() + "/" + EndDate.Year.ToString() + " 23:59:59') AND CONVERT(DATETIME,CONVERT" +
                                "(NVARCHAR,TM.MonthEnd) +" +
                                "'/'+CONVERT(NVARCHAR,TM.DayEnd)+'/'+'" + startYear +
                                "') >= CONVERT(DATETIME, '" + StartDate.Month.ToString() + "/" + StartDate.Day.ToString() + "/" + StartDate.Year.ToString() + " 00:00:00'))";

                        }
                        else
                        {
                            StartDate = itBeNow;
                            EndDate = itBeNow;

                            date = " AND (CONVERT(DATETIME,CONVERT(NVARCHAR,TM.MonthStart)+'/'+CONVERT(NVARCHAR,TM.DayStart)" +
                                "+'/'+'" + EndDate.Year.ToString() +
                                "') >= CONVERT(DATETIME, '" + EndDate.Month.ToString() + "/" + EndDate.Day.ToString() + "/" + EndDate.Year.ToString() + " 00:00:00')) ";
                        }
                        break;
                    default: break;
                }

                string searchStr = "SELECT DISTINCT TOP " + totalCount.ToString() + " E.ID AS EventID,  E.DaysFeatured, E.PostedOn, '$'+CONVERT(NVARCHAR,E.MinPrice)+' - $'+" +
                    "CONVERT(NVARCHAR, E.MaxPrice)" +
                    "AS PriceRange, E.Featured, E.MinPrice AS Price, E.Content, E.Means, dbo.GetDuration(E.Duration, 0) AS " +
                    "TimeFrame, dbo.GetDuration(E.Duration, 1) AS Duration, E.Header, " +
                    " E.Featured, E.DaysFeatured, 'T' AS Type, TDS.StartTime, TDS.EndTime FROM TripDirections TDir, Trips E, TripMonths TM, TripDays TDS " +
                    "WHERE TDir.TripID=E.ID AND TM.TripID=TDS.TripID AND TM.TripID=E.ID AND E.Live='True' " +
                    tripCountry + zips + date + highestP + "  ORDER BY E.Featured, E.PostedOn";
                //TimeFrameLabel.Text += searchStr;
                DataSet dsTrips = dat.GetData(searchStr);
                //totalCount = totalCount - dsTrips.Tables[0].Rows.Count;
                #endregion

                if (ds.Tables[0].Rows.Count > 0)
                    ds = MergeEvents(ds, dsTrips);
                else
                    ds = dsTrips;

                if (totalCount > 0)
                {
                    #region Get Locale Happenings
                    date = "";
                    dayOfWeek = dat.getDayOfWeek(itBeNow.DayOfWeek);
                    int dayOfWeekInt = int.Parse(dayOfWeek);
                    switch (theEnum)
                    {
                        case TimeFrame.Today:
                            date = " AND Days LIKE '%" + dayOfWeek + "%'";
                            break;
                        case TimeFrame.Tomorrow:
                            dayOfWeekInt++;
                            if (dayOfWeekInt > 7)
                                dayOfWeekInt = 1;
                            date = " AND Days LIKE '%" + dayOfWeekInt.ToString() + "%'";
                            break;
                        case TimeFrame.ThisWeekend:
                            date = " AND (Days LIKE '%5%' OR Days LIKE '%6%' OR Days LIKE '%7%') ";
                            break;
                        case TimeFrame.ThisWeek:
                            date = "";
                            break;
                        case TimeFrame.ThisMonth:
                            date = "";
                            break;
                        case TimeFrame.Beginning:
                            date = "";
                            break;
                        case TimeFrame.NextDays:
                            decimal theDub = 0.00M;
                            if (decimal.TryParse(NextDaysInput.Value, out theDub))
                            {
                                if (int.Parse(NextDaysInput.Value) >= 7)
                                {
                                    date = "";
                                }
                                else
                                {
                                    date += " AND (Days LIKE '%" + dayOfWeekInt.ToString() + "%' ";
                                    for (int i = 0; i < int.Parse(NextDaysInput.Value); i++)
                                    {
                                        date += " OR Days LIKE '%" + (++dayOfWeekInt).ToString() + "%' ";
                                    }
                                    date += " ) ";
                                }
                            }
                            else
                            {
                                date = " AND Days LIKE '%" + dayOfWeek + "%'";
                            }
                            break;
                        default: break;
                    }

                    DataSet dsVenues = dat.GetData("SELECT TOP " + totalCount.ToString() + "  V.Featured,  V.DaysFeatured, V.PostedOn, VE.EventName + ' at '+V.Name AS Header, V.ID AS EventID, " +
                        "V.Content, 'H' AS Type, HourStart AS StartTime, HourEnd AS EndTime FROM Venues V, VenueEvents VE WHERE VE.VenueID=V.ID " +
                        zips + date + " ORDER BY V.Featured, V.PostedOn");
                    //TimeFrameLabel.Text += "SELECT V.Featured,  V.DaysFeatured, V.PostedOn, VE.EventName + ' at '+V.Name AS Header, V.ID AS EventID, " +
                    //    "V.Content, 'V' AS Type FROM Venues V, VenueEvents VE WHERE VE.VenueID=V.ID " +
                    //    zips + date + " ORDER BY V.Featured, V.PostedOn";
                    //totalCount = totalCount - dsVenues.Tables[0].Rows.Count;
                    #endregion
                    if (ds.Tables[0].Rows.Count > 0)
                        ds = MergeEvents(ds, dsVenues);
                    else
                        ds = dsVenues;

                    if (totalCount > 0)
                    {
                        #region Get Locales
                        date = "";
                        dayOfWeek = dat.getDayOfWeek(itBeNow.DayOfWeek);
                        dayOfWeekInt = int.Parse(dayOfWeek);
                        switch (theEnum)
                        {
                            case TimeFrame.Today:
                                date = " AND Days LIKE '%" + dayOfWeek + "%'";
                                break;
                            case TimeFrame.Tomorrow:
                                dayOfWeekInt++;
                                if (dayOfWeekInt > 7)
                                    dayOfWeekInt = 1;
                                date = " AND Days LIKE '%" + dayOfWeekInt.ToString() + "%'";
                                break;
                            case TimeFrame.ThisWeekend:
                                date = " AND (Days LIKE '%5%' OR Days LIKE '%6%' OR Days LIKE '%7%') ";
                                break;
                            case TimeFrame.ThisWeek:
                                date = "";
                                break;
                            case TimeFrame.ThisMonth:
                                date = "";
                                break;
                            case TimeFrame.Beginning:
                                date = "";
                                break;
                            case TimeFrame.NextDays:
                                decimal theDub = 0.00M;
                                if (decimal.TryParse(NextDaysInput.Value, out theDub))
                                {
                                    resultsStr += " Next " + NextDaysInput.Value + " Days ";

                                    if (int.Parse(NextDaysInput.Value) >= 7)
                                    {
                                        date = "";
                                    }
                                    else
                                    {
                                        date += " AND (Days LIKE '%" + dayOfWeekInt.ToString() + "%' ";
                                        for (int i = 0; i < int.Parse(NextDaysInput.Value); i++)
                                        {
                                            date += " OR Days LIKE '%" + (++dayOfWeekInt).ToString() + "%' ";
                                        }
                                        date += " ) ";
                                    }
                                }
                                else
                                {
                                    date = " AND Days LIKE '%" + dayOfWeek + "%'";
                                }
                                break;
                            default: break;
                        }

                        DataSet dsLocales = dat.GetData("SELECT DISTINCT TOP " + totalCount.ToString() +
                            "  V.Featured, HourStart AS StartTime, HourEnd AS EndTime, V.DaysFeatured, V.PostedOn, 'Check Out ' + V.Name AS Header, V.ID AS EventID, " +
                            "V.Content, 'V' AS Type FROM Venues V, VenueHours VE WHERE VE.VenueID=V.ID " +
                            zips + date + " ORDER BY V.Featured, V.PostedOn");
                        //totalCount = totalCount - dsLocales.Tables[0].Rows.Count;
                        #endregion
                        if (ds.Tables[0].Rows.Count > 0)
                            ds = MergeEvents(ds, dsLocales);
                        else
                            ds = dsLocales;
                    }
                }
            }
            return ds;
        }
        catch (Exception ex)
        {
            TimeFrameLabel.Text += ex.ToString() + "<br/>" + message;
        }

        return new DataSet();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        HttpCookie cookie = Request.Cookies["BrowserDate"];
        if (cookie == null)
        {
            cookie = new HttpCookie("BrowserDate");
            cookie.Value = DateTime.Now.ToString();
            cookie.Expires = DateTime.Now.AddDays(22);
            Response.Cookies.Add(cookie);
        }
        DateTime today = DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":"));
        Data dat = new Data(today);
        DataSet ds;

        if (Request.QueryString["ID"] != null)
        {
            string catID = Request.QueryString["ID"].ToString();
            string location = "";

            //Get the location
            if (Session["User"] != null)
            {
                DataView dvPrefs = dat.GetDataDV("SELECT * FROM UserPreferences WHERE UserID=" + Session["User"].ToString());
                location = " AND A.CatState='" + dvPrefs[0]["CatState"].ToString() + "' AND A.CatCity='" + dvPrefs[0]["CatCity"].ToString() + "' AND A.CatCountry=" + dvPrefs[0]["CatCountry"].ToString();
            }
            else
            {
                if (Session["LocCountry"] == null || Session["LocState"] == null || Session["LocCity"] == null)
                {
                    dat.IP2Location();
                }

                string country = Session["LocCountry"].ToString().Trim();
                string state = Session["LocState"].ToString().Trim();

                string city = Session["LocCity"].ToString();
                location = " AND A.CatState='" + state + "' AND A.CatCity='" + city + "' AND A.CatCountry=" + country;
            }

            string sqlToday = "CONVERT(DATETIME, '" + today.Month.ToString() + "/" +
                today.Day.ToString() + "/" + today.Year.ToString() + "')";
            string timeline = " AND (A.Featured='False' AND AC.DateTimeEnd >= " +
                sqlToday + ")";

            ds = dat.GetData("SELECT ACM.AdID AS VID, A.Featured, C.ID, A.Header, C.Name AS CategoryName, " +
                "ACM.tagSize FROM Ad_Category_Mapping ACM, AdCategories C, Ads A, Ad_Calendar AC WHERE " +
                "ACM.AdID=A.Ad_ID AND AC.AdID=A.Ad_ID AND ACM.CategoryID=C.ID AND A.LIVE = 'True' AND ACM.CategoryID=" +
                catID + location + timeline);
            SearchElements.AD_DS = ds;
            SearchElements.DataBind2();

            NumResultsLabel.Text = "(" + ds.Tables[0].Rows.Count + " Records Found)";

            HtmlHead head = (HtmlHead)Page.Header;

            string theLink = "";

            if (ds.Tables[0].Rows.Count > 0)
            {
                theLink = "http://" + Request.Url.Authority + "/" +
                dat.MakeNiceName(ds.Tables[0].Rows[0]["CategoryName"].ToString()) + "_Ad_Category";
            }
            else
            {
                theLink = "http://" + Request.Url.Authority + "/AdCategorySearch.aspx?ID=" + catID;
            }

            HtmlLink lk = new HtmlLink();
            lk.Href = theLink;
            lk.Attributes.Add("rel", "bookmark");
            head.Controls.AddAt(0, lk);

            HtmlMeta hm = new HtmlMeta();
            HtmlMeta kw = new HtmlMeta();
            HtmlMeta dc = new HtmlMeta();

            kw.Name = "keywords";

            if (ds.Tables[0].Rows.Count > 0)
            {
                kw.Content = ds.Tables[0].Rows[0]["CategoryName"].ToString() + " Ad Category";
            }
            else
            {
                kw.Content = "No Ad Category";
            }

            head.Controls.AddAt(0, kw);

            dc.Name = "description";
            if (ds.Tables[0].Rows.Count > 0)
            {
                dc.Content = "Results for ad category: " + ds.Tables[0].Rows[0]["CategoryName"].ToString();
            }
            else
            {
                dc.Content = "Results for ad category: None";
            }

            head.Controls.AddAt(0, dc);

            if(ds.Tables.Count > 0)
                if (ds.Tables[0].Rows.Count > 0)
                {
                    SearchResultsTitleLabel.Text = "<a href=\"" + theLink + "\" style=\"text-decoration: none; color: white;\" ><h1>Ads in '" +
                        ds.Tables[0].Rows[0]["CategoryName"].ToString() + "' Category</h1></a>";
                }
                else
                {
                    SearchResultsTitleLabel.Text = "No Ads Found";
                }
            else
            {
                SearchResultsTitleLabel.Text = "No Ads Found";
            }
        }else
        {
            Response.Redirect("home");
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        HttpCookie cookie = Request.Cookies["BrowserDate"];
        if (cookie == null)
        {
            cookie = new HttpCookie("BrowserDate");
            cookie.Value = DateTime.Now.ToString();
            cookie.Expires = DateTime.Now.AddDays(22);
            Response.Cookies.Add(cookie);
        }
        Data dat = new Data(DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":")));
        DataSet ds;

        HtmlHead head = (HtmlHead)Page.Header;

        if (Request.QueryString["ID"] != null)
        {
            string catID = Request.QueryString["ID"].ToString();

            string location = "";

            //Get the location
            if (Session["User"] != null)
            {
                DataView dvPrefs = dat.GetDataDV("SELECT * FROM UserPreferences WHERE UserID=" + Session["User"].ToString());
                location = " AND V.State='" + dvPrefs[0]["CatState"].ToString() + "' AND V.City='" + dvPrefs[0]["CatCity"].ToString() + "'";
            }
            else
            {
                if (Session["LocCountry"] == null || Session["LocState"] == null || Session["LocCity"] == null)
                {
                    dat.IP2Location();
                }

                string country = Session["LocCountry"].ToString().Trim();
                string state = Session["LocState"].ToString().Trim();

                string city = Session["LocCity"].ToString();
                location = " AND V.State='" + state + "' AND V.City='" + city + "' AND V.Country=" + country;
            }

            ds = dat.GetData("SELECT V.Name, V.ID AS VID, V.City, V.State, C.ID, C.Name AS " +
                "CategoryName, VC.tagSize, V.Featured, V.DaysFeatured FROM Venue_Category VC, VenueCategories C, Venues V " +
                "WHERE V.ID=VC.VENUE_ID AND VC.CATEGORY_ID=C.ID AND VC.CATEGORY_ID=" + catID + location);

            SearchElements.VENUE_DS = ds;
            SearchElements.DataBind2();

            NumResultsLabel.Text = "(" + ds.Tables[0].Rows.Count + " Records Found)";

            DataView dvName = dat.GetDataDV("SELECT * FROM VenueCategories WHERE ID=" + catID);

            string theLink = "http://" + Request.Url.Authority + "/" +
            dat.MakeNiceName(dvName[0]["Name"].ToString()) + "_Venue_Category";

            HtmlLink lk = new HtmlLink();
            lk.Href = theLink;
            lk.Attributes.Add("rel", "bookmark");
            head.Controls.AddAt(0, lk);

            HtmlMeta hm = new HtmlMeta();
            HtmlMeta kw = new HtmlMeta();
            HtmlMeta dc = new HtmlMeta();

            kw.Name = "keywords";
            kw.Content = dvName[0]["Name"].ToString() + " Venue Category";

            head.Controls.AddAt(0, kw);

            dc.Name = "description";
            dc.Content = "Results for venue category: " + dvName[0]["Name"].ToString();

            head.Controls.AddAt(0, dc);

            SearchResultsTitleLabel.Text = "<a href=\"" + theLink + "\" style=\"text-decoration: none; color: white;\" ><h1>Venues in '" +
                dvName[0]["Name"].ToString() + "' Category</h1></a>";
        }
        else
        {
            Response.Redirect("home");
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        MessageLabel.Text = "";

        DataSet ds;

        HttpCookie cookie = Request.Cookies["BrowserDate"];
        if (cookie == null)
        {
            cookie = new HttpCookie("BrowserDate");
            cookie.Value = DateTime.Now.ToString();
            cookie.Expires = DateTime.Now.AddDays(22);
            Response.Cookies.Add(cookie);
        }

        DateTime isn = DateTime.Now;

        if (!DateTime.TryParse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":"), out isn))
            isn = DateTime.Now;
        DateTime isNow = isn;
        Data dat = new Data(isn);
        HtmlHead head = (HtmlHead)Page.Header;

        Literal lit = new Literal();
        lit.Text = "<script src=\"http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAAjjoxQtYNtdn3Tc17U5-jbBR2Kk_H7gXZZZniNQ8L14X1BLzkNhQjgZq1k-Pxm8FxVhUy3rfc6L9O4g\" type=\"text/javascript\"></script>";
        head.Controls.Add(lit);

        #region Take Care of Buttons
        SearchButton.BUTTON_TEXT += "<img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/search.png\"/>";
        SearchButton.SERVER_CLICK += SearchButton_Click;
        //TodayButton.BUTTON_TEXT = "<img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/TodayText.png\"/>";
        //TomorrowButton.BUTTON_TEXT = "<img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/TomorrowText.png\"/>";
        //ThisWeekButton.BUTTON_TEXT = "<img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/ThisWeekText.png\"/>";
        //ThisWeekendButton.BUTTON_TEXT = "<img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/ThisWeekendText.png\"/>";
        //ThisMonthButton.BUTTON_TEXT = "<img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/ThisMonth.png\"/>";
        //TodayButton.SERVER_CLICK += SetToday;
        //TomorrowButton.SERVER_CLICK += SetTomorrow;
        //ThisWeekButton.SERVER_CLICK += SetThisWeek;
        //ThisWeekendButton.SERVER_CLICK += SetThisWeekend;
        //ThisMonthButton.SERVER_CLICK += SetThisMonth;
        FilterButton.SERVER_CLICK += FilterResults;
        SmallButton1.BUTTON_TEXT += "<img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/search.png\"/>";
        SmallButton1.SERVER_CLICK += SearchButton_Click;
        SmallButton2.SERVER_CLICK += SearchButton_Click;
        SmallButton2.BUTTON_TEXT += "<img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/search.png\"/>";
        #endregion

        if (!IsPostBack)
        {

            HttpCookie timeCookie = Request.Cookies["SetTime"];
            if (timeCookie != null)
            {
                timeCookie = new HttpCookie("BrowserDate");
                timeCookie.Value = "All%20Future%20Events";
                Response.Cookies.Add(timeCookie);
                TimeFrameDiv.InnerText = "All Future Trips";
            }

            Session["HighestPrice"] = null;
            Session.Remove("HighestPrice");

            Session["SearchDS"] = null;
            Session.Remove("SearchDS");

            NumsLabel.Text = "";
            NoResultsPanel.Visible = true;
            MapPanel.Visible = false;

            TopLiteral.Text = "<script type=\"text/javascript\">function initialize1(){map = null;}</script>";
            BottomScriptLiteral.Text = "";
            ScriptLiteral.Text = "";

            HtmlLink lk = new HtmlLink();
            lk.Attributes.Add("rel", "canonical");
            lk.Href = "http://hippohappenings.com/trip-search";
            head.Controls.AddAt(0, lk);

            //Create keyword and description meta tags
            HtmlMeta hm = new HtmlMeta();
            HtmlMeta kw = new HtmlMeta();

            kw.Name = "keywords";
            kw.Content = "local trips sights sightseeing landmarks adventures monuments";

            head.Controls.AddAt(0, kw);

            hm.Name = "Description";
            hm.Content = "Find local trips and adventures posted by your peers and experience more out of your city.";
            head.Controls.AddAt(0, hm);

            lk = new HtmlLink();
            lk.Href = "http://" + Request.Url.Authority + "/trip-search";
            lk.Attributes.Add("rel", "bookmark");
            head.Controls.AddAt(0, lk);

            EventTitle.Text = "<a style=\"text-decoration: none;\" href=\"" +
                lk.Href + "\"><h1>Search Adventures</h1></a>";

            //Button button = (Button)dat.FindControlRecursive(this, "EventLink");
            //button.CssClass = "NavBarImageEventSelected";
        }

        if (!IsPostBack)
        {
            CountryDropDown.SelectedValue = "223";

            DataSet ds3 = dat.GetData("SELECT * FROM State WHERE country_id=" + CountryDropDown.SelectedValue);

            StateDropDownPanel.Visible = true;
            StateTextBoxPanel.Visible = false;
            StateDropDown.DataSource = ds3;
            StateDropDown.DataTextField = "state_2_code";
            StateDropDown.DataValueField = "state_id";
            StateDropDown.DataBind();

            StateDropDown.Items.Insert(0, new Telerik.Web.UI.RadComboBoxItem("State", "-1"));

            StateDropDownPanel.Visible = true;
            StateTextBoxPanel.Visible = false;

            try
            {
                if (Session["User"] != null)
                {
                    DataView dvUser = dat.GetDataDV("SELECT CatCity, CatState, CatCountry, CatZip, Radius FROM  UserPreferences WHERE UserID=" +
                        Session["User"].ToString());
                    CountryDropDown.SelectedValue = dvUser[0]["CatCountry"].ToString();
                    ChangeState(CountryDropDown, new EventArgs());
                    if (StateTextBoxPanel.Visible)
                        StateTextBox.Text = dvUser[0]["CatState"].ToString();
                    else
                        StateDropDown.Items.FindItemByText(dvUser[0]["CatState"].ToString()).Selected = true;

                    CityTextBox.Text = dvUser[0]["CatCity"].ToString();

                    if (dvUser[0]["CatZip"] != null)
                    {
                        if (dvUser[0]["CatZip"].ToString().Trim() != "")
                        {

                            char[] delim = { ';' };
                            string[] tokens = dvUser[0]["CatZip"].ToString().Split(delim);

                            if (tokens.Length > 1)
                            {
                                ZipTextBox.Text = tokens[1].Trim();

                                if (dvUser[0]["Radius"] != null)
                                {
                                    if (dvUser[0]["Radius"].ToString().Trim() != "")
                                    {

                                        RadiusDropDown.SelectedValue = dvUser[0]["Radius"].ToString();
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    if (Session["LocCountry"] == null || Session["LocState"] == null || Session["LocCity"] == null)
                    {
                        dat.IP2Location();
                    }

                    CountryDropDown.SelectedValue = Session["LocCountry"].ToString().Trim();
                    ChangeState(CountryDropDown, new EventArgs());
                    if (StateTextBoxPanel.Visible)
                        StateTextBox.Text = Session["LocState"].ToString().Trim();
                    else
                        StateDropDown.Items.FindItemByText(Session["LocState"].ToString().Trim()).Selected = true;

                    CityTextBox.Text = Session["LocCity"].ToString();
                }

                Search();
            }
            catch (Exception ex)
            {
                ErrorLabel.Text = ex.ToString();
            }
        }
    }
Example #7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        HttpCookie cookie = Request.Cookies["BrowserDate"];
        if (cookie == null)
        {
            cookie = new HttpCookie("BrowserDate");
            cookie.Value = DateTime.Now.Date.ToString();
            cookie.Expires = DateTime.Now.AddDays(22);
            Response.Cookies.Add(cookie);
        }

        bool fillUserData = false;

        DateTime isn = DateTime.Now;

        if (!DateTime.TryParse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":"), out isn))
            isn = DateTime.Now;
        DateTime isNow = isn;
        Data dat = new Data(isn);
        if (Session["LocCountry"] == null || Session["LocState"] == null || Session["LocCity"] == null)
            dat.IP2Location();
        DoAds();

        HtmlControl body = (HtmlControl)dat.FindControlRecursive(this.Page, "bodytag");

        //body.Attributes["onload"] = "\r\nif\r\n(\r\ntypeof(window.myFunction) == 'function')\r\n{\r\nStartRotator2();}" + body.Attributes["onload"];

        body.Attributes["onload"] = "StartRotator2();" + body.Attributes["onload"];
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        HttpCookie cookie = Request.Cookies["BrowserDate"];
        if (cookie == null)
        {
            cookie = new HttpCookie("BrowserDate");
            cookie.Value = DateTime.Now.ToString();
            cookie.Expires = DateTime.Now.AddDays(22);
            Response.Cookies.Add(cookie);
        }
        DateTime today = DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":"));
        Data dat = new Data(today);
        DataSet ds;
        if (Request.QueryString["ID"] != null)
        {
            string catID = Request.QueryString["ID"].ToString();

            string location = "";

            //Get the location
            if (Session["User"] != null)
            {
                DataView dvPrefs = dat.GetDataDV("SELECT * FROM UserPreferences WHERE UserID=" + Session["User"].ToString());
                location = " AND TD.State='" + dvPrefs[0]["CatState"].ToString() + "' AND TD.City='" +
                    dvPrefs[0]["CatCity"].ToString() + "' AND TD.Country=" + dvPrefs[0]["CatCountry"].ToString();
            }
            else
            {
                if (Session["LocCountry"] == null || Session["LocState"] == null || Session["LocCity"] == null)
                {
                    dat.IP2Location();
                }

                string country = Session["LocCountry"].ToString().Trim();
                string state = Session["LocState"].ToString().Trim();

                string city = Session["LocCity"].ToString();
                location = " AND TD.State='" + state + "' AND TD.City='" + city + "' AND TD.Country=" + country;
            }

            string command = "SELECT  DISTINCT E.ID AS EID, '$'+CONVERT(NVARCHAR,E.MinPrice)+' - $'+CONVERT(NVARCHAR, E.MaxPrice)" +
                            "AS PriceRange, E.MinPrice AS Price, E.Means, dbo.GetDuration(E.Duration, 0) AS " +
                            "TimeFrame, dbo.GetDuration(E.Duration, 1) AS Duration, E.Header, " +
                            " E.Featured, E.DaysFeatured " +
                "FROM Trip_Category ECM, Trips E, TripDirections TD, TripCategories C " +
                "WHERE C.ID=ECM.CategoryID AND TD.TripID=E.ID AND ECM.TripID=E.ID AND " +
                "ECM.CategoryID=" + catID + location;

            ds = dat.GetData(command);
            SearchElements.EVENTS_DS = ds;
            SearchElements.DataBind2();

            NumResultsLabel.Text = "(" + ds.Tables[0].Rows.Count + " Records Found)";

            DataView dvName = dat.GetDataDV("SELECT * FROM TripCategories WHERE ID=" + catID);

            HtmlHead head = (HtmlHead)Page.Header;

            string theLink = "http://" + Request.Url.Authority + "/" +
               dat.MakeNiceName(dvName[0]["Name"].ToString()) + "_Trip_Category";

            HtmlLink lk = new HtmlLink();
            lk.Href = theLink;
            lk.Attributes.Add("rel", "bookmark");
            head.Controls.AddAt(0, lk);

            HtmlMeta hm = new HtmlMeta();
            HtmlMeta kw = new HtmlMeta();
            HtmlMeta dc = new HtmlMeta();

            kw.Name = "keywords";
            kw.Content = dvName[0]["Name"].ToString() + " trip Category";

            head.Controls.AddAt(0, kw);

            dc.Name = "description";
            dc.Content = "Results for trip category: " + dvName[0]["Name"].ToString();

            head.Controls.AddAt(0, dc);

            SearchResultsTitleLabel.Text = "<a href=\"" + theLink +
                "\" style=\"text-decoration: none;\" ><h1>Trips in '" +
                dvName[0]["Name"].ToString() + "' Category</h1></a>";

        }
        else
        {
            Response.Redirect("home");
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        Session["Searching"] = "Ads";
        MessageLabel.Text = "";

        DataSet ds;

        HttpCookie cookie = Request.Cookies["BrowserDate"];
        if (cookie == null)
        {
            cookie = new HttpCookie("BrowserDate");
            cookie.Value = DateTime.Now.ToString();
            cookie.Expires = DateTime.Now.AddDays(22);
            Response.Cookies.Add(cookie);
        }

        DateTime isn = DateTime.Now;

        if (!DateTime.TryParse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":"), out isn))
            isn = DateTime.Now;
        DateTime isNow = isn;
        Data dat = new Data(isn);

        HtmlHead head = (HtmlHead)Page.Header;

        #region Take Care of Buttons
        SearchButton.BUTTON_TEXT += "<img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/search.png\"/>";
        SearchButton.SERVER_CLICK += SearchButton_Click;
        FilterButton.SERVER_CLICK += FilterResults;
        SmallButton1.BUTTON_TEXT += "<img style=\"border: 0; padding-top: 3px;\" src=\"NewImages/search.png\"/>";
        SmallButton1.SERVER_CLICK += SearchButton_Click;
        SaveSearchButton.SERVER_CLICK += SaveSearch;
        #endregion

        if (!IsPostBack)
        {
            Session["SearchDS"] = null;
            Session.Remove("SearchDS");

            NumsLabel.Text = "";
            NoResultsPanel.Visible = true;

            TopLiteral.Text = "";
            BottomScriptLiteral.Text = "";
            ScriptLiteral.Text = "";

            HtmlLink lk = new HtmlLink();
            lk.Attributes.Add("rel", "canonical");
            lk.Href = "http://hippohappenings.com/ad-search";
            head.Controls.AddAt(0, lk);

            //Create keyword and description meta tags
            HtmlMeta hm = new HtmlMeta();
            HtmlMeta kw = new HtmlMeta();

            kw.Name = "keywords";
            kw.Content = "local bulletin ad classified";

            head.Controls.AddAt(0, kw);

            hm.Name = "Description";
            hm.Content = "Find local bulletins, ads and classifieds.";
            head.Controls.AddAt(0, hm);

            lk = new HtmlLink();
            lk.Href = "http://" + Request.Url.Authority + "/ad-search";
            lk.Attributes.Add("rel", "bookmark");
            head.Controls.AddAt(0, lk);

            EventTitle.Text = "<a style=\"text-decoration: none;\"  href=\"" +
                lk.Href + "\"><h1>Search Bulletins</h1></a>";

            //Button button = (Button)dat.FindControlRecursive(this, "EventLink");
            //button.CssClass = "NavBarImageEventSelected";
        }

        Session["s"] = "asfsd";
        if (!IsPostBack)
        {
            Session["SavedClicked"] = null;
            Session.Remove("SavedClicked");
        }

        Session["RedirectTo"] = "ad-search";

        if (!IsPostBack)
        {
            CountryDropDown.SelectedValue = "223";

            DataSet ds3 = dat.GetData("SELECT * FROM State WHERE country_id=" + CountryDropDown.SelectedValue);

            StateDropDownPanel.Visible = true;
            StateTextBoxPanel.Visible = false;
            StateDropDown.DataSource = ds3;
            StateDropDown.DataTextField = "state_2_code";
            StateDropDown.DataValueField = "state_id";
            StateDropDown.DataBind();

            StateDropDownPanel.Visible = true;
            StateTextBoxPanel.Visible = false;

            ChangeCity(StateDropDown, new EventArgs());

            try
            {
                if (Session["User"] != null)
                {
                    DataView dvUser = dat.GetDataDV("SELECT CatCity, CatState, CatCountry, CatZip, MajorCity FROM  UserPreferences WHERE UserID=" +
                        Session["User"].ToString());
                    CountryDropDown.ClearSelection();
                    CountryDropDown.SelectedValue = dvUser[0]["CatCountry"].ToString();
                    ChangeState(CountryDropDown, new EventArgs());
                    if (StateTextBoxPanel.Visible)
                        StateTextBox.Text = dvUser[0]["CatState"].ToString();
                    else
                    {
                        StateDropDown.ClearSelection();
                        StateDropDown.Items.FindItemByText(dvUser[0]["CatState"].ToString()).Selected = true;
                        ChangeCity(StateDropDown, new EventArgs());
                    }

                    if (dvUser[0]["CatCountry"].ToString() == "223")
                    {
                        if (dvUser[0]["CatCity"] != null)
                        {
                            MajorCityDrop.ClearSelection();
                            MajorCityDrop.Items.FindByValue(dvUser[0]["MajorCity"].ToString()).Selected = true;
                        }
                    }
                    else
                    {
                        if (dvUser[0]["CatCity"] != null)
                        {
                            CityTextBox.Text = dvUser[0]["CatCity"].ToString();
                        }
                    }

                    //if (dvUser[0]["CatZip"] != null)
                    //{
                    //    if (dvUser[0]["CatZip"].ToString().Trim() != "")
                    //    {

                    //        char[] delim = { ';' };
                    //        string[] tokens = dvUser[0]["CatZip"].ToString().Split(delim);

                    //        if (tokens.Length > 1)
                    //        {
                    //            ZipTextBox.Text = tokens[1].Trim();

                    //            if (dvUser[0]["Radius"] != null)
                    //            {
                    //                if (dvUser[0]["Radius"].ToString().Trim() != "")
                    //                {

                    //                    RadiusDropDown.SelectedValue = dvUser[0]["Radius"].ToString();
                    //                }
                    //            }
                    //        }
                    //    }
                    //}
                }
                else
                {
                    if (Session["LocCountry"] == null || Session["LocState"] == null || Session["LocCity"] == null)
                    {
                        dat.IP2Location();
                    }

                    CountryDropDown.SelectedValue = Session["LocCountry"].ToString().Trim();
                    ChangeState(CountryDropDown, new EventArgs());
                    if (StateTextBoxPanel.Visible)
                        StateTextBox.Text = Session["LocState"].ToString().Trim();
                    else
                    {
                        StateDropDown.ClearSelection();
                        StateDropDown.Items.FindItemByText(Session["LocState"].ToString().Trim()).Selected = true;
                    }

                    ChangeCity(StateDropDown, new EventArgs());
                }

            }
            catch (Exception ex)
            {
                ErrorLabel.Text = ex.ToString();
            }
        }

        try
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["search"] != null)
                {
                    FillSavedSearch();
                }
                else
                {
                    Search();
                }
            }
        }
        catch (Exception ex)
        {
            ErrorLabel.Text = ex.ToString();
        }

        MessageRadWindowManager.VisibleOnPageLoad = false;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        HttpCookie cookie = Request.Cookies["BrowserDate"];
        if (cookie == null)
        {
            cookie = new HttpCookie("BrowserDate");
            cookie.Value = DateTime.Now.ToString();
            cookie.Expires = DateTime.Now.AddDays(22);
            Response.Cookies.Add(cookie);
        }
        DateTime today = DateTime.Parse(cookie.Value.ToString().Replace("%20", " ").Replace("%3A", ":"));
        Data dat = new Data(today);
        DataSet ds;

        HtmlHead head = (HtmlHead)Page.Header;

        if (Request.QueryString["ID"] != null)
        {
            string catID = Request.QueryString["ID"].ToString();

            string location = "";

            //Get the location
            if (Session["User"] != null)
            {
                DataView dvPrefs = dat.GetDataDV("SELECT * FROM UserPreferences WHERE UserID=" + Session["User"].ToString());
                location = " AND V.State='" + dvPrefs[0]["CatState"].ToString() + "' AND V.City='" + dvPrefs[0]["CatCity"].ToString() + "' AND V.Country = " + dvPrefs[0]["CatCountry"].ToString();
            }
            else
            {
                if (Session["LocCountry"] == null || Session["LocState"] == null || Session["LocCity"] == null)
                {
                    dat.IP2Location();
                }

                string country = Session["LocCountry"].ToString().Trim();
                string state = Session["LocState"].ToString().Trim();

                string city = Session["LocCity"].ToString();
                location = " AND V.State='" + state + "' AND V.City='" + city + "' AND V.Country=" + country;

            }

            //get only events after today, since showing all events might be too much
            string timeline = " AND EO.DateTimeStart >= CONVERT(DATETIME, '" + today.Month.ToString() + "/" + today.Day.ToString() + "/" + today.Year.ToString() + "')";

            string command = "SELECT DISTINCT E.ID  " +
                "FROM Event_Occurance EO, Event_Category_Mapping ECM, Events E, Venues V, EventCategories C " +
                "WHERE EO.EventID=E.ID AND C.ID=ECM.CategoryID  AND ECM.EventID=E.ID AND " +
                "ECM.CategoryID=" + catID + location + timeline;

            DataView dvE = dat.GetDataDV(command);

            ds = new DataSet();
            DataTable dt = new DataTable();
            DataColumn dc = new DataColumn("EID");
            dt.Columns.Add(dc);
            dc = new DataColumn("ReoccurrID");
            dt.Columns.Add(dc);
            dc = new DataColumn("DateTimeStart");
            dt.Columns.Add(dc);
            dc = new DataColumn("VID");
            dt.Columns.Add(dc);
            dc = new DataColumn("Header");
            dt.Columns.Add(dc);
            dc = new DataColumn("Name");
            dt.Columns.Add(dc);

            DataView dv;
            DataRow dr;
            foreach (DataRowView row in dvE)
            {
                dv = dat.GetDataDV("SELECT E.ID AS EID, EO.ID AS ReoccurrID, EO.DateTimeStart, E.Header, "+
                    "V.ID AS VID, V.Name " +
                "FROM Event_Occurance EO, Events E, Venues V " +
                "WHERE EO.EventID=E.ID AND E.Venue=V.ID AND E.ID=" + row["ID"].ToString());

                dr = dt.NewRow();
                dr["EID"] = dv[0]["EID"];
                dr["ReoccurrID"] = dv[0]["ReoccurrID"];
                dr["DateTimeStart"] = dv[0]["DateTimeStart"];
                dr["VID"] = dv[0]["VID"];
                dr["Header"] = dv[0]["Header"];
                dr["Name"] = dv[0]["Name"];
                dt.Rows.Add(dr);
            }

            ds.Tables.Add(dt);
            SearchElements.EVENTS_DS = ds;
            SearchElements.DataBind2();

            NumResultsLabel.Text = "(" + ds.Tables[0].Rows.Count + " Records Found)";

            DataView dvName = dat.GetDataDV("SELECT * FROM EventCategories WHERE ID=" + catID);

            string theLink = "http://" + Request.Url.Authority + "/" +
               dat.MakeNiceName(dvName[0]["Name"].ToString()) + "_Event_Category";

            HtmlLink lk = new HtmlLink();
            lk.Href = theLink;
            lk.Attributes.Add("rel", "bookmark");
            head.Controls.AddAt(0, lk);

            HtmlMeta hm = new HtmlMeta();
            HtmlMeta kw = new HtmlMeta();
            HtmlMeta dc2 = new HtmlMeta();

            kw.Name = "keywords";
            kw.Content = dvName[0]["Name"].ToString() + " event Category";

            head.Controls.AddAt(0, kw);

            dc2.Name = "description";
            dc2.Content = "Results for event category: " + dvName[0]["Name"].ToString();

            head.Controls.AddAt(0, dc2);

            SearchResultsTitleLabel.Text = "<a href=\"" + theLink +
                "\" style=\"text-decoration: none; \" ><h1>Events in '" +
                dvName[0]["Name"].ToString() + "' Category</h1></a>";

        }else
        {
            Response.Redirect("home");
        }
    }